localclawd 1.1.11 → 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 +443 -1172
- 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,15 +363482,14 @@ 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
363485
|
function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
363516
363486
|
const VISIBLE = Math.min(7, items.length);
|
|
363517
363487
|
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
363518
363488
|
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
363489
|
+
const doneRef = import_react100.useRef(false);
|
|
363519
363490
|
use_input_default((input, key) => {
|
|
363491
|
+
if (!isActive || doneRef.current)
|
|
363492
|
+
return;
|
|
363520
363493
|
if (key.upArrow) {
|
|
363521
363494
|
setFocusIdx((prev) => {
|
|
363522
363495
|
const next = Math.max(0, prev - 1);
|
|
@@ -363533,8 +363506,10 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363533
363506
|
});
|
|
363534
363507
|
} else if (key.return) {
|
|
363535
363508
|
const item = items[focusIdx];
|
|
363536
|
-
if (item)
|
|
363509
|
+
if (item) {
|
|
363510
|
+
doneRef.current = true;
|
|
363537
363511
|
onSelect(item.value);
|
|
363512
|
+
}
|
|
363538
363513
|
} else if (key.escape || key.ctrl && input === "c") {
|
|
363539
363514
|
onCancel?.();
|
|
363540
363515
|
}
|
|
@@ -363619,28 +363594,37 @@ function LocalBackendSetup({
|
|
|
363619
363594
|
const networkAbortRef = import_react100.useRef(null);
|
|
363620
363595
|
const modelScanAbortRef = import_react100.useRef(null);
|
|
363621
363596
|
const discoveredSnapshotRef = import_react100.useRef([]);
|
|
363597
|
+
const scanStepDoneRef = import_react100.useRef(false);
|
|
363622
363598
|
import_react100.useEffect(() => {
|
|
363623
363599
|
return () => {
|
|
363624
363600
|
networkAbortRef.current?.abort();
|
|
363625
363601
|
modelScanAbortRef.current?.abort();
|
|
363626
363602
|
};
|
|
363627
363603
|
}, []);
|
|
363604
|
+
import_react100.useEffect(() => {
|
|
363605
|
+
scanStepDoneRef.current = false;
|
|
363606
|
+
}, [step]);
|
|
363628
363607
|
import_react100.useEffect(() => {
|
|
363629
363608
|
const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
|
|
363630
363609
|
setCursorOffset(nextValue.length);
|
|
363631
363610
|
}, [step, baseUrl, model, apiKey]);
|
|
363632
363611
|
use_input_default((_input, key) => {
|
|
363612
|
+
if (scanStepDoneRef.current)
|
|
363613
|
+
return;
|
|
363633
363614
|
if (step === "networkScan") {
|
|
363634
363615
|
if (key.escape || key.return) {
|
|
363616
|
+
scanStepDoneRef.current = true;
|
|
363635
363617
|
networkAbortRef.current?.abort();
|
|
363636
363618
|
setDiscoveredEndpoints(discoveredSnapshotRef.current);
|
|
363637
363619
|
setStep("selectEndpoint");
|
|
363638
363620
|
}
|
|
363639
363621
|
} else if (step === "scanningModels") {
|
|
363640
363622
|
if (key.escape) {
|
|
363623
|
+
scanStepDoneRef.current = true;
|
|
363641
363624
|
modelScanAbortRef.current?.abort();
|
|
363642
363625
|
goBack();
|
|
363643
363626
|
} else if (key.return) {
|
|
363627
|
+
scanStepDoneRef.current = true;
|
|
363644
363628
|
modelScanAbortRef.current?.abort();
|
|
363645
363629
|
setScanError("Model scan skipped. Enter the model name manually.");
|
|
363646
363630
|
setAvailableModels([]);
|
|
@@ -366553,7 +366537,7 @@ function Config({
|
|
|
366553
366537
|
}
|
|
366554
366538
|
}, undefined, false, undefined, this)
|
|
366555
366539
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
366556
|
-
currentVersion: "1.1.
|
|
366540
|
+
currentVersion: "1.1.13",
|
|
366557
366541
|
onChoice: (choice) => {
|
|
366558
366542
|
setShowSubmenu(null);
|
|
366559
366543
|
setTabsHidden(false);
|
|
@@ -366565,7 +366549,7 @@ function Config({
|
|
|
366565
366549
|
autoUpdatesChannel: "stable"
|
|
366566
366550
|
};
|
|
366567
366551
|
if (choice === "stay") {
|
|
366568
|
-
newSettings.minimumVersion = "1.1.
|
|
366552
|
+
newSettings.minimumVersion = "1.1.13";
|
|
366569
366553
|
}
|
|
366570
366554
|
updateSettingsForSource("userSettings", newSettings);
|
|
366571
366555
|
setSettingsData((prev_27) => ({
|
|
@@ -376298,7 +376282,7 @@ function HelpV2(t0) {
|
|
|
376298
376282
|
let t6;
|
|
376299
376283
|
if ($2[31] !== tabs) {
|
|
376300
376284
|
t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
|
|
376301
|
-
title: `localclawd v${"1.1.
|
|
376285
|
+
title: `localclawd v${"1.1.13"}`,
|
|
376302
376286
|
color: "professionalBlue",
|
|
376303
376287
|
defaultTab: "general",
|
|
376304
376288
|
children: tabs
|
|
@@ -400456,7 +400440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
400456
400440
|
return [];
|
|
400457
400441
|
}
|
|
400458
400442
|
}
|
|
400459
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
400443
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.13") {
|
|
400460
400444
|
if (process.env.USER_TYPE === "ant") {
|
|
400461
400445
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400462
400446
|
if (changelog) {
|
|
@@ -400483,7 +400467,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11")
|
|
|
400483
400467
|
releaseNotes
|
|
400484
400468
|
};
|
|
400485
400469
|
}
|
|
400486
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
400470
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.13") {
|
|
400487
400471
|
if (process.env.USER_TYPE === "ant") {
|
|
400488
400472
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400489
400473
|
if (changelog) {
|
|
@@ -401650,7 +401634,7 @@ function getRecentActivitySync() {
|
|
|
401650
401634
|
return cachedActivity;
|
|
401651
401635
|
}
|
|
401652
401636
|
function getLogoDisplayData() {
|
|
401653
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
401637
|
+
const version = process.env.DEMO_VERSION ?? "1.1.13";
|
|
401654
401638
|
const serverUrl = getDirectConnectServerUrl();
|
|
401655
401639
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
401656
401640
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -402924,7 +402908,7 @@ function LogoV2() {
|
|
|
402924
402908
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
402925
402909
|
t2 = () => {
|
|
402926
402910
|
const currentConfig = getGlobalConfig();
|
|
402927
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
402911
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.13") {
|
|
402928
402912
|
return;
|
|
402929
402913
|
}
|
|
402930
402914
|
saveGlobalConfig(_temp327);
|
|
@@ -403600,12 +403584,12 @@ function LogoV2() {
|
|
|
403600
403584
|
return t41;
|
|
403601
403585
|
}
|
|
403602
403586
|
function _temp327(current) {
|
|
403603
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
403587
|
+
if (current.lastReleaseNotesSeen === "1.1.13") {
|
|
403604
403588
|
return current;
|
|
403605
403589
|
}
|
|
403606
403590
|
return {
|
|
403607
403591
|
...current,
|
|
403608
|
-
lastReleaseNotesSeen: "1.1.
|
|
403592
|
+
lastReleaseNotesSeen: "1.1.13"
|
|
403609
403593
|
};
|
|
403610
403594
|
}
|
|
403611
403595
|
function _temp245(s_0) {
|
|
@@ -429807,7 +429791,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
429807
429791
|
smapsRollup,
|
|
429808
429792
|
platform: process.platform,
|
|
429809
429793
|
nodeVersion: process.version,
|
|
429810
|
-
ccVersion: "1.1.
|
|
429794
|
+
ccVersion: "1.1.13"
|
|
429811
429795
|
};
|
|
429812
429796
|
}
|
|
429813
429797
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -430392,7 +430376,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
430392
430376
|
var call64 = async () => {
|
|
430393
430377
|
return {
|
|
430394
430378
|
type: "text",
|
|
430395
|
-
value: `${"1.1.
|
|
430379
|
+
value: `${"1.1.13"} (built ${"2026-04-07T18:09:59.417Z"})`
|
|
430396
430380
|
};
|
|
430397
430381
|
}, version, version_default;
|
|
430398
430382
|
var init_version = __esm(() => {
|
|
@@ -439330,7 +439314,7 @@ function generateHtmlReport(data, insights) {
|
|
|
439330
439314
|
</html>`;
|
|
439331
439315
|
}
|
|
439332
439316
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
439333
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
439317
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
|
|
439334
439318
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
439335
439319
|
const facets_summary = {
|
|
439336
439320
|
total: facets.size,
|
|
@@ -443497,7 +443481,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
443497
443481
|
init_settings2();
|
|
443498
443482
|
init_slowOperations();
|
|
443499
443483
|
init_uuid();
|
|
443500
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
443484
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.13" : "unknown";
|
|
443501
443485
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
443502
443486
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
443503
443487
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -444699,7 +444683,7 @@ var init_filesystem = __esm(() => {
|
|
|
444699
444683
|
});
|
|
444700
444684
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
444701
444685
|
const nonce = randomBytes19(16).toString("hex");
|
|
444702
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
444686
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.13", nonce);
|
|
444703
444687
|
});
|
|
444704
444688
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
444705
444689
|
});
|
|
@@ -450698,7 +450682,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
450698
450682
|
}
|
|
450699
450683
|
function computeFingerprintFromMessages(messages) {
|
|
450700
450684
|
const firstMessageText = extractFirstMessageText(messages);
|
|
450701
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
450685
|
+
return computeFingerprint(firstMessageText, "1.1.13");
|
|
450702
450686
|
}
|
|
450703
450687
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
450704
450688
|
var init_fingerprint = () => {};
|
|
@@ -452553,7 +452537,7 @@ async function sideQuery(opts) {
|
|
|
452553
452537
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
452554
452538
|
}
|
|
452555
452539
|
const messageText = extractFirstUserMessageText(messages);
|
|
452556
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
452540
|
+
const fingerprint = computeFingerprint(messageText, "1.1.13");
|
|
452557
452541
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
452558
452542
|
const systemBlocks = [
|
|
452559
452543
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -457351,7 +457335,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
457351
457335
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
457352
457336
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
457353
457337
|
betas: getSdkBetas(),
|
|
457354
|
-
claude_code_version: "1.1.
|
|
457338
|
+
claude_code_version: "1.1.13",
|
|
457355
457339
|
output_style: outputStyle2,
|
|
457356
457340
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
457357
457341
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -471930,7 +471914,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
471930
471914
|
function getSemverPart(version2) {
|
|
471931
471915
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
471932
471916
|
}
|
|
471933
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
471917
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.13") {
|
|
471934
471918
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
471935
471919
|
if (!updatedVersion) {
|
|
471936
471920
|
return null;
|
|
@@ -471970,7 +471954,7 @@ function AutoUpdater({
|
|
|
471970
471954
|
return;
|
|
471971
471955
|
}
|
|
471972
471956
|
if (false) {}
|
|
471973
|
-
const currentVersion = "1.1.
|
|
471957
|
+
const currentVersion = "1.1.13";
|
|
471974
471958
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
471975
471959
|
let latestVersion = await getLatestVersion(channel);
|
|
471976
471960
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -472181,12 +472165,12 @@ function NativeAutoUpdater({
|
|
|
472181
472165
|
logEvent("tengu_native_auto_updater_start", {});
|
|
472182
472166
|
try {
|
|
472183
472167
|
const maxVersion = await getMaxVersion();
|
|
472184
|
-
if (maxVersion && gt("1.1.
|
|
472168
|
+
if (maxVersion && gt("1.1.13", maxVersion)) {
|
|
472185
472169
|
const msg = await getMaxVersionMessage();
|
|
472186
472170
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
472187
472171
|
}
|
|
472188
472172
|
const result = await installLatest(channel);
|
|
472189
|
-
const currentVersion = "1.1.
|
|
472173
|
+
const currentVersion = "1.1.13";
|
|
472190
472174
|
const latencyMs = Date.now() - startTime;
|
|
472191
472175
|
if (result.lockFailed) {
|
|
472192
472176
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -472321,17 +472305,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472321
472305
|
const maxVersion = await getMaxVersion();
|
|
472322
472306
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
472323
472307
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
472324
|
-
if (gte("1.1.
|
|
472325
|
-
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`);
|
|
472326
472310
|
setUpdateAvailable(false);
|
|
472327
472311
|
return;
|
|
472328
472312
|
}
|
|
472329
472313
|
latest = maxVersion;
|
|
472330
472314
|
}
|
|
472331
|
-
const hasUpdate = latest && !gte("1.1.
|
|
472315
|
+
const hasUpdate = latest && !gte("1.1.13", latest) && !shouldSkipVersion(latest);
|
|
472332
472316
|
setUpdateAvailable(!!hasUpdate);
|
|
472333
472317
|
if (hasUpdate) {
|
|
472334
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
472318
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.13"} -> ${latest}`);
|
|
472335
472319
|
}
|
|
472336
472320
|
};
|
|
472337
472321
|
$2[0] = t1;
|
|
@@ -472365,7 +472349,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472365
472349
|
wrap: "truncate",
|
|
472366
472350
|
children: [
|
|
472367
472351
|
"currentVersion: ",
|
|
472368
|
-
"1.1.
|
|
472352
|
+
"1.1.13"
|
|
472369
472353
|
]
|
|
472370
472354
|
}, undefined, true, undefined, this);
|
|
472371
472355
|
$2[3] = verbose;
|
|
@@ -479923,7 +479907,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
479923
479907
|
project_dir: getOriginalCwd(),
|
|
479924
479908
|
added_dirs: addedDirs
|
|
479925
479909
|
},
|
|
479926
|
-
version: "1.1.
|
|
479910
|
+
version: "1.1.13",
|
|
479927
479911
|
output_style: {
|
|
479928
479912
|
name: outputStyleName
|
|
479929
479913
|
},
|
|
@@ -491483,7 +491467,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
491483
491467
|
} catch {}
|
|
491484
491468
|
const data = {
|
|
491485
491469
|
trigger,
|
|
491486
|
-
version: "1.1.
|
|
491470
|
+
version: "1.1.13",
|
|
491487
491471
|
platform: process.platform,
|
|
491488
491472
|
transcript,
|
|
491489
491473
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -503050,675 +503034,6 @@ var init_githubRepoPathMapping = __esm(() => {
|
|
|
503050
503034
|
init_git();
|
|
503051
503035
|
});
|
|
503052
503036
|
|
|
503053
|
-
// src/components/LogoV2/WelcomeV2.tsx
|
|
503054
|
-
function WelcomeV2() {
|
|
503055
|
-
const [theme2] = useTheme();
|
|
503056
|
-
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
503057
|
-
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
503058
|
-
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503059
|
-
width: WELCOME_V2_WIDTH,
|
|
503060
|
-
flexDirection: "column",
|
|
503061
|
-
gap: 0,
|
|
503062
|
-
children: [
|
|
503063
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503064
|
-
gap: 1,
|
|
503065
|
-
children: [
|
|
503066
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503067
|
-
bold: true,
|
|
503068
|
-
color: accentColor,
|
|
503069
|
-
children: "localclawd"
|
|
503070
|
-
}, undefined, false, undefined, this),
|
|
503071
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503072
|
-
dimColor: true,
|
|
503073
|
-
children: [
|
|
503074
|
-
"v",
|
|
503075
|
-
"1.1.11"
|
|
503076
|
-
]
|
|
503077
|
-
}, undefined, true, undefined, this)
|
|
503078
|
-
]
|
|
503079
|
-
}, undefined, true, undefined, this),
|
|
503080
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503081
|
-
dimColor: true,
|
|
503082
|
-
children: "─".repeat(48)
|
|
503083
|
-
}, undefined, false, undefined, this),
|
|
503084
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503085
|
-
marginTop: 1,
|
|
503086
|
-
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(Clawd, {}, undefined, false, undefined, this)
|
|
503087
|
-
}, undefined, false, undefined, this)
|
|
503088
|
-
]
|
|
503089
|
-
}, undefined, true, undefined, this);
|
|
503090
|
-
}
|
|
503091
|
-
var jsx_dev_runtime482, WELCOME_V2_WIDTH = 58;
|
|
503092
|
-
var init_WelcomeV2 = __esm(() => {
|
|
503093
|
-
init_ink2();
|
|
503094
|
-
init_Clawd();
|
|
503095
|
-
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503096
|
-
});
|
|
503097
|
-
|
|
503098
|
-
// src/components/StartPage.tsx
|
|
503099
|
-
var exports_StartPage = {};
|
|
503100
|
-
__export(exports_StartPage, {
|
|
503101
|
-
StartPage: () => StartPage
|
|
503102
|
-
});
|
|
503103
|
-
function hasSavedBackendConfig(config2) {
|
|
503104
|
-
return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
|
|
503105
|
-
}
|
|
503106
|
-
function StartPage({ currentConfig, onDone }) {
|
|
503107
|
-
const hasSavedConfig = hasSavedBackendConfig(currentConfig);
|
|
503108
|
-
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
503109
|
-
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503110
|
-
use_input_default((input, key) => {
|
|
503111
|
-
if (key.upArrow) {
|
|
503112
|
-
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
503113
|
-
} else if (key.downArrow) {
|
|
503114
|
-
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
503115
|
-
} else if (key.return) {
|
|
503116
|
-
onDone(options[focusIdx].value);
|
|
503117
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503118
|
-
gracefulShutdownSync(0);
|
|
503119
|
-
}
|
|
503120
|
-
});
|
|
503121
|
-
return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503122
|
-
flexDirection: "column",
|
|
503123
|
-
gap: 1,
|
|
503124
|
-
children: [
|
|
503125
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
503126
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503127
|
-
flexDirection: "column",
|
|
503128
|
-
gap: 1,
|
|
503129
|
-
paddingLeft: 1,
|
|
503130
|
-
width: 78,
|
|
503131
|
-
children: [
|
|
503132
|
-
hasSavedConfig ? /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(jsx_dev_runtime483.Fragment, {
|
|
503133
|
-
children: [
|
|
503134
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503135
|
-
flexDirection: "column",
|
|
503136
|
-
children: [
|
|
503137
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503138
|
-
bold: true,
|
|
503139
|
-
color: "#818cf8",
|
|
503140
|
-
children: "Welcome back!"
|
|
503141
|
-
}, undefined, false, undefined, this),
|
|
503142
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503143
|
-
dimColor: true,
|
|
503144
|
-
children: "Ready when you are."
|
|
503145
|
-
}, undefined, false, undefined, this)
|
|
503146
|
-
]
|
|
503147
|
-
}, undefined, true, undefined, this),
|
|
503148
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503149
|
-
flexDirection: "column",
|
|
503150
|
-
borderStyle: "round",
|
|
503151
|
-
borderColor: "#6366f1",
|
|
503152
|
-
paddingX: 2,
|
|
503153
|
-
paddingY: 0,
|
|
503154
|
-
width: 60,
|
|
503155
|
-
children: [
|
|
503156
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503157
|
-
gap: 2,
|
|
503158
|
-
children: [
|
|
503159
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503160
|
-
color: "#6366f1",
|
|
503161
|
-
bold: true,
|
|
503162
|
-
children: "◈"
|
|
503163
|
-
}, undefined, false, undefined, this),
|
|
503164
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503165
|
-
bold: true,
|
|
503166
|
-
color: "#818cf8",
|
|
503167
|
-
children: getLocalLLMProviderLabel(currentConfig.provider)
|
|
503168
|
-
}, undefined, false, undefined, this)
|
|
503169
|
-
]
|
|
503170
|
-
}, undefined, true, undefined, this),
|
|
503171
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503172
|
-
dimColor: true,
|
|
503173
|
-
children: [
|
|
503174
|
-
"Model: ",
|
|
503175
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503176
|
-
color: "white",
|
|
503177
|
-
children: currentConfig.model
|
|
503178
|
-
}, undefined, false, undefined, this)
|
|
503179
|
-
]
|
|
503180
|
-
}, undefined, true, undefined, this),
|
|
503181
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503182
|
-
dimColor: true,
|
|
503183
|
-
children: [
|
|
503184
|
-
"Endpoint: ",
|
|
503185
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503186
|
-
color: "white",
|
|
503187
|
-
children: currentConfig.baseUrl
|
|
503188
|
-
}, undefined, false, undefined, this)
|
|
503189
|
-
]
|
|
503190
|
-
}, undefined, true, undefined, this)
|
|
503191
|
-
]
|
|
503192
|
-
}, undefined, true, undefined, this)
|
|
503193
|
-
]
|
|
503194
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503195
|
-
flexDirection: "column",
|
|
503196
|
-
gap: 0,
|
|
503197
|
-
children: [
|
|
503198
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503199
|
-
bold: true,
|
|
503200
|
-
color: "#818cf8",
|
|
503201
|
-
children: "Let's get you connected."
|
|
503202
|
-
}, undefined, false, undefined, this),
|
|
503203
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503204
|
-
dimColor: true,
|
|
503205
|
-
wrap: "wrap",
|
|
503206
|
-
children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
|
|
503207
|
-
}, undefined, false, undefined, this)
|
|
503208
|
-
]
|
|
503209
|
-
}, undefined, true, undefined, this),
|
|
503210
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503211
|
-
flexDirection: "column",
|
|
503212
|
-
children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503213
|
-
gap: 1,
|
|
503214
|
-
children: [
|
|
503215
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503216
|
-
color: "#6366f1",
|
|
503217
|
-
children: i2 === focusIdx ? "▶" : " "
|
|
503218
|
-
}, undefined, false, undefined, this),
|
|
503219
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503220
|
-
bold: i2 === focusIdx,
|
|
503221
|
-
color: i2 === focusIdx ? "#818cf8" : undefined,
|
|
503222
|
-
children: opt.label
|
|
503223
|
-
}, undefined, false, undefined, this)
|
|
503224
|
-
]
|
|
503225
|
-
}, opt.value, true, undefined, this))
|
|
503226
|
-
}, undefined, false, undefined, this),
|
|
503227
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503228
|
-
dimColor: true,
|
|
503229
|
-
children: "↑↓ navigate · Enter confirm · Esc exit"
|
|
503230
|
-
}, undefined, false, undefined, this)
|
|
503231
|
-
]
|
|
503232
|
-
}, undefined, true, undefined, this)
|
|
503233
|
-
]
|
|
503234
|
-
}, undefined, true, undefined, this);
|
|
503235
|
-
}
|
|
503236
|
-
var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
|
|
503237
|
-
var init_StartPage = __esm(() => {
|
|
503238
|
-
init_ink2();
|
|
503239
|
-
init_gracefulShutdown();
|
|
503240
|
-
init_providers();
|
|
503241
|
-
init_WelcomeV2();
|
|
503242
|
-
import_react321 = __toESM(require_react(), 1);
|
|
503243
|
-
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503244
|
-
CONTINUE_OPTIONS = [
|
|
503245
|
-
{ label: "Continue to dashboard", value: "continue" },
|
|
503246
|
-
{ label: "Change backend", value: "configure-backend" }
|
|
503247
|
-
];
|
|
503248
|
-
SETUP_OPTIONS = [
|
|
503249
|
-
{ label: "Set up a backend now", value: "configure-backend" },
|
|
503250
|
-
{ label: "Skip for now", value: "continue" }
|
|
503251
|
-
];
|
|
503252
|
-
});
|
|
503253
|
-
|
|
503254
|
-
// src/components/ui/OrderedListItem.tsx
|
|
503255
|
-
function OrderedListItem(t0) {
|
|
503256
|
-
const $2 = c3(7);
|
|
503257
|
-
const {
|
|
503258
|
-
children
|
|
503259
|
-
} = t0;
|
|
503260
|
-
const {
|
|
503261
|
-
marker
|
|
503262
|
-
} = import_react322.useContext(OrderedListItemContext);
|
|
503263
|
-
let t1;
|
|
503264
|
-
if ($2[0] !== marker) {
|
|
503265
|
-
t1 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
503266
|
-
dimColor: true,
|
|
503267
|
-
children: marker
|
|
503268
|
-
}, undefined, false, undefined, this);
|
|
503269
|
-
$2[0] = marker;
|
|
503270
|
-
$2[1] = t1;
|
|
503271
|
-
} else {
|
|
503272
|
-
t1 = $2[1];
|
|
503273
|
-
}
|
|
503274
|
-
let t2;
|
|
503275
|
-
if ($2[2] !== children) {
|
|
503276
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503277
|
-
flexDirection: "column",
|
|
503278
|
-
children
|
|
503279
|
-
}, undefined, false, undefined, this);
|
|
503280
|
-
$2[2] = children;
|
|
503281
|
-
$2[3] = t2;
|
|
503282
|
-
} else {
|
|
503283
|
-
t2 = $2[3];
|
|
503284
|
-
}
|
|
503285
|
-
let t3;
|
|
503286
|
-
if ($2[4] !== t1 || $2[5] !== t2) {
|
|
503287
|
-
t3 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503288
|
-
gap: 1,
|
|
503289
|
-
children: [
|
|
503290
|
-
t1,
|
|
503291
|
-
t2
|
|
503292
|
-
]
|
|
503293
|
-
}, undefined, true, undefined, this);
|
|
503294
|
-
$2[4] = t1;
|
|
503295
|
-
$2[5] = t2;
|
|
503296
|
-
$2[6] = t3;
|
|
503297
|
-
} else {
|
|
503298
|
-
t3 = $2[6];
|
|
503299
|
-
}
|
|
503300
|
-
return t3;
|
|
503301
|
-
}
|
|
503302
|
-
var import_react322, jsx_dev_runtime484, OrderedListItemContext;
|
|
503303
|
-
var init_OrderedListItem = __esm(() => {
|
|
503304
|
-
init_ink2();
|
|
503305
|
-
import_react322 = __toESM(require_react(), 1);
|
|
503306
|
-
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503307
|
-
OrderedListItemContext = import_react322.createContext({
|
|
503308
|
-
marker: ""
|
|
503309
|
-
});
|
|
503310
|
-
});
|
|
503311
|
-
|
|
503312
|
-
// src/components/ui/OrderedList.tsx
|
|
503313
|
-
function OrderedListComponent(t0) {
|
|
503314
|
-
const $2 = c3(9);
|
|
503315
|
-
const {
|
|
503316
|
-
children
|
|
503317
|
-
} = t0;
|
|
503318
|
-
const {
|
|
503319
|
-
marker: parentMarker
|
|
503320
|
-
} = import_react323.useContext(OrderedListContext);
|
|
503321
|
-
let numberOfItems = 0;
|
|
503322
|
-
for (const child of import_react323.default.Children.toArray(children)) {
|
|
503323
|
-
if (!import_react323.isValidElement(child) || child.type !== OrderedListItem) {
|
|
503324
|
-
continue;
|
|
503325
|
-
}
|
|
503326
|
-
numberOfItems++;
|
|
503327
|
-
}
|
|
503328
|
-
const maxMarkerWidth = String(numberOfItems).length;
|
|
503329
|
-
let t1;
|
|
503330
|
-
if ($2[0] !== children || $2[1] !== maxMarkerWidth || $2[2] !== parentMarker) {
|
|
503331
|
-
let t22;
|
|
503332
|
-
if ($2[4] !== maxMarkerWidth || $2[5] !== parentMarker) {
|
|
503333
|
-
t22 = (child_0, index) => {
|
|
503334
|
-
if (!import_react323.isValidElement(child_0) || child_0.type !== OrderedListItem) {
|
|
503335
|
-
return child_0;
|
|
503336
|
-
}
|
|
503337
|
-
const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
|
|
503338
|
-
const marker = `${parentMarker}${paddedMarker}`;
|
|
503339
|
-
return /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListContext.Provider, {
|
|
503340
|
-
value: {
|
|
503341
|
-
marker
|
|
503342
|
-
},
|
|
503343
|
-
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListItemContext.Provider, {
|
|
503344
|
-
value: {
|
|
503345
|
-
marker
|
|
503346
|
-
},
|
|
503347
|
-
children: child_0
|
|
503348
|
-
}, undefined, false, undefined, this)
|
|
503349
|
-
}, undefined, false, undefined, this);
|
|
503350
|
-
};
|
|
503351
|
-
$2[4] = maxMarkerWidth;
|
|
503352
|
-
$2[5] = parentMarker;
|
|
503353
|
-
$2[6] = t22;
|
|
503354
|
-
} else {
|
|
503355
|
-
t22 = $2[6];
|
|
503356
|
-
}
|
|
503357
|
-
t1 = import_react323.default.Children.map(children, t22);
|
|
503358
|
-
$2[0] = children;
|
|
503359
|
-
$2[1] = maxMarkerWidth;
|
|
503360
|
-
$2[2] = parentMarker;
|
|
503361
|
-
$2[3] = t1;
|
|
503362
|
-
} else {
|
|
503363
|
-
t1 = $2[3];
|
|
503364
|
-
}
|
|
503365
|
-
let t2;
|
|
503366
|
-
if ($2[7] !== t1) {
|
|
503367
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ThemedBox_default, {
|
|
503368
|
-
flexDirection: "column",
|
|
503369
|
-
children: t1
|
|
503370
|
-
}, undefined, false, undefined, this);
|
|
503371
|
-
$2[7] = t1;
|
|
503372
|
-
$2[8] = t2;
|
|
503373
|
-
} else {
|
|
503374
|
-
t2 = $2[8];
|
|
503375
|
-
}
|
|
503376
|
-
return t2;
|
|
503377
|
-
}
|
|
503378
|
-
var import_react323, jsx_dev_runtime485, OrderedListContext, OrderedList;
|
|
503379
|
-
var init_OrderedList = __esm(() => {
|
|
503380
|
-
init_ink2();
|
|
503381
|
-
init_OrderedListItem();
|
|
503382
|
-
import_react323 = __toESM(require_react(), 1);
|
|
503383
|
-
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503384
|
-
OrderedListContext = import_react323.createContext({
|
|
503385
|
-
marker: ""
|
|
503386
|
-
});
|
|
503387
|
-
OrderedListComponent.Item = OrderedListItem;
|
|
503388
|
-
OrderedList = OrderedListComponent;
|
|
503389
|
-
});
|
|
503390
|
-
|
|
503391
|
-
// src/components/Onboarding.tsx
|
|
503392
|
-
var exports_Onboarding = {};
|
|
503393
|
-
__export(exports_Onboarding, {
|
|
503394
|
-
Onboarding: () => Onboarding
|
|
503395
|
-
});
|
|
503396
|
-
function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
|
|
503397
|
-
const VISIBLE = Math.min(7, items.length);
|
|
503398
|
-
const [focusIdx, setFocusIdx] = import_react324.useState(0);
|
|
503399
|
-
const [fromIdx, setFromIdx] = import_react324.useState(0);
|
|
503400
|
-
use_input_default((input, key) => {
|
|
503401
|
-
if (key.upArrow) {
|
|
503402
|
-
setFocusIdx((prev) => {
|
|
503403
|
-
const next = Math.max(0, prev - 1);
|
|
503404
|
-
if (next < fromIdx)
|
|
503405
|
-
setFromIdx(next);
|
|
503406
|
-
return next;
|
|
503407
|
-
});
|
|
503408
|
-
} else if (key.downArrow) {
|
|
503409
|
-
setFocusIdx((prev) => {
|
|
503410
|
-
const next = Math.min(items.length - 1, prev + 1);
|
|
503411
|
-
if (next >= fromIdx + VISIBLE)
|
|
503412
|
-
setFromIdx(next - VISIBLE + 1);
|
|
503413
|
-
return next;
|
|
503414
|
-
});
|
|
503415
|
-
} else if (key.return) {
|
|
503416
|
-
const item = items[focusIdx];
|
|
503417
|
-
if (item)
|
|
503418
|
-
onSelect(item.value);
|
|
503419
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503420
|
-
onCancel?.();
|
|
503421
|
-
}
|
|
503422
|
-
}, { isActive });
|
|
503423
|
-
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
503424
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503425
|
-
flexDirection: "column",
|
|
503426
|
-
children: [
|
|
503427
|
-
fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503428
|
-
dimColor: true,
|
|
503429
|
-
children: " ↑ more"
|
|
503430
|
-
}, undefined, false, undefined, this),
|
|
503431
|
-
visible.map((item, i2) => {
|
|
503432
|
-
const absIdx = fromIdx + i2;
|
|
503433
|
-
const focused = absIdx === focusIdx;
|
|
503434
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503435
|
-
gap: 1,
|
|
503436
|
-
children: [
|
|
503437
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503438
|
-
color: "#6366f1",
|
|
503439
|
-
children: focused ? "▶" : " "
|
|
503440
|
-
}, undefined, false, undefined, this),
|
|
503441
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503442
|
-
bold: focused,
|
|
503443
|
-
color: focused ? "#818cf8" : undefined,
|
|
503444
|
-
children: item.label
|
|
503445
|
-
}, undefined, false, undefined, this)
|
|
503446
|
-
]
|
|
503447
|
-
}, String(item.value), true, undefined, this);
|
|
503448
|
-
}),
|
|
503449
|
-
fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503450
|
-
dimColor: true,
|
|
503451
|
-
children: " ↓ more"
|
|
503452
|
-
}, undefined, false, undefined, this)
|
|
503453
|
-
]
|
|
503454
|
-
}, undefined, true, undefined, this);
|
|
503455
|
-
}
|
|
503456
|
-
function PressEnterToContinue2({ isActive, onContinue }) {
|
|
503457
|
-
use_input_default((_input, key) => {
|
|
503458
|
-
if (key.return)
|
|
503459
|
-
onContinue();
|
|
503460
|
-
}, { isActive });
|
|
503461
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503462
|
-
color: "permission",
|
|
503463
|
-
children: [
|
|
503464
|
-
"Press ",
|
|
503465
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503466
|
-
bold: true,
|
|
503467
|
-
children: "Enter"
|
|
503468
|
-
}, undefined, false, undefined, this),
|
|
503469
|
-
" to continue…"
|
|
503470
|
-
]
|
|
503471
|
-
}, undefined, true, undefined, this);
|
|
503472
|
-
}
|
|
503473
|
-
function Onboarding({ onDone, showWelcome = true }) {
|
|
503474
|
-
const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
|
|
503475
|
-
const [theme2, setTheme] = useTheme();
|
|
503476
|
-
const goToNextStep = import_react324.useCallback(() => {
|
|
503477
|
-
setCurrentStepIndex((current) => {
|
|
503478
|
-
if (current >= steps.length - 1) {
|
|
503479
|
-
onDone();
|
|
503480
|
-
return current;
|
|
503481
|
-
}
|
|
503482
|
-
return current + 1;
|
|
503483
|
-
});
|
|
503484
|
-
}, [onDone]);
|
|
503485
|
-
const handleThemeSelection = import_react324.useCallback((newTheme) => {
|
|
503486
|
-
setTheme(newTheme);
|
|
503487
|
-
goToNextStep();
|
|
503488
|
-
}, [goToNextStep, setTheme]);
|
|
503489
|
-
const handleLocalBackendSetup = import_react324.useCallback((config2, options) => {
|
|
503490
|
-
if (options?.saveGlobally === false) {
|
|
503491
|
-
setSessionLocalLLMConfigOverride(config2);
|
|
503492
|
-
} else {
|
|
503493
|
-
clearSessionLocalLLMConfigOverride();
|
|
503494
|
-
saveGlobalConfig((current) => ({
|
|
503495
|
-
...current,
|
|
503496
|
-
localBackendProvider: config2.provider,
|
|
503497
|
-
localBackendBaseUrl: config2.baseUrl,
|
|
503498
|
-
localBackendModel: config2.model,
|
|
503499
|
-
localBackendApiKey: config2.apiKey
|
|
503500
|
-
}));
|
|
503501
|
-
}
|
|
503502
|
-
goToNextStep();
|
|
503503
|
-
}, [goToNextStep]);
|
|
503504
|
-
const themeItems = THEME_SETTINGS.map((s) => ({
|
|
503505
|
-
label: s === "auto" ? "Auto (follow system)" : s,
|
|
503506
|
-
value: s
|
|
503507
|
-
}));
|
|
503508
|
-
const compactItems = [
|
|
503509
|
-
{
|
|
503510
|
-
label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
|
|
503511
|
-
value: "default"
|
|
503512
|
-
},
|
|
503513
|
-
...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
|
|
503514
|
-
label: formatCompactContextWindowOption(tokens),
|
|
503515
|
-
value: String(tokens)
|
|
503516
|
-
}))
|
|
503517
|
-
];
|
|
503518
|
-
const steps = import_react324.useMemo(() => {
|
|
503519
|
-
const config2 = getGlobalConfig();
|
|
503520
|
-
const result = [
|
|
503521
|
-
{
|
|
503522
|
-
id: "theme",
|
|
503523
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503524
|
-
flexDirection: "column",
|
|
503525
|
-
gap: 1,
|
|
503526
|
-
paddingLeft: 1,
|
|
503527
|
-
children: [
|
|
503528
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503529
|
-
bold: true,
|
|
503530
|
-
children: "Choose a theme"
|
|
503531
|
-
}, undefined, false, undefined, this),
|
|
503532
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503533
|
-
items: themeItems,
|
|
503534
|
-
isActive: isActive2,
|
|
503535
|
-
onSelect: handleThemeSelection,
|
|
503536
|
-
onCancel: goToNextStep
|
|
503537
|
-
}, undefined, false, undefined, this),
|
|
503538
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503539
|
-
dimColor: true,
|
|
503540
|
-
children: "Change later with /theme"
|
|
503541
|
-
}, undefined, false, undefined, this)
|
|
503542
|
-
]
|
|
503543
|
-
}, undefined, true, undefined, this)
|
|
503544
|
-
},
|
|
503545
|
-
{
|
|
503546
|
-
id: "compact-context",
|
|
503547
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503548
|
-
flexDirection: "column",
|
|
503549
|
-
gap: 1,
|
|
503550
|
-
paddingLeft: 1,
|
|
503551
|
-
width: 70,
|
|
503552
|
-
children: [
|
|
503553
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503554
|
-
bold: true,
|
|
503555
|
-
children: "Choose a compact context window"
|
|
503556
|
-
}, undefined, false, undefined, this),
|
|
503557
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503558
|
-
dimColor: true,
|
|
503559
|
-
wrap: "wrap",
|
|
503560
|
-
children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
|
|
503561
|
-
}, undefined, false, undefined, this),
|
|
503562
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503563
|
-
items: compactItems,
|
|
503564
|
-
isActive: isActive2,
|
|
503565
|
-
onSelect: (value) => {
|
|
503566
|
-
const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
|
|
503567
|
-
saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
|
|
503568
|
-
goToNextStep();
|
|
503569
|
-
},
|
|
503570
|
-
onCancel: goToNextStep
|
|
503571
|
-
}, undefined, false, undefined, this),
|
|
503572
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503573
|
-
dimColor: true,
|
|
503574
|
-
children: "Change later in /config under Compact context window."
|
|
503575
|
-
}, undefined, false, undefined, this)
|
|
503576
|
-
]
|
|
503577
|
-
}, undefined, true, undefined, this)
|
|
503578
|
-
},
|
|
503579
|
-
{
|
|
503580
|
-
id: "local-backend",
|
|
503581
|
-
component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503582
|
-
initialConfig: {
|
|
503583
|
-
provider: config2.localBackendProvider,
|
|
503584
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
503585
|
-
model: config2.localBackendModel,
|
|
503586
|
-
apiKey: config2.localBackendApiKey
|
|
503587
|
-
},
|
|
503588
|
-
onComplete: handleLocalBackendSetup,
|
|
503589
|
-
onCancel: goToNextStep,
|
|
503590
|
-
title: "Choose your local backend",
|
|
503591
|
-
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503592
|
-
showSaveGloballyOption: true
|
|
503593
|
-
}, undefined, false, undefined, this)
|
|
503594
|
-
},
|
|
503595
|
-
{
|
|
503596
|
-
id: "security",
|
|
503597
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503598
|
-
flexDirection: "column",
|
|
503599
|
-
gap: 1,
|
|
503600
|
-
paddingLeft: 1,
|
|
503601
|
-
children: [
|
|
503602
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503603
|
-
bold: true,
|
|
503604
|
-
children: "Security notes:"
|
|
503605
|
-
}, undefined, false, undefined, this),
|
|
503606
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503607
|
-
flexDirection: "column",
|
|
503608
|
-
width: 70,
|
|
503609
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
|
|
503610
|
-
children: [
|
|
503611
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503612
|
-
children: [
|
|
503613
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503614
|
-
children: "localclawd can make mistakes"
|
|
503615
|
-
}, undefined, false, undefined, this),
|
|
503616
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503617
|
-
dimColor: true,
|
|
503618
|
-
wrap: "wrap",
|
|
503619
|
-
children: [
|
|
503620
|
-
"Always review responses, especially when running code.",
|
|
503621
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503622
|
-
]
|
|
503623
|
-
}, undefined, true, undefined, this)
|
|
503624
|
-
]
|
|
503625
|
-
}, undefined, true, undefined, this),
|
|
503626
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503627
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503628
|
-
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503629
|
-
}, undefined, false, undefined, this)
|
|
503630
|
-
}, undefined, false, undefined, this)
|
|
503631
|
-
]
|
|
503632
|
-
}, undefined, true, undefined, this)
|
|
503633
|
-
}, undefined, false, undefined, this),
|
|
503634
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503635
|
-
isActive: isActive2,
|
|
503636
|
-
onContinue: goToNextStep
|
|
503637
|
-
}, undefined, false, undefined, this)
|
|
503638
|
-
]
|
|
503639
|
-
}, undefined, true, undefined, this)
|
|
503640
|
-
}
|
|
503641
|
-
];
|
|
503642
|
-
if (shouldOfferTerminalSetup()) {
|
|
503643
|
-
const terminalItems = [
|
|
503644
|
-
{ label: "Yes, use recommended settings", value: "install" },
|
|
503645
|
-
{ label: "No, maybe later with /terminal-setup", value: "no" }
|
|
503646
|
-
];
|
|
503647
|
-
result.push({
|
|
503648
|
-
id: "terminal-setup",
|
|
503649
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503650
|
-
flexDirection: "column",
|
|
503651
|
-
gap: 1,
|
|
503652
|
-
paddingLeft: 1,
|
|
503653
|
-
children: [
|
|
503654
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503655
|
-
bold: true,
|
|
503656
|
-
children: "Use localclawd's terminal setup?"
|
|
503657
|
-
}, undefined, false, undefined, this),
|
|
503658
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503659
|
-
flexDirection: "column",
|
|
503660
|
-
width: 70,
|
|
503661
|
-
gap: 1,
|
|
503662
|
-
children: [
|
|
503663
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503664
|
-
children: [
|
|
503665
|
-
"For the optimal experience, enable recommended settings",
|
|
503666
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503667
|
-
"for your terminal:",
|
|
503668
|
-
" ",
|
|
503669
|
-
env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
|
|
503670
|
-
]
|
|
503671
|
-
}, undefined, true, undefined, this),
|
|
503672
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503673
|
-
items: terminalItems,
|
|
503674
|
-
isActive: isActive2,
|
|
503675
|
-
onSelect: (value) => {
|
|
503676
|
-
if (value === "install") {
|
|
503677
|
-
setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
|
|
503678
|
-
} else {
|
|
503679
|
-
goToNextStep();
|
|
503680
|
-
}
|
|
503681
|
-
},
|
|
503682
|
-
onCancel: goToNextStep
|
|
503683
|
-
}, undefined, false, undefined, this)
|
|
503684
|
-
]
|
|
503685
|
-
}, undefined, true, undefined, this)
|
|
503686
|
-
]
|
|
503687
|
-
}, undefined, true, undefined, this)
|
|
503688
|
-
});
|
|
503689
|
-
}
|
|
503690
|
-
return result;
|
|
503691
|
-
}, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
|
|
503692
|
-
const currentStep = steps[currentStepIndex];
|
|
503693
|
-
const isActive = true;
|
|
503694
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503695
|
-
flexDirection: "column",
|
|
503696
|
-
children: [
|
|
503697
|
-
showWelcome ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this) : null,
|
|
503698
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503699
|
-
flexDirection: "column",
|
|
503700
|
-
marginTop: 1,
|
|
503701
|
-
children: currentStep?.component(isActive)
|
|
503702
|
-
}, undefined, false, undefined, this)
|
|
503703
|
-
]
|
|
503704
|
-
}, undefined, true, undefined, this);
|
|
503705
|
-
}
|
|
503706
|
-
var import_react324, jsx_dev_runtime486;
|
|
503707
|
-
var init_Onboarding = __esm(() => {
|
|
503708
|
-
init_terminalSetup();
|
|
503709
|
-
init_ink2();
|
|
503710
|
-
init_config();
|
|
503711
|
-
init_context();
|
|
503712
|
-
init_env();
|
|
503713
|
-
init_providers();
|
|
503714
|
-
init_theme();
|
|
503715
|
-
init_LocalBackendSetup();
|
|
503716
|
-
init_WelcomeV2();
|
|
503717
|
-
init_OrderedList();
|
|
503718
|
-
import_react324 = __toESM(require_react(), 1);
|
|
503719
|
-
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503720
|
-
});
|
|
503721
|
-
|
|
503722
503037
|
// src/components/TrustDialog/TrustDialog.tsx
|
|
503723
503038
|
var exports_TrustDialog = {};
|
|
503724
503039
|
__export(exports_TrustDialog, {
|
|
@@ -503726,36 +503041,28 @@ __export(exports_TrustDialog, {
|
|
|
503726
503041
|
});
|
|
503727
503042
|
import { homedir as homedir36 } from "os";
|
|
503728
503043
|
function TrustDialog({ onDone }) {
|
|
503729
|
-
const
|
|
503730
|
-
const
|
|
503731
|
-
import_react325.useEffect(() => {
|
|
503732
|
-
if (hasTrustDialogAccepted) {
|
|
503733
|
-
setSessionTrustAccepted(true);
|
|
503734
|
-
onDone();
|
|
503735
|
-
}
|
|
503736
|
-
}, [hasTrustDialogAccepted, onDone]);
|
|
503044
|
+
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503045
|
+
const doneRef = import_react321.useRef(false);
|
|
503737
503046
|
use_input_default((input, key) => {
|
|
503738
|
-
if (
|
|
503047
|
+
if (doneRef.current)
|
|
503739
503048
|
return;
|
|
503740
503049
|
if (key.upArrow) {
|
|
503741
503050
|
setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
|
|
503742
503051
|
} else if (key.downArrow) {
|
|
503743
503052
|
setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
|
|
503744
503053
|
} else if (key.return) {
|
|
503054
|
+
doneRef.current = true;
|
|
503745
503055
|
const chosen = OPTIONS[focusIdx];
|
|
503746
503056
|
if (chosen?.value === "exit") {
|
|
503747
503057
|
gracefulShutdownSync(1);
|
|
503748
503058
|
} else {
|
|
503749
503059
|
try {
|
|
503750
|
-
|
|
503751
|
-
if (isHomeDir) {
|
|
503752
|
-
setSessionTrustAccepted(true);
|
|
503753
|
-
} else {
|
|
503060
|
+
if (homedir36() !== getCwd()) {
|
|
503754
503061
|
try {
|
|
503755
|
-
saveCurrentProjectConfig((
|
|
503062
|
+
saveCurrentProjectConfig((c5) => ({ ...c5, hasTrustDialogAccepted: true }));
|
|
503756
503063
|
} catch {}
|
|
503757
|
-
setSessionTrustAccepted(true);
|
|
503758
503064
|
}
|
|
503065
|
+
setSessionTrustAccepted(true);
|
|
503759
503066
|
} finally {
|
|
503760
503067
|
onDone();
|
|
503761
503068
|
}
|
|
@@ -503764,42 +503071,40 @@ function TrustDialog({ onDone }) {
|
|
|
503764
503071
|
gracefulShutdownSync(0);
|
|
503765
503072
|
}
|
|
503766
503073
|
});
|
|
503767
|
-
if (hasTrustDialogAccepted)
|
|
503768
|
-
return null;
|
|
503769
503074
|
const cwd2 = getFsImplementation().cwd();
|
|
503770
|
-
return /* @__PURE__ */
|
|
503075
|
+
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(PermissionDialog, {
|
|
503771
503076
|
color: "warning",
|
|
503772
503077
|
titleColor: "warning",
|
|
503773
503078
|
title: "Accessing workspace:",
|
|
503774
|
-
children: /* @__PURE__ */
|
|
503079
|
+
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503775
503080
|
flexDirection: "column",
|
|
503776
503081
|
gap: 1,
|
|
503777
503082
|
paddingTop: 1,
|
|
503778
503083
|
children: [
|
|
503779
|
-
/* @__PURE__ */
|
|
503084
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503780
503085
|
bold: true,
|
|
503781
503086
|
children: cwd2
|
|
503782
503087
|
}, undefined, false, undefined, this),
|
|
503783
|
-
/* @__PURE__ */
|
|
503088
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503784
503089
|
children: [
|
|
503785
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",
|
|
503786
503091
|
"'",
|
|
503787
503092
|
"s in this folder first."
|
|
503788
503093
|
]
|
|
503789
503094
|
}, undefined, true, undefined, this),
|
|
503790
|
-
/* @__PURE__ */
|
|
503095
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503791
503096
|
children: "localClawd'll be able to read, edit, and execute files here."
|
|
503792
503097
|
}, undefined, false, undefined, this),
|
|
503793
|
-
/* @__PURE__ */
|
|
503098
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503794
503099
|
flexDirection: "column",
|
|
503795
|
-
children: OPTIONS.map((opt, i2) => /* @__PURE__ */
|
|
503100
|
+
children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503796
503101
|
gap: 1,
|
|
503797
503102
|
children: [
|
|
503798
|
-
/* @__PURE__ */
|
|
503103
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503799
503104
|
color: "yellow",
|
|
503800
503105
|
children: i2 === focusIdx ? "▶" : " "
|
|
503801
503106
|
}, undefined, false, undefined, this),
|
|
503802
|
-
/* @__PURE__ */
|
|
503107
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503803
503108
|
bold: i2 === focusIdx,
|
|
503804
503109
|
color: i2 === focusIdx ? "white" : undefined,
|
|
503805
503110
|
children: opt.label
|
|
@@ -503807,7 +503112,7 @@ function TrustDialog({ onDone }) {
|
|
|
503807
503112
|
]
|
|
503808
503113
|
}, opt.value, true, undefined, this))
|
|
503809
503114
|
}, undefined, false, undefined, this),
|
|
503810
|
-
/* @__PURE__ */
|
|
503115
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503811
503116
|
dimColor: true,
|
|
503812
503117
|
children: "↑↓ navigate · Enter confirm · Esc cancel"
|
|
503813
503118
|
}, undefined, false, undefined, this)
|
|
@@ -503815,7 +503120,7 @@ function TrustDialog({ onDone }) {
|
|
|
503815
503120
|
}, undefined, true, undefined, this)
|
|
503816
503121
|
}, undefined, false, undefined, this);
|
|
503817
503122
|
}
|
|
503818
|
-
var
|
|
503123
|
+
var import_react321, jsx_dev_runtime482, OPTIONS;
|
|
503819
503124
|
var init_TrustDialog = __esm(() => {
|
|
503820
503125
|
init_ink2();
|
|
503821
503126
|
init_state();
|
|
@@ -503824,8 +503129,8 @@ var init_TrustDialog = __esm(() => {
|
|
|
503824
503129
|
init_fsOperations();
|
|
503825
503130
|
init_gracefulShutdown();
|
|
503826
503131
|
init_PermissionDialog();
|
|
503827
|
-
|
|
503828
|
-
|
|
503132
|
+
import_react321 = __toESM(require_react(), 1);
|
|
503133
|
+
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503829
503134
|
OPTIONS = [
|
|
503830
503135
|
{ label: "Yes, I trust this folder", value: "enable_all" },
|
|
503831
503136
|
{ label: "No, exit", value: "exit" }
|
|
@@ -503849,7 +503154,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503849
503154
|
} else {
|
|
503850
503155
|
t1 = $2[0];
|
|
503851
503156
|
}
|
|
503852
|
-
|
|
503157
|
+
import_react322.default.useEffect(_temp303, t1);
|
|
503853
503158
|
let t2;
|
|
503854
503159
|
if ($2[1] !== onAccept) {
|
|
503855
503160
|
t2 = function onChange2(value) {
|
|
@@ -503877,21 +503182,21 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503877
503182
|
const handleEscape = _temp2101;
|
|
503878
503183
|
let t3;
|
|
503879
503184
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503880
|
-
t3 = /* @__PURE__ */
|
|
503185
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503881
503186
|
flexDirection: "column",
|
|
503882
503187
|
gap: 1,
|
|
503883
503188
|
children: [
|
|
503884
|
-
/* @__PURE__ */
|
|
503189
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503885
503190
|
children: [
|
|
503886
503191
|
"In Bypass Permissions mode, localclawd will not ask for your approval before running potentially dangerous commands.",
|
|
503887
|
-
/* @__PURE__ */
|
|
503192
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503888
503193
|
"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
|
|
503889
503194
|
]
|
|
503890
503195
|
}, undefined, true, undefined, this),
|
|
503891
|
-
/* @__PURE__ */
|
|
503196
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503892
503197
|
children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
|
|
503893
503198
|
}, undefined, false, undefined, this),
|
|
503894
|
-
/* @__PURE__ */
|
|
503199
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Link, {
|
|
503895
503200
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
503896
503201
|
}, undefined, false, undefined, this)
|
|
503897
503202
|
]
|
|
@@ -503915,13 +503220,13 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503915
503220
|
}
|
|
503916
503221
|
let t5;
|
|
503917
503222
|
if ($2[5] !== onChange) {
|
|
503918
|
-
t5 = /* @__PURE__ */
|
|
503223
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Dialog, {
|
|
503919
503224
|
title: "WARNING: localclawd running in Bypass Permissions mode",
|
|
503920
503225
|
color: "error",
|
|
503921
503226
|
onCancel: handleEscape,
|
|
503922
503227
|
children: [
|
|
503923
503228
|
t3,
|
|
503924
|
-
/* @__PURE__ */
|
|
503229
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Select, {
|
|
503925
503230
|
options: t4,
|
|
503926
503231
|
onChange: (value_0) => onChange(value_0)
|
|
503927
503232
|
}, undefined, false, undefined, this)
|
|
@@ -503940,15 +503245,15 @@ function _temp2101() {
|
|
|
503940
503245
|
function _temp303() {
|
|
503941
503246
|
logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
|
|
503942
503247
|
}
|
|
503943
|
-
var
|
|
503248
|
+
var import_react322, jsx_dev_runtime483;
|
|
503944
503249
|
var init_BypassPermissionsModeDialog = __esm(() => {
|
|
503945
503250
|
init_ink2();
|
|
503946
503251
|
init_gracefulShutdown();
|
|
503947
503252
|
init_settings2();
|
|
503948
503253
|
init_CustomSelect();
|
|
503949
503254
|
init_Dialog();
|
|
503950
|
-
|
|
503951
|
-
|
|
503255
|
+
import_react322 = __toESM(require_react(), 1);
|
|
503256
|
+
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503952
503257
|
});
|
|
503953
503258
|
|
|
503954
503259
|
// src/components/ClaudeInChromeOnboarding.tsx
|
|
@@ -503961,7 +503266,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
503961
503266
|
const {
|
|
503962
503267
|
onDone
|
|
503963
503268
|
} = t0;
|
|
503964
|
-
const [isExtensionInstalled, setIsExtensionInstalled] =
|
|
503269
|
+
const [isExtensionInstalled, setIsExtensionInstalled] = import_react323.default.useState(false);
|
|
503965
503270
|
let t1;
|
|
503966
503271
|
let t2;
|
|
503967
503272
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -503977,7 +503282,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
503977
503282
|
t1 = $2[0];
|
|
503978
503283
|
t2 = $2[1];
|
|
503979
503284
|
}
|
|
503980
|
-
|
|
503285
|
+
import_react323.default.useEffect(t1, t2);
|
|
503981
503286
|
let t3;
|
|
503982
503287
|
if ($2[2] !== onDone) {
|
|
503983
503288
|
t3 = (_input, key) => {
|
|
@@ -503993,13 +503298,13 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
503993
503298
|
use_input_default(t3);
|
|
503994
503299
|
let t4;
|
|
503995
503300
|
if ($2[4] !== isExtensionInstalled) {
|
|
503996
|
-
t4 = !isExtensionInstalled && /* @__PURE__ */
|
|
503301
|
+
t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
503997
503302
|
children: [
|
|
503998
|
-
/* @__PURE__ */
|
|
503999
|
-
/* @__PURE__ */
|
|
503303
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503304
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
504000
503305
|
"Requires the Chrome extension. Get started at",
|
|
504001
503306
|
" ",
|
|
504002
|
-
/* @__PURE__ */
|
|
503307
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504003
503308
|
url: CHROME_EXTENSION_URL2
|
|
504004
503309
|
}, undefined, false, undefined, this)
|
|
504005
503310
|
]
|
|
@@ -504011,7 +503316,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504011
503316
|
}
|
|
504012
503317
|
let t5;
|
|
504013
503318
|
if ($2[6] !== t4) {
|
|
504014
|
-
t5 = /* @__PURE__ */
|
|
503319
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504015
503320
|
children: [
|
|
504016
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.",
|
|
504017
503322
|
t4
|
|
@@ -504024,11 +503329,11 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504024
503329
|
}
|
|
504025
503330
|
let t6;
|
|
504026
503331
|
if ($2[8] !== isExtensionInstalled) {
|
|
504027
|
-
t6 = isExtensionInstalled && /* @__PURE__ */
|
|
503332
|
+
t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
504028
503333
|
children: [
|
|
504029
503334
|
" ",
|
|
504030
503335
|
"(",
|
|
504031
|
-
/* @__PURE__ */
|
|
503336
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504032
503337
|
url: CHROME_PERMISSIONS_URL2
|
|
504033
503338
|
}, undefined, false, undefined, this),
|
|
504034
503339
|
")"
|
|
@@ -504041,7 +503346,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504041
503346
|
}
|
|
504042
503347
|
let t7;
|
|
504043
503348
|
if ($2[10] !== t6) {
|
|
504044
|
-
t7 = /* @__PURE__ */
|
|
503349
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504045
503350
|
dimColor: true,
|
|
504046
503351
|
children: [
|
|
504047
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",
|
|
@@ -504056,7 +503361,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504056
503361
|
}
|
|
504057
503362
|
let t8;
|
|
504058
503363
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504059
|
-
t8 = /* @__PURE__ */
|
|
503364
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504060
503365
|
bold: true,
|
|
504061
503366
|
color: "chromeYellow",
|
|
504062
503367
|
children: "/chrome"
|
|
@@ -504067,7 +503372,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504067
503372
|
}
|
|
504068
503373
|
let t9;
|
|
504069
503374
|
if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504070
|
-
t9 = /* @__PURE__ */
|
|
503375
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504071
503376
|
dimColor: true,
|
|
504072
503377
|
children: [
|
|
504073
503378
|
"For more info, use",
|
|
@@ -504075,7 +503380,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504075
503380
|
t8,
|
|
504076
503381
|
" ",
|
|
504077
503382
|
"or visit ",
|
|
504078
|
-
/* @__PURE__ */
|
|
503383
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504079
503384
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
504080
503385
|
}, undefined, false, undefined, this)
|
|
504081
503386
|
]
|
|
@@ -504086,7 +503391,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504086
503391
|
}
|
|
504087
503392
|
let t10;
|
|
504088
503393
|
if ($2[14] !== t5 || $2[15] !== t7) {
|
|
504089
|
-
t10 = /* @__PURE__ */
|
|
503394
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
504090
503395
|
flexDirection: "column",
|
|
504091
503396
|
gap: 1,
|
|
504092
503397
|
children: [
|
|
@@ -504103,7 +503408,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504103
503408
|
}
|
|
504104
503409
|
let t11;
|
|
504105
503410
|
if ($2[17] !== onDone || $2[18] !== t10) {
|
|
504106
|
-
t11 = /* @__PURE__ */
|
|
503411
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Dialog, {
|
|
504107
503412
|
title: "localclawd in Chrome (Beta)",
|
|
504108
503413
|
onCancel: onDone,
|
|
504109
503414
|
color: "chromeYellow",
|
|
@@ -504123,25 +503428,18 @@ function _temp304(current) {
|
|
|
504123
503428
|
hasCompletedClaudeInChromeOnboarding: true
|
|
504124
503429
|
};
|
|
504125
503430
|
}
|
|
504126
|
-
var
|
|
503431
|
+
var import_react323, jsx_dev_runtime484, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
|
|
504127
503432
|
var init_ClaudeInChromeOnboarding = __esm(() => {
|
|
504128
503433
|
init_ink2();
|
|
504129
503434
|
init_setup3();
|
|
504130
503435
|
init_config();
|
|
504131
503436
|
init_Dialog();
|
|
504132
|
-
|
|
504133
|
-
|
|
503437
|
+
import_react323 = __toESM(require_react(), 1);
|
|
503438
|
+
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504134
503439
|
});
|
|
504135
503440
|
|
|
504136
503441
|
// src/interactiveHelpers.tsx
|
|
504137
503442
|
import { appendFileSync as appendFileSync3 } from "fs";
|
|
504138
|
-
function completeOnboarding() {
|
|
504139
|
-
saveGlobalConfig((current) => ({
|
|
504140
|
-
...current,
|
|
504141
|
-
hasCompletedOnboarding: true,
|
|
504142
|
-
lastOnboardingVersion: "1.1.11"
|
|
504143
|
-
}));
|
|
504144
|
-
}
|
|
504145
503443
|
function showDialog(root3, renderer) {
|
|
504146
503444
|
return new Promise((resolve40) => {
|
|
504147
503445
|
const done = (result) => void resolve40(result);
|
|
@@ -504160,10 +503458,10 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504160
503458
|
} = await Promise.resolve().then(() => (init_ink2(), exports_ink));
|
|
504161
503459
|
const color3 = options?.color;
|
|
504162
503460
|
const exitCode = options?.exitCode ?? 1;
|
|
504163
|
-
root3.render(color3 ? /* @__PURE__ */
|
|
503461
|
+
root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504164
503462
|
color: color3,
|
|
504165
503463
|
children: message
|
|
504166
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
503464
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504167
503465
|
children: message
|
|
504168
503466
|
}, undefined, false, undefined, this));
|
|
504169
503467
|
root3.unmount();
|
|
@@ -504171,7 +503469,7 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504171
503469
|
process.exit(exitCode);
|
|
504172
503470
|
}
|
|
504173
503471
|
function showSetupDialog(root3, renderer, options) {
|
|
504174
|
-
return showDialog(root3, (done) => /* @__PURE__ */
|
|
503472
|
+
return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504175
503473
|
onChangeAppState: options?.onChangeAppState,
|
|
504176
503474
|
children: renderer(done)
|
|
504177
503475
|
}, undefined, false, undefined, this));
|
|
@@ -504186,87 +503484,15 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504186
503484
|
if (isEnvTruthy(false) || process.env.IS_DEMO) {
|
|
504187
503485
|
return false;
|
|
504188
503486
|
}
|
|
504189
|
-
const
|
|
504190
|
-
const {
|
|
504191
|
-
StartPage: StartPage2
|
|
504192
|
-
} = await Promise.resolve().then(() => (init_StartPage(), exports_StartPage));
|
|
504193
|
-
const startAction = await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504194
|
-
onChangeAppState,
|
|
504195
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(StartPage2, {
|
|
504196
|
-
currentConfig: {
|
|
504197
|
-
provider: config2.localBackendProvider,
|
|
504198
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504199
|
-
model: config2.localBackendModel,
|
|
504200
|
-
apiKey: config2.localBackendApiKey
|
|
504201
|
-
},
|
|
504202
|
-
onDone: done
|
|
504203
|
-
}, undefined, false, undefined, this)
|
|
504204
|
-
}, undefined, false, undefined, this));
|
|
504205
|
-
if (startAction === "configure-backend") {
|
|
504206
|
-
const {
|
|
504207
|
-
LocalBackendSetup: LocalBackendSetup2
|
|
504208
|
-
} = await Promise.resolve().then(() => (init_LocalBackendSetup(), exports_LocalBackendSetup));
|
|
504209
|
-
const {
|
|
504210
|
-
clearSessionLocalLLMConfigOverride: clearSessionLocalLLMConfigOverride2,
|
|
504211
|
-
setSessionLocalLLMConfigOverride: setSessionLocalLLMConfigOverride2
|
|
504212
|
-
} = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
504213
|
-
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504214
|
-
onChangeAppState,
|
|
504215
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LocalBackendSetup2, {
|
|
504216
|
-
initialConfig: {
|
|
504217
|
-
provider: config2.localBackendProvider,
|
|
504218
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504219
|
-
model: config2.localBackendModel,
|
|
504220
|
-
apiKey: config2.localBackendApiKey
|
|
504221
|
-
},
|
|
504222
|
-
onComplete: (nextConfig, options) => {
|
|
504223
|
-
if (options?.saveGlobally === false) {
|
|
504224
|
-
setSessionLocalLLMConfigOverride2(nextConfig);
|
|
504225
|
-
} else {
|
|
504226
|
-
clearSessionLocalLLMConfigOverride2();
|
|
504227
|
-
saveGlobalConfig((current) => ({
|
|
504228
|
-
...current,
|
|
504229
|
-
localBackendProvider: nextConfig.provider,
|
|
504230
|
-
localBackendBaseUrl: nextConfig.baseUrl,
|
|
504231
|
-
localBackendModel: nextConfig.model,
|
|
504232
|
-
localBackendApiKey: nextConfig.apiKey
|
|
504233
|
-
}));
|
|
504234
|
-
}
|
|
504235
|
-
done();
|
|
504236
|
-
},
|
|
504237
|
-
onCancel: () => {
|
|
504238
|
-
done();
|
|
504239
|
-
},
|
|
504240
|
-
title: "Connect your model backend",
|
|
504241
|
-
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.",
|
|
504242
|
-
showSaveGloballyOption: true
|
|
504243
|
-
}, undefined, false, undefined, this)
|
|
504244
|
-
}, undefined, false, undefined, this));
|
|
504245
|
-
}
|
|
504246
|
-
let onboardingShown = false;
|
|
504247
|
-
if (!config2.theme || !config2.hasCompletedOnboarding) {
|
|
504248
|
-
onboardingShown = true;
|
|
504249
|
-
const {
|
|
504250
|
-
Onboarding: Onboarding2
|
|
504251
|
-
} = await Promise.resolve().then(() => (init_Onboarding(), exports_Onboarding));
|
|
504252
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Onboarding2, {
|
|
504253
|
-
showWelcome: false,
|
|
504254
|
-
onDone: () => {
|
|
504255
|
-
completeOnboarding();
|
|
504256
|
-
done();
|
|
504257
|
-
}
|
|
504258
|
-
}, undefined, false, undefined, this), {
|
|
504259
|
-
onChangeAppState
|
|
504260
|
-
});
|
|
504261
|
-
}
|
|
503487
|
+
const onboardingShown = false;
|
|
504262
503488
|
if (!isEnvTruthy(process.env.CLAUBBIT)) {
|
|
504263
503489
|
if (!checkHasTrustDialogAccepted()) {
|
|
504264
503490
|
const {
|
|
504265
503491
|
TrustDialog: TrustDialog2
|
|
504266
503492
|
} = await Promise.resolve().then(() => (init_TrustDialog(), exports_TrustDialog));
|
|
504267
|
-
await showDialog(root3, (done) => /* @__PURE__ */
|
|
503493
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504268
503494
|
onChangeAppState,
|
|
504269
|
-
children: /* @__PURE__ */
|
|
503495
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(TrustDialog2, {
|
|
504270
503496
|
commands: commands2,
|
|
504271
503497
|
onDone: done
|
|
504272
503498
|
}, undefined, false, undefined, this)
|
|
@@ -504287,9 +503513,9 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504287
503513
|
const {
|
|
504288
503514
|
ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
|
|
504289
503515
|
} = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
|
|
504290
|
-
await showDialog(root3, (done) => /* @__PURE__ */
|
|
503516
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504291
503517
|
onChangeAppState,
|
|
504292
|
-
children: /* @__PURE__ */
|
|
503518
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeMdExternalIncludesDialog2, {
|
|
504293
503519
|
onDone: done,
|
|
504294
503520
|
isStandaloneDialog: true,
|
|
504295
503521
|
externalIncludes
|
|
@@ -504305,7 +503531,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504305
503531
|
const {
|
|
504306
503532
|
GroveDialog: GroveDialog2
|
|
504307
503533
|
} = await Promise.resolve().then(() => (init_Grove(), exports_Grove));
|
|
504308
|
-
const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503534
|
+
const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(GroveDialog2, {
|
|
504309
503535
|
showIfAlreadyViewed: false,
|
|
504310
503536
|
location: onboardingShown ? "onboarding" : "policy_update_modal",
|
|
504311
503537
|
onDone: done
|
|
@@ -504320,7 +503546,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504320
503546
|
const {
|
|
504321
503547
|
BypassPermissionsModeDialog: BypassPermissionsModeDialog2
|
|
504322
503548
|
} = await Promise.resolve().then(() => (init_BypassPermissionsModeDialog(), exports_BypassPermissionsModeDialog));
|
|
504323
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503549
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(BypassPermissionsModeDialog2, {
|
|
504324
503550
|
onAccept: done
|
|
504325
503551
|
}, undefined, false, undefined, this));
|
|
504326
503552
|
}
|
|
@@ -504330,7 +503556,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504330
503556
|
const {
|
|
504331
503557
|
ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
|
|
504332
503558
|
} = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
|
|
504333
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503559
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeInChromeOnboarding2, {
|
|
504334
503560
|
onDone: done
|
|
504335
503561
|
}, undefined, false, undefined, this));
|
|
504336
503562
|
}
|
|
@@ -504385,7 +503611,7 @@ function getRenderContext(exitOnCtrlC) {
|
|
|
504385
503611
|
}
|
|
504386
503612
|
};
|
|
504387
503613
|
}
|
|
504388
|
-
var
|
|
503614
|
+
var jsx_dev_runtime485;
|
|
504389
503615
|
var init_interactiveHelpers = __esm(() => {
|
|
504390
503616
|
init_gracefulShutdown();
|
|
504391
503617
|
init_state();
|
|
@@ -504407,7 +503633,7 @@ var init_interactiveHelpers = __esm(() => {
|
|
|
504407
503633
|
init_renderOptions();
|
|
504408
503634
|
init_allErrors();
|
|
504409
503635
|
init_settings2();
|
|
504410
|
-
|
|
503636
|
+
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504411
503637
|
});
|
|
504412
503638
|
|
|
504413
503639
|
// src/components/InvalidSettingsDialog.tsx
|
|
@@ -504440,7 +503666,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504440
503666
|
const handleSelect = t1;
|
|
504441
503667
|
let t2;
|
|
504442
503668
|
if ($2[3] !== settingsErrors) {
|
|
504443
|
-
t2 = /* @__PURE__ */
|
|
503669
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ValidationErrorsList, {
|
|
504444
503670
|
errors: settingsErrors
|
|
504445
503671
|
}, undefined, false, undefined, this);
|
|
504446
503672
|
$2[3] = settingsErrors;
|
|
@@ -504450,7 +503676,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504450
503676
|
}
|
|
504451
503677
|
let t3;
|
|
504452
503678
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504453
|
-
t3 = /* @__PURE__ */
|
|
503679
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
504454
503680
|
dimColor: true,
|
|
504455
503681
|
children: "Files with errors are skipped entirely, not just the invalid settings."
|
|
504456
503682
|
}, undefined, false, undefined, this);
|
|
@@ -504473,7 +503699,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504473
503699
|
}
|
|
504474
503700
|
let t5;
|
|
504475
503701
|
if ($2[7] !== handleSelect) {
|
|
504476
|
-
t5 = /* @__PURE__ */
|
|
503702
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Select, {
|
|
504477
503703
|
options: t4,
|
|
504478
503704
|
onChange: handleSelect
|
|
504479
503705
|
}, undefined, false, undefined, this);
|
|
@@ -504484,7 +503710,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504484
503710
|
}
|
|
504485
503711
|
let t6;
|
|
504486
503712
|
if ($2[9] !== onExit2 || $2[10] !== t2 || $2[11] !== t5) {
|
|
504487
|
-
t6 = /* @__PURE__ */
|
|
503713
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Dialog, {
|
|
504488
503714
|
title: "Settings Error",
|
|
504489
503715
|
onCancel: onExit2,
|
|
504490
503716
|
color: "warning",
|
|
@@ -504503,21 +503729,21 @@ function InvalidSettingsDialog(t0) {
|
|
|
504503
503729
|
}
|
|
504504
503730
|
return t6;
|
|
504505
503731
|
}
|
|
504506
|
-
var
|
|
503732
|
+
var jsx_dev_runtime486;
|
|
504507
503733
|
var init_InvalidSettingsDialog = __esm(() => {
|
|
504508
503734
|
init_ink2();
|
|
504509
503735
|
init_CustomSelect();
|
|
504510
503736
|
init_Dialog();
|
|
504511
503737
|
init_ValidationErrorsList();
|
|
504512
|
-
|
|
503738
|
+
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504513
503739
|
});
|
|
504514
503740
|
|
|
504515
503741
|
// src/hooks/useTeleportResume.tsx
|
|
504516
503742
|
function useTeleportResume(source) {
|
|
504517
503743
|
const $2 = c3(8);
|
|
504518
|
-
const [isResuming, setIsResuming] =
|
|
504519
|
-
const [error5, setError] =
|
|
504520
|
-
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);
|
|
504521
503747
|
let t0;
|
|
504522
503748
|
if ($2[0] !== source) {
|
|
504523
503749
|
t0 = async (session2) => {
|
|
@@ -504582,12 +503808,12 @@ function useTeleportResume(source) {
|
|
|
504582
503808
|
}
|
|
504583
503809
|
return t2;
|
|
504584
503810
|
}
|
|
504585
|
-
var
|
|
503811
|
+
var import_react324;
|
|
504586
503812
|
var init_useTeleportResume = __esm(() => {
|
|
504587
503813
|
init_state();
|
|
504588
503814
|
init_errors();
|
|
504589
503815
|
init_teleport();
|
|
504590
|
-
|
|
503816
|
+
import_react324 = __toESM(require_react(), 1);
|
|
504591
503817
|
});
|
|
504592
503818
|
|
|
504593
503819
|
// src/components/ResumeTask.tsx
|
|
@@ -504599,15 +503825,15 @@ function ResumeTask({
|
|
|
504599
503825
|
const {
|
|
504600
503826
|
rows
|
|
504601
503827
|
} = useTerminalSize();
|
|
504602
|
-
const [sessions, setSessions] =
|
|
504603
|
-
const [currentRepo, setCurrentRepo] =
|
|
504604
|
-
const [loading, setLoading] =
|
|
504605
|
-
const [loadErrorType, setLoadErrorType] =
|
|
504606
|
-
const [retrying, setRetrying] =
|
|
504607
|
-
const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] =
|
|
504608
|
-
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);
|
|
504609
503835
|
const escKey = useShortcutDisplay("confirm:no", "Confirmation", "Esc");
|
|
504610
|
-
const loadSessions =
|
|
503836
|
+
const loadSessions = import_react325.useCallback(async () => {
|
|
504611
503837
|
try {
|
|
504612
503838
|
setLoading(true);
|
|
504613
503839
|
setLoadErrorType(null);
|
|
@@ -504661,31 +503887,31 @@ function ResumeTask({
|
|
|
504661
503887
|
return;
|
|
504662
503888
|
}
|
|
504663
503889
|
});
|
|
504664
|
-
const handleErrorComplete =
|
|
503890
|
+
const handleErrorComplete = import_react325.useCallback(() => {
|
|
504665
503891
|
setHasCompletedTeleportErrorFlow(true);
|
|
504666
503892
|
loadSessions();
|
|
504667
503893
|
}, [setHasCompletedTeleportErrorFlow, loadSessions]);
|
|
504668
503894
|
if (!hasCompletedTeleportErrorFlow) {
|
|
504669
|
-
return /* @__PURE__ */
|
|
503895
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(TeleportError, {
|
|
504670
503896
|
onComplete: handleErrorComplete
|
|
504671
503897
|
}, undefined, false, undefined, this);
|
|
504672
503898
|
}
|
|
504673
503899
|
if (loading) {
|
|
504674
|
-
return /* @__PURE__ */
|
|
503900
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504675
503901
|
flexDirection: "column",
|
|
504676
503902
|
padding: 1,
|
|
504677
503903
|
children: [
|
|
504678
|
-
/* @__PURE__ */
|
|
503904
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504679
503905
|
flexDirection: "row",
|
|
504680
503906
|
children: [
|
|
504681
|
-
/* @__PURE__ */
|
|
504682
|
-
/* @__PURE__ */
|
|
503907
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
503908
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504683
503909
|
bold: true,
|
|
504684
503910
|
children: "Loading localclawd sessions…"
|
|
504685
503911
|
}, undefined, false, undefined, this)
|
|
504686
503912
|
]
|
|
504687
503913
|
}, undefined, true, undefined, this),
|
|
504688
|
-
/* @__PURE__ */
|
|
503914
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504689
503915
|
dimColor: true,
|
|
504690
503916
|
children: retrying ? "Retrying…" : "Fetching your localclawd sessions…"
|
|
504691
503917
|
}, undefined, false, undefined, this)
|
|
@@ -504693,27 +503919,27 @@ function ResumeTask({
|
|
|
504693
503919
|
}, undefined, true, undefined, this);
|
|
504694
503920
|
}
|
|
504695
503921
|
if (loadErrorType) {
|
|
504696
|
-
return /* @__PURE__ */
|
|
503922
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504697
503923
|
flexDirection: "column",
|
|
504698
503924
|
padding: 1,
|
|
504699
503925
|
children: [
|
|
504700
|
-
/* @__PURE__ */
|
|
503926
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504701
503927
|
bold: true,
|
|
504702
503928
|
color: "error",
|
|
504703
503929
|
children: "Error loading localclawd sessions"
|
|
504704
503930
|
}, undefined, false, undefined, this),
|
|
504705
503931
|
renderErrorSpecificGuidance(loadErrorType),
|
|
504706
|
-
/* @__PURE__ */
|
|
503932
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504707
503933
|
dimColor: true,
|
|
504708
503934
|
children: [
|
|
504709
503935
|
"Press ",
|
|
504710
|
-
/* @__PURE__ */
|
|
503936
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504711
503937
|
bold: true,
|
|
504712
503938
|
children: "Ctrl+R"
|
|
504713
503939
|
}, undefined, false, undefined, this),
|
|
504714
503940
|
" to retry · Press",
|
|
504715
503941
|
" ",
|
|
504716
|
-
/* @__PURE__ */
|
|
503942
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504717
503943
|
bold: true,
|
|
504718
503944
|
children: escKey
|
|
504719
503945
|
}, undefined, false, undefined, this),
|
|
@@ -504724,15 +503950,15 @@ function ResumeTask({
|
|
|
504724
503950
|
}, undefined, true, undefined, this);
|
|
504725
503951
|
}
|
|
504726
503952
|
if (sessions.length === 0) {
|
|
504727
|
-
return /* @__PURE__ */
|
|
503953
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504728
503954
|
flexDirection: "column",
|
|
504729
503955
|
padding: 1,
|
|
504730
503956
|
children: [
|
|
504731
|
-
/* @__PURE__ */
|
|
503957
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504732
503958
|
bold: true,
|
|
504733
503959
|
children: [
|
|
504734
503960
|
"No localclawd sessions found",
|
|
504735
|
-
currentRepo && /* @__PURE__ */
|
|
503961
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504736
503962
|
children: [
|
|
504737
503963
|
" for ",
|
|
504738
503964
|
currentRepo
|
|
@@ -504740,13 +503966,13 @@ function ResumeTask({
|
|
|
504740
503966
|
}, undefined, true, undefined, this)
|
|
504741
503967
|
]
|
|
504742
503968
|
}, undefined, true, undefined, this),
|
|
504743
|
-
/* @__PURE__ */
|
|
503969
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504744
503970
|
marginTop: 1,
|
|
504745
|
-
children: /* @__PURE__ */
|
|
503971
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504746
503972
|
dimColor: true,
|
|
504747
503973
|
children: [
|
|
504748
503974
|
"Press ",
|
|
504749
|
-
/* @__PURE__ */
|
|
503975
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504750
503976
|
bold: true,
|
|
504751
503977
|
children: escKey
|
|
504752
503978
|
}, undefined, false, undefined, this),
|
|
@@ -504777,16 +504003,16 @@ function ResumeTask({
|
|
|
504777
504003
|
const maxVisibleOptions = Math.max(1, isEmbedded ? Math.min(sessions.length, 5, rows - 6 - layoutOverhead) : Math.min(sessions.length, rows - 1 - layoutOverhead));
|
|
504778
504004
|
const maxHeight = maxVisibleOptions + layoutOverhead;
|
|
504779
504005
|
const showScrollPosition = sessions.length > maxVisibleOptions;
|
|
504780
|
-
return /* @__PURE__ */
|
|
504006
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504781
504007
|
flexDirection: "column",
|
|
504782
504008
|
padding: 1,
|
|
504783
504009
|
height: maxHeight,
|
|
504784
504010
|
children: [
|
|
504785
|
-
/* @__PURE__ */
|
|
504011
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504786
504012
|
bold: true,
|
|
504787
504013
|
children: [
|
|
504788
504014
|
"Select a session to resume",
|
|
504789
|
-
showScrollPosition && /* @__PURE__ */
|
|
504015
|
+
showScrollPosition && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504790
504016
|
dimColor: true,
|
|
504791
504017
|
children: [
|
|
504792
504018
|
" ",
|
|
@@ -504797,7 +504023,7 @@ function ResumeTask({
|
|
|
504797
504023
|
")"
|
|
504798
504024
|
]
|
|
504799
504025
|
}, undefined, true, undefined, this),
|
|
504800
|
-
currentRepo && /* @__PURE__ */
|
|
504026
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504801
504027
|
dimColor: true,
|
|
504802
504028
|
children: [
|
|
504803
504029
|
" (",
|
|
@@ -504808,14 +504034,14 @@ function ResumeTask({
|
|
|
504808
504034
|
":"
|
|
504809
504035
|
]
|
|
504810
504036
|
}, undefined, true, undefined, this),
|
|
504811
|
-
/* @__PURE__ */
|
|
504037
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504812
504038
|
flexDirection: "column",
|
|
504813
504039
|
marginTop: 1,
|
|
504814
504040
|
flexGrow: 1,
|
|
504815
504041
|
children: [
|
|
504816
|
-
/* @__PURE__ */
|
|
504042
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504817
504043
|
marginLeft: 2,
|
|
504818
|
-
children: /* @__PURE__ */
|
|
504044
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504819
504045
|
bold: true,
|
|
504820
504046
|
children: [
|
|
504821
504047
|
UPDATED_STRING.padEnd(maxTimeStringLength, " "),
|
|
@@ -504824,7 +504050,7 @@ function ResumeTask({
|
|
|
504824
504050
|
]
|
|
504825
504051
|
}, undefined, true, undefined, this)
|
|
504826
504052
|
}, undefined, false, undefined, this),
|
|
504827
|
-
/* @__PURE__ */
|
|
504053
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
|
|
504828
504054
|
visibleOptionCount: maxVisibleOptions,
|
|
504829
504055
|
options,
|
|
504830
504056
|
onChange: (value) => {
|
|
@@ -504842,21 +504068,21 @@ function ResumeTask({
|
|
|
504842
504068
|
}, undefined, false, undefined, this)
|
|
504843
504069
|
]
|
|
504844
504070
|
}, undefined, true, undefined, this),
|
|
504845
|
-
/* @__PURE__ */
|
|
504071
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504846
504072
|
flexDirection: "row",
|
|
504847
|
-
children: /* @__PURE__ */
|
|
504073
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504848
504074
|
dimColor: true,
|
|
504849
|
-
children: /* @__PURE__ */
|
|
504075
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Byline, {
|
|
504850
504076
|
children: [
|
|
504851
|
-
/* @__PURE__ */
|
|
504077
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504852
504078
|
shortcut: "↑/↓",
|
|
504853
504079
|
action: "select"
|
|
504854
504080
|
}, undefined, false, undefined, this),
|
|
504855
|
-
/* @__PURE__ */
|
|
504081
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504856
504082
|
shortcut: "Enter",
|
|
504857
504083
|
action: "confirm"
|
|
504858
504084
|
}, undefined, false, undefined, this),
|
|
504859
|
-
/* @__PURE__ */
|
|
504085
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ConfigurableShortcutHint, {
|
|
504860
504086
|
action: "confirm:no",
|
|
504861
504087
|
context: "Confirmation",
|
|
504862
504088
|
fallback: "Esc",
|
|
@@ -504885,28 +504111,28 @@ function determineErrorType(errorMessage4) {
|
|
|
504885
504111
|
function renderErrorSpecificGuidance(errorType) {
|
|
504886
504112
|
switch (errorType) {
|
|
504887
504113
|
case "network":
|
|
504888
|
-
return /* @__PURE__ */
|
|
504114
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504889
504115
|
marginY: 1,
|
|
504890
504116
|
flexDirection: "column",
|
|
504891
|
-
children: /* @__PURE__ */
|
|
504117
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504892
504118
|
dimColor: true,
|
|
504893
504119
|
children: "Check your internet connection"
|
|
504894
504120
|
}, undefined, false, undefined, this)
|
|
504895
504121
|
}, undefined, false, undefined, this);
|
|
504896
504122
|
case "auth":
|
|
504897
|
-
return /* @__PURE__ */
|
|
504123
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504898
504124
|
marginY: 1,
|
|
504899
504125
|
flexDirection: "column",
|
|
504900
504126
|
children: [
|
|
504901
|
-
/* @__PURE__ */
|
|
504127
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504902
504128
|
dimColor: true,
|
|
504903
504129
|
children: "Remote web sessions are disabled in this local-first build"
|
|
504904
504130
|
}, undefined, false, undefined, this),
|
|
504905
|
-
/* @__PURE__ */
|
|
504131
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504906
504132
|
dimColor: true,
|
|
504907
504133
|
children: [
|
|
504908
504134
|
"Use ",
|
|
504909
|
-
/* @__PURE__ */
|
|
504135
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504910
504136
|
bold: true,
|
|
504911
504137
|
children: "/provider"
|
|
504912
504138
|
}, undefined, false, undefined, this),
|
|
@@ -504916,26 +504142,26 @@ function renderErrorSpecificGuidance(errorType) {
|
|
|
504916
504142
|
]
|
|
504917
504143
|
}, undefined, true, undefined, this);
|
|
504918
504144
|
case "api":
|
|
504919
|
-
return /* @__PURE__ */
|
|
504145
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504920
504146
|
marginY: 1,
|
|
504921
504147
|
flexDirection: "column",
|
|
504922
|
-
children: /* @__PURE__ */
|
|
504148
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504923
504149
|
dimColor: true,
|
|
504924
504150
|
children: "Sorry, Claude encountered an error"
|
|
504925
504151
|
}, undefined, false, undefined, this)
|
|
504926
504152
|
}, undefined, false, undefined, this);
|
|
504927
504153
|
case "other":
|
|
504928
|
-
return /* @__PURE__ */
|
|
504154
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504929
504155
|
marginY: 1,
|
|
504930
504156
|
flexDirection: "row",
|
|
504931
|
-
children: /* @__PURE__ */
|
|
504157
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504932
504158
|
dimColor: true,
|
|
504933
504159
|
children: "Sorry, Claude Code encountered an error"
|
|
504934
504160
|
}, undefined, false, undefined, this)
|
|
504935
504161
|
}, undefined, false, undefined, this);
|
|
504936
504162
|
}
|
|
504937
504163
|
}
|
|
504938
|
-
var
|
|
504164
|
+
var import_react325, jsx_dev_runtime487, UPDATED_STRING = "Updated", SPACE_BETWEEN_TABLE_COLUMNS = " ";
|
|
504939
504165
|
var init_ResumeTask = __esm(() => {
|
|
504940
504166
|
init_useTerminalSize();
|
|
504941
504167
|
init_api();
|
|
@@ -504951,8 +504177,8 @@ var init_ResumeTask = __esm(() => {
|
|
|
504951
504177
|
init_KeyboardShortcutHint();
|
|
504952
504178
|
init_Spinner2();
|
|
504953
504179
|
init_TeleportError();
|
|
504954
|
-
|
|
504955
|
-
|
|
504180
|
+
import_react325 = __toESM(require_react(), 1);
|
|
504181
|
+
jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504956
504182
|
});
|
|
504957
504183
|
|
|
504958
504184
|
// src/components/TeleportResumeWrapper.tsx
|
|
@@ -504992,7 +504218,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
504992
504218
|
t2 = $2[1];
|
|
504993
504219
|
t3 = $2[2];
|
|
504994
504220
|
}
|
|
504995
|
-
|
|
504221
|
+
import_react326.useEffect(t2, t3);
|
|
504996
504222
|
let t4;
|
|
504997
504223
|
if ($2[3] !== error5 || $2[4] !== onComplete || $2[5] !== onError || $2[6] !== resumeSession) {
|
|
504998
504224
|
t4 = async (session2) => {
|
|
@@ -505044,11 +504270,11 @@ function TeleportResumeWrapper(t0) {
|
|
|
505044
504270
|
if (isResuming && selectedSession) {
|
|
505045
504271
|
let t82;
|
|
505046
504272
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505047
|
-
t82 = /* @__PURE__ */
|
|
504273
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505048
504274
|
flexDirection: "row",
|
|
505049
504275
|
children: [
|
|
505050
|
-
/* @__PURE__ */
|
|
505051
|
-
/* @__PURE__ */
|
|
504276
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504277
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505052
504278
|
bold: true,
|
|
505053
504279
|
children: "Resuming session…"
|
|
505054
504280
|
}, undefined, false, undefined, this)
|
|
@@ -505060,12 +504286,12 @@ function TeleportResumeWrapper(t0) {
|
|
|
505060
504286
|
}
|
|
505061
504287
|
let t9;
|
|
505062
504288
|
if ($2[13] !== selectedSession.title) {
|
|
505063
|
-
t9 = /* @__PURE__ */
|
|
504289
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505064
504290
|
flexDirection: "column",
|
|
505065
504291
|
padding: 1,
|
|
505066
504292
|
children: [
|
|
505067
504293
|
t82,
|
|
505068
|
-
/* @__PURE__ */
|
|
504294
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505069
504295
|
dimColor: true,
|
|
505070
504296
|
children: [
|
|
505071
504297
|
'Loading "',
|
|
@@ -505085,7 +504311,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505085
504311
|
if (error5 && !onError) {
|
|
505086
504312
|
let t82;
|
|
505087
504313
|
if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505088
|
-
t82 = /* @__PURE__ */
|
|
504314
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505089
504315
|
bold: true,
|
|
505090
504316
|
color: "error",
|
|
505091
504317
|
children: "Failed to resume session"
|
|
@@ -505096,7 +504322,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505096
504322
|
}
|
|
505097
504323
|
let t9;
|
|
505098
504324
|
if ($2[16] !== error5.message) {
|
|
505099
|
-
t9 = /* @__PURE__ */
|
|
504325
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505100
504326
|
dimColor: true,
|
|
505101
504327
|
children: error5.message
|
|
505102
504328
|
}, undefined, false, undefined, this);
|
|
@@ -505107,13 +504333,13 @@ function TeleportResumeWrapper(t0) {
|
|
|
505107
504333
|
}
|
|
505108
504334
|
let t10;
|
|
505109
504335
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505110
|
-
t10 = /* @__PURE__ */
|
|
504336
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505111
504337
|
marginTop: 1,
|
|
505112
|
-
children: /* @__PURE__ */
|
|
504338
|
+
children: /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505113
504339
|
dimColor: true,
|
|
505114
504340
|
children: [
|
|
505115
504341
|
"Press ",
|
|
505116
|
-
/* @__PURE__ */
|
|
504342
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505117
504343
|
bold: true,
|
|
505118
504344
|
children: "Esc"
|
|
505119
504345
|
}, undefined, false, undefined, this),
|
|
@@ -505127,7 +504353,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505127
504353
|
}
|
|
505128
504354
|
let t11;
|
|
505129
504355
|
if ($2[19] !== t9) {
|
|
505130
|
-
t11 = /* @__PURE__ */
|
|
504356
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505131
504357
|
flexDirection: "column",
|
|
505132
504358
|
padding: 1,
|
|
505133
504359
|
children: [
|
|
@@ -505145,7 +504371,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505145
504371
|
}
|
|
505146
504372
|
let t8;
|
|
505147
504373
|
if ($2[21] !== handleCancel || $2[22] !== handleSelect || $2[23] !== isEmbedded) {
|
|
505148
|
-
t8 = /* @__PURE__ */
|
|
504374
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ResumeTask, {
|
|
505149
504375
|
onSelect: handleSelect,
|
|
505150
504376
|
onCancel: handleCancel,
|
|
505151
504377
|
isEmbedded
|
|
@@ -505159,15 +504385,15 @@ function TeleportResumeWrapper(t0) {
|
|
|
505159
504385
|
}
|
|
505160
504386
|
return t8;
|
|
505161
504387
|
}
|
|
505162
|
-
var
|
|
504388
|
+
var import_react326, jsx_dev_runtime488;
|
|
505163
504389
|
var init_TeleportResumeWrapper = __esm(() => {
|
|
505164
504390
|
init_useTeleportResume();
|
|
505165
504391
|
init_ink2();
|
|
505166
504392
|
init_useKeybinding();
|
|
505167
504393
|
init_ResumeTask();
|
|
505168
504394
|
init_Spinner2();
|
|
505169
|
-
|
|
505170
|
-
|
|
504395
|
+
import_react326 = __toESM(require_react(), 1);
|
|
504396
|
+
jsx_dev_runtime488 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505171
504397
|
});
|
|
505172
504398
|
|
|
505173
504399
|
// src/components/TeleportRepoMismatchDialog.tsx
|
|
@@ -505183,9 +504409,9 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505183
504409
|
onSelectPath,
|
|
505184
504410
|
onCancel
|
|
505185
504411
|
} = t0;
|
|
505186
|
-
const [availablePaths, setAvailablePaths] =
|
|
505187
|
-
const [errorMessage4, setErrorMessage] =
|
|
505188
|
-
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);
|
|
505189
504415
|
let t1;
|
|
505190
504416
|
if ($2[0] !== availablePaths || $2[1] !== onCancel || $2[2] !== onSelectPath || $2[3] !== targetRepo) {
|
|
505191
504417
|
t1 = async (value) => {
|
|
@@ -505236,20 +504462,20 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505236
504462
|
const options = t2;
|
|
505237
504463
|
let t3;
|
|
505238
504464
|
if ($2[8] !== availablePaths.length || $2[9] !== errorMessage4 || $2[10] !== handleChange4 || $2[11] !== options || $2[12] !== targetRepo || $2[13] !== validating) {
|
|
505239
|
-
t3 = availablePaths.length > 0 ? /* @__PURE__ */
|
|
504465
|
+
t3 = availablePaths.length > 0 ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
|
|
505240
504466
|
children: [
|
|
505241
|
-
/* @__PURE__ */
|
|
504467
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505242
504468
|
flexDirection: "column",
|
|
505243
504469
|
gap: 1,
|
|
505244
504470
|
children: [
|
|
505245
|
-
errorMessage4 && /* @__PURE__ */
|
|
504471
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505246
504472
|
color: "error",
|
|
505247
504473
|
children: errorMessage4
|
|
505248
504474
|
}, undefined, false, undefined, this),
|
|
505249
|
-
/* @__PURE__ */
|
|
504475
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505250
504476
|
children: [
|
|
505251
504477
|
"Open Claude Code in ",
|
|
505252
|
-
/* @__PURE__ */
|
|
504478
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505253
504479
|
bold: true,
|
|
505254
504480
|
children: targetRepo
|
|
505255
504481
|
}, undefined, false, undefined, this),
|
|
@@ -505258,27 +504484,27 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505258
504484
|
}, undefined, true, undefined, this)
|
|
505259
504485
|
]
|
|
505260
504486
|
}, undefined, true, undefined, this),
|
|
505261
|
-
validating ? /* @__PURE__ */
|
|
504487
|
+
validating ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505262
504488
|
children: [
|
|
505263
|
-
/* @__PURE__ */
|
|
505264
|
-
/* @__PURE__ */
|
|
504489
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504490
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505265
504491
|
children: " Validating repository…"
|
|
505266
504492
|
}, undefined, false, undefined, this)
|
|
505267
504493
|
]
|
|
505268
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504494
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Select, {
|
|
505269
504495
|
options,
|
|
505270
504496
|
onChange: (value_0) => void handleChange4(value_0)
|
|
505271
504497
|
}, undefined, false, undefined, this)
|
|
505272
504498
|
]
|
|
505273
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504499
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505274
504500
|
flexDirection: "column",
|
|
505275
504501
|
gap: 1,
|
|
505276
504502
|
children: [
|
|
505277
|
-
errorMessage4 && /* @__PURE__ */
|
|
504503
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505278
504504
|
color: "error",
|
|
505279
504505
|
children: errorMessage4
|
|
505280
504506
|
}, undefined, false, undefined, this),
|
|
505281
|
-
/* @__PURE__ */
|
|
504507
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505282
504508
|
dimColor: true,
|
|
505283
504509
|
children: [
|
|
505284
504510
|
"Run claude --teleport from a checkout of ",
|
|
@@ -505299,7 +504525,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505299
504525
|
}
|
|
505300
504526
|
let t4;
|
|
505301
504527
|
if ($2[15] !== onCancel || $2[16] !== t3) {
|
|
505302
|
-
t4 = /* @__PURE__ */
|
|
504528
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
|
|
505303
504529
|
title: "Teleport to Repo",
|
|
505304
504530
|
onCancel,
|
|
505305
504531
|
color: "background",
|
|
@@ -505315,10 +504541,10 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505315
504541
|
}
|
|
505316
504542
|
function _temp305(path17) {
|
|
505317
504543
|
return {
|
|
505318
|
-
label: /* @__PURE__ */
|
|
504544
|
+
label: /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505319
504545
|
children: [
|
|
505320
504546
|
"Use ",
|
|
505321
|
-
/* @__PURE__ */
|
|
504547
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505322
504548
|
bold: true,
|
|
505323
504549
|
children: getDisplayPath(path17)
|
|
505324
504550
|
}, undefined, false, undefined, this)
|
|
@@ -505327,7 +504553,7 @@ function _temp305(path17) {
|
|
|
505327
504553
|
value: path17
|
|
505328
504554
|
};
|
|
505329
504555
|
}
|
|
505330
|
-
var
|
|
504556
|
+
var import_react327, jsx_dev_runtime489;
|
|
505331
504557
|
var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
505332
504558
|
init_ink2();
|
|
505333
504559
|
init_file();
|
|
@@ -505335,8 +504561,8 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
|
505335
504561
|
init_CustomSelect();
|
|
505336
504562
|
init_Dialog();
|
|
505337
504563
|
init_Spinner2();
|
|
505338
|
-
|
|
505339
|
-
|
|
504564
|
+
import_react327 = __toESM(require_react(), 1);
|
|
504565
|
+
jsx_dev_runtime489 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505340
504566
|
});
|
|
505341
504567
|
|
|
505342
504568
|
// src/screens/ResumeConversation.tsx
|
|
@@ -505381,15 +504607,15 @@ function ResumeConversation({
|
|
|
505381
504607
|
} = useTerminalSize();
|
|
505382
504608
|
const agentDefinitions2 = useAppState((s) => s.agentDefinitions);
|
|
505383
504609
|
const setAppState = useSetAppState();
|
|
505384
|
-
const [logs2, setLogs] =
|
|
505385
|
-
const [loading, setLoading] =
|
|
505386
|
-
const [resuming, setResuming] =
|
|
505387
|
-
const [showAllProjects, setShowAllProjects] =
|
|
505388
|
-
const [resumeData, setResumeData] =
|
|
505389
|
-
const [crossProjectCommand, setCrossProjectCommand] =
|
|
505390
|
-
const sessionLogResultRef =
|
|
505391
|
-
const logCountRef =
|
|
505392
|
-
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(() => {
|
|
505393
504619
|
let result = logs2.filter((l) => !l.isSidechain);
|
|
505394
504620
|
if (filterByPr !== undefined) {
|
|
505395
504621
|
if (filterByPr === true) {
|
|
@@ -505406,7 +504632,7 @@ function ResumeConversation({
|
|
|
505406
504632
|
return result;
|
|
505407
504633
|
}, [logs2, filterByPr]);
|
|
505408
504634
|
const isResumeWithRenameEnabled = isCustomTitleEnabled();
|
|
505409
|
-
|
|
504635
|
+
import_react328.default.useEffect(() => {
|
|
505410
504636
|
loadSameRepoMessageLogsProgressive(worktreePaths).then((result_0) => {
|
|
505411
504637
|
sessionLogResultRef.current = result_0;
|
|
505412
504638
|
logCountRef.current = result_0.logs.length;
|
|
@@ -505417,7 +504643,7 @@ function ResumeConversation({
|
|
|
505417
504643
|
setLoading(false);
|
|
505418
504644
|
});
|
|
505419
504645
|
}, [worktreePaths]);
|
|
505420
|
-
const loadMoreLogs =
|
|
504646
|
+
const loadMoreLogs = import_react328.default.useCallback((count3) => {
|
|
505421
504647
|
const ref = sessionLogResultRef.current;
|
|
505422
504648
|
if (!ref || ref.nextIndex >= ref.allStatLogs.length)
|
|
505423
504649
|
return;
|
|
@@ -505435,7 +504661,7 @@ function ResumeConversation({
|
|
|
505435
504661
|
}
|
|
505436
504662
|
});
|
|
505437
504663
|
}, []);
|
|
505438
|
-
const loadLogs =
|
|
504664
|
+
const loadLogs = import_react328.default.useCallback((allProjects) => {
|
|
505439
504665
|
setLoading(true);
|
|
505440
504666
|
const promise2 = allProjects ? loadAllProjectsMessageLogsProgressive() : loadSameRepoMessageLogsProgressive(worktreePaths);
|
|
505441
504667
|
promise2.then((result_2) => {
|
|
@@ -505448,7 +504674,7 @@ function ResumeConversation({
|
|
|
505448
504674
|
setLoading(false);
|
|
505449
504675
|
});
|
|
505450
504676
|
}, [worktreePaths]);
|
|
505451
|
-
const handleToggleAllProjects =
|
|
504677
|
+
const handleToggleAllProjects = import_react328.default.useCallback(() => {
|
|
505452
504678
|
const newValue = !showAllProjects;
|
|
505453
504679
|
setShowAllProjects(newValue);
|
|
505454
504680
|
loadLogs(newValue);
|
|
@@ -505534,12 +504760,12 @@ function ResumeConversation({
|
|
|
505534
504760
|
}
|
|
505535
504761
|
}
|
|
505536
504762
|
if (crossProjectCommand) {
|
|
505537
|
-
return /* @__PURE__ */
|
|
504763
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(CrossProjectMessage, {
|
|
505538
504764
|
command: crossProjectCommand
|
|
505539
504765
|
}, undefined, false, undefined, this);
|
|
505540
504766
|
}
|
|
505541
504767
|
if (resumeData) {
|
|
505542
|
-
return /* @__PURE__ */
|
|
504768
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(REPL, {
|
|
505543
504769
|
debug: debug3,
|
|
505544
504770
|
commands: commands2,
|
|
505545
504771
|
initialTools,
|
|
@@ -505562,29 +504788,29 @@ function ResumeConversation({
|
|
|
505562
504788
|
}, undefined, false, undefined, this);
|
|
505563
504789
|
}
|
|
505564
504790
|
if (loading) {
|
|
505565
|
-
return /* @__PURE__ */
|
|
504791
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505566
504792
|
children: [
|
|
505567
|
-
/* @__PURE__ */
|
|
505568
|
-
/* @__PURE__ */
|
|
504793
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504794
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505569
504795
|
children: " Loading conversations…"
|
|
505570
504796
|
}, undefined, false, undefined, this)
|
|
505571
504797
|
]
|
|
505572
504798
|
}, undefined, true, undefined, this);
|
|
505573
504799
|
}
|
|
505574
504800
|
if (resuming) {
|
|
505575
|
-
return /* @__PURE__ */
|
|
504801
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505576
504802
|
children: [
|
|
505577
|
-
/* @__PURE__ */
|
|
505578
|
-
/* @__PURE__ */
|
|
504803
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504804
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505579
504805
|
children: " Resuming conversation…"
|
|
505580
504806
|
}, undefined, false, undefined, this)
|
|
505581
504807
|
]
|
|
505582
504808
|
}, undefined, true, undefined, this);
|
|
505583
504809
|
}
|
|
505584
504810
|
if (filteredLogs.length === 0) {
|
|
505585
|
-
return /* @__PURE__ */
|
|
504811
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
|
|
505586
504812
|
}
|
|
505587
|
-
return /* @__PURE__ */
|
|
504813
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LogSelector, {
|
|
505588
504814
|
logs: filteredLogs,
|
|
505589
504815
|
maxHeight: rows,
|
|
505590
504816
|
onCancel,
|
|
@@ -505611,13 +504837,13 @@ function NoConversationsMessage() {
|
|
|
505611
504837
|
useKeybinding("app:interrupt", _temp306, t0);
|
|
505612
504838
|
let t1;
|
|
505613
504839
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505614
|
-
t1 = /* @__PURE__ */
|
|
504840
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505615
504841
|
flexDirection: "column",
|
|
505616
504842
|
children: [
|
|
505617
|
-
/* @__PURE__ */
|
|
504843
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505618
504844
|
children: "No conversations found to resume."
|
|
505619
504845
|
}, undefined, false, undefined, this),
|
|
505620
|
-
/* @__PURE__ */
|
|
504846
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505621
504847
|
dimColor: true,
|
|
505622
504848
|
children: "Press Ctrl+C to exit and start a new conversation."
|
|
505623
504849
|
}, undefined, false, undefined, this)
|
|
@@ -505644,10 +504870,10 @@ function CrossProjectMessage(t0) {
|
|
|
505644
504870
|
} else {
|
|
505645
504871
|
t1 = $2[0];
|
|
505646
504872
|
}
|
|
505647
|
-
|
|
504873
|
+
import_react328.default.useEffect(_temp356, t1);
|
|
505648
504874
|
let t2;
|
|
505649
504875
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505650
|
-
t2 = /* @__PURE__ */
|
|
504876
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505651
504877
|
children: "This conversation is from a different directory."
|
|
505652
504878
|
}, undefined, false, undefined, this);
|
|
505653
504879
|
$2[1] = t2;
|
|
@@ -505656,7 +504882,7 @@ function CrossProjectMessage(t0) {
|
|
|
505656
504882
|
}
|
|
505657
504883
|
let t3;
|
|
505658
504884
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505659
|
-
t3 = /* @__PURE__ */
|
|
504885
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505660
504886
|
children: "To resume, run:"
|
|
505661
504887
|
}, undefined, false, undefined, this);
|
|
505662
504888
|
$2[2] = t3;
|
|
@@ -505665,11 +504891,11 @@ function CrossProjectMessage(t0) {
|
|
|
505665
504891
|
}
|
|
505666
504892
|
let t4;
|
|
505667
504893
|
if ($2[3] !== command8) {
|
|
505668
|
-
t4 = /* @__PURE__ */
|
|
504894
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505669
504895
|
flexDirection: "column",
|
|
505670
504896
|
children: [
|
|
505671
504897
|
t3,
|
|
505672
|
-
/* @__PURE__ */
|
|
504898
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505673
504899
|
children: [
|
|
505674
504900
|
" ",
|
|
505675
504901
|
command8
|
|
@@ -505684,7 +504910,7 @@ function CrossProjectMessage(t0) {
|
|
|
505684
504910
|
}
|
|
505685
504911
|
let t5;
|
|
505686
504912
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505687
|
-
t5 = /* @__PURE__ */
|
|
504913
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505688
504914
|
dimColor: true,
|
|
505689
504915
|
children: "(Command copied to clipboard)"
|
|
505690
504916
|
}, undefined, false, undefined, this);
|
|
@@ -505694,7 +504920,7 @@ function CrossProjectMessage(t0) {
|
|
|
505694
504920
|
}
|
|
505695
504921
|
let t6;
|
|
505696
504922
|
if ($2[6] !== t4) {
|
|
505697
|
-
t6 = /* @__PURE__ */
|
|
504923
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505698
504924
|
flexDirection: "column",
|
|
505699
504925
|
gap: 1,
|
|
505700
504926
|
children: [
|
|
@@ -505717,7 +504943,7 @@ function _temp356() {
|
|
|
505717
504943
|
function _temp2102() {
|
|
505718
504944
|
process.exit(0);
|
|
505719
504945
|
}
|
|
505720
|
-
var
|
|
504946
|
+
var import_react328, jsx_dev_runtime490;
|
|
505721
504947
|
var init_ResumeConversation = __esm(() => {
|
|
505722
504948
|
init_useTerminalSize();
|
|
505723
504949
|
init_state();
|
|
@@ -505739,8 +504965,8 @@ var init_ResumeConversation = __esm(() => {
|
|
|
505739
504965
|
init_sessionRestore();
|
|
505740
504966
|
init_sessionStorage();
|
|
505741
504967
|
init_REPL();
|
|
505742
|
-
|
|
505743
|
-
|
|
504968
|
+
import_react328 = __toESM(require_react(), 1);
|
|
504969
|
+
jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505744
504970
|
});
|
|
505745
504971
|
|
|
505746
504972
|
// src/dialogLaunchers.tsx
|
|
@@ -505748,7 +504974,7 @@ async function launchInvalidSettingsDialog(root3, props) {
|
|
|
505748
504974
|
const {
|
|
505749
504975
|
InvalidSettingsDialog: InvalidSettingsDialog2
|
|
505750
504976
|
} = await Promise.resolve().then(() => (init_InvalidSettingsDialog(), exports_InvalidSettingsDialog));
|
|
505751
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504977
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(InvalidSettingsDialog2, {
|
|
505752
504978
|
settingsErrors: props.settingsErrors,
|
|
505753
504979
|
onContinue: done,
|
|
505754
504980
|
onExit: props.onExit
|
|
@@ -505758,7 +504984,7 @@ async function launchTeleportResumeWrapper(root3) {
|
|
|
505758
504984
|
const {
|
|
505759
504985
|
TeleportResumeWrapper: TeleportResumeWrapper2
|
|
505760
504986
|
} = await Promise.resolve().then(() => (init_TeleportResumeWrapper(), exports_TeleportResumeWrapper));
|
|
505761
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504987
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportResumeWrapper2, {
|
|
505762
504988
|
onComplete: done,
|
|
505763
504989
|
onCancel: () => done(null),
|
|
505764
504990
|
source: "cliArg"
|
|
@@ -505768,7 +504994,7 @@ async function launchTeleportRepoMismatchDialog(root3, props) {
|
|
|
505768
504994
|
const {
|
|
505769
504995
|
TeleportRepoMismatchDialog: TeleportRepoMismatchDialog2
|
|
505770
504996
|
} = await Promise.resolve().then(() => (init_TeleportRepoMismatchDialog(), exports_TeleportRepoMismatchDialog));
|
|
505771
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504997
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportRepoMismatchDialog2, {
|
|
505772
504998
|
targetRepo: props.targetRepo,
|
|
505773
504999
|
initialPaths: props.initialPaths,
|
|
505774
505000
|
onSelectPath: done,
|
|
@@ -505781,23 +505007,23 @@ async function launchResumeChooser(root3, appProps, worktreePathsPromise, resume
|
|
|
505781
505007
|
}, {
|
|
505782
505008
|
App: App3
|
|
505783
505009
|
}] = await Promise.all([worktreePathsPromise, Promise.resolve().then(() => (init_ResumeConversation(), exports_ResumeConversation)), Promise.resolve().then(() => (init_App2(), exports_App))]);
|
|
505784
|
-
await renderAndRun(root3, /* @__PURE__ */
|
|
505010
|
+
await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(App3, {
|
|
505785
505011
|
getFpsMetrics: appProps.getFpsMetrics,
|
|
505786
505012
|
stats: appProps.stats,
|
|
505787
505013
|
initialState: appProps.initialState,
|
|
505788
|
-
children: /* @__PURE__ */
|
|
505789
|
-
children: /* @__PURE__ */
|
|
505014
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(KeybindingSetup, {
|
|
505015
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ResumeConversation2, {
|
|
505790
505016
|
...resumeProps,
|
|
505791
505017
|
worktreePaths
|
|
505792
505018
|
}, undefined, false, undefined, this)
|
|
505793
505019
|
}, undefined, false, undefined, this)
|
|
505794
505020
|
}, undefined, false, undefined, this));
|
|
505795
505021
|
}
|
|
505796
|
-
var
|
|
505022
|
+
var jsx_dev_runtime491;
|
|
505797
505023
|
var init_dialogLaunchers = __esm(() => {
|
|
505798
505024
|
init_interactiveHelpers();
|
|
505799
505025
|
init_KeybindingProviderSetup();
|
|
505800
|
-
|
|
505026
|
+
jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505801
505027
|
});
|
|
505802
505028
|
|
|
505803
505029
|
// src/plugins/bundled/index.ts
|
|
@@ -508698,7 +507924,7 @@ function appendToLog(path17, message) {
|
|
|
508698
507924
|
cwd: getFsImplementation().cwd(),
|
|
508699
507925
|
userType: process.env.USER_TYPE,
|
|
508700
507926
|
sessionId: getSessionId(),
|
|
508701
|
-
version: "1.1.
|
|
507927
|
+
version: "1.1.13"
|
|
508702
507928
|
};
|
|
508703
507929
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
508704
507930
|
}
|
|
@@ -512698,8 +511924,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
512698
511924
|
}
|
|
512699
511925
|
async function checkEnvLessBridgeMinVersion() {
|
|
512700
511926
|
const cfg = await getEnvLessBridgeConfig();
|
|
512701
|
-
if (cfg.min_version && lt("1.1.
|
|
512702
|
-
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.
|
|
512703
511929
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
512704
511930
|
}
|
|
512705
511931
|
return null;
|
|
@@ -513171,7 +512397,7 @@ async function initBridgeCore(params) {
|
|
|
513171
512397
|
const rawApi = createBridgeApiClient({
|
|
513172
512398
|
baseUrl,
|
|
513173
512399
|
getAccessToken,
|
|
513174
|
-
runnerVersion: "1.1.
|
|
512400
|
+
runnerVersion: "1.1.13",
|
|
513175
512401
|
onDebug: logForDebugging,
|
|
513176
512402
|
onAuth401,
|
|
513177
512403
|
getTrustedDeviceToken
|
|
@@ -517983,9 +517209,9 @@ function TeleportProgress(t0) {
|
|
|
517983
517209
|
const t2 = SPINNER_FRAMES3[frame];
|
|
517984
517210
|
let t3;
|
|
517985
517211
|
if ($2[2] !== t2) {
|
|
517986
|
-
t3 = /* @__PURE__ */
|
|
517212
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
517987
517213
|
marginBottom: 1,
|
|
517988
|
-
children: /* @__PURE__ */
|
|
517214
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
517989
517215
|
bold: true,
|
|
517990
517216
|
color: "claude",
|
|
517991
517217
|
children: [
|
|
@@ -518001,9 +517227,9 @@ function TeleportProgress(t0) {
|
|
|
518001
517227
|
}
|
|
518002
517228
|
let t4;
|
|
518003
517229
|
if ($2[4] !== sessionId) {
|
|
518004
|
-
t4 = sessionId && /* @__PURE__ */
|
|
517230
|
+
t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518005
517231
|
marginBottom: 1,
|
|
518006
|
-
children: /* @__PURE__ */
|
|
517232
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518007
517233
|
dimColor: true,
|
|
518008
517234
|
children: sessionId
|
|
518009
517235
|
}, undefined, false, undefined, this)
|
|
@@ -518033,18 +517259,18 @@ function TeleportProgress(t0) {
|
|
|
518033
517259
|
color3 = undefined;
|
|
518034
517260
|
}
|
|
518035
517261
|
}
|
|
518036
|
-
return /* @__PURE__ */
|
|
517262
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518037
517263
|
flexDirection: "row",
|
|
518038
517264
|
children: [
|
|
518039
|
-
/* @__PURE__ */
|
|
517265
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518040
517266
|
width: 2,
|
|
518041
|
-
children: /* @__PURE__ */
|
|
517267
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518042
517268
|
color: color3,
|
|
518043
517269
|
dimColor: isPending,
|
|
518044
517270
|
children: icon
|
|
518045
517271
|
}, undefined, false, undefined, this)
|
|
518046
517272
|
}, undefined, false, undefined, this),
|
|
518047
|
-
/* @__PURE__ */
|
|
517273
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518048
517274
|
dimColor: isPending,
|
|
518049
517275
|
bold: isCurrent,
|
|
518050
517276
|
children: step.label
|
|
@@ -518060,7 +517286,7 @@ function TeleportProgress(t0) {
|
|
|
518060
517286
|
}
|
|
518061
517287
|
let t6;
|
|
518062
517288
|
if ($2[9] !== t5) {
|
|
518063
|
-
t6 = /* @__PURE__ */
|
|
517289
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518064
517290
|
flexDirection: "column",
|
|
518065
517291
|
marginLeft: 2,
|
|
518066
517292
|
children: t5
|
|
@@ -518072,7 +517298,7 @@ function TeleportProgress(t0) {
|
|
|
518072
517298
|
}
|
|
518073
517299
|
let t7;
|
|
518074
517300
|
if ($2[11] !== ref || $2[12] !== t3 || $2[13] !== t4 || $2[14] !== t6) {
|
|
518075
|
-
t7 = /* @__PURE__ */
|
|
517301
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518076
517302
|
ref,
|
|
518077
517303
|
flexDirection: "column",
|
|
518078
517304
|
paddingX: 1,
|
|
@@ -518096,15 +517322,15 @@ function TeleportProgress(t0) {
|
|
|
518096
517322
|
async function teleportWithProgress(root3, sessionId) {
|
|
518097
517323
|
let setStep = () => {};
|
|
518098
517324
|
function TeleportProgressWrapper() {
|
|
518099
|
-
const [step, _setStep] =
|
|
517325
|
+
const [step, _setStep] = import_react329.useState("validating");
|
|
518100
517326
|
setStep = _setStep;
|
|
518101
|
-
return /* @__PURE__ */
|
|
517327
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgress, {
|
|
518102
517328
|
currentStep: step,
|
|
518103
517329
|
sessionId
|
|
518104
517330
|
}, undefined, false, undefined, this);
|
|
518105
517331
|
}
|
|
518106
|
-
root3.render(/* @__PURE__ */
|
|
518107
|
-
children: /* @__PURE__ */
|
|
517332
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(AppStateProvider, {
|
|
517333
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgressWrapper, {}, undefined, false, undefined, this)
|
|
518108
517334
|
}, undefined, false, undefined, this));
|
|
518109
517335
|
const result = await teleportResumeCodeSession(sessionId, setStep);
|
|
518110
517336
|
setStep("checking_out");
|
|
@@ -518117,14 +517343,14 @@ async function teleportWithProgress(root3, sessionId) {
|
|
|
518117
517343
|
branchName
|
|
518118
517344
|
};
|
|
518119
517345
|
}
|
|
518120
|
-
var
|
|
517346
|
+
var import_react329, jsx_dev_runtime492, SPINNER_FRAMES3, STEPS;
|
|
518121
517347
|
var init_TeleportProgress = __esm(() => {
|
|
518122
517348
|
init_figures2();
|
|
518123
517349
|
init_ink2();
|
|
518124
517350
|
init_AppState();
|
|
518125
517351
|
init_teleport();
|
|
518126
|
-
|
|
518127
|
-
|
|
517352
|
+
import_react329 = __toESM(require_react(), 1);
|
|
517353
|
+
jsx_dev_runtime492 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518128
517354
|
SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
|
|
518129
517355
|
STEPS = [{
|
|
518130
517356
|
key: "validating",
|
|
@@ -518165,7 +517391,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518165
517391
|
} else {
|
|
518166
517392
|
t2 = $2[2];
|
|
518167
517393
|
}
|
|
518168
|
-
const [existingServers, setExistingServers] =
|
|
517394
|
+
const [existingServers, setExistingServers] = import_react330.useState(t2);
|
|
518169
517395
|
let t3;
|
|
518170
517396
|
let t4;
|
|
518171
517397
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -518184,7 +517410,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518184
517410
|
t3 = $2[3];
|
|
518185
517411
|
t4 = $2[4];
|
|
518186
517412
|
}
|
|
518187
|
-
|
|
517413
|
+
import_react330.useEffect(t3, t4);
|
|
518188
517414
|
let t5;
|
|
518189
517415
|
if ($2[5] !== existingServers || $2[6] !== serverNames) {
|
|
518190
517416
|
t5 = serverNames.filter((name) => existingServers[name] !== undefined);
|
|
@@ -518260,7 +517486,7 @@ No servers were imported.`);
|
|
|
518260
517486
|
const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
|
|
518261
517487
|
let t11;
|
|
518262
517488
|
if ($2[16] !== collisions.length) {
|
|
518263
|
-
t11 = collisions.length > 0 && /* @__PURE__ */
|
|
517489
|
+
t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518264
517490
|
color: "warning",
|
|
518265
517491
|
children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
|
|
518266
517492
|
}, undefined, false, undefined, this);
|
|
@@ -518271,7 +517497,7 @@ No servers were imported.`);
|
|
|
518271
517497
|
}
|
|
518272
517498
|
let t12;
|
|
518273
517499
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518274
|
-
t12 = /* @__PURE__ */
|
|
517500
|
+
t12 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518275
517501
|
children: "Please select the servers you want to import:"
|
|
518276
517502
|
}, undefined, false, undefined, this);
|
|
518277
517503
|
$2[18] = t12;
|
|
@@ -518296,7 +517522,7 @@ No servers were imported.`);
|
|
|
518296
517522
|
}
|
|
518297
517523
|
let t15;
|
|
518298
517524
|
if ($2[23] !== handleEscCancel || $2[24] !== onSubmit || $2[25] !== t13 || $2[26] !== t14) {
|
|
518299
|
-
t15 = /* @__PURE__ */
|
|
517525
|
+
t15 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(SelectMulti, {
|
|
518300
517526
|
options: t13,
|
|
518301
517527
|
defaultValue: t14,
|
|
518302
517528
|
onSubmit,
|
|
@@ -518313,7 +517539,7 @@ No servers were imported.`);
|
|
|
518313
517539
|
}
|
|
518314
517540
|
let t16;
|
|
518315
517541
|
if ($2[28] !== handleEscCancel || $2[29] !== t10 || $2[30] !== t11 || $2[31] !== t15) {
|
|
518316
|
-
t16 = /* @__PURE__ */
|
|
517542
|
+
t16 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Dialog, {
|
|
518317
517543
|
title: "Import MCP Servers from Claude Desktop",
|
|
518318
517544
|
subtitle: t10,
|
|
518319
517545
|
color: "success",
|
|
@@ -518335,22 +517561,22 @@ No servers were imported.`);
|
|
|
518335
517561
|
}
|
|
518336
517562
|
let t17;
|
|
518337
517563
|
if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518338
|
-
t17 = /* @__PURE__ */
|
|
517564
|
+
t17 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
|
|
518339
517565
|
paddingX: 1,
|
|
518340
|
-
children: /* @__PURE__ */
|
|
517566
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518341
517567
|
dimColor: true,
|
|
518342
517568
|
italic: true,
|
|
518343
|
-
children: /* @__PURE__ */
|
|
517569
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Byline, {
|
|
518344
517570
|
children: [
|
|
518345
|
-
/* @__PURE__ */
|
|
517571
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518346
517572
|
shortcut: "Space",
|
|
518347
517573
|
action: "select"
|
|
518348
517574
|
}, undefined, false, undefined, this),
|
|
518349
|
-
/* @__PURE__ */
|
|
517575
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518350
517576
|
shortcut: "Enter",
|
|
518351
517577
|
action: "confirm"
|
|
518352
517578
|
}, undefined, false, undefined, this),
|
|
518353
|
-
/* @__PURE__ */
|
|
517579
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ConfigurableShortcutHint, {
|
|
518354
517580
|
action: "confirm:no",
|
|
518355
517581
|
context: "Confirmation",
|
|
518356
517582
|
fallback: "Esc",
|
|
@@ -518366,7 +517592,7 @@ No servers were imported.`);
|
|
|
518366
517592
|
}
|
|
518367
517593
|
let t18;
|
|
518368
517594
|
if ($2[34] !== t16) {
|
|
518369
|
-
t18 = /* @__PURE__ */
|
|
517595
|
+
t18 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(jsx_dev_runtime493.Fragment, {
|
|
518370
517596
|
children: [
|
|
518371
517597
|
t16,
|
|
518372
517598
|
t17
|
|
@@ -518379,7 +517605,7 @@ No servers were imported.`);
|
|
|
518379
517605
|
}
|
|
518380
517606
|
return t18;
|
|
518381
517607
|
}
|
|
518382
|
-
var
|
|
517608
|
+
var import_react330, jsx_dev_runtime493;
|
|
518383
517609
|
var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
518384
517610
|
init_gracefulShutdown();
|
|
518385
517611
|
init_ink2();
|
|
@@ -518390,8 +517616,8 @@ var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
|
518390
517616
|
init_Byline();
|
|
518391
517617
|
init_Dialog();
|
|
518392
517618
|
init_KeyboardShortcutHint();
|
|
518393
|
-
|
|
518394
|
-
|
|
517619
|
+
import_react330 = __toESM(require_react(), 1);
|
|
517620
|
+
jsx_dev_runtime493 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518395
517621
|
});
|
|
518396
517622
|
|
|
518397
517623
|
// node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
@@ -518827,7 +518053,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
518827
518053
|
setCwd(cwd3);
|
|
518828
518054
|
const server = new Server({
|
|
518829
518055
|
name: "claude/tengu",
|
|
518830
|
-
version: "1.1.
|
|
518056
|
+
version: "1.1.13"
|
|
518831
518057
|
}, {
|
|
518832
518058
|
capabilities: {
|
|
518833
518059
|
tools: {}
|
|
@@ -519315,9 +518541,9 @@ async function mcpAddFromDesktopHandler(options) {
|
|
|
519315
518541
|
}
|
|
519316
518542
|
const {
|
|
519317
518543
|
unmount
|
|
519318
|
-
} = await render(/* @__PURE__ */
|
|
519319
|
-
children: /* @__PURE__ */
|
|
519320
|
-
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, {
|
|
519321
518547
|
servers,
|
|
519322
518548
|
scope,
|
|
519323
518549
|
onDone: () => {
|
|
@@ -519343,7 +518569,7 @@ async function mcpResetChoicesHandler() {
|
|
|
519343
518569
|
cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
|
|
519344
518570
|
You will be prompted for approval next time you start localclawd.`);
|
|
519345
518571
|
}
|
|
519346
|
-
var
|
|
518572
|
+
var jsx_dev_runtime494;
|
|
519347
518573
|
var init_mcp5 = __esm(() => {
|
|
519348
518574
|
init_p_map();
|
|
519349
518575
|
init_MCPServerDesktopImportDialog();
|
|
@@ -519359,7 +518585,7 @@ var init_mcp5 = __esm(() => {
|
|
|
519359
518585
|
init_gracefulShutdown();
|
|
519360
518586
|
init_json();
|
|
519361
518587
|
init_platform();
|
|
519362
|
-
|
|
518588
|
+
jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519363
518589
|
});
|
|
519364
518590
|
|
|
519365
518591
|
// src/cli/handlers/plugins.ts
|
|
@@ -519886,6 +519112,51 @@ var init_plugins = __esm(() => {
|
|
|
519886
519112
|
init_stringUtils();
|
|
519887
519113
|
});
|
|
519888
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
|
+
|
|
519889
519160
|
// src/commands/install.tsx
|
|
519890
519161
|
var exports_install = {};
|
|
519891
519162
|
__export(exports_install, {
|
|
@@ -519912,11 +519183,11 @@ function SetupNotes(t0) {
|
|
|
519912
519183
|
}
|
|
519913
519184
|
let t1;
|
|
519914
519185
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
519915
|
-
t1 = /* @__PURE__ */
|
|
519916
|
-
children: /* @__PURE__ */
|
|
519186
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519187
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
519917
519188
|
color: "warning",
|
|
519918
519189
|
children: [
|
|
519919
|
-
/* @__PURE__ */
|
|
519190
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
519920
519191
|
status: "warning",
|
|
519921
519192
|
withSpace: true
|
|
519922
519193
|
}, undefined, false, undefined, this),
|
|
@@ -519938,7 +519209,7 @@ function SetupNotes(t0) {
|
|
|
519938
519209
|
}
|
|
519939
519210
|
let t3;
|
|
519940
519211
|
if ($2[3] !== t2) {
|
|
519941
|
-
t3 = /* @__PURE__ */
|
|
519212
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519942
519213
|
flexDirection: "column",
|
|
519943
519214
|
gap: 0,
|
|
519944
519215
|
marginBottom: 1,
|
|
@@ -519955,9 +519226,9 @@ function SetupNotes(t0) {
|
|
|
519955
519226
|
return t3;
|
|
519956
519227
|
}
|
|
519957
519228
|
function _temp307(message, index) {
|
|
519958
|
-
return /* @__PURE__ */
|
|
519229
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519959
519230
|
marginLeft: 2,
|
|
519960
|
-
children: /* @__PURE__ */
|
|
519231
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
519961
519232
|
dimColor: true,
|
|
519962
519233
|
children: [
|
|
519963
519234
|
"• ",
|
|
@@ -519971,10 +519242,10 @@ function Install({
|
|
|
519971
519242
|
force,
|
|
519972
519243
|
target
|
|
519973
519244
|
}) {
|
|
519974
|
-
const [state2, setState] =
|
|
519245
|
+
const [state2, setState] = import_react331.useState({
|
|
519975
519246
|
type: "checking"
|
|
519976
519247
|
});
|
|
519977
|
-
|
|
519248
|
+
import_react331.useEffect(() => {
|
|
519978
519249
|
async function run() {
|
|
519979
519250
|
try {
|
|
519980
519251
|
logForDebugging(`Install: Starting installation process (force=${force}, target=${target})`);
|
|
@@ -520062,7 +519333,7 @@ function Install({
|
|
|
520062
519333
|
}
|
|
520063
519334
|
run();
|
|
520064
519335
|
}, [force, target]);
|
|
520065
|
-
|
|
519336
|
+
import_react331.useEffect(() => {
|
|
520066
519337
|
if (state2.type === "success") {
|
|
520067
519338
|
setTimeout(onDone, 2000, "localclawd installation completed successfully", {
|
|
520068
519339
|
display: "system"
|
|
@@ -520073,19 +519344,19 @@ function Install({
|
|
|
520073
519344
|
});
|
|
520074
519345
|
}
|
|
520075
519346
|
}, [state2, onDone]);
|
|
520076
|
-
return /* @__PURE__ */
|
|
519347
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520077
519348
|
flexDirection: "column",
|
|
520078
519349
|
marginTop: 1,
|
|
520079
519350
|
children: [
|
|
520080
|
-
state2.type === "checking" && /* @__PURE__ */
|
|
519351
|
+
state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520081
519352
|
color: "claude",
|
|
520082
519353
|
children: "Checking installation status..."
|
|
520083
519354
|
}, undefined, false, undefined, this),
|
|
520084
|
-
state2.type === "cleaning-npm" && /* @__PURE__ */
|
|
519355
|
+
state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520085
519356
|
color: "warning",
|
|
520086
519357
|
children: "Cleaning up old npm installations..."
|
|
520087
519358
|
}, undefined, false, undefined, this),
|
|
520088
|
-
state2.type === "installing" && /* @__PURE__ */
|
|
519359
|
+
state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520089
519360
|
color: "claude",
|
|
520090
519361
|
children: [
|
|
520091
519362
|
"Installing localclawd native build ",
|
|
@@ -520093,54 +519364,54 @@ function Install({
|
|
|
520093
519364
|
"..."
|
|
520094
519365
|
]
|
|
520095
519366
|
}, undefined, true, undefined, this),
|
|
520096
|
-
state2.type === "setting-up" && /* @__PURE__ */
|
|
519367
|
+
state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520097
519368
|
color: "claude",
|
|
520098
519369
|
children: "Setting up launcher and shell integration..."
|
|
520099
519370
|
}, undefined, false, undefined, this),
|
|
520100
|
-
state2.type === "set-up" && /* @__PURE__ */
|
|
519371
|
+
state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520101
519372
|
messages: state2.messages
|
|
520102
519373
|
}, undefined, false, undefined, this),
|
|
520103
|
-
state2.type === "success" && /* @__PURE__ */
|
|
519374
|
+
state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520104
519375
|
flexDirection: "column",
|
|
520105
519376
|
gap: 1,
|
|
520106
519377
|
children: [
|
|
520107
|
-
/* @__PURE__ */
|
|
519378
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520108
519379
|
children: [
|
|
520109
|
-
/* @__PURE__ */
|
|
519380
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520110
519381
|
status: "success",
|
|
520111
519382
|
withSpace: true
|
|
520112
519383
|
}, undefined, false, undefined, this),
|
|
520113
|
-
/* @__PURE__ */
|
|
519384
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520114
519385
|
color: "success",
|
|
520115
519386
|
bold: true,
|
|
520116
519387
|
children: "localclawd successfully installed!"
|
|
520117
519388
|
}, undefined, false, undefined, this)
|
|
520118
519389
|
]
|
|
520119
519390
|
}, undefined, true, undefined, this),
|
|
520120
|
-
/* @__PURE__ */
|
|
519391
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520121
519392
|
marginLeft: 2,
|
|
520122
519393
|
flexDirection: "column",
|
|
520123
519394
|
gap: 1,
|
|
520124
519395
|
children: [
|
|
520125
|
-
state2.version !== "current" && /* @__PURE__ */
|
|
519396
|
+
state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520126
519397
|
children: [
|
|
520127
|
-
/* @__PURE__ */
|
|
519398
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520128
519399
|
dimColor: true,
|
|
520129
519400
|
children: "Version: "
|
|
520130
519401
|
}, undefined, false, undefined, this),
|
|
520131
|
-
/* @__PURE__ */
|
|
519402
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520132
519403
|
color: "claude",
|
|
520133
519404
|
children: state2.version
|
|
520134
519405
|
}, undefined, false, undefined, this)
|
|
520135
519406
|
]
|
|
520136
519407
|
}, undefined, true, undefined, this),
|
|
520137
|
-
/* @__PURE__ */
|
|
519408
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520138
519409
|
children: [
|
|
520139
|
-
/* @__PURE__ */
|
|
519410
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520140
519411
|
dimColor: true,
|
|
520141
519412
|
children: "Location: "
|
|
520142
519413
|
}, undefined, false, undefined, this),
|
|
520143
|
-
/* @__PURE__ */
|
|
519414
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520144
519415
|
color: "text",
|
|
520145
519416
|
children: getInstallationPath2()
|
|
520146
519417
|
}, undefined, false, undefined, this)
|
|
@@ -520148,57 +519419,57 @@ function Install({
|
|
|
520148
519419
|
}, undefined, true, undefined, this)
|
|
520149
519420
|
]
|
|
520150
519421
|
}, undefined, true, undefined, this),
|
|
520151
|
-
/* @__PURE__ */
|
|
519422
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520152
519423
|
marginLeft: 2,
|
|
520153
519424
|
flexDirection: "column",
|
|
520154
519425
|
gap: 1,
|
|
520155
|
-
children: /* @__PURE__ */
|
|
519426
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520156
519427
|
marginTop: 1,
|
|
520157
519428
|
children: [
|
|
520158
|
-
/* @__PURE__ */
|
|
519429
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520159
519430
|
dimColor: true,
|
|
520160
519431
|
children: "Next: Run "
|
|
520161
519432
|
}, undefined, false, undefined, this),
|
|
520162
|
-
/* @__PURE__ */
|
|
519433
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520163
519434
|
color: "claude",
|
|
520164
519435
|
bold: true,
|
|
520165
519436
|
children: "localclawd --help"
|
|
520166
519437
|
}, undefined, false, undefined, this),
|
|
520167
|
-
/* @__PURE__ */
|
|
519438
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520168
519439
|
dimColor: true,
|
|
520169
519440
|
children: " to get started"
|
|
520170
519441
|
}, undefined, false, undefined, this)
|
|
520171
519442
|
]
|
|
520172
519443
|
}, undefined, true, undefined, this)
|
|
520173
519444
|
}, undefined, false, undefined, this),
|
|
520174
|
-
state2.setupMessages && /* @__PURE__ */
|
|
519445
|
+
state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520175
519446
|
messages: state2.setupMessages
|
|
520176
519447
|
}, undefined, false, undefined, this)
|
|
520177
519448
|
]
|
|
520178
519449
|
}, undefined, true, undefined, this),
|
|
520179
|
-
state2.type === "error" && /* @__PURE__ */
|
|
519450
|
+
state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520180
519451
|
flexDirection: "column",
|
|
520181
519452
|
gap: 1,
|
|
520182
519453
|
children: [
|
|
520183
|
-
/* @__PURE__ */
|
|
519454
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520184
519455
|
children: [
|
|
520185
|
-
/* @__PURE__ */
|
|
519456
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520186
519457
|
status: "error",
|
|
520187
519458
|
withSpace: true
|
|
520188
519459
|
}, undefined, false, undefined, this),
|
|
520189
|
-
/* @__PURE__ */
|
|
519460
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520190
519461
|
color: "error",
|
|
520191
519462
|
children: "Installation failed"
|
|
520192
519463
|
}, undefined, false, undefined, this)
|
|
520193
519464
|
]
|
|
520194
519465
|
}, undefined, true, undefined, this),
|
|
520195
|
-
/* @__PURE__ */
|
|
519466
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520196
519467
|
color: "error",
|
|
520197
519468
|
children: state2.message
|
|
520198
519469
|
}, undefined, false, undefined, this),
|
|
520199
|
-
/* @__PURE__ */
|
|
519470
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520200
519471
|
marginTop: 1,
|
|
520201
|
-
children: /* @__PURE__ */
|
|
519472
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520202
519473
|
dimColor: true,
|
|
520203
519474
|
children: "Try running with --force to override checks"
|
|
520204
519475
|
}, undefined, false, undefined, this)
|
|
@@ -520208,7 +519479,7 @@ function Install({
|
|
|
520208
519479
|
]
|
|
520209
519480
|
}, undefined, true, undefined, this);
|
|
520210
519481
|
}
|
|
520211
|
-
var
|
|
519482
|
+
var import_react331, jsx_dev_runtime496, install;
|
|
520212
519483
|
var init_install = __esm(() => {
|
|
520213
519484
|
init_StatusIcon();
|
|
520214
519485
|
init_ink2();
|
|
@@ -520217,8 +519488,8 @@ var init_install = __esm(() => {
|
|
|
520217
519488
|
init_errors();
|
|
520218
519489
|
init_nativeInstaller();
|
|
520219
519490
|
init_settings2();
|
|
520220
|
-
|
|
520221
|
-
|
|
519491
|
+
import_react331 = __toESM(require_react(), 1);
|
|
519492
|
+
jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
|
|
520222
519493
|
install = {
|
|
520223
519494
|
type: "local-jsx",
|
|
520224
519495
|
name: "install",
|
|
@@ -520230,7 +519501,7 @@ var init_install = __esm(() => {
|
|
|
520230
519501
|
const target = nonFlagArgs[0];
|
|
520231
519502
|
const {
|
|
520232
519503
|
unmount
|
|
520233
|
-
} = await render(/* @__PURE__ */
|
|
519504
|
+
} = await render(/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(Install, {
|
|
520234
519505
|
onDone: (result, options) => {
|
|
520235
519506
|
unmount();
|
|
520236
519507
|
onDone(result, options);
|
|
@@ -520257,28 +519528,28 @@ async function setupTokenHandler(root3) {
|
|
|
520257
519528
|
ConsoleOAuthFlow: ConsoleOAuthFlow2
|
|
520258
519529
|
} = await Promise.resolve().then(() => (init_ConsoleOAuthFlow(), exports_ConsoleOAuthFlow));
|
|
520259
519530
|
await new Promise((resolve40) => {
|
|
520260
|
-
root3.render(/* @__PURE__ */
|
|
519531
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
|
|
520261
519532
|
onChangeAppState,
|
|
520262
|
-
children: /* @__PURE__ */
|
|
520263
|
-
children: /* @__PURE__ */
|
|
519533
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
|
|
519534
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520264
519535
|
flexDirection: "column",
|
|
520265
519536
|
gap: 1,
|
|
520266
519537
|
children: [
|
|
520267
|
-
/* @__PURE__ */
|
|
520268
|
-
showAuthWarning && /* @__PURE__ */
|
|
519538
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
519539
|
+
showAuthWarning && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520269
519540
|
flexDirection: "column",
|
|
520270
519541
|
children: [
|
|
520271
|
-
/* @__PURE__ */
|
|
519542
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520272
519543
|
color: "warning",
|
|
520273
519544
|
children: "Warning: You already have authentication configured via environment variable or API key helper."
|
|
520274
519545
|
}, undefined, false, undefined, this),
|
|
520275
|
-
/* @__PURE__ */
|
|
519546
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520276
519547
|
color: "warning",
|
|
520277
519548
|
children: "The setup-token command will create a new OAuth token which you can use instead."
|
|
520278
519549
|
}, undefined, false, undefined, this)
|
|
520279
519550
|
]
|
|
520280
519551
|
}, undefined, true, undefined, this),
|
|
520281
|
-
/* @__PURE__ */
|
|
519552
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ConsoleOAuthFlow2, {
|
|
520282
519553
|
onDone: () => {
|
|
520283
519554
|
resolve40();
|
|
520284
519555
|
},
|
|
@@ -520301,9 +519572,9 @@ function DoctorWithPlugins(t0) {
|
|
|
520301
519572
|
useManagePlugins();
|
|
520302
519573
|
let t1;
|
|
520303
519574
|
if ($2[0] !== onDone) {
|
|
520304
|
-
t1 = /* @__PURE__ */
|
|
519575
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(import_react332.default.Suspense, {
|
|
520305
519576
|
fallback: null,
|
|
520306
|
-
children: /* @__PURE__ */
|
|
519577
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorLazy, {
|
|
520307
519578
|
onDone
|
|
520308
519579
|
}, undefined, false, undefined, this)
|
|
520309
519580
|
}, undefined, false, undefined, this);
|
|
@@ -520317,12 +519588,12 @@ function DoctorWithPlugins(t0) {
|
|
|
520317
519588
|
async function doctorHandler(root3) {
|
|
520318
519589
|
logEvent("tengu_doctor_command", {});
|
|
520319
519590
|
await new Promise((resolve40) => {
|
|
520320
|
-
root3.render(/* @__PURE__ */
|
|
520321
|
-
children: /* @__PURE__ */
|
|
520322
|
-
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, {
|
|
520323
519594
|
dynamicMcpConfig: undefined,
|
|
520324
519595
|
isStrictMcpConfig: false,
|
|
520325
|
-
children: /* @__PURE__ */
|
|
519596
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorWithPlugins, {
|
|
520326
519597
|
onDone: () => {
|
|
520327
519598
|
resolve40();
|
|
520328
519599
|
}
|
|
@@ -520354,7 +519625,7 @@ async function installHandler(target, options) {
|
|
|
520354
519625
|
}, {}, args);
|
|
520355
519626
|
});
|
|
520356
519627
|
}
|
|
520357
|
-
var
|
|
519628
|
+
var import_react332, jsx_dev_runtime497, DoctorLazy;
|
|
520358
519629
|
var init_util = __esm(() => {
|
|
520359
519630
|
init_WelcomeV2();
|
|
520360
519631
|
init_useManagePlugins();
|
|
@@ -520364,9 +519635,9 @@ var init_util = __esm(() => {
|
|
|
520364
519635
|
init_AppState();
|
|
520365
519636
|
init_onChangeAppState();
|
|
520366
519637
|
init_auth2();
|
|
520367
|
-
|
|
520368
|
-
|
|
520369
|
-
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) => ({
|
|
520370
519641
|
default: m2.Doctor
|
|
520371
519642
|
})));
|
|
520372
519643
|
});
|
|
@@ -520432,7 +519703,7 @@ __export(exports_update, {
|
|
|
520432
519703
|
});
|
|
520433
519704
|
async function update() {
|
|
520434
519705
|
logEvent("tengu_update_check", {});
|
|
520435
|
-
writeToStdout(`Current version: ${"1.1.
|
|
519706
|
+
writeToStdout(`Current version: ${"1.1.13"}
|
|
520436
519707
|
`);
|
|
520437
519708
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520438
519709
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520507,8 +519778,8 @@ async function update() {
|
|
|
520507
519778
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520508
519779
|
`);
|
|
520509
519780
|
const latest = await getLatestVersion(channel);
|
|
520510
|
-
if (latest && !gte("1.1.
|
|
520511
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519781
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519782
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520512
519783
|
`);
|
|
520513
519784
|
writeToStdout(`
|
|
520514
519785
|
`);
|
|
@@ -520524,8 +519795,8 @@ async function update() {
|
|
|
520524
519795
|
writeToStdout(`localclawd is managed by winget.
|
|
520525
519796
|
`);
|
|
520526
519797
|
const latest = await getLatestVersion(channel);
|
|
520527
|
-
if (latest && !gte("1.1.
|
|
520528
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519798
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519799
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520529
519800
|
`);
|
|
520530
519801
|
writeToStdout(`
|
|
520531
519802
|
`);
|
|
@@ -520539,8 +519810,8 @@ async function update() {
|
|
|
520539
519810
|
writeToStdout(`localclawd is managed by apk.
|
|
520540
519811
|
`);
|
|
520541
519812
|
const latest = await getLatestVersion(channel);
|
|
520542
|
-
if (latest && !gte("1.1.
|
|
520543
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519813
|
+
if (latest && !gte("1.1.13", latest)) {
|
|
519814
|
+
writeToStdout(`Update available: ${"1.1.13"} → ${latest}
|
|
520544
519815
|
`);
|
|
520545
519816
|
writeToStdout(`
|
|
520546
519817
|
`);
|
|
@@ -520605,11 +519876,11 @@ async function update() {
|
|
|
520605
519876
|
`);
|
|
520606
519877
|
await gracefulShutdown(1);
|
|
520607
519878
|
}
|
|
520608
|
-
if (result.latestVersion === "1.1.
|
|
520609
|
-
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"})`) + `
|
|
520610
519881
|
`);
|
|
520611
519882
|
} else {
|
|
520612
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519883
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${result.latestVersion}`) + `
|
|
520613
519884
|
`);
|
|
520614
519885
|
await regenerateCompletionCache();
|
|
520615
519886
|
}
|
|
@@ -520669,12 +519940,12 @@ async function update() {
|
|
|
520669
519940
|
`);
|
|
520670
519941
|
await gracefulShutdown(1);
|
|
520671
519942
|
}
|
|
520672
|
-
if (latestVersion === "1.1.
|
|
520673
|
-
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"})`) + `
|
|
520674
519945
|
`);
|
|
520675
519946
|
await gracefulShutdown(0);
|
|
520676
519947
|
}
|
|
520677
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
519948
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.13"})
|
|
520678
519949
|
`);
|
|
520679
519950
|
writeToStdout(`Installing update...
|
|
520680
519951
|
`);
|
|
@@ -520719,7 +519990,7 @@ async function update() {
|
|
|
520719
519990
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
520720
519991
|
switch (status2) {
|
|
520721
519992
|
case "success":
|
|
520722
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519993
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.13"} to version ${latestVersion}`) + `
|
|
520723
519994
|
`);
|
|
520724
519995
|
await regenerateCompletionCache();
|
|
520725
519996
|
break;
|
|
@@ -521984,7 +521255,7 @@ ${customInstructions}` : customInstructions;
|
|
|
521984
521255
|
}
|
|
521985
521256
|
}
|
|
521986
521257
|
logForDiagnosticsNoPII("info", "started", {
|
|
521987
|
-
version: "1.1.
|
|
521258
|
+
version: "1.1.13",
|
|
521988
521259
|
is_native_binary: isInBundledMode()
|
|
521989
521260
|
});
|
|
521990
521261
|
registerCleanup(async () => {
|
|
@@ -522768,7 +522039,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
522768
522039
|
pendingHookMessages
|
|
522769
522040
|
}, renderAndRun);
|
|
522770
522041
|
}
|
|
522771
|
-
}).version("1.1.
|
|
522042
|
+
}).version("1.1.13 (localClawd)", "-v, --version", "Output the version number");
|
|
522772
522043
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
522773
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.");
|
|
522774
522045
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523276,7 +522547,7 @@ if (false) {}
|
|
|
523276
522547
|
async function main2() {
|
|
523277
522548
|
const args = process.argv.slice(2);
|
|
523278
522549
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523279
|
-
console.log(`${"1.1.
|
|
522550
|
+
console.log(`${"1.1.13"} (localclawd)`);
|
|
523280
522551
|
return;
|
|
523281
522552
|
}
|
|
523282
522553
|
const {
|
|
@@ -523360,4 +522631,4 @@ async function main2() {
|
|
|
523360
522631
|
}
|
|
523361
522632
|
main2();
|
|
523362
522633
|
|
|
523363
|
-
//# debugId=
|
|
522634
|
+
//# debugId=DADB345C47F11DBA64756E2164756E21
|