localclawd 1.1.12 → 1.1.13
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 +435 -1220
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -87216,23 +87216,6 @@ var init_config = __esm(() => {
|
|
|
87216
87216
|
});
|
|
87217
87217
|
|
|
87218
87218
|
// src/utils/model/providers.ts
|
|
87219
|
-
var exports_providers = {};
|
|
87220
|
-
__export(exports_providers, {
|
|
87221
|
-
setSessionLocalLLMConfigOverride: () => setSessionLocalLLMConfigOverride,
|
|
87222
|
-
normalizeLocalLLMConfig: () => normalizeLocalLLMConfig,
|
|
87223
|
-
isLocalLLMProviderEnabled: () => isLocalLLMProviderEnabled,
|
|
87224
|
-
isFirstPartyAnthropicBaseUrl: () => isFirstPartyAnthropicBaseUrl,
|
|
87225
|
-
getSessionLocalLLMConfigOverride: () => getSessionLocalLLMConfigOverride,
|
|
87226
|
-
getLocalLLMProviderLabel: () => getLocalLLMProviderLabel,
|
|
87227
|
-
getLocalLLMProvider: () => getLocalLLMProvider,
|
|
87228
|
-
getLocalLLMModel: () => getLocalLLMModel,
|
|
87229
|
-
getLocalLLMBaseUrl: () => getLocalLLMBaseUrl,
|
|
87230
|
-
getLocalLLMApiKey: () => getLocalLLMApiKey,
|
|
87231
|
-
getDefaultLocalLLMConfig: () => getDefaultLocalLLMConfig,
|
|
87232
|
-
getAPIProviderForStatsig: () => getAPIProviderForStatsig,
|
|
87233
|
-
getAPIProvider: () => getAPIProvider,
|
|
87234
|
-
clearSessionLocalLLMConfigOverride: () => clearSessionLocalLLMConfigOverride
|
|
87235
|
-
});
|
|
87236
87219
|
function getEnvAlias(localKey, legacyKey) {
|
|
87237
87220
|
return process.env[localKey] ?? process.env[legacyKey];
|
|
87238
87221
|
}
|
|
@@ -87282,15 +87265,6 @@ function normalizeLocalLLMConfig(config) {
|
|
|
87282
87265
|
apiKey: config?.apiKey?.trim() || defaults2.apiKey
|
|
87283
87266
|
};
|
|
87284
87267
|
}
|
|
87285
|
-
function setSessionLocalLLMConfigOverride(config) {
|
|
87286
|
-
sessionLocalLLMConfigOverride = config ? normalizeLocalLLMConfig(config) : null;
|
|
87287
|
-
}
|
|
87288
|
-
function clearSessionLocalLLMConfigOverride() {
|
|
87289
|
-
sessionLocalLLMConfigOverride = null;
|
|
87290
|
-
}
|
|
87291
|
-
function getSessionLocalLLMConfigOverride() {
|
|
87292
|
-
return sessionLocalLLMConfigOverride;
|
|
87293
|
-
}
|
|
87294
87268
|
function getLocalLLMProvider() {
|
|
87295
87269
|
return getLocalLLMProviderFromEnv() ?? sessionLocalLLMConfigOverride?.provider ?? getConfiguredLocalLLMProvider() ?? "vllm";
|
|
87296
87270
|
}
|
|
@@ -89253,7 +89227,7 @@ var init_isEqual = __esm(() => {
|
|
|
89253
89227
|
|
|
89254
89228
|
// src/utils/userAgent.ts
|
|
89255
89229
|
function getClaudeCodeUserAgent() {
|
|
89256
|
-
return `claude-code/${"1.1.
|
|
89230
|
+
return `claude-code/${"1.1.13"}`;
|
|
89257
89231
|
}
|
|
89258
89232
|
|
|
89259
89233
|
// src/utils/workloadContext.ts
|
|
@@ -89275,7 +89249,7 @@ function getUserAgent() {
|
|
|
89275
89249
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
89276
89250
|
const workload = getWorkload();
|
|
89277
89251
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
89278
|
-
return `claude-cli/${"1.1.
|
|
89252
|
+
return `claude-cli/${"1.1.13"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
89279
89253
|
}
|
|
89280
89254
|
function getMCPUserAgent() {
|
|
89281
89255
|
const parts = [];
|
|
@@ -89289,7 +89263,7 @@ function getMCPUserAgent() {
|
|
|
89289
89263
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
89290
89264
|
}
|
|
89291
89265
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
89292
|
-
return `claude-code/${"1.1.
|
|
89266
|
+
return `claude-code/${"1.1.13"}${suffix}`;
|
|
89293
89267
|
}
|
|
89294
89268
|
function getWebFetchUserAgent() {
|
|
89295
89269
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -99198,7 +99172,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
99198
99172
|
if (!isAttributionHeaderEnabled()) {
|
|
99199
99173
|
return "";
|
|
99200
99174
|
}
|
|
99201
|
-
const version = `${"1.1.
|
|
99175
|
+
const version = `${"1.1.13"}.${fingerprint}`;
|
|
99202
99176
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
99203
99177
|
const cch = "";
|
|
99204
99178
|
const workload = getWorkload();
|
|
@@ -132745,7 +132719,7 @@ var init_metadata = __esm(() => {
|
|
|
132745
132719
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
132746
132720
|
WHITESPACE_REGEX = /\s+/;
|
|
132747
132721
|
getVersionBase = memoize_default(() => {
|
|
132748
|
-
const match = "1.1.
|
|
132722
|
+
const match = "1.1.13".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
132749
132723
|
return match ? match[0] : undefined;
|
|
132750
132724
|
});
|
|
132751
132725
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -132785,9 +132759,9 @@ var init_metadata = __esm(() => {
|
|
|
132785
132759
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
132786
132760
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
132787
132761
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
132788
|
-
version: "1.1.
|
|
132762
|
+
version: "1.1.13",
|
|
132789
132763
|
versionBase: getVersionBase(),
|
|
132790
|
-
buildTime: "2026-04-
|
|
132764
|
+
buildTime: "2026-04-07T18:09:59.417Z",
|
|
132791
132765
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
132792
132766
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
132793
132767
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -197374,7 +197348,7 @@ function getTelemetryAttributes() {
|
|
|
197374
197348
|
attributes["session.id"] = sessionId;
|
|
197375
197349
|
}
|
|
197376
197350
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
197377
|
-
attributes["app.version"] = "1.1.
|
|
197351
|
+
attributes["app.version"] = "1.1.13";
|
|
197378
197352
|
}
|
|
197379
197353
|
const oauthAccount = getOauthAccountInfo();
|
|
197380
197354
|
if (oauthAccount) {
|
|
@@ -229435,7 +229409,7 @@ function getInstallationEnv() {
|
|
|
229435
229409
|
return;
|
|
229436
229410
|
}
|
|
229437
229411
|
function getClaudeCodeVersion() {
|
|
229438
|
-
return "1.1.
|
|
229412
|
+
return "1.1.13";
|
|
229439
229413
|
}
|
|
229440
229414
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
229441
229415
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -235037,7 +235011,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
235037
235011
|
const client4 = new Client({
|
|
235038
235012
|
name: "claude-code",
|
|
235039
235013
|
title: "Claude Code",
|
|
235040
|
-
version: "1.1.
|
|
235014
|
+
version: "1.1.13",
|
|
235041
235015
|
description: "Anthropic's agentic coding tool",
|
|
235042
235016
|
websiteUrl: PRODUCT_URL
|
|
235043
235017
|
}, {
|
|
@@ -235390,7 +235364,7 @@ var init_client9 = __esm(() => {
|
|
|
235390
235364
|
const client4 = new Client({
|
|
235391
235365
|
name: "claude-code",
|
|
235392
235366
|
title: "Claude Code",
|
|
235393
|
-
version: "1.1.
|
|
235367
|
+
version: "1.1.13",
|
|
235394
235368
|
description: "Anthropic's agentic coding tool",
|
|
235395
235369
|
websiteUrl: PRODUCT_URL
|
|
235396
235370
|
}, {
|
|
@@ -258581,7 +258555,7 @@ var init_user = __esm(() => {
|
|
|
258581
258555
|
deviceId,
|
|
258582
258556
|
sessionId: getSessionId(),
|
|
258583
258557
|
email: getEmail(),
|
|
258584
|
-
appVersion: "1.1.
|
|
258558
|
+
appVersion: "1.1.13",
|
|
258585
258559
|
platform: getHostPlatformForAnalytics(),
|
|
258586
258560
|
organizationUuid,
|
|
258587
258561
|
accountUuid,
|
|
@@ -259905,7 +259879,7 @@ async function initializeBetaTracing(resource) {
|
|
|
259905
259879
|
});
|
|
259906
259880
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259907
259881
|
setLoggerProvider(loggerProvider);
|
|
259908
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259882
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.13");
|
|
259909
259883
|
setEventLogger(eventLogger);
|
|
259910
259884
|
process.on("beforeExit", async () => {
|
|
259911
259885
|
await loggerProvider?.forceFlush();
|
|
@@ -259945,7 +259919,7 @@ async function initializeTelemetry() {
|
|
|
259945
259919
|
const platform3 = getPlatform();
|
|
259946
259920
|
const baseAttributes = {
|
|
259947
259921
|
[ATTR_SERVICE_NAME5]: "claude-code",
|
|
259948
|
-
[ATTR_SERVICE_VERSION5]: "1.1.
|
|
259922
|
+
[ATTR_SERVICE_VERSION5]: "1.1.13"
|
|
259949
259923
|
};
|
|
259950
259924
|
if (platform3 === "wsl") {
|
|
259951
259925
|
const wslVersion = getWslVersion();
|
|
@@ -259990,7 +259964,7 @@ async function initializeTelemetry() {
|
|
|
259990
259964
|
} catch {}
|
|
259991
259965
|
};
|
|
259992
259966
|
registerCleanup(shutdownTelemetry2);
|
|
259993
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.
|
|
259967
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.13");
|
|
259994
259968
|
}
|
|
259995
259969
|
const meterProvider = new MeterProvider5({
|
|
259996
259970
|
resource,
|
|
@@ -260010,7 +259984,7 @@ async function initializeTelemetry() {
|
|
|
260010
259984
|
});
|
|
260011
259985
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
260012
259986
|
setLoggerProvider(loggerProvider);
|
|
260013
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259987
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.13");
|
|
260014
259988
|
setEventLogger(eventLogger);
|
|
260015
259989
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
260016
259990
|
process.on("beforeExit", async () => {
|
|
@@ -260072,7 +260046,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
260072
260046
|
}
|
|
260073
260047
|
};
|
|
260074
260048
|
registerCleanup(shutdownTelemetry);
|
|
260075
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.
|
|
260049
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.13");
|
|
260076
260050
|
}
|
|
260077
260051
|
async function flushTelemetry() {
|
|
260078
260052
|
const meterProvider = getMeterProvider();
|
|
@@ -261295,7 +261269,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
261295
261269
|
}
|
|
261296
261270
|
async function getDoctorDiagnostic() {
|
|
261297
261271
|
const installationType = await getCurrentInstallationType();
|
|
261298
|
-
const version = typeof MACRO !== "undefined" ? "1.1.
|
|
261272
|
+
const version = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
|
|
261299
261273
|
const installationPath = await getInstallationPath();
|
|
261300
261274
|
const invokedBinary = getInvokedBinary();
|
|
261301
261275
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -262236,8 +262210,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262236
262210
|
const maxVersion = await getMaxVersion();
|
|
262237
262211
|
if (maxVersion && gt(version, maxVersion)) {
|
|
262238
262212
|
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.
|
|
262213
|
+
if (gte("1.1.13", maxVersion)) {
|
|
262214
|
+
logForDebugging(`Native installer: current version ${"1.1.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
262241
262215
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
262242
262216
|
latency_ms: Date.now() - startTime,
|
|
262243
262217
|
max_version: maxVersion,
|
|
@@ -262248,7 +262222,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262248
262222
|
version = maxVersion;
|
|
262249
262223
|
}
|
|
262250
262224
|
}
|
|
262251
|
-
if (!forceReinstall && version === "1.1.
|
|
262225
|
+
if (!forceReinstall && version === "1.1.13" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
262252
262226
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
262253
262227
|
logEvent("tengu_native_update_complete", {
|
|
262254
262228
|
latency_ms: Date.now() - startTime,
|
|
@@ -334468,7 +334442,7 @@ function getAnthropicEnvMetadata() {
|
|
|
334468
334442
|
function getBuildAgeMinutes() {
|
|
334469
334443
|
if (false)
|
|
334470
334444
|
;
|
|
334471
|
-
const buildTime = new Date("2026-04-
|
|
334445
|
+
const buildTime = new Date("2026-04-07T18:09:59.417Z").getTime();
|
|
334472
334446
|
if (isNaN(buildTime))
|
|
334473
334447
|
return;
|
|
334474
334448
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -358534,7 +358508,7 @@ function Feedback({
|
|
|
358534
358508
|
platform: env4.platform,
|
|
358535
358509
|
gitRepo: envInfo.isGit,
|
|
358536
358510
|
terminal: env4.terminal,
|
|
358537
|
-
version: "1.1.
|
|
358511
|
+
version: "1.1.13",
|
|
358538
358512
|
transcript: normalizeMessagesForAPI(messages),
|
|
358539
358513
|
errors: sanitizedErrors,
|
|
358540
358514
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -358726,7 +358700,7 @@ function Feedback({
|
|
|
358726
358700
|
", ",
|
|
358727
358701
|
env4.terminal,
|
|
358728
358702
|
", v",
|
|
358729
|
-
"1.1.
|
|
358703
|
+
"1.1.13"
|
|
358730
358704
|
]
|
|
358731
358705
|
}, undefined, true, undefined, this)
|
|
358732
358706
|
]
|
|
@@ -358832,7 +358806,7 @@ ${sanitizedDescription}
|
|
|
358832
358806
|
` + `**Environment Info**
|
|
358833
358807
|
` + `- Platform: ${env4.platform}
|
|
358834
358808
|
` + `- Terminal: ${env4.terminal}
|
|
358835
|
-
` + `- Version: ${"1.1.
|
|
358809
|
+
` + `- Version: ${"1.1.13"}
|
|
358836
358810
|
` + `- Feedback ID: ${feedbackId}
|
|
358837
358811
|
` + `
|
|
358838
358812
|
**Errors**
|
|
@@ -361945,7 +361919,7 @@ function buildPrimarySection() {
|
|
|
361945
361919
|
}, undefined, false, undefined, this);
|
|
361946
361920
|
return [{
|
|
361947
361921
|
label: "Version",
|
|
361948
|
-
value: "1.1.
|
|
361922
|
+
value: "1.1.13"
|
|
361949
361923
|
}, {
|
|
361950
361924
|
label: "Session name",
|
|
361951
361925
|
value: nameValue
|
|
@@ -363508,21 +363482,13 @@ var init_TriangleSpinner = __esm(() => {
|
|
|
363508
363482
|
});
|
|
363509
363483
|
|
|
363510
363484
|
// src/components/LocalBackendSetup.tsx
|
|
363511
|
-
var exports_LocalBackendSetup = {};
|
|
363512
|
-
__export(exports_LocalBackendSetup, {
|
|
363513
|
-
LocalBackendSetup: () => LocalBackendSetup
|
|
363514
|
-
});
|
|
363515
|
-
function isEnter(input, key) {
|
|
363516
|
-
return key.return || input === "\r" || input === `
|
|
363517
|
-
`;
|
|
363518
|
-
}
|
|
363519
363485
|
function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
363520
363486
|
const VISIBLE = Math.min(7, items.length);
|
|
363521
363487
|
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
363522
363488
|
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
363523
|
-
const
|
|
363489
|
+
const doneRef = import_react100.useRef(false);
|
|
363524
363490
|
use_input_default((input, key) => {
|
|
363525
|
-
if (!isActive ||
|
|
363491
|
+
if (!isActive || doneRef.current)
|
|
363526
363492
|
return;
|
|
363527
363493
|
if (key.upArrow) {
|
|
363528
363494
|
setFocusIdx((prev) => {
|
|
@@ -363538,10 +363504,10 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363538
363504
|
setFromIdx(next - VISIBLE + 1);
|
|
363539
363505
|
return next;
|
|
363540
363506
|
});
|
|
363541
|
-
} else if (
|
|
363507
|
+
} else if (key.return) {
|
|
363542
363508
|
const item = items[focusIdx];
|
|
363543
363509
|
if (item) {
|
|
363544
|
-
|
|
363510
|
+
doneRef.current = true;
|
|
363545
363511
|
onSelect(item.value);
|
|
363546
363512
|
}
|
|
363547
363513
|
} else if (key.escape || key.ctrl && input === "c") {
|
|
@@ -363642,11 +363608,11 @@ function LocalBackendSetup({
|
|
|
363642
363608
|
const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
|
|
363643
363609
|
setCursorOffset(nextValue.length);
|
|
363644
363610
|
}, [step, baseUrl, model, apiKey]);
|
|
363645
|
-
use_input_default((
|
|
363611
|
+
use_input_default((_input, key) => {
|
|
363646
363612
|
if (scanStepDoneRef.current)
|
|
363647
363613
|
return;
|
|
363648
363614
|
if (step === "networkScan") {
|
|
363649
|
-
if (key.escape ||
|
|
363615
|
+
if (key.escape || key.return) {
|
|
363650
363616
|
scanStepDoneRef.current = true;
|
|
363651
363617
|
networkAbortRef.current?.abort();
|
|
363652
363618
|
setDiscoveredEndpoints(discoveredSnapshotRef.current);
|
|
@@ -363657,7 +363623,7 @@ function LocalBackendSetup({
|
|
|
363657
363623
|
scanStepDoneRef.current = true;
|
|
363658
363624
|
modelScanAbortRef.current?.abort();
|
|
363659
363625
|
goBack();
|
|
363660
|
-
} else if (
|
|
363626
|
+
} else if (key.return) {
|
|
363661
363627
|
scanStepDoneRef.current = true;
|
|
363662
363628
|
modelScanAbortRef.current?.abort();
|
|
363663
363629
|
setScanError("Model scan skipped. Enter the model name manually.");
|
|
@@ -366571,7 +366537,7 @@ function Config({
|
|
|
366571
366537
|
}
|
|
366572
366538
|
}, undefined, false, undefined, this)
|
|
366573
366539
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
366574
|
-
currentVersion: "1.1.
|
|
366540
|
+
currentVersion: "1.1.13",
|
|
366575
366541
|
onChoice: (choice) => {
|
|
366576
366542
|
setShowSubmenu(null);
|
|
366577
366543
|
setTabsHidden(false);
|
|
@@ -366583,7 +366549,7 @@ function Config({
|
|
|
366583
366549
|
autoUpdatesChannel: "stable"
|
|
366584
366550
|
};
|
|
366585
366551
|
if (choice === "stay") {
|
|
366586
|
-
newSettings.minimumVersion = "1.1.
|
|
366552
|
+
newSettings.minimumVersion = "1.1.13";
|
|
366587
366553
|
}
|
|
366588
366554
|
updateSettingsForSource("userSettings", newSettings);
|
|
366589
366555
|
setSettingsData((prev_27) => ({
|
|
@@ -376316,7 +376282,7 @@ function HelpV2(t0) {
|
|
|
376316
376282
|
let t6;
|
|
376317
376283
|
if ($2[31] !== tabs) {
|
|
376318
376284
|
t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
|
|
376319
|
-
title: `localclawd v${"1.1.
|
|
376285
|
+
title: `localclawd v${"1.1.13"}`,
|
|
376320
376286
|
color: "professionalBlue",
|
|
376321
376287
|
defaultTab: "general",
|
|
376322
376288
|
children: tabs
|
|
@@ -400474,7 +400440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
400474
400440
|
return [];
|
|
400475
400441
|
}
|
|
400476
400442
|
}
|
|
400477
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
400443
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.13") {
|
|
400478
400444
|
if (process.env.USER_TYPE === "ant") {
|
|
400479
400445
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400480
400446
|
if (changelog) {
|
|
@@ -400501,7 +400467,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12")
|
|
|
400501
400467
|
releaseNotes
|
|
400502
400468
|
};
|
|
400503
400469
|
}
|
|
400504
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
400470
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.13") {
|
|
400505
400471
|
if (process.env.USER_TYPE === "ant") {
|
|
400506
400472
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400507
400473
|
if (changelog) {
|
|
@@ -401668,7 +401634,7 @@ function getRecentActivitySync() {
|
|
|
401668
401634
|
return cachedActivity;
|
|
401669
401635
|
}
|
|
401670
401636
|
function getLogoDisplayData() {
|
|
401671
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
401637
|
+
const version = process.env.DEMO_VERSION ?? "1.1.13";
|
|
401672
401638
|
const serverUrl = getDirectConnectServerUrl();
|
|
401673
401639
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
401674
401640
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -402942,7 +402908,7 @@ function LogoV2() {
|
|
|
402942
402908
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
402943
402909
|
t2 = () => {
|
|
402944
402910
|
const currentConfig = getGlobalConfig();
|
|
402945
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
402911
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.13") {
|
|
402946
402912
|
return;
|
|
402947
402913
|
}
|
|
402948
402914
|
saveGlobalConfig(_temp327);
|
|
@@ -403618,12 +403584,12 @@ function LogoV2() {
|
|
|
403618
403584
|
return t41;
|
|
403619
403585
|
}
|
|
403620
403586
|
function _temp327(current) {
|
|
403621
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
403587
|
+
if (current.lastReleaseNotesSeen === "1.1.13") {
|
|
403622
403588
|
return current;
|
|
403623
403589
|
}
|
|
403624
403590
|
return {
|
|
403625
403591
|
...current,
|
|
403626
|
-
lastReleaseNotesSeen: "1.1.
|
|
403592
|
+
lastReleaseNotesSeen: "1.1.13"
|
|
403627
403593
|
};
|
|
403628
403594
|
}
|
|
403629
403595
|
function _temp245(s_0) {
|
|
@@ -429825,7 +429791,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
429825
429791
|
smapsRollup,
|
|
429826
429792
|
platform: process.platform,
|
|
429827
429793
|
nodeVersion: process.version,
|
|
429828
|
-
ccVersion: "1.1.
|
|
429794
|
+
ccVersion: "1.1.13"
|
|
429829
429795
|
};
|
|
429830
429796
|
}
|
|
429831
429797
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -430410,7 +430376,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
430410
430376
|
var call64 = async () => {
|
|
430411
430377
|
return {
|
|
430412
430378
|
type: "text",
|
|
430413
|
-
value: `${"1.1.
|
|
430379
|
+
value: `${"1.1.13"} (built ${"2026-04-07T18:09:59.417Z"})`
|
|
430414
430380
|
};
|
|
430415
430381
|
}, version, version_default;
|
|
430416
430382
|
var init_version = __esm(() => {
|
|
@@ -439348,7 +439314,7 @@ function generateHtmlReport(data, insights) {
|
|
|
439348
439314
|
</html>`;
|
|
439349
439315
|
}
|
|
439350
439316
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
439351
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
439317
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
|
|
439352
439318
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
439353
439319
|
const facets_summary = {
|
|
439354
439320
|
total: facets.size,
|
|
@@ -443515,7 +443481,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
443515
443481
|
init_settings2();
|
|
443516
443482
|
init_slowOperations();
|
|
443517
443483
|
init_uuid();
|
|
443518
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
443484
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
|
|
443519
443485
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
443520
443486
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
443521
443487
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -444717,7 +444683,7 @@ var init_filesystem = __esm(() => {
|
|
|
444717
444683
|
});
|
|
444718
444684
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
444719
444685
|
const nonce = randomBytes19(16).toString("hex");
|
|
444720
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
444686
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.13", nonce);
|
|
444721
444687
|
});
|
|
444722
444688
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
444723
444689
|
});
|
|
@@ -450716,7 +450682,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
450716
450682
|
}
|
|
450717
450683
|
function computeFingerprintFromMessages(messages) {
|
|
450718
450684
|
const firstMessageText = extractFirstMessageText(messages);
|
|
450719
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
450685
|
+
return computeFingerprint(firstMessageText, "1.1.13");
|
|
450720
450686
|
}
|
|
450721
450687
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
450722
450688
|
var init_fingerprint = () => {};
|
|
@@ -452571,7 +452537,7 @@ async function sideQuery(opts) {
|
|
|
452571
452537
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
452572
452538
|
}
|
|
452573
452539
|
const messageText = extractFirstUserMessageText(messages);
|
|
452574
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
452540
|
+
const fingerprint = computeFingerprint(messageText, "1.1.13");
|
|
452575
452541
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
452576
452542
|
const systemBlocks = [
|
|
452577
452543
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -457369,7 +457335,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
457369
457335
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
457370
457336
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
457371
457337
|
betas: getSdkBetas(),
|
|
457372
|
-
claude_code_version: "1.1.
|
|
457338
|
+
claude_code_version: "1.1.13",
|
|
457373
457339
|
output_style: outputStyle2,
|
|
457374
457340
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
457375
457341
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -471948,7 +471914,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
471948
471914
|
function getSemverPart(version2) {
|
|
471949
471915
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
471950
471916
|
}
|
|
471951
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
471917
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.13") {
|
|
471952
471918
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
471953
471919
|
if (!updatedVersion) {
|
|
471954
471920
|
return null;
|
|
@@ -471988,7 +471954,7 @@ function AutoUpdater({
|
|
|
471988
471954
|
return;
|
|
471989
471955
|
}
|
|
471990
471956
|
if (false) {}
|
|
471991
|
-
const currentVersion = "1.1.
|
|
471957
|
+
const currentVersion = "1.1.13";
|
|
471992
471958
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
471993
471959
|
let latestVersion = await getLatestVersion(channel);
|
|
471994
471960
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -472199,12 +472165,12 @@ function NativeAutoUpdater({
|
|
|
472199
472165
|
logEvent("tengu_native_auto_updater_start", {});
|
|
472200
472166
|
try {
|
|
472201
472167
|
const maxVersion = await getMaxVersion();
|
|
472202
|
-
if (maxVersion && gt("1.1.
|
|
472168
|
+
if (maxVersion && gt("1.1.13", maxVersion)) {
|
|
472203
472169
|
const msg = await getMaxVersionMessage();
|
|
472204
472170
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
472205
472171
|
}
|
|
472206
472172
|
const result = await installLatest(channel);
|
|
472207
|
-
const currentVersion = "1.1.
|
|
472173
|
+
const currentVersion = "1.1.13";
|
|
472208
472174
|
const latencyMs = Date.now() - startTime;
|
|
472209
472175
|
if (result.lockFailed) {
|
|
472210
472176
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -472339,17 +472305,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472339
472305
|
const maxVersion = await getMaxVersion();
|
|
472340
472306
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
472341
472307
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
472342
|
-
if (gte("1.1.
|
|
472343
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
472308
|
+
if (gte("1.1.13", maxVersion)) {
|
|
472309
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.13"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
472344
472310
|
setUpdateAvailable(false);
|
|
472345
472311
|
return;
|
|
472346
472312
|
}
|
|
472347
472313
|
latest = maxVersion;
|
|
472348
472314
|
}
|
|
472349
|
-
const hasUpdate = latest && !gte("1.1.
|
|
472315
|
+
const hasUpdate = latest && !gte("1.1.13", latest) && !shouldSkipVersion(latest);
|
|
472350
472316
|
setUpdateAvailable(!!hasUpdate);
|
|
472351
472317
|
if (hasUpdate) {
|
|
472352
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
472318
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.13"} -> ${latest}`);
|
|
472353
472319
|
}
|
|
472354
472320
|
};
|
|
472355
472321
|
$2[0] = t1;
|
|
@@ -472383,7 +472349,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472383
472349
|
wrap: "truncate",
|
|
472384
472350
|
children: [
|
|
472385
472351
|
"currentVersion: ",
|
|
472386
|
-
"1.1.
|
|
472352
|
+
"1.1.13"
|
|
472387
472353
|
]
|
|
472388
472354
|
}, undefined, true, undefined, this);
|
|
472389
472355
|
$2[3] = verbose;
|
|
@@ -479941,7 +479907,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
479941
479907
|
project_dir: getOriginalCwd(),
|
|
479942
479908
|
added_dirs: addedDirs
|
|
479943
479909
|
},
|
|
479944
|
-
version: "1.1.
|
|
479910
|
+
version: "1.1.13",
|
|
479945
479911
|
output_style: {
|
|
479946
479912
|
name: outputStyleName
|
|
479947
479913
|
},
|
|
@@ -491501,7 +491467,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
491501
491467
|
} catch {}
|
|
491502
491468
|
const data = {
|
|
491503
491469
|
trigger,
|
|
491504
|
-
version: "1.1.
|
|
491470
|
+
version: "1.1.13",
|
|
491505
491471
|
platform: process.platform,
|
|
491506
491472
|
transcript,
|
|
491507
491473
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -503068,739 +503034,36 @@ var init_githubRepoPathMapping = __esm(() => {
|
|
|
503068
503034
|
init_git();
|
|
503069
503035
|
});
|
|
503070
503036
|
|
|
503071
|
-
// src/components/LogoV2/WelcomeV2.tsx
|
|
503072
|
-
function WelcomeV2() {
|
|
503073
|
-
const [theme2] = useTheme();
|
|
503074
|
-
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
503075
|
-
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
503076
|
-
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503077
|
-
width: WELCOME_V2_WIDTH,
|
|
503078
|
-
flexDirection: "column",
|
|
503079
|
-
gap: 0,
|
|
503080
|
-
children: [
|
|
503081
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503082
|
-
gap: 1,
|
|
503083
|
-
children: [
|
|
503084
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503085
|
-
bold: true,
|
|
503086
|
-
color: accentColor,
|
|
503087
|
-
children: "localclawd"
|
|
503088
|
-
}, undefined, false, undefined, this),
|
|
503089
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503090
|
-
dimColor: true,
|
|
503091
|
-
children: [
|
|
503092
|
-
"v",
|
|
503093
|
-
"1.1.12"
|
|
503094
|
-
]
|
|
503095
|
-
}, undefined, true, undefined, this)
|
|
503096
|
-
]
|
|
503097
|
-
}, undefined, true, undefined, this),
|
|
503098
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503099
|
-
dimColor: true,
|
|
503100
|
-
children: "─".repeat(48)
|
|
503101
|
-
}, undefined, false, undefined, this),
|
|
503102
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503103
|
-
marginTop: 1,
|
|
503104
|
-
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(Clawd, {}, undefined, false, undefined, this)
|
|
503105
|
-
}, undefined, false, undefined, this)
|
|
503106
|
-
]
|
|
503107
|
-
}, undefined, true, undefined, this);
|
|
503108
|
-
}
|
|
503109
|
-
var jsx_dev_runtime482, WELCOME_V2_WIDTH = 58;
|
|
503110
|
-
var init_WelcomeV2 = __esm(() => {
|
|
503111
|
-
init_ink2();
|
|
503112
|
-
init_Clawd();
|
|
503113
|
-
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503114
|
-
});
|
|
503115
|
-
|
|
503116
|
-
// src/components/StartPage.tsx
|
|
503117
|
-
var exports_StartPage = {};
|
|
503118
|
-
__export(exports_StartPage, {
|
|
503119
|
-
StartPage: () => StartPage
|
|
503120
|
-
});
|
|
503121
|
-
function hasSavedBackendConfig(config2) {
|
|
503122
|
-
return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
|
|
503123
|
-
}
|
|
503124
|
-
function isEnter2(input, key) {
|
|
503125
|
-
return key.return || input === "\r" || input === `
|
|
503126
|
-
`;
|
|
503127
|
-
}
|
|
503128
|
-
function StartPage({ currentConfig, onDone }) {
|
|
503129
|
-
const hasSavedConfig = hasSavedBackendConfig(currentConfig);
|
|
503130
|
-
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
503131
|
-
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503132
|
-
const [submitted, setSubmitted] = import_react321.useState(false);
|
|
503133
|
-
use_input_default((input, key) => {
|
|
503134
|
-
if (submitted)
|
|
503135
|
-
return;
|
|
503136
|
-
if (key.upArrow) {
|
|
503137
|
-
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
503138
|
-
} else if (key.downArrow) {
|
|
503139
|
-
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
503140
|
-
} else if (isEnter2(input, key)) {
|
|
503141
|
-
setSubmitted(true);
|
|
503142
|
-
onDone(options[focusIdx].value);
|
|
503143
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503144
|
-
gracefulShutdownSync(0);
|
|
503145
|
-
}
|
|
503146
|
-
});
|
|
503147
|
-
return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503148
|
-
flexDirection: "column",
|
|
503149
|
-
gap: 1,
|
|
503150
|
-
children: [
|
|
503151
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
503152
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503153
|
-
flexDirection: "column",
|
|
503154
|
-
gap: 1,
|
|
503155
|
-
paddingLeft: 1,
|
|
503156
|
-
width: 78,
|
|
503157
|
-
children: [
|
|
503158
|
-
hasSavedConfig ? /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(jsx_dev_runtime483.Fragment, {
|
|
503159
|
-
children: [
|
|
503160
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503161
|
-
flexDirection: "column",
|
|
503162
|
-
children: [
|
|
503163
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503164
|
-
bold: true,
|
|
503165
|
-
color: "#818cf8",
|
|
503166
|
-
children: "Welcome back!"
|
|
503167
|
-
}, undefined, false, undefined, this),
|
|
503168
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503169
|
-
dimColor: true,
|
|
503170
|
-
children: "Ready when you are."
|
|
503171
|
-
}, undefined, false, undefined, this)
|
|
503172
|
-
]
|
|
503173
|
-
}, undefined, true, undefined, this),
|
|
503174
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503175
|
-
flexDirection: "column",
|
|
503176
|
-
borderStyle: "round",
|
|
503177
|
-
borderColor: "#6366f1",
|
|
503178
|
-
paddingX: 2,
|
|
503179
|
-
paddingY: 0,
|
|
503180
|
-
width: 60,
|
|
503181
|
-
children: [
|
|
503182
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503183
|
-
gap: 2,
|
|
503184
|
-
children: [
|
|
503185
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503186
|
-
color: "#6366f1",
|
|
503187
|
-
bold: true,
|
|
503188
|
-
children: "◈"
|
|
503189
|
-
}, undefined, false, undefined, this),
|
|
503190
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503191
|
-
bold: true,
|
|
503192
|
-
color: "#818cf8",
|
|
503193
|
-
children: getLocalLLMProviderLabel(currentConfig.provider)
|
|
503194
|
-
}, undefined, false, undefined, this)
|
|
503195
|
-
]
|
|
503196
|
-
}, undefined, true, undefined, this),
|
|
503197
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503198
|
-
dimColor: true,
|
|
503199
|
-
children: [
|
|
503200
|
-
"Model: ",
|
|
503201
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503202
|
-
color: "white",
|
|
503203
|
-
children: currentConfig.model
|
|
503204
|
-
}, undefined, false, undefined, this)
|
|
503205
|
-
]
|
|
503206
|
-
}, undefined, true, undefined, this),
|
|
503207
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503208
|
-
dimColor: true,
|
|
503209
|
-
children: [
|
|
503210
|
-
"Endpoint: ",
|
|
503211
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503212
|
-
color: "white",
|
|
503213
|
-
children: currentConfig.baseUrl
|
|
503214
|
-
}, undefined, false, undefined, this)
|
|
503215
|
-
]
|
|
503216
|
-
}, undefined, true, undefined, this)
|
|
503217
|
-
]
|
|
503218
|
-
}, undefined, true, undefined, this)
|
|
503219
|
-
]
|
|
503220
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503221
|
-
flexDirection: "column",
|
|
503222
|
-
gap: 0,
|
|
503223
|
-
children: [
|
|
503224
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503225
|
-
bold: true,
|
|
503226
|
-
color: "#818cf8",
|
|
503227
|
-
children: "Let's get you connected."
|
|
503228
|
-
}, undefined, false, undefined, this),
|
|
503229
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503230
|
-
dimColor: true,
|
|
503231
|
-
wrap: "wrap",
|
|
503232
|
-
children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
|
|
503233
|
-
}, undefined, false, undefined, this)
|
|
503234
|
-
]
|
|
503235
|
-
}, undefined, true, undefined, this),
|
|
503236
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503237
|
-
flexDirection: "column",
|
|
503238
|
-
children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503239
|
-
gap: 1,
|
|
503240
|
-
children: [
|
|
503241
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503242
|
-
color: "#6366f1",
|
|
503243
|
-
children: i2 === focusIdx ? "▶" : " "
|
|
503244
|
-
}, undefined, false, undefined, this),
|
|
503245
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503246
|
-
bold: i2 === focusIdx,
|
|
503247
|
-
color: i2 === focusIdx ? "#818cf8" : undefined,
|
|
503248
|
-
children: opt.label
|
|
503249
|
-
}, undefined, false, undefined, this)
|
|
503250
|
-
]
|
|
503251
|
-
}, opt.value, true, undefined, this))
|
|
503252
|
-
}, undefined, false, undefined, this),
|
|
503253
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503254
|
-
dimColor: true,
|
|
503255
|
-
children: "↑↓ navigate · Enter confirm · Esc exit"
|
|
503256
|
-
}, undefined, false, undefined, this)
|
|
503257
|
-
]
|
|
503258
|
-
}, undefined, true, undefined, this)
|
|
503259
|
-
]
|
|
503260
|
-
}, undefined, true, undefined, this);
|
|
503261
|
-
}
|
|
503262
|
-
var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
|
|
503263
|
-
var init_StartPage = __esm(() => {
|
|
503264
|
-
init_ink2();
|
|
503265
|
-
init_gracefulShutdown();
|
|
503266
|
-
init_providers();
|
|
503267
|
-
init_WelcomeV2();
|
|
503268
|
-
import_react321 = __toESM(require_react(), 1);
|
|
503269
|
-
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503270
|
-
CONTINUE_OPTIONS = [
|
|
503271
|
-
{ label: "Continue to dashboard", value: "continue" },
|
|
503272
|
-
{ label: "Change backend", value: "configure-backend" }
|
|
503273
|
-
];
|
|
503274
|
-
SETUP_OPTIONS = [
|
|
503275
|
-
{ label: "Set up a backend now", value: "configure-backend" },
|
|
503276
|
-
{ label: "Skip for now", value: "continue" }
|
|
503277
|
-
];
|
|
503278
|
-
});
|
|
503279
|
-
|
|
503280
|
-
// src/components/ui/OrderedListItem.tsx
|
|
503281
|
-
function OrderedListItem(t0) {
|
|
503282
|
-
const $2 = c3(7);
|
|
503283
|
-
const {
|
|
503284
|
-
children
|
|
503285
|
-
} = t0;
|
|
503286
|
-
const {
|
|
503287
|
-
marker
|
|
503288
|
-
} = import_react322.useContext(OrderedListItemContext);
|
|
503289
|
-
let t1;
|
|
503290
|
-
if ($2[0] !== marker) {
|
|
503291
|
-
t1 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
503292
|
-
dimColor: true,
|
|
503293
|
-
children: marker
|
|
503294
|
-
}, undefined, false, undefined, this);
|
|
503295
|
-
$2[0] = marker;
|
|
503296
|
-
$2[1] = t1;
|
|
503297
|
-
} else {
|
|
503298
|
-
t1 = $2[1];
|
|
503299
|
-
}
|
|
503300
|
-
let t2;
|
|
503301
|
-
if ($2[2] !== children) {
|
|
503302
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503303
|
-
flexDirection: "column",
|
|
503304
|
-
children
|
|
503305
|
-
}, undefined, false, undefined, this);
|
|
503306
|
-
$2[2] = children;
|
|
503307
|
-
$2[3] = t2;
|
|
503308
|
-
} else {
|
|
503309
|
-
t2 = $2[3];
|
|
503310
|
-
}
|
|
503311
|
-
let t3;
|
|
503312
|
-
if ($2[4] !== t1 || $2[5] !== t2) {
|
|
503313
|
-
t3 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503314
|
-
gap: 1,
|
|
503315
|
-
children: [
|
|
503316
|
-
t1,
|
|
503317
|
-
t2
|
|
503318
|
-
]
|
|
503319
|
-
}, undefined, true, undefined, this);
|
|
503320
|
-
$2[4] = t1;
|
|
503321
|
-
$2[5] = t2;
|
|
503322
|
-
$2[6] = t3;
|
|
503323
|
-
} else {
|
|
503324
|
-
t3 = $2[6];
|
|
503325
|
-
}
|
|
503326
|
-
return t3;
|
|
503327
|
-
}
|
|
503328
|
-
var import_react322, jsx_dev_runtime484, OrderedListItemContext;
|
|
503329
|
-
var init_OrderedListItem = __esm(() => {
|
|
503330
|
-
init_ink2();
|
|
503331
|
-
import_react322 = __toESM(require_react(), 1);
|
|
503332
|
-
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503333
|
-
OrderedListItemContext = import_react322.createContext({
|
|
503334
|
-
marker: ""
|
|
503335
|
-
});
|
|
503336
|
-
});
|
|
503337
|
-
|
|
503338
|
-
// src/components/ui/OrderedList.tsx
|
|
503339
|
-
function OrderedListComponent(t0) {
|
|
503340
|
-
const $2 = c3(9);
|
|
503341
|
-
const {
|
|
503342
|
-
children
|
|
503343
|
-
} = t0;
|
|
503344
|
-
const {
|
|
503345
|
-
marker: parentMarker
|
|
503346
|
-
} = import_react323.useContext(OrderedListContext);
|
|
503347
|
-
let numberOfItems = 0;
|
|
503348
|
-
for (const child of import_react323.default.Children.toArray(children)) {
|
|
503349
|
-
if (!import_react323.isValidElement(child) || child.type !== OrderedListItem) {
|
|
503350
|
-
continue;
|
|
503351
|
-
}
|
|
503352
|
-
numberOfItems++;
|
|
503353
|
-
}
|
|
503354
|
-
const maxMarkerWidth = String(numberOfItems).length;
|
|
503355
|
-
let t1;
|
|
503356
|
-
if ($2[0] !== children || $2[1] !== maxMarkerWidth || $2[2] !== parentMarker) {
|
|
503357
|
-
let t22;
|
|
503358
|
-
if ($2[4] !== maxMarkerWidth || $2[5] !== parentMarker) {
|
|
503359
|
-
t22 = (child_0, index) => {
|
|
503360
|
-
if (!import_react323.isValidElement(child_0) || child_0.type !== OrderedListItem) {
|
|
503361
|
-
return child_0;
|
|
503362
|
-
}
|
|
503363
|
-
const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
|
|
503364
|
-
const marker = `${parentMarker}${paddedMarker}`;
|
|
503365
|
-
return /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListContext.Provider, {
|
|
503366
|
-
value: {
|
|
503367
|
-
marker
|
|
503368
|
-
},
|
|
503369
|
-
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListItemContext.Provider, {
|
|
503370
|
-
value: {
|
|
503371
|
-
marker
|
|
503372
|
-
},
|
|
503373
|
-
children: child_0
|
|
503374
|
-
}, undefined, false, undefined, this)
|
|
503375
|
-
}, undefined, false, undefined, this);
|
|
503376
|
-
};
|
|
503377
|
-
$2[4] = maxMarkerWidth;
|
|
503378
|
-
$2[5] = parentMarker;
|
|
503379
|
-
$2[6] = t22;
|
|
503380
|
-
} else {
|
|
503381
|
-
t22 = $2[6];
|
|
503382
|
-
}
|
|
503383
|
-
t1 = import_react323.default.Children.map(children, t22);
|
|
503384
|
-
$2[0] = children;
|
|
503385
|
-
$2[1] = maxMarkerWidth;
|
|
503386
|
-
$2[2] = parentMarker;
|
|
503387
|
-
$2[3] = t1;
|
|
503388
|
-
} else {
|
|
503389
|
-
t1 = $2[3];
|
|
503390
|
-
}
|
|
503391
|
-
let t2;
|
|
503392
|
-
if ($2[7] !== t1) {
|
|
503393
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ThemedBox_default, {
|
|
503394
|
-
flexDirection: "column",
|
|
503395
|
-
children: t1
|
|
503396
|
-
}, undefined, false, undefined, this);
|
|
503397
|
-
$2[7] = t1;
|
|
503398
|
-
$2[8] = t2;
|
|
503399
|
-
} else {
|
|
503400
|
-
t2 = $2[8];
|
|
503401
|
-
}
|
|
503402
|
-
return t2;
|
|
503403
|
-
}
|
|
503404
|
-
var import_react323, jsx_dev_runtime485, OrderedListContext, OrderedList;
|
|
503405
|
-
var init_OrderedList = __esm(() => {
|
|
503406
|
-
init_ink2();
|
|
503407
|
-
init_OrderedListItem();
|
|
503408
|
-
import_react323 = __toESM(require_react(), 1);
|
|
503409
|
-
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503410
|
-
OrderedListContext = import_react323.createContext({
|
|
503411
|
-
marker: ""
|
|
503412
|
-
});
|
|
503413
|
-
OrderedListComponent.Item = OrderedListItem;
|
|
503414
|
-
OrderedList = OrderedListComponent;
|
|
503415
|
-
});
|
|
503416
|
-
|
|
503417
|
-
// src/components/Onboarding.tsx
|
|
503418
|
-
var exports_Onboarding = {};
|
|
503419
|
-
__export(exports_Onboarding, {
|
|
503420
|
-
Onboarding: () => Onboarding
|
|
503421
|
-
});
|
|
503422
|
-
function isEnter3(input, key) {
|
|
503423
|
-
return key.return || input === "\r" || input === `
|
|
503424
|
-
`;
|
|
503425
|
-
}
|
|
503426
|
-
function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
|
|
503427
|
-
const VISIBLE = Math.min(7, items.length);
|
|
503428
|
-
const [focusIdx, setFocusIdx] = import_react324.useState(0);
|
|
503429
|
-
const [fromIdx, setFromIdx] = import_react324.useState(0);
|
|
503430
|
-
const [submitted, setSubmitted] = import_react324.useState(false);
|
|
503431
|
-
use_input_default((input, key) => {
|
|
503432
|
-
if (!isActive || submitted)
|
|
503433
|
-
return;
|
|
503434
|
-
if (key.upArrow) {
|
|
503435
|
-
setFocusIdx((prev) => {
|
|
503436
|
-
const next = Math.max(0, prev - 1);
|
|
503437
|
-
if (next < fromIdx)
|
|
503438
|
-
setFromIdx(next);
|
|
503439
|
-
return next;
|
|
503440
|
-
});
|
|
503441
|
-
} else if (key.downArrow) {
|
|
503442
|
-
setFocusIdx((prev) => {
|
|
503443
|
-
const next = Math.min(items.length - 1, prev + 1);
|
|
503444
|
-
if (next >= fromIdx + VISIBLE)
|
|
503445
|
-
setFromIdx(next - VISIBLE + 1);
|
|
503446
|
-
return next;
|
|
503447
|
-
});
|
|
503448
|
-
} else if (isEnter3(input, key)) {
|
|
503449
|
-
const item = items[focusIdx];
|
|
503450
|
-
if (item) {
|
|
503451
|
-
setSubmitted(true);
|
|
503452
|
-
onSelect(item.value);
|
|
503453
|
-
}
|
|
503454
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503455
|
-
onCancel?.();
|
|
503456
|
-
}
|
|
503457
|
-
});
|
|
503458
|
-
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
503459
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503460
|
-
flexDirection: "column",
|
|
503461
|
-
children: [
|
|
503462
|
-
fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503463
|
-
dimColor: true,
|
|
503464
|
-
children: " ↑ more"
|
|
503465
|
-
}, undefined, false, undefined, this),
|
|
503466
|
-
visible.map((item, i2) => {
|
|
503467
|
-
const absIdx = fromIdx + i2;
|
|
503468
|
-
const focused = absIdx === focusIdx;
|
|
503469
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503470
|
-
gap: 1,
|
|
503471
|
-
children: [
|
|
503472
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503473
|
-
color: "#6366f1",
|
|
503474
|
-
children: focused ? "▶" : " "
|
|
503475
|
-
}, undefined, false, undefined, this),
|
|
503476
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503477
|
-
bold: focused,
|
|
503478
|
-
color: focused ? "#818cf8" : undefined,
|
|
503479
|
-
children: item.label
|
|
503480
|
-
}, undefined, false, undefined, this)
|
|
503481
|
-
]
|
|
503482
|
-
}, String(item.value), true, undefined, this);
|
|
503483
|
-
}),
|
|
503484
|
-
fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503485
|
-
dimColor: true,
|
|
503486
|
-
children: " ↓ more"
|
|
503487
|
-
}, undefined, false, undefined, this)
|
|
503488
|
-
]
|
|
503489
|
-
}, undefined, true, undefined, this);
|
|
503490
|
-
}
|
|
503491
|
-
function PressEnterToContinue2({ isActive, onContinue }) {
|
|
503492
|
-
const [done, setDone] = import_react324.useState(false);
|
|
503493
|
-
use_input_default((input, key) => {
|
|
503494
|
-
if (!isActive || done)
|
|
503495
|
-
return;
|
|
503496
|
-
if (isEnter3(input, key)) {
|
|
503497
|
-
setDone(true);
|
|
503498
|
-
onContinue();
|
|
503499
|
-
}
|
|
503500
|
-
});
|
|
503501
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503502
|
-
color: "permission",
|
|
503503
|
-
children: [
|
|
503504
|
-
"Press ",
|
|
503505
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503506
|
-
bold: true,
|
|
503507
|
-
children: "Enter"
|
|
503508
|
-
}, undefined, false, undefined, this),
|
|
503509
|
-
" to continue…"
|
|
503510
|
-
]
|
|
503511
|
-
}, undefined, true, undefined, this);
|
|
503512
|
-
}
|
|
503513
|
-
function Onboarding({ onDone, showWelcome = true }) {
|
|
503514
|
-
const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
|
|
503515
|
-
const [theme2, setTheme] = useTheme();
|
|
503516
|
-
const goToNextStep = import_react324.useCallback(() => {
|
|
503517
|
-
setCurrentStepIndex((current) => {
|
|
503518
|
-
if (current >= steps.length - 1) {
|
|
503519
|
-
onDone();
|
|
503520
|
-
return current;
|
|
503521
|
-
}
|
|
503522
|
-
return current + 1;
|
|
503523
|
-
});
|
|
503524
|
-
}, [onDone]);
|
|
503525
|
-
const handleThemeSelection = import_react324.useCallback((newTheme) => {
|
|
503526
|
-
setTheme(newTheme);
|
|
503527
|
-
goToNextStep();
|
|
503528
|
-
}, [goToNextStep, setTheme]);
|
|
503529
|
-
const handleLocalBackendSetup = import_react324.useCallback((config2, options) => {
|
|
503530
|
-
if (options?.saveGlobally === false) {
|
|
503531
|
-
setSessionLocalLLMConfigOverride(config2);
|
|
503532
|
-
} else {
|
|
503533
|
-
clearSessionLocalLLMConfigOverride();
|
|
503534
|
-
saveGlobalConfig((current) => ({
|
|
503535
|
-
...current,
|
|
503536
|
-
localBackendProvider: config2.provider,
|
|
503537
|
-
localBackendBaseUrl: config2.baseUrl,
|
|
503538
|
-
localBackendModel: config2.model,
|
|
503539
|
-
localBackendApiKey: config2.apiKey
|
|
503540
|
-
}));
|
|
503541
|
-
}
|
|
503542
|
-
goToNextStep();
|
|
503543
|
-
}, [goToNextStep]);
|
|
503544
|
-
const themeItems = THEME_SETTINGS.map((s) => ({
|
|
503545
|
-
label: s === "auto" ? "Auto (follow system)" : s,
|
|
503546
|
-
value: s
|
|
503547
|
-
}));
|
|
503548
|
-
const compactItems = [
|
|
503549
|
-
{
|
|
503550
|
-
label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
|
|
503551
|
-
value: "default"
|
|
503552
|
-
},
|
|
503553
|
-
...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
|
|
503554
|
-
label: formatCompactContextWindowOption(tokens),
|
|
503555
|
-
value: String(tokens)
|
|
503556
|
-
}))
|
|
503557
|
-
];
|
|
503558
|
-
const steps = import_react324.useMemo(() => {
|
|
503559
|
-
const config2 = getGlobalConfig();
|
|
503560
|
-
const result = [
|
|
503561
|
-
{
|
|
503562
|
-
id: "theme",
|
|
503563
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503564
|
-
flexDirection: "column",
|
|
503565
|
-
gap: 1,
|
|
503566
|
-
paddingLeft: 1,
|
|
503567
|
-
children: [
|
|
503568
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503569
|
-
bold: true,
|
|
503570
|
-
children: "Choose a theme"
|
|
503571
|
-
}, undefined, false, undefined, this),
|
|
503572
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503573
|
-
items: themeItems,
|
|
503574
|
-
isActive: isActive2,
|
|
503575
|
-
onSelect: handleThemeSelection,
|
|
503576
|
-
onCancel: goToNextStep
|
|
503577
|
-
}, undefined, false, undefined, this),
|
|
503578
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503579
|
-
dimColor: true,
|
|
503580
|
-
children: "Change later with /theme"
|
|
503581
|
-
}, undefined, false, undefined, this)
|
|
503582
|
-
]
|
|
503583
|
-
}, undefined, true, undefined, this)
|
|
503584
|
-
},
|
|
503585
|
-
{
|
|
503586
|
-
id: "compact-context",
|
|
503587
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503588
|
-
flexDirection: "column",
|
|
503589
|
-
gap: 1,
|
|
503590
|
-
paddingLeft: 1,
|
|
503591
|
-
width: 70,
|
|
503592
|
-
children: [
|
|
503593
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503594
|
-
bold: true,
|
|
503595
|
-
children: "Choose a compact context window"
|
|
503596
|
-
}, undefined, false, undefined, this),
|
|
503597
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503598
|
-
dimColor: true,
|
|
503599
|
-
wrap: "wrap",
|
|
503600
|
-
children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
|
|
503601
|
-
}, undefined, false, undefined, this),
|
|
503602
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503603
|
-
items: compactItems,
|
|
503604
|
-
isActive: isActive2,
|
|
503605
|
-
onSelect: (value) => {
|
|
503606
|
-
const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
|
|
503607
|
-
saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
|
|
503608
|
-
goToNextStep();
|
|
503609
|
-
},
|
|
503610
|
-
onCancel: goToNextStep
|
|
503611
|
-
}, undefined, false, undefined, this),
|
|
503612
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503613
|
-
dimColor: true,
|
|
503614
|
-
children: "Change later in /config under Compact context window."
|
|
503615
|
-
}, undefined, false, undefined, this)
|
|
503616
|
-
]
|
|
503617
|
-
}, undefined, true, undefined, this)
|
|
503618
|
-
},
|
|
503619
|
-
{
|
|
503620
|
-
id: "local-backend",
|
|
503621
|
-
component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503622
|
-
initialConfig: {
|
|
503623
|
-
provider: config2.localBackendProvider,
|
|
503624
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
503625
|
-
model: config2.localBackendModel,
|
|
503626
|
-
apiKey: config2.localBackendApiKey
|
|
503627
|
-
},
|
|
503628
|
-
onComplete: handleLocalBackendSetup,
|
|
503629
|
-
onCancel: goToNextStep,
|
|
503630
|
-
title: "Choose your local backend",
|
|
503631
|
-
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503632
|
-
showSaveGloballyOption: true
|
|
503633
|
-
}, undefined, false, undefined, this)
|
|
503634
|
-
},
|
|
503635
|
-
{
|
|
503636
|
-
id: "security",
|
|
503637
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503638
|
-
flexDirection: "column",
|
|
503639
|
-
gap: 1,
|
|
503640
|
-
paddingLeft: 1,
|
|
503641
|
-
children: [
|
|
503642
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503643
|
-
bold: true,
|
|
503644
|
-
children: "Security notes:"
|
|
503645
|
-
}, undefined, false, undefined, this),
|
|
503646
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503647
|
-
flexDirection: "column",
|
|
503648
|
-
width: 70,
|
|
503649
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
|
|
503650
|
-
children: [
|
|
503651
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503652
|
-
children: [
|
|
503653
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503654
|
-
children: "localclawd can make mistakes"
|
|
503655
|
-
}, undefined, false, undefined, this),
|
|
503656
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503657
|
-
dimColor: true,
|
|
503658
|
-
wrap: "wrap",
|
|
503659
|
-
children: [
|
|
503660
|
-
"Always review responses, especially when running code.",
|
|
503661
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503662
|
-
]
|
|
503663
|
-
}, undefined, true, undefined, this)
|
|
503664
|
-
]
|
|
503665
|
-
}, undefined, true, undefined, this),
|
|
503666
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503667
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503668
|
-
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503669
|
-
}, undefined, false, undefined, this)
|
|
503670
|
-
}, undefined, false, undefined, this)
|
|
503671
|
-
]
|
|
503672
|
-
}, undefined, true, undefined, this)
|
|
503673
|
-
}, undefined, false, undefined, this),
|
|
503674
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503675
|
-
isActive: isActive2,
|
|
503676
|
-
onContinue: goToNextStep
|
|
503677
|
-
}, undefined, false, undefined, this)
|
|
503678
|
-
]
|
|
503679
|
-
}, undefined, true, undefined, this)
|
|
503680
|
-
}
|
|
503681
|
-
];
|
|
503682
|
-
if (shouldOfferTerminalSetup()) {
|
|
503683
|
-
const terminalItems = [
|
|
503684
|
-
{ label: "Yes, use recommended settings", value: "install" },
|
|
503685
|
-
{ label: "No, maybe later with /terminal-setup", value: "no" }
|
|
503686
|
-
];
|
|
503687
|
-
result.push({
|
|
503688
|
-
id: "terminal-setup",
|
|
503689
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503690
|
-
flexDirection: "column",
|
|
503691
|
-
gap: 1,
|
|
503692
|
-
paddingLeft: 1,
|
|
503693
|
-
children: [
|
|
503694
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503695
|
-
bold: true,
|
|
503696
|
-
children: "Use localclawd's terminal setup?"
|
|
503697
|
-
}, undefined, false, undefined, this),
|
|
503698
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503699
|
-
flexDirection: "column",
|
|
503700
|
-
width: 70,
|
|
503701
|
-
gap: 1,
|
|
503702
|
-
children: [
|
|
503703
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503704
|
-
children: [
|
|
503705
|
-
"For the optimal experience, enable recommended settings",
|
|
503706
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503707
|
-
"for your terminal:",
|
|
503708
|
-
" ",
|
|
503709
|
-
env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
|
|
503710
|
-
]
|
|
503711
|
-
}, undefined, true, undefined, this),
|
|
503712
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503713
|
-
items: terminalItems,
|
|
503714
|
-
isActive: isActive2,
|
|
503715
|
-
onSelect: (value) => {
|
|
503716
|
-
if (value === "install") {
|
|
503717
|
-
setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
|
|
503718
|
-
} else {
|
|
503719
|
-
goToNextStep();
|
|
503720
|
-
}
|
|
503721
|
-
},
|
|
503722
|
-
onCancel: goToNextStep
|
|
503723
|
-
}, undefined, false, undefined, this)
|
|
503724
|
-
]
|
|
503725
|
-
}, undefined, true, undefined, this)
|
|
503726
|
-
]
|
|
503727
|
-
}, undefined, true, undefined, this)
|
|
503728
|
-
});
|
|
503729
|
-
}
|
|
503730
|
-
return result;
|
|
503731
|
-
}, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
|
|
503732
|
-
const currentStep = steps[currentStepIndex];
|
|
503733
|
-
const isActive = true;
|
|
503734
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503735
|
-
flexDirection: "column",
|
|
503736
|
-
children: [
|
|
503737
|
-
showWelcome ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this) : null,
|
|
503738
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503739
|
-
flexDirection: "column",
|
|
503740
|
-
marginTop: 1,
|
|
503741
|
-
children: currentStep?.component(isActive)
|
|
503742
|
-
}, undefined, false, undefined, this)
|
|
503743
|
-
]
|
|
503744
|
-
}, undefined, true, undefined, this);
|
|
503745
|
-
}
|
|
503746
|
-
var import_react324, jsx_dev_runtime486;
|
|
503747
|
-
var init_Onboarding = __esm(() => {
|
|
503748
|
-
init_terminalSetup();
|
|
503749
|
-
init_ink2();
|
|
503750
|
-
init_config();
|
|
503751
|
-
init_context();
|
|
503752
|
-
init_env();
|
|
503753
|
-
init_providers();
|
|
503754
|
-
init_theme();
|
|
503755
|
-
init_LocalBackendSetup();
|
|
503756
|
-
init_WelcomeV2();
|
|
503757
|
-
init_OrderedList();
|
|
503758
|
-
import_react324 = __toESM(require_react(), 1);
|
|
503759
|
-
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503760
|
-
});
|
|
503761
|
-
|
|
503762
503037
|
// src/components/TrustDialog/TrustDialog.tsx
|
|
503763
503038
|
var exports_TrustDialog = {};
|
|
503764
503039
|
__export(exports_TrustDialog, {
|
|
503765
503040
|
TrustDialog: () => TrustDialog
|
|
503766
503041
|
});
|
|
503767
503042
|
import { homedir as homedir36 } from "os";
|
|
503768
|
-
function isEnter4(input, key) {
|
|
503769
|
-
return key.return || input === "\r" || input === `
|
|
503770
|
-
`;
|
|
503771
|
-
}
|
|
503772
503043
|
function TrustDialog({ onDone }) {
|
|
503773
|
-
const [focusIdx, setFocusIdx] =
|
|
503774
|
-
const
|
|
503775
|
-
import_react325.useEffect(() => {
|
|
503776
|
-
if (checkHasTrustDialogAccepted()) {
|
|
503777
|
-
setSessionTrustAccepted(true);
|
|
503778
|
-
setAccepted(true);
|
|
503779
|
-
onDone();
|
|
503780
|
-
}
|
|
503781
|
-
}, []);
|
|
503044
|
+
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503045
|
+
const doneRef = import_react321.useRef(false);
|
|
503782
503046
|
use_input_default((input, key) => {
|
|
503783
|
-
if (
|
|
503047
|
+
if (doneRef.current)
|
|
503784
503048
|
return;
|
|
503785
503049
|
if (key.upArrow) {
|
|
503786
503050
|
setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
|
|
503787
503051
|
} else if (key.downArrow) {
|
|
503788
503052
|
setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
|
|
503789
|
-
} else if (
|
|
503053
|
+
} else if (key.return) {
|
|
503054
|
+
doneRef.current = true;
|
|
503790
503055
|
const chosen = OPTIONS[focusIdx];
|
|
503791
503056
|
if (chosen?.value === "exit") {
|
|
503792
503057
|
gracefulShutdownSync(1);
|
|
503793
503058
|
} else {
|
|
503794
503059
|
try {
|
|
503795
|
-
|
|
503796
|
-
if (!isHomeDir) {
|
|
503060
|
+
if (homedir36() !== getCwd()) {
|
|
503797
503061
|
try {
|
|
503798
|
-
saveCurrentProjectConfig((
|
|
503062
|
+
saveCurrentProjectConfig((c5) => ({ ...c5, hasTrustDialogAccepted: true }));
|
|
503799
503063
|
} catch {}
|
|
503800
503064
|
}
|
|
503801
503065
|
setSessionTrustAccepted(true);
|
|
503802
503066
|
} finally {
|
|
503803
|
-
setAccepted(true);
|
|
503804
503067
|
onDone();
|
|
503805
503068
|
}
|
|
503806
503069
|
}
|
|
@@ -503809,53 +503072,39 @@ function TrustDialog({ onDone }) {
|
|
|
503809
503072
|
}
|
|
503810
503073
|
});
|
|
503811
503074
|
const cwd2 = getFsImplementation().cwd();
|
|
503812
|
-
|
|
503813
|
-
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
503814
|
-
color: "warning",
|
|
503815
|
-
titleColor: "warning",
|
|
503816
|
-
title: "Accessing workspace:",
|
|
503817
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
503818
|
-
paddingTop: 1,
|
|
503819
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503820
|
-
dimColor: true,
|
|
503821
|
-
children: "Trusted. Loading…"
|
|
503822
|
-
}, undefined, false, undefined, this)
|
|
503823
|
-
}, undefined, false, undefined, this)
|
|
503824
|
-
}, undefined, false, undefined, this);
|
|
503825
|
-
}
|
|
503826
|
-
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
503075
|
+
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(PermissionDialog, {
|
|
503827
503076
|
color: "warning",
|
|
503828
503077
|
titleColor: "warning",
|
|
503829
503078
|
title: "Accessing workspace:",
|
|
503830
|
-
children: /* @__PURE__ */
|
|
503079
|
+
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503831
503080
|
flexDirection: "column",
|
|
503832
503081
|
gap: 1,
|
|
503833
503082
|
paddingTop: 1,
|
|
503834
503083
|
children: [
|
|
503835
|
-
/* @__PURE__ */
|
|
503084
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503836
503085
|
bold: true,
|
|
503837
503086
|
children: cwd2
|
|
503838
503087
|
}, undefined, false, undefined, this),
|
|
503839
|
-
/* @__PURE__ */
|
|
503088
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503840
503089
|
children: [
|
|
503841
503090
|
"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",
|
|
503842
503091
|
"'",
|
|
503843
503092
|
"s in this folder first."
|
|
503844
503093
|
]
|
|
503845
503094
|
}, undefined, true, undefined, this),
|
|
503846
|
-
/* @__PURE__ */
|
|
503095
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503847
503096
|
children: "localClawd'll be able to read, edit, and execute files here."
|
|
503848
503097
|
}, undefined, false, undefined, this),
|
|
503849
|
-
/* @__PURE__ */
|
|
503098
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503850
503099
|
flexDirection: "column",
|
|
503851
|
-
children: OPTIONS.map((opt, i2) => /* @__PURE__ */
|
|
503100
|
+
children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503852
503101
|
gap: 1,
|
|
503853
503102
|
children: [
|
|
503854
|
-
/* @__PURE__ */
|
|
503103
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503855
503104
|
color: "yellow",
|
|
503856
503105
|
children: i2 === focusIdx ? "▶" : " "
|
|
503857
503106
|
}, undefined, false, undefined, this),
|
|
503858
|
-
/* @__PURE__ */
|
|
503107
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503859
503108
|
bold: i2 === focusIdx,
|
|
503860
503109
|
color: i2 === focusIdx ? "white" : undefined,
|
|
503861
503110
|
children: opt.label
|
|
@@ -503863,7 +503112,7 @@ function TrustDialog({ onDone }) {
|
|
|
503863
503112
|
]
|
|
503864
503113
|
}, opt.value, true, undefined, this))
|
|
503865
503114
|
}, undefined, false, undefined, this),
|
|
503866
|
-
/* @__PURE__ */
|
|
503115
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503867
503116
|
dimColor: true,
|
|
503868
503117
|
children: "↑↓ navigate · Enter confirm · Esc cancel"
|
|
503869
503118
|
}, undefined, false, undefined, this)
|
|
@@ -503871,7 +503120,7 @@ function TrustDialog({ onDone }) {
|
|
|
503871
503120
|
}, undefined, true, undefined, this)
|
|
503872
503121
|
}, undefined, false, undefined, this);
|
|
503873
503122
|
}
|
|
503874
|
-
var
|
|
503123
|
+
var import_react321, jsx_dev_runtime482, OPTIONS;
|
|
503875
503124
|
var init_TrustDialog = __esm(() => {
|
|
503876
503125
|
init_ink2();
|
|
503877
503126
|
init_state();
|
|
@@ -503880,8 +503129,8 @@ var init_TrustDialog = __esm(() => {
|
|
|
503880
503129
|
init_fsOperations();
|
|
503881
503130
|
init_gracefulShutdown();
|
|
503882
503131
|
init_PermissionDialog();
|
|
503883
|
-
|
|
503884
|
-
|
|
503132
|
+
import_react321 = __toESM(require_react(), 1);
|
|
503133
|
+
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503885
503134
|
OPTIONS = [
|
|
503886
503135
|
{ label: "Yes, I trust this folder", value: "enable_all" },
|
|
503887
503136
|
{ label: "No, exit", value: "exit" }
|
|
@@ -503905,7 +503154,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503905
503154
|
} else {
|
|
503906
503155
|
t1 = $2[0];
|
|
503907
503156
|
}
|
|
503908
|
-
|
|
503157
|
+
import_react322.default.useEffect(_temp303, t1);
|
|
503909
503158
|
let t2;
|
|
503910
503159
|
if ($2[1] !== onAccept) {
|
|
503911
503160
|
t2 = function onChange2(value) {
|
|
@@ -503933,21 +503182,21 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503933
503182
|
const handleEscape = _temp2101;
|
|
503934
503183
|
let t3;
|
|
503935
503184
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503936
|
-
t3 = /* @__PURE__ */
|
|
503185
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503937
503186
|
flexDirection: "column",
|
|
503938
503187
|
gap: 1,
|
|
503939
503188
|
children: [
|
|
503940
|
-
/* @__PURE__ */
|
|
503189
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503941
503190
|
children: [
|
|
503942
503191
|
"In Bypass Permissions mode, localclawd will not ask for your approval before running potentially dangerous commands.",
|
|
503943
|
-
/* @__PURE__ */
|
|
503192
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503944
503193
|
"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
|
|
503945
503194
|
]
|
|
503946
503195
|
}, undefined, true, undefined, this),
|
|
503947
|
-
/* @__PURE__ */
|
|
503196
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503948
503197
|
children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
|
|
503949
503198
|
}, undefined, false, undefined, this),
|
|
503950
|
-
/* @__PURE__ */
|
|
503199
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Link, {
|
|
503951
503200
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
503952
503201
|
}, undefined, false, undefined, this)
|
|
503953
503202
|
]
|
|
@@ -503971,13 +503220,13 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503971
503220
|
}
|
|
503972
503221
|
let t5;
|
|
503973
503222
|
if ($2[5] !== onChange) {
|
|
503974
|
-
t5 = /* @__PURE__ */
|
|
503223
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Dialog, {
|
|
503975
503224
|
title: "WARNING: localclawd running in Bypass Permissions mode",
|
|
503976
503225
|
color: "error",
|
|
503977
503226
|
onCancel: handleEscape,
|
|
503978
503227
|
children: [
|
|
503979
503228
|
t3,
|
|
503980
|
-
/* @__PURE__ */
|
|
503229
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Select, {
|
|
503981
503230
|
options: t4,
|
|
503982
503231
|
onChange: (value_0) => onChange(value_0)
|
|
503983
503232
|
}, undefined, false, undefined, this)
|
|
@@ -503996,15 +503245,15 @@ function _temp2101() {
|
|
|
503996
503245
|
function _temp303() {
|
|
503997
503246
|
logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
|
|
503998
503247
|
}
|
|
503999
|
-
var
|
|
503248
|
+
var import_react322, jsx_dev_runtime483;
|
|
504000
503249
|
var init_BypassPermissionsModeDialog = __esm(() => {
|
|
504001
503250
|
init_ink2();
|
|
504002
503251
|
init_gracefulShutdown();
|
|
504003
503252
|
init_settings2();
|
|
504004
503253
|
init_CustomSelect();
|
|
504005
503254
|
init_Dialog();
|
|
504006
|
-
|
|
504007
|
-
|
|
503255
|
+
import_react322 = __toESM(require_react(), 1);
|
|
503256
|
+
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504008
503257
|
});
|
|
504009
503258
|
|
|
504010
503259
|
// src/components/ClaudeInChromeOnboarding.tsx
|
|
@@ -504017,7 +503266,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504017
503266
|
const {
|
|
504018
503267
|
onDone
|
|
504019
503268
|
} = t0;
|
|
504020
|
-
const [isExtensionInstalled, setIsExtensionInstalled] =
|
|
503269
|
+
const [isExtensionInstalled, setIsExtensionInstalled] = import_react323.default.useState(false);
|
|
504021
503270
|
let t1;
|
|
504022
503271
|
let t2;
|
|
504023
503272
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -504033,7 +503282,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504033
503282
|
t1 = $2[0];
|
|
504034
503283
|
t2 = $2[1];
|
|
504035
503284
|
}
|
|
504036
|
-
|
|
503285
|
+
import_react323.default.useEffect(t1, t2);
|
|
504037
503286
|
let t3;
|
|
504038
503287
|
if ($2[2] !== onDone) {
|
|
504039
503288
|
t3 = (_input, key) => {
|
|
@@ -504049,13 +503298,13 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504049
503298
|
use_input_default(t3);
|
|
504050
503299
|
let t4;
|
|
504051
503300
|
if ($2[4] !== isExtensionInstalled) {
|
|
504052
|
-
t4 = !isExtensionInstalled && /* @__PURE__ */
|
|
503301
|
+
t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
504053
503302
|
children: [
|
|
504054
|
-
/* @__PURE__ */
|
|
504055
|
-
/* @__PURE__ */
|
|
503303
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503304
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
504056
503305
|
"Requires the Chrome extension. Get started at",
|
|
504057
503306
|
" ",
|
|
504058
|
-
/* @__PURE__ */
|
|
503307
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504059
503308
|
url: CHROME_EXTENSION_URL2
|
|
504060
503309
|
}, undefined, false, undefined, this)
|
|
504061
503310
|
]
|
|
@@ -504067,7 +503316,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504067
503316
|
}
|
|
504068
503317
|
let t5;
|
|
504069
503318
|
if ($2[6] !== t4) {
|
|
504070
|
-
t5 = /* @__PURE__ */
|
|
503319
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504071
503320
|
children: [
|
|
504072
503321
|
"localclawd in Chrome works with the Chrome extension to let you control your browser directly from localclawd. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",
|
|
504073
503322
|
t4
|
|
@@ -504080,11 +503329,11 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504080
503329
|
}
|
|
504081
503330
|
let t6;
|
|
504082
503331
|
if ($2[8] !== isExtensionInstalled) {
|
|
504083
|
-
t6 = isExtensionInstalled && /* @__PURE__ */
|
|
503332
|
+
t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
504084
503333
|
children: [
|
|
504085
503334
|
" ",
|
|
504086
503335
|
"(",
|
|
504087
|
-
/* @__PURE__ */
|
|
503336
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504088
503337
|
url: CHROME_PERMISSIONS_URL2
|
|
504089
503338
|
}, undefined, false, undefined, this),
|
|
504090
503339
|
")"
|
|
@@ -504097,7 +503346,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504097
503346
|
}
|
|
504098
503347
|
let t7;
|
|
504099
503348
|
if ($2[10] !== t6) {
|
|
504100
|
-
t7 = /* @__PURE__ */
|
|
503349
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504101
503350
|
dimColor: true,
|
|
504102
503351
|
children: [
|
|
504103
503352
|
"Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites localclawd can browse, click, and type on",
|
|
@@ -504112,7 +503361,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504112
503361
|
}
|
|
504113
503362
|
let t8;
|
|
504114
503363
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504115
|
-
t8 = /* @__PURE__ */
|
|
503364
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504116
503365
|
bold: true,
|
|
504117
503366
|
color: "chromeYellow",
|
|
504118
503367
|
children: "/chrome"
|
|
@@ -504123,7 +503372,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504123
503372
|
}
|
|
504124
503373
|
let t9;
|
|
504125
503374
|
if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504126
|
-
t9 = /* @__PURE__ */
|
|
503375
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504127
503376
|
dimColor: true,
|
|
504128
503377
|
children: [
|
|
504129
503378
|
"For more info, use",
|
|
@@ -504131,7 +503380,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504131
503380
|
t8,
|
|
504132
503381
|
" ",
|
|
504133
503382
|
"or visit ",
|
|
504134
|
-
/* @__PURE__ */
|
|
503383
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504135
503384
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
504136
503385
|
}, undefined, false, undefined, this)
|
|
504137
503386
|
]
|
|
@@ -504142,7 +503391,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504142
503391
|
}
|
|
504143
503392
|
let t10;
|
|
504144
503393
|
if ($2[14] !== t5 || $2[15] !== t7) {
|
|
504145
|
-
t10 = /* @__PURE__ */
|
|
503394
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
504146
503395
|
flexDirection: "column",
|
|
504147
503396
|
gap: 1,
|
|
504148
503397
|
children: [
|
|
@@ -504159,7 +503408,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504159
503408
|
}
|
|
504160
503409
|
let t11;
|
|
504161
503410
|
if ($2[17] !== onDone || $2[18] !== t10) {
|
|
504162
|
-
t11 = /* @__PURE__ */
|
|
503411
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Dialog, {
|
|
504163
503412
|
title: "localclawd in Chrome (Beta)",
|
|
504164
503413
|
onCancel: onDone,
|
|
504165
503414
|
color: "chromeYellow",
|
|
@@ -504179,25 +503428,18 @@ function _temp304(current) {
|
|
|
504179
503428
|
hasCompletedClaudeInChromeOnboarding: true
|
|
504180
503429
|
};
|
|
504181
503430
|
}
|
|
504182
|
-
var
|
|
503431
|
+
var import_react323, jsx_dev_runtime484, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
|
|
504183
503432
|
var init_ClaudeInChromeOnboarding = __esm(() => {
|
|
504184
503433
|
init_ink2();
|
|
504185
503434
|
init_setup3();
|
|
504186
503435
|
init_config();
|
|
504187
503436
|
init_Dialog();
|
|
504188
|
-
|
|
504189
|
-
|
|
503437
|
+
import_react323 = __toESM(require_react(), 1);
|
|
503438
|
+
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504190
503439
|
});
|
|
504191
503440
|
|
|
504192
503441
|
// src/interactiveHelpers.tsx
|
|
504193
503442
|
import { appendFileSync as appendFileSync3 } from "fs";
|
|
504194
|
-
function completeOnboarding() {
|
|
504195
|
-
saveGlobalConfig((current) => ({
|
|
504196
|
-
...current,
|
|
504197
|
-
hasCompletedOnboarding: true,
|
|
504198
|
-
lastOnboardingVersion: "1.1.12"
|
|
504199
|
-
}));
|
|
504200
|
-
}
|
|
504201
503443
|
function showDialog(root3, renderer) {
|
|
504202
503444
|
return new Promise((resolve40) => {
|
|
504203
503445
|
const done = (result) => void resolve40(result);
|
|
@@ -504216,10 +503458,10 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504216
503458
|
} = await Promise.resolve().then(() => (init_ink2(), exports_ink));
|
|
504217
503459
|
const color3 = options?.color;
|
|
504218
503460
|
const exitCode = options?.exitCode ?? 1;
|
|
504219
|
-
root3.render(color3 ? /* @__PURE__ */
|
|
503461
|
+
root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504220
503462
|
color: color3,
|
|
504221
503463
|
children: message
|
|
504222
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
503464
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504223
503465
|
children: message
|
|
504224
503466
|
}, undefined, false, undefined, this));
|
|
504225
503467
|
root3.unmount();
|
|
@@ -504227,7 +503469,7 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504227
503469
|
process.exit(exitCode);
|
|
504228
503470
|
}
|
|
504229
503471
|
function showSetupDialog(root3, renderer, options) {
|
|
504230
|
-
return showDialog(root3, (done) => /* @__PURE__ */
|
|
503472
|
+
return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504231
503473
|
onChangeAppState: options?.onChangeAppState,
|
|
504232
503474
|
children: renderer(done)
|
|
504233
503475
|
}, undefined, false, undefined, this));
|
|
@@ -504242,87 +503484,15 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504242
503484
|
if (isEnvTruthy(false) || process.env.IS_DEMO) {
|
|
504243
503485
|
return false;
|
|
504244
503486
|
}
|
|
504245
|
-
const
|
|
504246
|
-
const {
|
|
504247
|
-
StartPage: StartPage2
|
|
504248
|
-
} = await Promise.resolve().then(() => (init_StartPage(), exports_StartPage));
|
|
504249
|
-
const startAction = await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504250
|
-
onChangeAppState,
|
|
504251
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(StartPage2, {
|
|
504252
|
-
currentConfig: {
|
|
504253
|
-
provider: config2.localBackendProvider,
|
|
504254
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504255
|
-
model: config2.localBackendModel,
|
|
504256
|
-
apiKey: config2.localBackendApiKey
|
|
504257
|
-
},
|
|
504258
|
-
onDone: done
|
|
504259
|
-
}, undefined, false, undefined, this)
|
|
504260
|
-
}, undefined, false, undefined, this));
|
|
504261
|
-
if (startAction === "configure-backend") {
|
|
504262
|
-
const {
|
|
504263
|
-
LocalBackendSetup: LocalBackendSetup2
|
|
504264
|
-
} = await Promise.resolve().then(() => (init_LocalBackendSetup(), exports_LocalBackendSetup));
|
|
504265
|
-
const {
|
|
504266
|
-
clearSessionLocalLLMConfigOverride: clearSessionLocalLLMConfigOverride2,
|
|
504267
|
-
setSessionLocalLLMConfigOverride: setSessionLocalLLMConfigOverride2
|
|
504268
|
-
} = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
504269
|
-
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504270
|
-
onChangeAppState,
|
|
504271
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LocalBackendSetup2, {
|
|
504272
|
-
initialConfig: {
|
|
504273
|
-
provider: config2.localBackendProvider,
|
|
504274
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504275
|
-
model: config2.localBackendModel,
|
|
504276
|
-
apiKey: config2.localBackendApiKey
|
|
504277
|
-
},
|
|
504278
|
-
onComplete: (nextConfig, options) => {
|
|
504279
|
-
if (options?.saveGlobally === false) {
|
|
504280
|
-
setSessionLocalLLMConfigOverride2(nextConfig);
|
|
504281
|
-
} else {
|
|
504282
|
-
clearSessionLocalLLMConfigOverride2();
|
|
504283
|
-
saveGlobalConfig((current) => ({
|
|
504284
|
-
...current,
|
|
504285
|
-
localBackendProvider: nextConfig.provider,
|
|
504286
|
-
localBackendBaseUrl: nextConfig.baseUrl,
|
|
504287
|
-
localBackendModel: nextConfig.model,
|
|
504288
|
-
localBackendApiKey: nextConfig.apiKey
|
|
504289
|
-
}));
|
|
504290
|
-
}
|
|
504291
|
-
done();
|
|
504292
|
-
},
|
|
504293
|
-
onCancel: () => {
|
|
504294
|
-
done();
|
|
504295
|
-
},
|
|
504296
|
-
title: "Connect your model backend",
|
|
504297
|
-
description: "Choose the OpenAI-compatible endpoint localclawd should talk to. You can save it globally for every run or use it only for this launch.",
|
|
504298
|
-
showSaveGloballyOption: true
|
|
504299
|
-
}, undefined, false, undefined, this)
|
|
504300
|
-
}, undefined, false, undefined, this));
|
|
504301
|
-
}
|
|
504302
|
-
let onboardingShown = false;
|
|
504303
|
-
if (!config2.theme || !config2.hasCompletedOnboarding) {
|
|
504304
|
-
onboardingShown = true;
|
|
504305
|
-
const {
|
|
504306
|
-
Onboarding: Onboarding2
|
|
504307
|
-
} = await Promise.resolve().then(() => (init_Onboarding(), exports_Onboarding));
|
|
504308
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Onboarding2, {
|
|
504309
|
-
showWelcome: false,
|
|
504310
|
-
onDone: () => {
|
|
504311
|
-
completeOnboarding();
|
|
504312
|
-
done();
|
|
504313
|
-
}
|
|
504314
|
-
}, undefined, false, undefined, this), {
|
|
504315
|
-
onChangeAppState
|
|
504316
|
-
});
|
|
504317
|
-
}
|
|
503487
|
+
const onboardingShown = false;
|
|
504318
503488
|
if (!isEnvTruthy(process.env.CLAUBBIT)) {
|
|
504319
503489
|
if (!checkHasTrustDialogAccepted()) {
|
|
504320
503490
|
const {
|
|
504321
503491
|
TrustDialog: TrustDialog2
|
|
504322
503492
|
} = await Promise.resolve().then(() => (init_TrustDialog(), exports_TrustDialog));
|
|
504323
|
-
await showDialog(root3, (done) => /* @__PURE__ */
|
|
503493
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504324
503494
|
onChangeAppState,
|
|
504325
|
-
children: /* @__PURE__ */
|
|
503495
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(TrustDialog2, {
|
|
504326
503496
|
commands: commands2,
|
|
504327
503497
|
onDone: done
|
|
504328
503498
|
}, undefined, false, undefined, this)
|
|
@@ -504343,9 +503513,9 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504343
503513
|
const {
|
|
504344
503514
|
ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
|
|
504345
503515
|
} = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
|
|
504346
|
-
await showDialog(root3, (done) => /* @__PURE__ */
|
|
503516
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504347
503517
|
onChangeAppState,
|
|
504348
|
-
children: /* @__PURE__ */
|
|
503518
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeMdExternalIncludesDialog2, {
|
|
504349
503519
|
onDone: done,
|
|
504350
503520
|
isStandaloneDialog: true,
|
|
504351
503521
|
externalIncludes
|
|
@@ -504361,7 +503531,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504361
503531
|
const {
|
|
504362
503532
|
GroveDialog: GroveDialog2
|
|
504363
503533
|
} = await Promise.resolve().then(() => (init_Grove(), exports_Grove));
|
|
504364
|
-
const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503534
|
+
const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(GroveDialog2, {
|
|
504365
503535
|
showIfAlreadyViewed: false,
|
|
504366
503536
|
location: onboardingShown ? "onboarding" : "policy_update_modal",
|
|
504367
503537
|
onDone: done
|
|
@@ -504376,7 +503546,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504376
503546
|
const {
|
|
504377
503547
|
BypassPermissionsModeDialog: BypassPermissionsModeDialog2
|
|
504378
503548
|
} = await Promise.resolve().then(() => (init_BypassPermissionsModeDialog(), exports_BypassPermissionsModeDialog));
|
|
504379
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503549
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(BypassPermissionsModeDialog2, {
|
|
504380
503550
|
onAccept: done
|
|
504381
503551
|
}, undefined, false, undefined, this));
|
|
504382
503552
|
}
|
|
@@ -504386,7 +503556,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504386
503556
|
const {
|
|
504387
503557
|
ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
|
|
504388
503558
|
} = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
|
|
504389
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503559
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeInChromeOnboarding2, {
|
|
504390
503560
|
onDone: done
|
|
504391
503561
|
}, undefined, false, undefined, this));
|
|
504392
503562
|
}
|
|
@@ -504441,7 +503611,7 @@ function getRenderContext(exitOnCtrlC) {
|
|
|
504441
503611
|
}
|
|
504442
503612
|
};
|
|
504443
503613
|
}
|
|
504444
|
-
var
|
|
503614
|
+
var jsx_dev_runtime485;
|
|
504445
503615
|
var init_interactiveHelpers = __esm(() => {
|
|
504446
503616
|
init_gracefulShutdown();
|
|
504447
503617
|
init_state();
|
|
@@ -504463,7 +503633,7 @@ var init_interactiveHelpers = __esm(() => {
|
|
|
504463
503633
|
init_renderOptions();
|
|
504464
503634
|
init_allErrors();
|
|
504465
503635
|
init_settings2();
|
|
504466
|
-
|
|
503636
|
+
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504467
503637
|
});
|
|
504468
503638
|
|
|
504469
503639
|
// src/components/InvalidSettingsDialog.tsx
|
|
@@ -504496,7 +503666,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504496
503666
|
const handleSelect = t1;
|
|
504497
503667
|
let t2;
|
|
504498
503668
|
if ($2[3] !== settingsErrors) {
|
|
504499
|
-
t2 = /* @__PURE__ */
|
|
503669
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ValidationErrorsList, {
|
|
504500
503670
|
errors: settingsErrors
|
|
504501
503671
|
}, undefined, false, undefined, this);
|
|
504502
503672
|
$2[3] = settingsErrors;
|
|
@@ -504506,7 +503676,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504506
503676
|
}
|
|
504507
503677
|
let t3;
|
|
504508
503678
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504509
|
-
t3 = /* @__PURE__ */
|
|
503679
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
504510
503680
|
dimColor: true,
|
|
504511
503681
|
children: "Files with errors are skipped entirely, not just the invalid settings."
|
|
504512
503682
|
}, undefined, false, undefined, this);
|
|
@@ -504529,7 +503699,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504529
503699
|
}
|
|
504530
503700
|
let t5;
|
|
504531
503701
|
if ($2[7] !== handleSelect) {
|
|
504532
|
-
t5 = /* @__PURE__ */
|
|
503702
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Select, {
|
|
504533
503703
|
options: t4,
|
|
504534
503704
|
onChange: handleSelect
|
|
504535
503705
|
}, undefined, false, undefined, this);
|
|
@@ -504540,7 +503710,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504540
503710
|
}
|
|
504541
503711
|
let t6;
|
|
504542
503712
|
if ($2[9] !== onExit2 || $2[10] !== t2 || $2[11] !== t5) {
|
|
504543
|
-
t6 = /* @__PURE__ */
|
|
503713
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Dialog, {
|
|
504544
503714
|
title: "Settings Error",
|
|
504545
503715
|
onCancel: onExit2,
|
|
504546
503716
|
color: "warning",
|
|
@@ -504559,21 +503729,21 @@ function InvalidSettingsDialog(t0) {
|
|
|
504559
503729
|
}
|
|
504560
503730
|
return t6;
|
|
504561
503731
|
}
|
|
504562
|
-
var
|
|
503732
|
+
var jsx_dev_runtime486;
|
|
504563
503733
|
var init_InvalidSettingsDialog = __esm(() => {
|
|
504564
503734
|
init_ink2();
|
|
504565
503735
|
init_CustomSelect();
|
|
504566
503736
|
init_Dialog();
|
|
504567
503737
|
init_ValidationErrorsList();
|
|
504568
|
-
|
|
503738
|
+
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504569
503739
|
});
|
|
504570
503740
|
|
|
504571
503741
|
// src/hooks/useTeleportResume.tsx
|
|
504572
503742
|
function useTeleportResume(source) {
|
|
504573
503743
|
const $2 = c3(8);
|
|
504574
|
-
const [isResuming, setIsResuming] =
|
|
504575
|
-
const [error5, setError] =
|
|
504576
|
-
const [selectedSession, setSelectedSession] =
|
|
503744
|
+
const [isResuming, setIsResuming] = import_react324.useState(false);
|
|
503745
|
+
const [error5, setError] = import_react324.useState(null);
|
|
503746
|
+
const [selectedSession, setSelectedSession] = import_react324.useState(null);
|
|
504577
503747
|
let t0;
|
|
504578
503748
|
if ($2[0] !== source) {
|
|
504579
503749
|
t0 = async (session2) => {
|
|
@@ -504638,12 +503808,12 @@ function useTeleportResume(source) {
|
|
|
504638
503808
|
}
|
|
504639
503809
|
return t2;
|
|
504640
503810
|
}
|
|
504641
|
-
var
|
|
503811
|
+
var import_react324;
|
|
504642
503812
|
var init_useTeleportResume = __esm(() => {
|
|
504643
503813
|
init_state();
|
|
504644
503814
|
init_errors();
|
|
504645
503815
|
init_teleport();
|
|
504646
|
-
|
|
503816
|
+
import_react324 = __toESM(require_react(), 1);
|
|
504647
503817
|
});
|
|
504648
503818
|
|
|
504649
503819
|
// src/components/ResumeTask.tsx
|
|
@@ -504655,15 +503825,15 @@ function ResumeTask({
|
|
|
504655
503825
|
const {
|
|
504656
503826
|
rows
|
|
504657
503827
|
} = useTerminalSize();
|
|
504658
|
-
const [sessions, setSessions] =
|
|
504659
|
-
const [currentRepo, setCurrentRepo] =
|
|
504660
|
-
const [loading, setLoading] =
|
|
504661
|
-
const [loadErrorType, setLoadErrorType] =
|
|
504662
|
-
const [retrying, setRetrying] =
|
|
504663
|
-
const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] =
|
|
504664
|
-
const [focusedIndex, setFocusedIndex] =
|
|
503828
|
+
const [sessions, setSessions] = import_react325.useState([]);
|
|
503829
|
+
const [currentRepo, setCurrentRepo] = import_react325.useState(null);
|
|
503830
|
+
const [loading, setLoading] = import_react325.useState(true);
|
|
503831
|
+
const [loadErrorType, setLoadErrorType] = import_react325.useState(null);
|
|
503832
|
+
const [retrying, setRetrying] = import_react325.useState(false);
|
|
503833
|
+
const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] = import_react325.useState(false);
|
|
503834
|
+
const [focusedIndex, setFocusedIndex] = import_react325.useState(1);
|
|
504665
503835
|
const escKey = useShortcutDisplay("confirm:no", "Confirmation", "Esc");
|
|
504666
|
-
const loadSessions =
|
|
503836
|
+
const loadSessions = import_react325.useCallback(async () => {
|
|
504667
503837
|
try {
|
|
504668
503838
|
setLoading(true);
|
|
504669
503839
|
setLoadErrorType(null);
|
|
@@ -504717,31 +503887,31 @@ function ResumeTask({
|
|
|
504717
503887
|
return;
|
|
504718
503888
|
}
|
|
504719
503889
|
});
|
|
504720
|
-
const handleErrorComplete =
|
|
503890
|
+
const handleErrorComplete = import_react325.useCallback(() => {
|
|
504721
503891
|
setHasCompletedTeleportErrorFlow(true);
|
|
504722
503892
|
loadSessions();
|
|
504723
503893
|
}, [setHasCompletedTeleportErrorFlow, loadSessions]);
|
|
504724
503894
|
if (!hasCompletedTeleportErrorFlow) {
|
|
504725
|
-
return /* @__PURE__ */
|
|
503895
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(TeleportError, {
|
|
504726
503896
|
onComplete: handleErrorComplete
|
|
504727
503897
|
}, undefined, false, undefined, this);
|
|
504728
503898
|
}
|
|
504729
503899
|
if (loading) {
|
|
504730
|
-
return /* @__PURE__ */
|
|
503900
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504731
503901
|
flexDirection: "column",
|
|
504732
503902
|
padding: 1,
|
|
504733
503903
|
children: [
|
|
504734
|
-
/* @__PURE__ */
|
|
503904
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504735
503905
|
flexDirection: "row",
|
|
504736
503906
|
children: [
|
|
504737
|
-
/* @__PURE__ */
|
|
504738
|
-
/* @__PURE__ */
|
|
503907
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
503908
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504739
503909
|
bold: true,
|
|
504740
503910
|
children: "Loading localclawd sessions…"
|
|
504741
503911
|
}, undefined, false, undefined, this)
|
|
504742
503912
|
]
|
|
504743
503913
|
}, undefined, true, undefined, this),
|
|
504744
|
-
/* @__PURE__ */
|
|
503914
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504745
503915
|
dimColor: true,
|
|
504746
503916
|
children: retrying ? "Retrying…" : "Fetching your localclawd sessions…"
|
|
504747
503917
|
}, undefined, false, undefined, this)
|
|
@@ -504749,27 +503919,27 @@ function ResumeTask({
|
|
|
504749
503919
|
}, undefined, true, undefined, this);
|
|
504750
503920
|
}
|
|
504751
503921
|
if (loadErrorType) {
|
|
504752
|
-
return /* @__PURE__ */
|
|
503922
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504753
503923
|
flexDirection: "column",
|
|
504754
503924
|
padding: 1,
|
|
504755
503925
|
children: [
|
|
504756
|
-
/* @__PURE__ */
|
|
503926
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504757
503927
|
bold: true,
|
|
504758
503928
|
color: "error",
|
|
504759
503929
|
children: "Error loading localclawd sessions"
|
|
504760
503930
|
}, undefined, false, undefined, this),
|
|
504761
503931
|
renderErrorSpecificGuidance(loadErrorType),
|
|
504762
|
-
/* @__PURE__ */
|
|
503932
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504763
503933
|
dimColor: true,
|
|
504764
503934
|
children: [
|
|
504765
503935
|
"Press ",
|
|
504766
|
-
/* @__PURE__ */
|
|
503936
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504767
503937
|
bold: true,
|
|
504768
503938
|
children: "Ctrl+R"
|
|
504769
503939
|
}, undefined, false, undefined, this),
|
|
504770
503940
|
" to retry · Press",
|
|
504771
503941
|
" ",
|
|
504772
|
-
/* @__PURE__ */
|
|
503942
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504773
503943
|
bold: true,
|
|
504774
503944
|
children: escKey
|
|
504775
503945
|
}, undefined, false, undefined, this),
|
|
@@ -504780,15 +503950,15 @@ function ResumeTask({
|
|
|
504780
503950
|
}, undefined, true, undefined, this);
|
|
504781
503951
|
}
|
|
504782
503952
|
if (sessions.length === 0) {
|
|
504783
|
-
return /* @__PURE__ */
|
|
503953
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504784
503954
|
flexDirection: "column",
|
|
504785
503955
|
padding: 1,
|
|
504786
503956
|
children: [
|
|
504787
|
-
/* @__PURE__ */
|
|
503957
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504788
503958
|
bold: true,
|
|
504789
503959
|
children: [
|
|
504790
503960
|
"No localclawd sessions found",
|
|
504791
|
-
currentRepo && /* @__PURE__ */
|
|
503961
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504792
503962
|
children: [
|
|
504793
503963
|
" for ",
|
|
504794
503964
|
currentRepo
|
|
@@ -504796,13 +503966,13 @@ function ResumeTask({
|
|
|
504796
503966
|
}, undefined, true, undefined, this)
|
|
504797
503967
|
]
|
|
504798
503968
|
}, undefined, true, undefined, this),
|
|
504799
|
-
/* @__PURE__ */
|
|
503969
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504800
503970
|
marginTop: 1,
|
|
504801
|
-
children: /* @__PURE__ */
|
|
503971
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504802
503972
|
dimColor: true,
|
|
504803
503973
|
children: [
|
|
504804
503974
|
"Press ",
|
|
504805
|
-
/* @__PURE__ */
|
|
503975
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504806
503976
|
bold: true,
|
|
504807
503977
|
children: escKey
|
|
504808
503978
|
}, undefined, false, undefined, this),
|
|
@@ -504833,16 +504003,16 @@ function ResumeTask({
|
|
|
504833
504003
|
const maxVisibleOptions = Math.max(1, isEmbedded ? Math.min(sessions.length, 5, rows - 6 - layoutOverhead) : Math.min(sessions.length, rows - 1 - layoutOverhead));
|
|
504834
504004
|
const maxHeight = maxVisibleOptions + layoutOverhead;
|
|
504835
504005
|
const showScrollPosition = sessions.length > maxVisibleOptions;
|
|
504836
|
-
return /* @__PURE__ */
|
|
504006
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504837
504007
|
flexDirection: "column",
|
|
504838
504008
|
padding: 1,
|
|
504839
504009
|
height: maxHeight,
|
|
504840
504010
|
children: [
|
|
504841
|
-
/* @__PURE__ */
|
|
504011
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504842
504012
|
bold: true,
|
|
504843
504013
|
children: [
|
|
504844
504014
|
"Select a session to resume",
|
|
504845
|
-
showScrollPosition && /* @__PURE__ */
|
|
504015
|
+
showScrollPosition && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504846
504016
|
dimColor: true,
|
|
504847
504017
|
children: [
|
|
504848
504018
|
" ",
|
|
@@ -504853,7 +504023,7 @@ function ResumeTask({
|
|
|
504853
504023
|
")"
|
|
504854
504024
|
]
|
|
504855
504025
|
}, undefined, true, undefined, this),
|
|
504856
|
-
currentRepo && /* @__PURE__ */
|
|
504026
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504857
504027
|
dimColor: true,
|
|
504858
504028
|
children: [
|
|
504859
504029
|
" (",
|
|
@@ -504864,14 +504034,14 @@ function ResumeTask({
|
|
|
504864
504034
|
":"
|
|
504865
504035
|
]
|
|
504866
504036
|
}, undefined, true, undefined, this),
|
|
504867
|
-
/* @__PURE__ */
|
|
504037
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504868
504038
|
flexDirection: "column",
|
|
504869
504039
|
marginTop: 1,
|
|
504870
504040
|
flexGrow: 1,
|
|
504871
504041
|
children: [
|
|
504872
|
-
/* @__PURE__ */
|
|
504042
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504873
504043
|
marginLeft: 2,
|
|
504874
|
-
children: /* @__PURE__ */
|
|
504044
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504875
504045
|
bold: true,
|
|
504876
504046
|
children: [
|
|
504877
504047
|
UPDATED_STRING.padEnd(maxTimeStringLength, " "),
|
|
@@ -504880,7 +504050,7 @@ function ResumeTask({
|
|
|
504880
504050
|
]
|
|
504881
504051
|
}, undefined, true, undefined, this)
|
|
504882
504052
|
}, undefined, false, undefined, this),
|
|
504883
|
-
/* @__PURE__ */
|
|
504053
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
|
|
504884
504054
|
visibleOptionCount: maxVisibleOptions,
|
|
504885
504055
|
options,
|
|
504886
504056
|
onChange: (value) => {
|
|
@@ -504898,21 +504068,21 @@ function ResumeTask({
|
|
|
504898
504068
|
}, undefined, false, undefined, this)
|
|
504899
504069
|
]
|
|
504900
504070
|
}, undefined, true, undefined, this),
|
|
504901
|
-
/* @__PURE__ */
|
|
504071
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504902
504072
|
flexDirection: "row",
|
|
504903
|
-
children: /* @__PURE__ */
|
|
504073
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504904
504074
|
dimColor: true,
|
|
504905
|
-
children: /* @__PURE__ */
|
|
504075
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Byline, {
|
|
504906
504076
|
children: [
|
|
504907
|
-
/* @__PURE__ */
|
|
504077
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504908
504078
|
shortcut: "↑/↓",
|
|
504909
504079
|
action: "select"
|
|
504910
504080
|
}, undefined, false, undefined, this),
|
|
504911
|
-
/* @__PURE__ */
|
|
504081
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504912
504082
|
shortcut: "Enter",
|
|
504913
504083
|
action: "confirm"
|
|
504914
504084
|
}, undefined, false, undefined, this),
|
|
504915
|
-
/* @__PURE__ */
|
|
504085
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ConfigurableShortcutHint, {
|
|
504916
504086
|
action: "confirm:no",
|
|
504917
504087
|
context: "Confirmation",
|
|
504918
504088
|
fallback: "Esc",
|
|
@@ -504941,28 +504111,28 @@ function determineErrorType(errorMessage4) {
|
|
|
504941
504111
|
function renderErrorSpecificGuidance(errorType) {
|
|
504942
504112
|
switch (errorType) {
|
|
504943
504113
|
case "network":
|
|
504944
|
-
return /* @__PURE__ */
|
|
504114
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504945
504115
|
marginY: 1,
|
|
504946
504116
|
flexDirection: "column",
|
|
504947
|
-
children: /* @__PURE__ */
|
|
504117
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504948
504118
|
dimColor: true,
|
|
504949
504119
|
children: "Check your internet connection"
|
|
504950
504120
|
}, undefined, false, undefined, this)
|
|
504951
504121
|
}, undefined, false, undefined, this);
|
|
504952
504122
|
case "auth":
|
|
504953
|
-
return /* @__PURE__ */
|
|
504123
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504954
504124
|
marginY: 1,
|
|
504955
504125
|
flexDirection: "column",
|
|
504956
504126
|
children: [
|
|
504957
|
-
/* @__PURE__ */
|
|
504127
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504958
504128
|
dimColor: true,
|
|
504959
504129
|
children: "Remote web sessions are disabled in this local-first build"
|
|
504960
504130
|
}, undefined, false, undefined, this),
|
|
504961
|
-
/* @__PURE__ */
|
|
504131
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504962
504132
|
dimColor: true,
|
|
504963
504133
|
children: [
|
|
504964
504134
|
"Use ",
|
|
504965
|
-
/* @__PURE__ */
|
|
504135
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504966
504136
|
bold: true,
|
|
504967
504137
|
children: "/provider"
|
|
504968
504138
|
}, undefined, false, undefined, this),
|
|
@@ -504972,26 +504142,26 @@ function renderErrorSpecificGuidance(errorType) {
|
|
|
504972
504142
|
]
|
|
504973
504143
|
}, undefined, true, undefined, this);
|
|
504974
504144
|
case "api":
|
|
504975
|
-
return /* @__PURE__ */
|
|
504145
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504976
504146
|
marginY: 1,
|
|
504977
504147
|
flexDirection: "column",
|
|
504978
|
-
children: /* @__PURE__ */
|
|
504148
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504979
504149
|
dimColor: true,
|
|
504980
504150
|
children: "Sorry, Claude encountered an error"
|
|
504981
504151
|
}, undefined, false, undefined, this)
|
|
504982
504152
|
}, undefined, false, undefined, this);
|
|
504983
504153
|
case "other":
|
|
504984
|
-
return /* @__PURE__ */
|
|
504154
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504985
504155
|
marginY: 1,
|
|
504986
504156
|
flexDirection: "row",
|
|
504987
|
-
children: /* @__PURE__ */
|
|
504157
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504988
504158
|
dimColor: true,
|
|
504989
504159
|
children: "Sorry, Claude Code encountered an error"
|
|
504990
504160
|
}, undefined, false, undefined, this)
|
|
504991
504161
|
}, undefined, false, undefined, this);
|
|
504992
504162
|
}
|
|
504993
504163
|
}
|
|
504994
|
-
var
|
|
504164
|
+
var import_react325, jsx_dev_runtime487, UPDATED_STRING = "Updated", SPACE_BETWEEN_TABLE_COLUMNS = " ";
|
|
504995
504165
|
var init_ResumeTask = __esm(() => {
|
|
504996
504166
|
init_useTerminalSize();
|
|
504997
504167
|
init_api();
|
|
@@ -505007,8 +504177,8 @@ var init_ResumeTask = __esm(() => {
|
|
|
505007
504177
|
init_KeyboardShortcutHint();
|
|
505008
504178
|
init_Spinner2();
|
|
505009
504179
|
init_TeleportError();
|
|
505010
|
-
|
|
505011
|
-
|
|
504180
|
+
import_react325 = __toESM(require_react(), 1);
|
|
504181
|
+
jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505012
504182
|
});
|
|
505013
504183
|
|
|
505014
504184
|
// src/components/TeleportResumeWrapper.tsx
|
|
@@ -505048,7 +504218,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505048
504218
|
t2 = $2[1];
|
|
505049
504219
|
t3 = $2[2];
|
|
505050
504220
|
}
|
|
505051
|
-
|
|
504221
|
+
import_react326.useEffect(t2, t3);
|
|
505052
504222
|
let t4;
|
|
505053
504223
|
if ($2[3] !== error5 || $2[4] !== onComplete || $2[5] !== onError || $2[6] !== resumeSession) {
|
|
505054
504224
|
t4 = async (session2) => {
|
|
@@ -505100,11 +504270,11 @@ function TeleportResumeWrapper(t0) {
|
|
|
505100
504270
|
if (isResuming && selectedSession) {
|
|
505101
504271
|
let t82;
|
|
505102
504272
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505103
|
-
t82 = /* @__PURE__ */
|
|
504273
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505104
504274
|
flexDirection: "row",
|
|
505105
504275
|
children: [
|
|
505106
|
-
/* @__PURE__ */
|
|
505107
|
-
/* @__PURE__ */
|
|
504276
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504277
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505108
504278
|
bold: true,
|
|
505109
504279
|
children: "Resuming session…"
|
|
505110
504280
|
}, undefined, false, undefined, this)
|
|
@@ -505116,12 +504286,12 @@ function TeleportResumeWrapper(t0) {
|
|
|
505116
504286
|
}
|
|
505117
504287
|
let t9;
|
|
505118
504288
|
if ($2[13] !== selectedSession.title) {
|
|
505119
|
-
t9 = /* @__PURE__ */
|
|
504289
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505120
504290
|
flexDirection: "column",
|
|
505121
504291
|
padding: 1,
|
|
505122
504292
|
children: [
|
|
505123
504293
|
t82,
|
|
505124
|
-
/* @__PURE__ */
|
|
504294
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505125
504295
|
dimColor: true,
|
|
505126
504296
|
children: [
|
|
505127
504297
|
'Loading "',
|
|
@@ -505141,7 +504311,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505141
504311
|
if (error5 && !onError) {
|
|
505142
504312
|
let t82;
|
|
505143
504313
|
if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505144
|
-
t82 = /* @__PURE__ */
|
|
504314
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505145
504315
|
bold: true,
|
|
505146
504316
|
color: "error",
|
|
505147
504317
|
children: "Failed to resume session"
|
|
@@ -505152,7 +504322,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505152
504322
|
}
|
|
505153
504323
|
let t9;
|
|
505154
504324
|
if ($2[16] !== error5.message) {
|
|
505155
|
-
t9 = /* @__PURE__ */
|
|
504325
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505156
504326
|
dimColor: true,
|
|
505157
504327
|
children: error5.message
|
|
505158
504328
|
}, undefined, false, undefined, this);
|
|
@@ -505163,13 +504333,13 @@ function TeleportResumeWrapper(t0) {
|
|
|
505163
504333
|
}
|
|
505164
504334
|
let t10;
|
|
505165
504335
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505166
|
-
t10 = /* @__PURE__ */
|
|
504336
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505167
504337
|
marginTop: 1,
|
|
505168
|
-
children: /* @__PURE__ */
|
|
504338
|
+
children: /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505169
504339
|
dimColor: true,
|
|
505170
504340
|
children: [
|
|
505171
504341
|
"Press ",
|
|
505172
|
-
/* @__PURE__ */
|
|
504342
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505173
504343
|
bold: true,
|
|
505174
504344
|
children: "Esc"
|
|
505175
504345
|
}, undefined, false, undefined, this),
|
|
@@ -505183,7 +504353,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505183
504353
|
}
|
|
505184
504354
|
let t11;
|
|
505185
504355
|
if ($2[19] !== t9) {
|
|
505186
|
-
t11 = /* @__PURE__ */
|
|
504356
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505187
504357
|
flexDirection: "column",
|
|
505188
504358
|
padding: 1,
|
|
505189
504359
|
children: [
|
|
@@ -505201,7 +504371,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505201
504371
|
}
|
|
505202
504372
|
let t8;
|
|
505203
504373
|
if ($2[21] !== handleCancel || $2[22] !== handleSelect || $2[23] !== isEmbedded) {
|
|
505204
|
-
t8 = /* @__PURE__ */
|
|
504374
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ResumeTask, {
|
|
505205
504375
|
onSelect: handleSelect,
|
|
505206
504376
|
onCancel: handleCancel,
|
|
505207
504377
|
isEmbedded
|
|
@@ -505215,15 +504385,15 @@ function TeleportResumeWrapper(t0) {
|
|
|
505215
504385
|
}
|
|
505216
504386
|
return t8;
|
|
505217
504387
|
}
|
|
505218
|
-
var
|
|
504388
|
+
var import_react326, jsx_dev_runtime488;
|
|
505219
504389
|
var init_TeleportResumeWrapper = __esm(() => {
|
|
505220
504390
|
init_useTeleportResume();
|
|
505221
504391
|
init_ink2();
|
|
505222
504392
|
init_useKeybinding();
|
|
505223
504393
|
init_ResumeTask();
|
|
505224
504394
|
init_Spinner2();
|
|
505225
|
-
|
|
505226
|
-
|
|
504395
|
+
import_react326 = __toESM(require_react(), 1);
|
|
504396
|
+
jsx_dev_runtime488 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505227
504397
|
});
|
|
505228
504398
|
|
|
505229
504399
|
// src/components/TeleportRepoMismatchDialog.tsx
|
|
@@ -505239,9 +504409,9 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505239
504409
|
onSelectPath,
|
|
505240
504410
|
onCancel
|
|
505241
504411
|
} = t0;
|
|
505242
|
-
const [availablePaths, setAvailablePaths] =
|
|
505243
|
-
const [errorMessage4, setErrorMessage] =
|
|
505244
|
-
const [validating, setValidating] =
|
|
504412
|
+
const [availablePaths, setAvailablePaths] = import_react327.useState(initialPaths);
|
|
504413
|
+
const [errorMessage4, setErrorMessage] = import_react327.useState(null);
|
|
504414
|
+
const [validating, setValidating] = import_react327.useState(false);
|
|
505245
504415
|
let t1;
|
|
505246
504416
|
if ($2[0] !== availablePaths || $2[1] !== onCancel || $2[2] !== onSelectPath || $2[3] !== targetRepo) {
|
|
505247
504417
|
t1 = async (value) => {
|
|
@@ -505292,20 +504462,20 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505292
504462
|
const options = t2;
|
|
505293
504463
|
let t3;
|
|
505294
504464
|
if ($2[8] !== availablePaths.length || $2[9] !== errorMessage4 || $2[10] !== handleChange4 || $2[11] !== options || $2[12] !== targetRepo || $2[13] !== validating) {
|
|
505295
|
-
t3 = availablePaths.length > 0 ? /* @__PURE__ */
|
|
504465
|
+
t3 = availablePaths.length > 0 ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
|
|
505296
504466
|
children: [
|
|
505297
|
-
/* @__PURE__ */
|
|
504467
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505298
504468
|
flexDirection: "column",
|
|
505299
504469
|
gap: 1,
|
|
505300
504470
|
children: [
|
|
505301
|
-
errorMessage4 && /* @__PURE__ */
|
|
504471
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505302
504472
|
color: "error",
|
|
505303
504473
|
children: errorMessage4
|
|
505304
504474
|
}, undefined, false, undefined, this),
|
|
505305
|
-
/* @__PURE__ */
|
|
504475
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505306
504476
|
children: [
|
|
505307
504477
|
"Open Claude Code in ",
|
|
505308
|
-
/* @__PURE__ */
|
|
504478
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505309
504479
|
bold: true,
|
|
505310
504480
|
children: targetRepo
|
|
505311
504481
|
}, undefined, false, undefined, this),
|
|
@@ -505314,27 +504484,27 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505314
504484
|
}, undefined, true, undefined, this)
|
|
505315
504485
|
]
|
|
505316
504486
|
}, undefined, true, undefined, this),
|
|
505317
|
-
validating ? /* @__PURE__ */
|
|
504487
|
+
validating ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505318
504488
|
children: [
|
|
505319
|
-
/* @__PURE__ */
|
|
505320
|
-
/* @__PURE__ */
|
|
504489
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504490
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505321
504491
|
children: " Validating repository…"
|
|
505322
504492
|
}, undefined, false, undefined, this)
|
|
505323
504493
|
]
|
|
505324
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504494
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Select, {
|
|
505325
504495
|
options,
|
|
505326
504496
|
onChange: (value_0) => void handleChange4(value_0)
|
|
505327
504497
|
}, undefined, false, undefined, this)
|
|
505328
504498
|
]
|
|
505329
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504499
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505330
504500
|
flexDirection: "column",
|
|
505331
504501
|
gap: 1,
|
|
505332
504502
|
children: [
|
|
505333
|
-
errorMessage4 && /* @__PURE__ */
|
|
504503
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505334
504504
|
color: "error",
|
|
505335
504505
|
children: errorMessage4
|
|
505336
504506
|
}, undefined, false, undefined, this),
|
|
505337
|
-
/* @__PURE__ */
|
|
504507
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505338
504508
|
dimColor: true,
|
|
505339
504509
|
children: [
|
|
505340
504510
|
"Run claude --teleport from a checkout of ",
|
|
@@ -505355,7 +504525,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505355
504525
|
}
|
|
505356
504526
|
let t4;
|
|
505357
504527
|
if ($2[15] !== onCancel || $2[16] !== t3) {
|
|
505358
|
-
t4 = /* @__PURE__ */
|
|
504528
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
|
|
505359
504529
|
title: "Teleport to Repo",
|
|
505360
504530
|
onCancel,
|
|
505361
504531
|
color: "background",
|
|
@@ -505371,10 +504541,10 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505371
504541
|
}
|
|
505372
504542
|
function _temp305(path17) {
|
|
505373
504543
|
return {
|
|
505374
|
-
label: /* @__PURE__ */
|
|
504544
|
+
label: /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505375
504545
|
children: [
|
|
505376
504546
|
"Use ",
|
|
505377
|
-
/* @__PURE__ */
|
|
504547
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505378
504548
|
bold: true,
|
|
505379
504549
|
children: getDisplayPath(path17)
|
|
505380
504550
|
}, undefined, false, undefined, this)
|
|
@@ -505383,7 +504553,7 @@ function _temp305(path17) {
|
|
|
505383
504553
|
value: path17
|
|
505384
504554
|
};
|
|
505385
504555
|
}
|
|
505386
|
-
var
|
|
504556
|
+
var import_react327, jsx_dev_runtime489;
|
|
505387
504557
|
var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
505388
504558
|
init_ink2();
|
|
505389
504559
|
init_file();
|
|
@@ -505391,8 +504561,8 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
|
505391
504561
|
init_CustomSelect();
|
|
505392
504562
|
init_Dialog();
|
|
505393
504563
|
init_Spinner2();
|
|
505394
|
-
|
|
505395
|
-
|
|
504564
|
+
import_react327 = __toESM(require_react(), 1);
|
|
504565
|
+
jsx_dev_runtime489 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505396
504566
|
});
|
|
505397
504567
|
|
|
505398
504568
|
// src/screens/ResumeConversation.tsx
|
|
@@ -505437,15 +504607,15 @@ function ResumeConversation({
|
|
|
505437
504607
|
} = useTerminalSize();
|
|
505438
504608
|
const agentDefinitions2 = useAppState((s) => s.agentDefinitions);
|
|
505439
504609
|
const setAppState = useSetAppState();
|
|
505440
|
-
const [logs2, setLogs] =
|
|
505441
|
-
const [loading, setLoading] =
|
|
505442
|
-
const [resuming, setResuming] =
|
|
505443
|
-
const [showAllProjects, setShowAllProjects] =
|
|
505444
|
-
const [resumeData, setResumeData] =
|
|
505445
|
-
const [crossProjectCommand, setCrossProjectCommand] =
|
|
505446
|
-
const sessionLogResultRef =
|
|
505447
|
-
const logCountRef =
|
|
505448
|
-
const filteredLogs =
|
|
504610
|
+
const [logs2, setLogs] = import_react328.default.useState([]);
|
|
504611
|
+
const [loading, setLoading] = import_react328.default.useState(true);
|
|
504612
|
+
const [resuming, setResuming] = import_react328.default.useState(false);
|
|
504613
|
+
const [showAllProjects, setShowAllProjects] = import_react328.default.useState(false);
|
|
504614
|
+
const [resumeData, setResumeData] = import_react328.default.useState(null);
|
|
504615
|
+
const [crossProjectCommand, setCrossProjectCommand] = import_react328.default.useState(null);
|
|
504616
|
+
const sessionLogResultRef = import_react328.default.useRef(null);
|
|
504617
|
+
const logCountRef = import_react328.default.useRef(0);
|
|
504618
|
+
const filteredLogs = import_react328.default.useMemo(() => {
|
|
505449
504619
|
let result = logs2.filter((l) => !l.isSidechain);
|
|
505450
504620
|
if (filterByPr !== undefined) {
|
|
505451
504621
|
if (filterByPr === true) {
|
|
@@ -505462,7 +504632,7 @@ function ResumeConversation({
|
|
|
505462
504632
|
return result;
|
|
505463
504633
|
}, [logs2, filterByPr]);
|
|
505464
504634
|
const isResumeWithRenameEnabled = isCustomTitleEnabled();
|
|
505465
|
-
|
|
504635
|
+
import_react328.default.useEffect(() => {
|
|
505466
504636
|
loadSameRepoMessageLogsProgressive(worktreePaths).then((result_0) => {
|
|
505467
504637
|
sessionLogResultRef.current = result_0;
|
|
505468
504638
|
logCountRef.current = result_0.logs.length;
|
|
@@ -505473,7 +504643,7 @@ function ResumeConversation({
|
|
|
505473
504643
|
setLoading(false);
|
|
505474
504644
|
});
|
|
505475
504645
|
}, [worktreePaths]);
|
|
505476
|
-
const loadMoreLogs =
|
|
504646
|
+
const loadMoreLogs = import_react328.default.useCallback((count3) => {
|
|
505477
504647
|
const ref = sessionLogResultRef.current;
|
|
505478
504648
|
if (!ref || ref.nextIndex >= ref.allStatLogs.length)
|
|
505479
504649
|
return;
|
|
@@ -505491,7 +504661,7 @@ function ResumeConversation({
|
|
|
505491
504661
|
}
|
|
505492
504662
|
});
|
|
505493
504663
|
}, []);
|
|
505494
|
-
const loadLogs =
|
|
504664
|
+
const loadLogs = import_react328.default.useCallback((allProjects) => {
|
|
505495
504665
|
setLoading(true);
|
|
505496
504666
|
const promise2 = allProjects ? loadAllProjectsMessageLogsProgressive() : loadSameRepoMessageLogsProgressive(worktreePaths);
|
|
505497
504667
|
promise2.then((result_2) => {
|
|
@@ -505504,7 +504674,7 @@ function ResumeConversation({
|
|
|
505504
504674
|
setLoading(false);
|
|
505505
504675
|
});
|
|
505506
504676
|
}, [worktreePaths]);
|
|
505507
|
-
const handleToggleAllProjects =
|
|
504677
|
+
const handleToggleAllProjects = import_react328.default.useCallback(() => {
|
|
505508
504678
|
const newValue = !showAllProjects;
|
|
505509
504679
|
setShowAllProjects(newValue);
|
|
505510
504680
|
loadLogs(newValue);
|
|
@@ -505590,12 +504760,12 @@ function ResumeConversation({
|
|
|
505590
504760
|
}
|
|
505591
504761
|
}
|
|
505592
504762
|
if (crossProjectCommand) {
|
|
505593
|
-
return /* @__PURE__ */
|
|
504763
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(CrossProjectMessage, {
|
|
505594
504764
|
command: crossProjectCommand
|
|
505595
504765
|
}, undefined, false, undefined, this);
|
|
505596
504766
|
}
|
|
505597
504767
|
if (resumeData) {
|
|
505598
|
-
return /* @__PURE__ */
|
|
504768
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(REPL, {
|
|
505599
504769
|
debug: debug3,
|
|
505600
504770
|
commands: commands2,
|
|
505601
504771
|
initialTools,
|
|
@@ -505618,29 +504788,29 @@ function ResumeConversation({
|
|
|
505618
504788
|
}, undefined, false, undefined, this);
|
|
505619
504789
|
}
|
|
505620
504790
|
if (loading) {
|
|
505621
|
-
return /* @__PURE__ */
|
|
504791
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505622
504792
|
children: [
|
|
505623
|
-
/* @__PURE__ */
|
|
505624
|
-
/* @__PURE__ */
|
|
504793
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504794
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505625
504795
|
children: " Loading conversations…"
|
|
505626
504796
|
}, undefined, false, undefined, this)
|
|
505627
504797
|
]
|
|
505628
504798
|
}, undefined, true, undefined, this);
|
|
505629
504799
|
}
|
|
505630
504800
|
if (resuming) {
|
|
505631
|
-
return /* @__PURE__ */
|
|
504801
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505632
504802
|
children: [
|
|
505633
|
-
/* @__PURE__ */
|
|
505634
|
-
/* @__PURE__ */
|
|
504803
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504804
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505635
504805
|
children: " Resuming conversation…"
|
|
505636
504806
|
}, undefined, false, undefined, this)
|
|
505637
504807
|
]
|
|
505638
504808
|
}, undefined, true, undefined, this);
|
|
505639
504809
|
}
|
|
505640
504810
|
if (filteredLogs.length === 0) {
|
|
505641
|
-
return /* @__PURE__ */
|
|
504811
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
|
|
505642
504812
|
}
|
|
505643
|
-
return /* @__PURE__ */
|
|
504813
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LogSelector, {
|
|
505644
504814
|
logs: filteredLogs,
|
|
505645
504815
|
maxHeight: rows,
|
|
505646
504816
|
onCancel,
|
|
@@ -505667,13 +504837,13 @@ function NoConversationsMessage() {
|
|
|
505667
504837
|
useKeybinding("app:interrupt", _temp306, t0);
|
|
505668
504838
|
let t1;
|
|
505669
504839
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505670
|
-
t1 = /* @__PURE__ */
|
|
504840
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505671
504841
|
flexDirection: "column",
|
|
505672
504842
|
children: [
|
|
505673
|
-
/* @__PURE__ */
|
|
504843
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505674
504844
|
children: "No conversations found to resume."
|
|
505675
504845
|
}, undefined, false, undefined, this),
|
|
505676
|
-
/* @__PURE__ */
|
|
504846
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505677
504847
|
dimColor: true,
|
|
505678
504848
|
children: "Press Ctrl+C to exit and start a new conversation."
|
|
505679
504849
|
}, undefined, false, undefined, this)
|
|
@@ -505700,10 +504870,10 @@ function CrossProjectMessage(t0) {
|
|
|
505700
504870
|
} else {
|
|
505701
504871
|
t1 = $2[0];
|
|
505702
504872
|
}
|
|
505703
|
-
|
|
504873
|
+
import_react328.default.useEffect(_temp356, t1);
|
|
505704
504874
|
let t2;
|
|
505705
504875
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505706
|
-
t2 = /* @__PURE__ */
|
|
504876
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505707
504877
|
children: "This conversation is from a different directory."
|
|
505708
504878
|
}, undefined, false, undefined, this);
|
|
505709
504879
|
$2[1] = t2;
|
|
@@ -505712,7 +504882,7 @@ function CrossProjectMessage(t0) {
|
|
|
505712
504882
|
}
|
|
505713
504883
|
let t3;
|
|
505714
504884
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505715
|
-
t3 = /* @__PURE__ */
|
|
504885
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505716
504886
|
children: "To resume, run:"
|
|
505717
504887
|
}, undefined, false, undefined, this);
|
|
505718
504888
|
$2[2] = t3;
|
|
@@ -505721,11 +504891,11 @@ function CrossProjectMessage(t0) {
|
|
|
505721
504891
|
}
|
|
505722
504892
|
let t4;
|
|
505723
504893
|
if ($2[3] !== command8) {
|
|
505724
|
-
t4 = /* @__PURE__ */
|
|
504894
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505725
504895
|
flexDirection: "column",
|
|
505726
504896
|
children: [
|
|
505727
504897
|
t3,
|
|
505728
|
-
/* @__PURE__ */
|
|
504898
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505729
504899
|
children: [
|
|
505730
504900
|
" ",
|
|
505731
504901
|
command8
|
|
@@ -505740,7 +504910,7 @@ function CrossProjectMessage(t0) {
|
|
|
505740
504910
|
}
|
|
505741
504911
|
let t5;
|
|
505742
504912
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505743
|
-
t5 = /* @__PURE__ */
|
|
504913
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505744
504914
|
dimColor: true,
|
|
505745
504915
|
children: "(Command copied to clipboard)"
|
|
505746
504916
|
}, undefined, false, undefined, this);
|
|
@@ -505750,7 +504920,7 @@ function CrossProjectMessage(t0) {
|
|
|
505750
504920
|
}
|
|
505751
504921
|
let t6;
|
|
505752
504922
|
if ($2[6] !== t4) {
|
|
505753
|
-
t6 = /* @__PURE__ */
|
|
504923
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505754
504924
|
flexDirection: "column",
|
|
505755
504925
|
gap: 1,
|
|
505756
504926
|
children: [
|
|
@@ -505773,7 +504943,7 @@ function _temp356() {
|
|
|
505773
504943
|
function _temp2102() {
|
|
505774
504944
|
process.exit(0);
|
|
505775
504945
|
}
|
|
505776
|
-
var
|
|
504946
|
+
var import_react328, jsx_dev_runtime490;
|
|
505777
504947
|
var init_ResumeConversation = __esm(() => {
|
|
505778
504948
|
init_useTerminalSize();
|
|
505779
504949
|
init_state();
|
|
@@ -505795,8 +504965,8 @@ var init_ResumeConversation = __esm(() => {
|
|
|
505795
504965
|
init_sessionRestore();
|
|
505796
504966
|
init_sessionStorage();
|
|
505797
504967
|
init_REPL();
|
|
505798
|
-
|
|
505799
|
-
|
|
504968
|
+
import_react328 = __toESM(require_react(), 1);
|
|
504969
|
+
jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505800
504970
|
});
|
|
505801
504971
|
|
|
505802
504972
|
// src/dialogLaunchers.tsx
|
|
@@ -505804,7 +504974,7 @@ async function launchInvalidSettingsDialog(root3, props) {
|
|
|
505804
504974
|
const {
|
|
505805
504975
|
InvalidSettingsDialog: InvalidSettingsDialog2
|
|
505806
504976
|
} = await Promise.resolve().then(() => (init_InvalidSettingsDialog(), exports_InvalidSettingsDialog));
|
|
505807
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504977
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(InvalidSettingsDialog2, {
|
|
505808
504978
|
settingsErrors: props.settingsErrors,
|
|
505809
504979
|
onContinue: done,
|
|
505810
504980
|
onExit: props.onExit
|
|
@@ -505814,7 +504984,7 @@ async function launchTeleportResumeWrapper(root3) {
|
|
|
505814
504984
|
const {
|
|
505815
504985
|
TeleportResumeWrapper: TeleportResumeWrapper2
|
|
505816
504986
|
} = await Promise.resolve().then(() => (init_TeleportResumeWrapper(), exports_TeleportResumeWrapper));
|
|
505817
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504987
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportResumeWrapper2, {
|
|
505818
504988
|
onComplete: done,
|
|
505819
504989
|
onCancel: () => done(null),
|
|
505820
504990
|
source: "cliArg"
|
|
@@ -505824,7 +504994,7 @@ async function launchTeleportRepoMismatchDialog(root3, props) {
|
|
|
505824
504994
|
const {
|
|
505825
504995
|
TeleportRepoMismatchDialog: TeleportRepoMismatchDialog2
|
|
505826
504996
|
} = await Promise.resolve().then(() => (init_TeleportRepoMismatchDialog(), exports_TeleportRepoMismatchDialog));
|
|
505827
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504997
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportRepoMismatchDialog2, {
|
|
505828
504998
|
targetRepo: props.targetRepo,
|
|
505829
504999
|
initialPaths: props.initialPaths,
|
|
505830
505000
|
onSelectPath: done,
|
|
@@ -505837,23 +505007,23 @@ async function launchResumeChooser(root3, appProps, worktreePathsPromise, resume
|
|
|
505837
505007
|
}, {
|
|
505838
505008
|
App: App3
|
|
505839
505009
|
}] = await Promise.all([worktreePathsPromise, Promise.resolve().then(() => (init_ResumeConversation(), exports_ResumeConversation)), Promise.resolve().then(() => (init_App2(), exports_App))]);
|
|
505840
|
-
await renderAndRun(root3, /* @__PURE__ */
|
|
505010
|
+
await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(App3, {
|
|
505841
505011
|
getFpsMetrics: appProps.getFpsMetrics,
|
|
505842
505012
|
stats: appProps.stats,
|
|
505843
505013
|
initialState: appProps.initialState,
|
|
505844
|
-
children: /* @__PURE__ */
|
|
505845
|
-
children: /* @__PURE__ */
|
|
505014
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(KeybindingSetup, {
|
|
505015
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ResumeConversation2, {
|
|
505846
505016
|
...resumeProps,
|
|
505847
505017
|
worktreePaths
|
|
505848
505018
|
}, undefined, false, undefined, this)
|
|
505849
505019
|
}, undefined, false, undefined, this)
|
|
505850
505020
|
}, undefined, false, undefined, this));
|
|
505851
505021
|
}
|
|
505852
|
-
var
|
|
505022
|
+
var jsx_dev_runtime491;
|
|
505853
505023
|
var init_dialogLaunchers = __esm(() => {
|
|
505854
505024
|
init_interactiveHelpers();
|
|
505855
505025
|
init_KeybindingProviderSetup();
|
|
505856
|
-
|
|
505026
|
+
jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505857
505027
|
});
|
|
505858
505028
|
|
|
505859
505029
|
// src/plugins/bundled/index.ts
|
|
@@ -508754,7 +507924,7 @@ function appendToLog(path17, message) {
|
|
|
508754
507924
|
cwd: getFsImplementation().cwd(),
|
|
508755
507925
|
userType: process.env.USER_TYPE,
|
|
508756
507926
|
sessionId: getSessionId(),
|
|
508757
|
-
version: "1.1.
|
|
507927
|
+
version: "1.1.13"
|
|
508758
507928
|
};
|
|
508759
507929
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
508760
507930
|
}
|
|
@@ -512754,8 +511924,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
512754
511924
|
}
|
|
512755
511925
|
async function checkEnvLessBridgeMinVersion() {
|
|
512756
511926
|
const cfg = await getEnvLessBridgeConfig();
|
|
512757
|
-
if (cfg.min_version && lt("1.1.
|
|
512758
|
-
return `Your version of localclawd (${"1.1.
|
|
511927
|
+
if (cfg.min_version && lt("1.1.13", cfg.min_version)) {
|
|
511928
|
+
return `Your version of localclawd (${"1.1.13"}) is too old for Remote Control.
|
|
512759
511929
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
512760
511930
|
}
|
|
512761
511931
|
return null;
|
|
@@ -513227,7 +512397,7 @@ async function initBridgeCore(params) {
|
|
|
513227
512397
|
const rawApi = createBridgeApiClient({
|
|
513228
512398
|
baseUrl,
|
|
513229
512399
|
getAccessToken,
|
|
513230
|
-
runnerVersion: "1.1.
|
|
512400
|
+
runnerVersion: "1.1.13",
|
|
513231
512401
|
onDebug: logForDebugging,
|
|
513232
512402
|
onAuth401,
|
|
513233
512403
|
getTrustedDeviceToken
|
|
@@ -518039,9 +517209,9 @@ function TeleportProgress(t0) {
|
|
|
518039
517209
|
const t2 = SPINNER_FRAMES3[frame];
|
|
518040
517210
|
let t3;
|
|
518041
517211
|
if ($2[2] !== t2) {
|
|
518042
|
-
t3 = /* @__PURE__ */
|
|
517212
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518043
517213
|
marginBottom: 1,
|
|
518044
|
-
children: /* @__PURE__ */
|
|
517214
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518045
517215
|
bold: true,
|
|
518046
517216
|
color: "claude",
|
|
518047
517217
|
children: [
|
|
@@ -518057,9 +517227,9 @@ function TeleportProgress(t0) {
|
|
|
518057
517227
|
}
|
|
518058
517228
|
let t4;
|
|
518059
517229
|
if ($2[4] !== sessionId) {
|
|
518060
|
-
t4 = sessionId && /* @__PURE__ */
|
|
517230
|
+
t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518061
517231
|
marginBottom: 1,
|
|
518062
|
-
children: /* @__PURE__ */
|
|
517232
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518063
517233
|
dimColor: true,
|
|
518064
517234
|
children: sessionId
|
|
518065
517235
|
}, undefined, false, undefined, this)
|
|
@@ -518089,18 +517259,18 @@ function TeleportProgress(t0) {
|
|
|
518089
517259
|
color3 = undefined;
|
|
518090
517260
|
}
|
|
518091
517261
|
}
|
|
518092
|
-
return /* @__PURE__ */
|
|
517262
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518093
517263
|
flexDirection: "row",
|
|
518094
517264
|
children: [
|
|
518095
|
-
/* @__PURE__ */
|
|
517265
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518096
517266
|
width: 2,
|
|
518097
|
-
children: /* @__PURE__ */
|
|
517267
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518098
517268
|
color: color3,
|
|
518099
517269
|
dimColor: isPending,
|
|
518100
517270
|
children: icon
|
|
518101
517271
|
}, undefined, false, undefined, this)
|
|
518102
517272
|
}, undefined, false, undefined, this),
|
|
518103
|
-
/* @__PURE__ */
|
|
517273
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518104
517274
|
dimColor: isPending,
|
|
518105
517275
|
bold: isCurrent,
|
|
518106
517276
|
children: step.label
|
|
@@ -518116,7 +517286,7 @@ function TeleportProgress(t0) {
|
|
|
518116
517286
|
}
|
|
518117
517287
|
let t6;
|
|
518118
517288
|
if ($2[9] !== t5) {
|
|
518119
|
-
t6 = /* @__PURE__ */
|
|
517289
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518120
517290
|
flexDirection: "column",
|
|
518121
517291
|
marginLeft: 2,
|
|
518122
517292
|
children: t5
|
|
@@ -518128,7 +517298,7 @@ function TeleportProgress(t0) {
|
|
|
518128
517298
|
}
|
|
518129
517299
|
let t7;
|
|
518130
517300
|
if ($2[11] !== ref || $2[12] !== t3 || $2[13] !== t4 || $2[14] !== t6) {
|
|
518131
|
-
t7 = /* @__PURE__ */
|
|
517301
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518132
517302
|
ref,
|
|
518133
517303
|
flexDirection: "column",
|
|
518134
517304
|
paddingX: 1,
|
|
@@ -518152,15 +517322,15 @@ function TeleportProgress(t0) {
|
|
|
518152
517322
|
async function teleportWithProgress(root3, sessionId) {
|
|
518153
517323
|
let setStep = () => {};
|
|
518154
517324
|
function TeleportProgressWrapper() {
|
|
518155
|
-
const [step, _setStep] =
|
|
517325
|
+
const [step, _setStep] = import_react329.useState("validating");
|
|
518156
517326
|
setStep = _setStep;
|
|
518157
|
-
return /* @__PURE__ */
|
|
517327
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgress, {
|
|
518158
517328
|
currentStep: step,
|
|
518159
517329
|
sessionId
|
|
518160
517330
|
}, undefined, false, undefined, this);
|
|
518161
517331
|
}
|
|
518162
|
-
root3.render(/* @__PURE__ */
|
|
518163
|
-
children: /* @__PURE__ */
|
|
517332
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(AppStateProvider, {
|
|
517333
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgressWrapper, {}, undefined, false, undefined, this)
|
|
518164
517334
|
}, undefined, false, undefined, this));
|
|
518165
517335
|
const result = await teleportResumeCodeSession(sessionId, setStep);
|
|
518166
517336
|
setStep("checking_out");
|
|
@@ -518173,14 +517343,14 @@ async function teleportWithProgress(root3, sessionId) {
|
|
|
518173
517343
|
branchName
|
|
518174
517344
|
};
|
|
518175
517345
|
}
|
|
518176
|
-
var
|
|
517346
|
+
var import_react329, jsx_dev_runtime492, SPINNER_FRAMES3, STEPS;
|
|
518177
517347
|
var init_TeleportProgress = __esm(() => {
|
|
518178
517348
|
init_figures2();
|
|
518179
517349
|
init_ink2();
|
|
518180
517350
|
init_AppState();
|
|
518181
517351
|
init_teleport();
|
|
518182
|
-
|
|
518183
|
-
|
|
517352
|
+
import_react329 = __toESM(require_react(), 1);
|
|
517353
|
+
jsx_dev_runtime492 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518184
517354
|
SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
|
|
518185
517355
|
STEPS = [{
|
|
518186
517356
|
key: "validating",
|
|
@@ -518221,7 +517391,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518221
517391
|
} else {
|
|
518222
517392
|
t2 = $2[2];
|
|
518223
517393
|
}
|
|
518224
|
-
const [existingServers, setExistingServers] =
|
|
517394
|
+
const [existingServers, setExistingServers] = import_react330.useState(t2);
|
|
518225
517395
|
let t3;
|
|
518226
517396
|
let t4;
|
|
518227
517397
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -518240,7 +517410,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518240
517410
|
t3 = $2[3];
|
|
518241
517411
|
t4 = $2[4];
|
|
518242
517412
|
}
|
|
518243
|
-
|
|
517413
|
+
import_react330.useEffect(t3, t4);
|
|
518244
517414
|
let t5;
|
|
518245
517415
|
if ($2[5] !== existingServers || $2[6] !== serverNames) {
|
|
518246
517416
|
t5 = serverNames.filter((name) => existingServers[name] !== undefined);
|
|
@@ -518316,7 +517486,7 @@ No servers were imported.`);
|
|
|
518316
517486
|
const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
|
|
518317
517487
|
let t11;
|
|
518318
517488
|
if ($2[16] !== collisions.length) {
|
|
518319
|
-
t11 = collisions.length > 0 && /* @__PURE__ */
|
|
517489
|
+
t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518320
517490
|
color: "warning",
|
|
518321
517491
|
children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
|
|
518322
517492
|
}, undefined, false, undefined, this);
|
|
@@ -518327,7 +517497,7 @@ No servers were imported.`);
|
|
|
518327
517497
|
}
|
|
518328
517498
|
let t12;
|
|
518329
517499
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518330
|
-
t12 = /* @__PURE__ */
|
|
517500
|
+
t12 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518331
517501
|
children: "Please select the servers you want to import:"
|
|
518332
517502
|
}, undefined, false, undefined, this);
|
|
518333
517503
|
$2[18] = t12;
|
|
@@ -518352,7 +517522,7 @@ No servers were imported.`);
|
|
|
518352
517522
|
}
|
|
518353
517523
|
let t15;
|
|
518354
517524
|
if ($2[23] !== handleEscCancel || $2[24] !== onSubmit || $2[25] !== t13 || $2[26] !== t14) {
|
|
518355
|
-
t15 = /* @__PURE__ */
|
|
517525
|
+
t15 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(SelectMulti, {
|
|
518356
517526
|
options: t13,
|
|
518357
517527
|
defaultValue: t14,
|
|
518358
517528
|
onSubmit,
|
|
@@ -518369,7 +517539,7 @@ No servers were imported.`);
|
|
|
518369
517539
|
}
|
|
518370
517540
|
let t16;
|
|
518371
517541
|
if ($2[28] !== handleEscCancel || $2[29] !== t10 || $2[30] !== t11 || $2[31] !== t15) {
|
|
518372
|
-
t16 = /* @__PURE__ */
|
|
517542
|
+
t16 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Dialog, {
|
|
518373
517543
|
title: "Import MCP Servers from Claude Desktop",
|
|
518374
517544
|
subtitle: t10,
|
|
518375
517545
|
color: "success",
|
|
@@ -518391,22 +517561,22 @@ No servers were imported.`);
|
|
|
518391
517561
|
}
|
|
518392
517562
|
let t17;
|
|
518393
517563
|
if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518394
|
-
t17 = /* @__PURE__ */
|
|
517564
|
+
t17 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
|
|
518395
517565
|
paddingX: 1,
|
|
518396
|
-
children: /* @__PURE__ */
|
|
517566
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518397
517567
|
dimColor: true,
|
|
518398
517568
|
italic: true,
|
|
518399
|
-
children: /* @__PURE__ */
|
|
517569
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Byline, {
|
|
518400
517570
|
children: [
|
|
518401
|
-
/* @__PURE__ */
|
|
517571
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518402
517572
|
shortcut: "Space",
|
|
518403
517573
|
action: "select"
|
|
518404
517574
|
}, undefined, false, undefined, this),
|
|
518405
|
-
/* @__PURE__ */
|
|
517575
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518406
517576
|
shortcut: "Enter",
|
|
518407
517577
|
action: "confirm"
|
|
518408
517578
|
}, undefined, false, undefined, this),
|
|
518409
|
-
/* @__PURE__ */
|
|
517579
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ConfigurableShortcutHint, {
|
|
518410
517580
|
action: "confirm:no",
|
|
518411
517581
|
context: "Confirmation",
|
|
518412
517582
|
fallback: "Esc",
|
|
@@ -518422,7 +517592,7 @@ No servers were imported.`);
|
|
|
518422
517592
|
}
|
|
518423
517593
|
let t18;
|
|
518424
517594
|
if ($2[34] !== t16) {
|
|
518425
|
-
t18 = /* @__PURE__ */
|
|
517595
|
+
t18 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(jsx_dev_runtime493.Fragment, {
|
|
518426
517596
|
children: [
|
|
518427
517597
|
t16,
|
|
518428
517598
|
t17
|
|
@@ -518435,7 +517605,7 @@ No servers were imported.`);
|
|
|
518435
517605
|
}
|
|
518436
517606
|
return t18;
|
|
518437
517607
|
}
|
|
518438
|
-
var
|
|
517608
|
+
var import_react330, jsx_dev_runtime493;
|
|
518439
517609
|
var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
518440
517610
|
init_gracefulShutdown();
|
|
518441
517611
|
init_ink2();
|
|
@@ -518446,8 +517616,8 @@ var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
|
518446
517616
|
init_Byline();
|
|
518447
517617
|
init_Dialog();
|
|
518448
517618
|
init_KeyboardShortcutHint();
|
|
518449
|
-
|
|
518450
|
-
|
|
517619
|
+
import_react330 = __toESM(require_react(), 1);
|
|
517620
|
+
jsx_dev_runtime493 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518451
517621
|
});
|
|
518452
517622
|
|
|
518453
517623
|
// node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
@@ -518883,7 +518053,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
518883
518053
|
setCwd(cwd3);
|
|
518884
518054
|
const server = new Server({
|
|
518885
518055
|
name: "claude/tengu",
|
|
518886
|
-
version: "1.1.
|
|
518056
|
+
version: "1.1.13"
|
|
518887
518057
|
}, {
|
|
518888
518058
|
capabilities: {
|
|
518889
518059
|
tools: {}
|
|
@@ -519371,9 +518541,9 @@ async function mcpAddFromDesktopHandler(options) {
|
|
|
519371
518541
|
}
|
|
519372
518542
|
const {
|
|
519373
518543
|
unmount
|
|
519374
|
-
} = await render(/* @__PURE__ */
|
|
519375
|
-
children: /* @__PURE__ */
|
|
519376
|
-
children: /* @__PURE__ */
|
|
518544
|
+
} = await render(/* @__PURE__ */ jsx_dev_runtime494.jsxDEV(AppStateProvider, {
|
|
518545
|
+
children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(KeybindingSetup, {
|
|
518546
|
+
children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(MCPServerDesktopImportDialog, {
|
|
519377
518547
|
servers,
|
|
519378
518548
|
scope,
|
|
519379
518549
|
onDone: () => {
|
|
@@ -519399,7 +518569,7 @@ async function mcpResetChoicesHandler() {
|
|
|
519399
518569
|
cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
|
|
519400
518570
|
You will be prompted for approval next time you start localclawd.`);
|
|
519401
518571
|
}
|
|
519402
|
-
var
|
|
518572
|
+
var jsx_dev_runtime494;
|
|
519403
518573
|
var init_mcp5 = __esm(() => {
|
|
519404
518574
|
init_p_map();
|
|
519405
518575
|
init_MCPServerDesktopImportDialog();
|
|
@@ -519415,7 +518585,7 @@ var init_mcp5 = __esm(() => {
|
|
|
519415
518585
|
init_gracefulShutdown();
|
|
519416
518586
|
init_json();
|
|
519417
518587
|
init_platform();
|
|
519418
|
-
|
|
518588
|
+
jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519419
518589
|
});
|
|
519420
518590
|
|
|
519421
518591
|
// src/cli/handlers/plugins.ts
|
|
@@ -519942,6 +519112,51 @@ var init_plugins = __esm(() => {
|
|
|
519942
519112
|
init_stringUtils();
|
|
519943
519113
|
});
|
|
519944
519114
|
|
|
519115
|
+
// src/components/LogoV2/WelcomeV2.tsx
|
|
519116
|
+
function WelcomeV2() {
|
|
519117
|
+
const [theme2] = useTheme();
|
|
519118
|
+
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
519119
|
+
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
519120
|
+
return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519121
|
+
width: WELCOME_V2_WIDTH,
|
|
519122
|
+
flexDirection: "column",
|
|
519123
|
+
gap: 0,
|
|
519124
|
+
children: [
|
|
519125
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519126
|
+
gap: 1,
|
|
519127
|
+
children: [
|
|
519128
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519129
|
+
bold: true,
|
|
519130
|
+
color: accentColor,
|
|
519131
|
+
children: "localclawd"
|
|
519132
|
+
}, undefined, false, undefined, this),
|
|
519133
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519134
|
+
dimColor: true,
|
|
519135
|
+
children: [
|
|
519136
|
+
"v",
|
|
519137
|
+
"1.1.13"
|
|
519138
|
+
]
|
|
519139
|
+
}, undefined, true, undefined, this)
|
|
519140
|
+
]
|
|
519141
|
+
}, undefined, true, undefined, this),
|
|
519142
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519143
|
+
dimColor: true,
|
|
519144
|
+
children: "─".repeat(48)
|
|
519145
|
+
}, undefined, false, undefined, this),
|
|
519146
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519147
|
+
marginTop: 1,
|
|
519148
|
+
children: /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Clawd, {}, undefined, false, undefined, this)
|
|
519149
|
+
}, undefined, false, undefined, this)
|
|
519150
|
+
]
|
|
519151
|
+
}, undefined, true, undefined, this);
|
|
519152
|
+
}
|
|
519153
|
+
var jsx_dev_runtime495, WELCOME_V2_WIDTH = 58;
|
|
519154
|
+
var init_WelcomeV2 = __esm(() => {
|
|
519155
|
+
init_ink2();
|
|
519156
|
+
init_Clawd();
|
|
519157
|
+
jsx_dev_runtime495 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519158
|
+
});
|
|
519159
|
+
|
|
519945
519160
|
// src/commands/install.tsx
|
|
519946
519161
|
var exports_install = {};
|
|
519947
519162
|
__export(exports_install, {
|
|
@@ -519968,11 +519183,11 @@ function SetupNotes(t0) {
|
|
|
519968
519183
|
}
|
|
519969
519184
|
let t1;
|
|
519970
519185
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
519971
|
-
t1 = /* @__PURE__ */
|
|
519972
|
-
children: /* @__PURE__ */
|
|
519186
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519187
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
519973
519188
|
color: "warning",
|
|
519974
519189
|
children: [
|
|
519975
|
-
/* @__PURE__ */
|
|
519190
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
519976
519191
|
status: "warning",
|
|
519977
519192
|
withSpace: true
|
|
519978
519193
|
}, undefined, false, undefined, this),
|
|
@@ -519994,7 +519209,7 @@ function SetupNotes(t0) {
|
|
|
519994
519209
|
}
|
|
519995
519210
|
let t3;
|
|
519996
519211
|
if ($2[3] !== t2) {
|
|
519997
|
-
t3 = /* @__PURE__ */
|
|
519212
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519998
519213
|
flexDirection: "column",
|
|
519999
519214
|
gap: 0,
|
|
520000
519215
|
marginBottom: 1,
|
|
@@ -520011,9 +519226,9 @@ function SetupNotes(t0) {
|
|
|
520011
519226
|
return t3;
|
|
520012
519227
|
}
|
|
520013
519228
|
function _temp307(message, index) {
|
|
520014
|
-
return /* @__PURE__ */
|
|
519229
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520015
519230
|
marginLeft: 2,
|
|
520016
|
-
children: /* @__PURE__ */
|
|
519231
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520017
519232
|
dimColor: true,
|
|
520018
519233
|
children: [
|
|
520019
519234
|
"• ",
|
|
@@ -520027,10 +519242,10 @@ function Install({
|
|
|
520027
519242
|
force,
|
|
520028
519243
|
target
|
|
520029
519244
|
}) {
|
|
520030
|
-
const [state2, setState] =
|
|
519245
|
+
const [state2, setState] = import_react331.useState({
|
|
520031
519246
|
type: "checking"
|
|
520032
519247
|
});
|
|
520033
|
-
|
|
519248
|
+
import_react331.useEffect(() => {
|
|
520034
519249
|
async function run() {
|
|
520035
519250
|
try {
|
|
520036
519251
|
logForDebugging(`Install: Starting installation process (force=${force}, target=${target})`);
|
|
@@ -520118,7 +519333,7 @@ function Install({
|
|
|
520118
519333
|
}
|
|
520119
519334
|
run();
|
|
520120
519335
|
}, [force, target]);
|
|
520121
|
-
|
|
519336
|
+
import_react331.useEffect(() => {
|
|
520122
519337
|
if (state2.type === "success") {
|
|
520123
519338
|
setTimeout(onDone, 2000, "localclawd installation completed successfully", {
|
|
520124
519339
|
display: "system"
|
|
@@ -520129,19 +519344,19 @@ function Install({
|
|
|
520129
519344
|
});
|
|
520130
519345
|
}
|
|
520131
519346
|
}, [state2, onDone]);
|
|
520132
|
-
return /* @__PURE__ */
|
|
519347
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520133
519348
|
flexDirection: "column",
|
|
520134
519349
|
marginTop: 1,
|
|
520135
519350
|
children: [
|
|
520136
|
-
state2.type === "checking" && /* @__PURE__ */
|
|
519351
|
+
state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520137
519352
|
color: "claude",
|
|
520138
519353
|
children: "Checking installation status..."
|
|
520139
519354
|
}, undefined, false, undefined, this),
|
|
520140
|
-
state2.type === "cleaning-npm" && /* @__PURE__ */
|
|
519355
|
+
state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520141
519356
|
color: "warning",
|
|
520142
519357
|
children: "Cleaning up old npm installations..."
|
|
520143
519358
|
}, undefined, false, undefined, this),
|
|
520144
|
-
state2.type === "installing" && /* @__PURE__ */
|
|
519359
|
+
state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520145
519360
|
color: "claude",
|
|
520146
519361
|
children: [
|
|
520147
519362
|
"Installing localclawd native build ",
|
|
@@ -520149,54 +519364,54 @@ function Install({
|
|
|
520149
519364
|
"..."
|
|
520150
519365
|
]
|
|
520151
519366
|
}, undefined, true, undefined, this),
|
|
520152
|
-
state2.type === "setting-up" && /* @__PURE__ */
|
|
519367
|
+
state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520153
519368
|
color: "claude",
|
|
520154
519369
|
children: "Setting up launcher and shell integration..."
|
|
520155
519370
|
}, undefined, false, undefined, this),
|
|
520156
|
-
state2.type === "set-up" && /* @__PURE__ */
|
|
519371
|
+
state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520157
519372
|
messages: state2.messages
|
|
520158
519373
|
}, undefined, false, undefined, this),
|
|
520159
|
-
state2.type === "success" && /* @__PURE__ */
|
|
519374
|
+
state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520160
519375
|
flexDirection: "column",
|
|
520161
519376
|
gap: 1,
|
|
520162
519377
|
children: [
|
|
520163
|
-
/* @__PURE__ */
|
|
519378
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520164
519379
|
children: [
|
|
520165
|
-
/* @__PURE__ */
|
|
519380
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520166
519381
|
status: "success",
|
|
520167
519382
|
withSpace: true
|
|
520168
519383
|
}, undefined, false, undefined, this),
|
|
520169
|
-
/* @__PURE__ */
|
|
519384
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520170
519385
|
color: "success",
|
|
520171
519386
|
bold: true,
|
|
520172
519387
|
children: "localclawd successfully installed!"
|
|
520173
519388
|
}, undefined, false, undefined, this)
|
|
520174
519389
|
]
|
|
520175
519390
|
}, undefined, true, undefined, this),
|
|
520176
|
-
/* @__PURE__ */
|
|
519391
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520177
519392
|
marginLeft: 2,
|
|
520178
519393
|
flexDirection: "column",
|
|
520179
519394
|
gap: 1,
|
|
520180
519395
|
children: [
|
|
520181
|
-
state2.version !== "current" && /* @__PURE__ */
|
|
519396
|
+
state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520182
519397
|
children: [
|
|
520183
|
-
/* @__PURE__ */
|
|
519398
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520184
519399
|
dimColor: true,
|
|
520185
519400
|
children: "Version: "
|
|
520186
519401
|
}, undefined, false, undefined, this),
|
|
520187
|
-
/* @__PURE__ */
|
|
519402
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520188
519403
|
color: "claude",
|
|
520189
519404
|
children: state2.version
|
|
520190
519405
|
}, undefined, false, undefined, this)
|
|
520191
519406
|
]
|
|
520192
519407
|
}, undefined, true, undefined, this),
|
|
520193
|
-
/* @__PURE__ */
|
|
519408
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520194
519409
|
children: [
|
|
520195
|
-
/* @__PURE__ */
|
|
519410
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520196
519411
|
dimColor: true,
|
|
520197
519412
|
children: "Location: "
|
|
520198
519413
|
}, undefined, false, undefined, this),
|
|
520199
|
-
/* @__PURE__ */
|
|
519414
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520200
519415
|
color: "text",
|
|
520201
519416
|
children: getInstallationPath2()
|
|
520202
519417
|
}, undefined, false, undefined, this)
|
|
@@ -520204,57 +519419,57 @@ function Install({
|
|
|
520204
519419
|
}, undefined, true, undefined, this)
|
|
520205
519420
|
]
|
|
520206
519421
|
}, undefined, true, undefined, this),
|
|
520207
|
-
/* @__PURE__ */
|
|
519422
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520208
519423
|
marginLeft: 2,
|
|
520209
519424
|
flexDirection: "column",
|
|
520210
519425
|
gap: 1,
|
|
520211
|
-
children: /* @__PURE__ */
|
|
519426
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520212
519427
|
marginTop: 1,
|
|
520213
519428
|
children: [
|
|
520214
|
-
/* @__PURE__ */
|
|
519429
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520215
519430
|
dimColor: true,
|
|
520216
519431
|
children: "Next: Run "
|
|
520217
519432
|
}, undefined, false, undefined, this),
|
|
520218
|
-
/* @__PURE__ */
|
|
519433
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520219
519434
|
color: "claude",
|
|
520220
519435
|
bold: true,
|
|
520221
519436
|
children: "localclawd --help"
|
|
520222
519437
|
}, undefined, false, undefined, this),
|
|
520223
|
-
/* @__PURE__ */
|
|
519438
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520224
519439
|
dimColor: true,
|
|
520225
519440
|
children: " to get started"
|
|
520226
519441
|
}, undefined, false, undefined, this)
|
|
520227
519442
|
]
|
|
520228
519443
|
}, undefined, true, undefined, this)
|
|
520229
519444
|
}, undefined, false, undefined, this),
|
|
520230
|
-
state2.setupMessages && /* @__PURE__ */
|
|
519445
|
+
state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520231
519446
|
messages: state2.setupMessages
|
|
520232
519447
|
}, undefined, false, undefined, this)
|
|
520233
519448
|
]
|
|
520234
519449
|
}, undefined, true, undefined, this),
|
|
520235
|
-
state2.type === "error" && /* @__PURE__ */
|
|
519450
|
+
state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520236
519451
|
flexDirection: "column",
|
|
520237
519452
|
gap: 1,
|
|
520238
519453
|
children: [
|
|
520239
|
-
/* @__PURE__ */
|
|
519454
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520240
519455
|
children: [
|
|
520241
|
-
/* @__PURE__ */
|
|
519456
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520242
519457
|
status: "error",
|
|
520243
519458
|
withSpace: true
|
|
520244
519459
|
}, undefined, false, undefined, this),
|
|
520245
|
-
/* @__PURE__ */
|
|
519460
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520246
519461
|
color: "error",
|
|
520247
519462
|
children: "Installation failed"
|
|
520248
519463
|
}, undefined, false, undefined, this)
|
|
520249
519464
|
]
|
|
520250
519465
|
}, undefined, true, undefined, this),
|
|
520251
|
-
/* @__PURE__ */
|
|
519466
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520252
519467
|
color: "error",
|
|
520253
519468
|
children: state2.message
|
|
520254
519469
|
}, undefined, false, undefined, this),
|
|
520255
|
-
/* @__PURE__ */
|
|
519470
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520256
519471
|
marginTop: 1,
|
|
520257
|
-
children: /* @__PURE__ */
|
|
519472
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520258
519473
|
dimColor: true,
|
|
520259
519474
|
children: "Try running with --force to override checks"
|
|
520260
519475
|
}, undefined, false, undefined, this)
|
|
@@ -520264,7 +519479,7 @@ function Install({
|
|
|
520264
519479
|
]
|
|
520265
519480
|
}, undefined, true, undefined, this);
|
|
520266
519481
|
}
|
|
520267
|
-
var
|
|
519482
|
+
var import_react331, jsx_dev_runtime496, install;
|
|
520268
519483
|
var init_install = __esm(() => {
|
|
520269
519484
|
init_StatusIcon();
|
|
520270
519485
|
init_ink2();
|
|
@@ -520273,8 +519488,8 @@ var init_install = __esm(() => {
|
|
|
520273
519488
|
init_errors();
|
|
520274
519489
|
init_nativeInstaller();
|
|
520275
519490
|
init_settings2();
|
|
520276
|
-
|
|
520277
|
-
|
|
519491
|
+
import_react331 = __toESM(require_react(), 1);
|
|
519492
|
+
jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
|
|
520278
519493
|
install = {
|
|
520279
519494
|
type: "local-jsx",
|
|
520280
519495
|
name: "install",
|
|
@@ -520286,7 +519501,7 @@ var init_install = __esm(() => {
|
|
|
520286
519501
|
const target = nonFlagArgs[0];
|
|
520287
519502
|
const {
|
|
520288
519503
|
unmount
|
|
520289
|
-
} = await render(/* @__PURE__ */
|
|
519504
|
+
} = await render(/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(Install, {
|
|
520290
519505
|
onDone: (result, options) => {
|
|
520291
519506
|
unmount();
|
|
520292
519507
|
onDone(result, options);
|
|
@@ -520313,28 +519528,28 @@ async function setupTokenHandler(root3) {
|
|
|
520313
519528
|
ConsoleOAuthFlow: ConsoleOAuthFlow2
|
|
520314
519529
|
} = await Promise.resolve().then(() => (init_ConsoleOAuthFlow(), exports_ConsoleOAuthFlow));
|
|
520315
519530
|
await new Promise((resolve40) => {
|
|
520316
|
-
root3.render(/* @__PURE__ */
|
|
519531
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
|
|
520317
519532
|
onChangeAppState,
|
|
520318
|
-
children: /* @__PURE__ */
|
|
520319
|
-
children: /* @__PURE__ */
|
|
519533
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
|
|
519534
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520320
519535
|
flexDirection: "column",
|
|
520321
519536
|
gap: 1,
|
|
520322
519537
|
children: [
|
|
520323
|
-
/* @__PURE__ */
|
|
520324
|
-
showAuthWarning && /* @__PURE__ */
|
|
519538
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
519539
|
+
showAuthWarning && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520325
519540
|
flexDirection: "column",
|
|
520326
519541
|
children: [
|
|
520327
|
-
/* @__PURE__ */
|
|
519542
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520328
519543
|
color: "warning",
|
|
520329
519544
|
children: "Warning: You already have authentication configured via environment variable or API key helper."
|
|
520330
519545
|
}, undefined, false, undefined, this),
|
|
520331
|
-
/* @__PURE__ */
|
|
519546
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520332
519547
|
color: "warning",
|
|
520333
519548
|
children: "The setup-token command will create a new OAuth token which you can use instead."
|
|
520334
519549
|
}, undefined, false, undefined, this)
|
|
520335
519550
|
]
|
|
520336
519551
|
}, undefined, true, undefined, this),
|
|
520337
|
-
/* @__PURE__ */
|
|
519552
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ConsoleOAuthFlow2, {
|
|
520338
519553
|
onDone: () => {
|
|
520339
519554
|
resolve40();
|
|
520340
519555
|
},
|
|
@@ -520357,9 +519572,9 @@ function DoctorWithPlugins(t0) {
|
|
|
520357
519572
|
useManagePlugins();
|
|
520358
519573
|
let t1;
|
|
520359
519574
|
if ($2[0] !== onDone) {
|
|
520360
|
-
t1 = /* @__PURE__ */
|
|
519575
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(import_react332.default.Suspense, {
|
|
520361
519576
|
fallback: null,
|
|
520362
|
-
children: /* @__PURE__ */
|
|
519577
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorLazy, {
|
|
520363
519578
|
onDone
|
|
520364
519579
|
}, undefined, false, undefined, this)
|
|
520365
519580
|
}, undefined, false, undefined, this);
|
|
@@ -520373,12 +519588,12 @@ function DoctorWithPlugins(t0) {
|
|
|
520373
519588
|
async function doctorHandler(root3) {
|
|
520374
519589
|
logEvent("tengu_doctor_command", {});
|
|
520375
519590
|
await new Promise((resolve40) => {
|
|
520376
|
-
root3.render(/* @__PURE__ */
|
|
520377
|
-
children: /* @__PURE__ */
|
|
520378
|
-
children: /* @__PURE__ */
|
|
519591
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
|
|
519592
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
|
|
519593
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(MCPConnectionManager, {
|
|
520379
519594
|
dynamicMcpConfig: undefined,
|
|
520380
519595
|
isStrictMcpConfig: false,
|
|
520381
|
-
children: /* @__PURE__ */
|
|
519596
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorWithPlugins, {
|
|
520382
519597
|
onDone: () => {
|
|
520383
519598
|
resolve40();
|
|
520384
519599
|
}
|
|
@@ -520410,7 +519625,7 @@ async function installHandler(target, options) {
|
|
|
520410
519625
|
}, {}, args);
|
|
520411
519626
|
});
|
|
520412
519627
|
}
|
|
520413
|
-
var
|
|
519628
|
+
var import_react332, jsx_dev_runtime497, DoctorLazy;
|
|
520414
519629
|
var init_util = __esm(() => {
|
|
520415
519630
|
init_WelcomeV2();
|
|
520416
519631
|
init_useManagePlugins();
|
|
@@ -520420,9 +519635,9 @@ var init_util = __esm(() => {
|
|
|
520420
519635
|
init_AppState();
|
|
520421
519636
|
init_onChangeAppState();
|
|
520422
519637
|
init_auth2();
|
|
520423
|
-
|
|
520424
|
-
|
|
520425
|
-
DoctorLazy =
|
|
519638
|
+
import_react332 = __toESM(require_react(), 1);
|
|
519639
|
+
jsx_dev_runtime497 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519640
|
+
DoctorLazy = import_react332.default.lazy(() => Promise.resolve().then(() => (init_Doctor(), exports_Doctor)).then((m2) => ({
|
|
520426
519641
|
default: m2.Doctor
|
|
520427
519642
|
})));
|
|
520428
519643
|
});
|
|
@@ -520488,7 +519703,7 @@ __export(exports_update, {
|
|
|
520488
519703
|
});
|
|
520489
519704
|
async function update() {
|
|
520490
519705
|
logEvent("tengu_update_check", {});
|
|
520491
|
-
writeToStdout(`Current version: ${"1.1.
|
|
519706
|
+
writeToStdout(`Current version: ${"1.1.13"}
|
|
520492
519707
|
`);
|
|
520493
519708
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520494
519709
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520563,8 +519778,8 @@ async function update() {
|
|
|
520563
519778
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520564
519779
|
`);
|
|
520565
519780
|
const latest = await getLatestVersion(channel);
|
|
520566
|
-
if (latest && !gte("1.1.
|
|
520567
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519781
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519782
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520568
519783
|
`);
|
|
520569
519784
|
writeToStdout(`
|
|
520570
519785
|
`);
|
|
@@ -520580,8 +519795,8 @@ async function update() {
|
|
|
520580
519795
|
writeToStdout(`localclawd is managed by winget.
|
|
520581
519796
|
`);
|
|
520582
519797
|
const latest = await getLatestVersion(channel);
|
|
520583
|
-
if (latest && !gte("1.1.
|
|
520584
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519798
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519799
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520585
519800
|
`);
|
|
520586
519801
|
writeToStdout(`
|
|
520587
519802
|
`);
|
|
@@ -520595,8 +519810,8 @@ async function update() {
|
|
|
520595
519810
|
writeToStdout(`localclawd is managed by apk.
|
|
520596
519811
|
`);
|
|
520597
519812
|
const latest = await getLatestVersion(channel);
|
|
520598
|
-
if (latest && !gte("1.1.
|
|
520599
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519813
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519814
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520600
519815
|
`);
|
|
520601
519816
|
writeToStdout(`
|
|
520602
519817
|
`);
|
|
@@ -520661,11 +519876,11 @@ async function update() {
|
|
|
520661
519876
|
`);
|
|
520662
519877
|
await gracefulShutdown(1);
|
|
520663
519878
|
}
|
|
520664
|
-
if (result.latestVersion === "1.1.
|
|
520665
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
519879
|
+
if (result.latestVersion === "1.1.13") {
|
|
519880
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
|
|
520666
519881
|
`);
|
|
520667
519882
|
} else {
|
|
520668
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519883
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${result.latestVersion}`) + `
|
|
520669
519884
|
`);
|
|
520670
519885
|
await regenerateCompletionCache();
|
|
520671
519886
|
}
|
|
@@ -520725,12 +519940,12 @@ async function update() {
|
|
|
520725
519940
|
`);
|
|
520726
519941
|
await gracefulShutdown(1);
|
|
520727
519942
|
}
|
|
520728
|
-
if (latestVersion === "1.1.
|
|
520729
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
519943
|
+
if (latestVersion === "1.1.13") {
|
|
519944
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.13"})`) + `
|
|
520730
519945
|
`);
|
|
520731
519946
|
await gracefulShutdown(0);
|
|
520732
519947
|
}
|
|
520733
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
519948
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.13"})
|
|
520734
519949
|
`);
|
|
520735
519950
|
writeToStdout(`Installing update...
|
|
520736
519951
|
`);
|
|
@@ -520775,7 +519990,7 @@ async function update() {
|
|
|
520775
519990
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
520776
519991
|
switch (status2) {
|
|
520777
519992
|
case "success":
|
|
520778
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519993
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${latestVersion}`) + `
|
|
520779
519994
|
`);
|
|
520780
519995
|
await regenerateCompletionCache();
|
|
520781
519996
|
break;
|
|
@@ -522040,7 +521255,7 @@ ${customInstructions}` : customInstructions;
|
|
|
522040
521255
|
}
|
|
522041
521256
|
}
|
|
522042
521257
|
logForDiagnosticsNoPII("info", "started", {
|
|
522043
|
-
version: "1.1.
|
|
521258
|
+
version: "1.1.13",
|
|
522044
521259
|
is_native_binary: isInBundledMode()
|
|
522045
521260
|
});
|
|
522046
521261
|
registerCleanup(async () => {
|
|
@@ -522824,7 +522039,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
522824
522039
|
pendingHookMessages
|
|
522825
522040
|
}, renderAndRun);
|
|
522826
522041
|
}
|
|
522827
|
-
}).version("1.1.
|
|
522042
|
+
}).version("1.1.13 (localClawd)", "-v, --version", "Output the version number");
|
|
522828
522043
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
522829
522044
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
522830
522045
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523332,7 +522547,7 @@ if (false) {}
|
|
|
523332
522547
|
async function main2() {
|
|
523333
522548
|
const args = process.argv.slice(2);
|
|
523334
522549
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523335
|
-
console.log(`${"1.1.
|
|
522550
|
+
console.log(`${"1.1.13"} (localclawd)`);
|
|
523336
522551
|
return;
|
|
523337
522552
|
}
|
|
523338
522553
|
const {
|
|
@@ -523416,4 +522631,4 @@ async function main2() {
|
|
|
523416
522631
|
}
|
|
523417
522632
|
main2();
|
|
523418
522633
|
|
|
523419
|
-
//# debugId=
|
|
522634
|
+
//# debugId=DADB345C47F11DBA64756E2164756E21
|