localclawd 1.1.12 → 1.1.14
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 +471 -1250
- 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.14"}`;
|
|
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.14"} (${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.14"}${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.14"}.${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.14".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.14",
|
|
132789
132763
|
versionBase: getVersionBase(),
|
|
132790
|
-
buildTime: "2026-04-
|
|
132764
|
+
buildTime: "2026-04-07T18:27:17.273Z",
|
|
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.14";
|
|
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.14";
|
|
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.14",
|
|
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.14",
|
|
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.14",
|
|
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.14");
|
|
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.14"
|
|
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.14");
|
|
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.14");
|
|
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.14");
|
|
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.14" : "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.14", maxVersion)) {
|
|
262214
|
+
logForDebugging(`Native installer: current version ${"1.1.14"} 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.14" && 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:27:17.273Z").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.14",
|
|
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.14"
|
|
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.14"}
|
|
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.14"
|
|
361949
361923
|
}, {
|
|
361950
361924
|
label: "Session name",
|
|
361951
361925
|
value: nameValue
|
|
@@ -363508,21 +363482,13 @@ var init_TriangleSpinner = __esm(() => {
|
|
|
363508
363482
|
});
|
|
363509
363483
|
|
|
363510
363484
|
// src/components/LocalBackendSetup.tsx
|
|
363511
|
-
var exports_LocalBackendSetup = {};
|
|
363512
|
-
__export(exports_LocalBackendSetup, {
|
|
363513
|
-
LocalBackendSetup: () => LocalBackendSetup
|
|
363514
|
-
});
|
|
363515
|
-
function isEnter(input, key) {
|
|
363516
|
-
return key.return || input === "\r" || input === `
|
|
363517
|
-
`;
|
|
363518
|
-
}
|
|
363519
363485
|
function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
363520
363486
|
const VISIBLE = Math.min(7, items.length);
|
|
363521
363487
|
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
363522
363488
|
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
363523
|
-
const
|
|
363489
|
+
const doneRef = import_react100.useRef(false);
|
|
363524
363490
|
use_input_default((input, key) => {
|
|
363525
|
-
if (!isActive ||
|
|
363491
|
+
if (!isActive || doneRef.current)
|
|
363526
363492
|
return;
|
|
363527
363493
|
if (key.upArrow) {
|
|
363528
363494
|
setFocusIdx((prev) => {
|
|
@@ -363538,10 +363504,10 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363538
363504
|
setFromIdx(next - VISIBLE + 1);
|
|
363539
363505
|
return next;
|
|
363540
363506
|
});
|
|
363541
|
-
} else if (
|
|
363507
|
+
} else if (key.return) {
|
|
363542
363508
|
const item = items[focusIdx];
|
|
363543
363509
|
if (item) {
|
|
363544
|
-
|
|
363510
|
+
doneRef.current = true;
|
|
363545
363511
|
onSelect(item.value);
|
|
363546
363512
|
}
|
|
363547
363513
|
} else if (key.escape || key.ctrl && input === "c") {
|
|
@@ -363642,11 +363608,11 @@ function LocalBackendSetup({
|
|
|
363642
363608
|
const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
|
|
363643
363609
|
setCursorOffset(nextValue.length);
|
|
363644
363610
|
}, [step, baseUrl, model, apiKey]);
|
|
363645
|
-
use_input_default((
|
|
363611
|
+
use_input_default((_input, key) => {
|
|
363646
363612
|
if (scanStepDoneRef.current)
|
|
363647
363613
|
return;
|
|
363648
363614
|
if (step === "networkScan") {
|
|
363649
|
-
if (key.escape ||
|
|
363615
|
+
if (key.escape || key.return) {
|
|
363650
363616
|
scanStepDoneRef.current = true;
|
|
363651
363617
|
networkAbortRef.current?.abort();
|
|
363652
363618
|
setDiscoveredEndpoints(discoveredSnapshotRef.current);
|
|
@@ -363657,7 +363623,7 @@ function LocalBackendSetup({
|
|
|
363657
363623
|
scanStepDoneRef.current = true;
|
|
363658
363624
|
modelScanAbortRef.current?.abort();
|
|
363659
363625
|
goBack();
|
|
363660
|
-
} else if (
|
|
363626
|
+
} else if (key.return) {
|
|
363661
363627
|
scanStepDoneRef.current = true;
|
|
363662
363628
|
modelScanAbortRef.current?.abort();
|
|
363663
363629
|
setScanError("Model scan skipped. Enter the model name manually.");
|
|
@@ -366571,7 +366537,7 @@ function Config({
|
|
|
366571
366537
|
}
|
|
366572
366538
|
}, undefined, false, undefined, this)
|
|
366573
366539
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
366574
|
-
currentVersion: "1.1.
|
|
366540
|
+
currentVersion: "1.1.14",
|
|
366575
366541
|
onChoice: (choice) => {
|
|
366576
366542
|
setShowSubmenu(null);
|
|
366577
366543
|
setTabsHidden(false);
|
|
@@ -366583,7 +366549,7 @@ function Config({
|
|
|
366583
366549
|
autoUpdatesChannel: "stable"
|
|
366584
366550
|
};
|
|
366585
366551
|
if (choice === "stay") {
|
|
366586
|
-
newSettings.minimumVersion = "1.1.
|
|
366552
|
+
newSettings.minimumVersion = "1.1.14";
|
|
366587
366553
|
}
|
|
366588
366554
|
updateSettingsForSource("userSettings", newSettings);
|
|
366589
366555
|
setSettingsData((prev_27) => ({
|
|
@@ -376316,7 +376282,7 @@ function HelpV2(t0) {
|
|
|
376316
376282
|
let t6;
|
|
376317
376283
|
if ($2[31] !== tabs) {
|
|
376318
376284
|
t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
|
|
376319
|
-
title: `localclawd v${"1.1.
|
|
376285
|
+
title: `localclawd v${"1.1.14"}`,
|
|
376320
376286
|
color: "professionalBlue",
|
|
376321
376287
|
defaultTab: "general",
|
|
376322
376288
|
children: tabs
|
|
@@ -400474,7 +400440,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
400474
400440
|
return [];
|
|
400475
400441
|
}
|
|
400476
400442
|
}
|
|
400477
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
400443
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.14") {
|
|
400478
400444
|
if (process.env.USER_TYPE === "ant") {
|
|
400479
400445
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400480
400446
|
if (changelog) {
|
|
@@ -400501,7 +400467,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12")
|
|
|
400501
400467
|
releaseNotes
|
|
400502
400468
|
};
|
|
400503
400469
|
}
|
|
400504
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
400470
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.14") {
|
|
400505
400471
|
if (process.env.USER_TYPE === "ant") {
|
|
400506
400472
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400507
400473
|
if (changelog) {
|
|
@@ -401668,7 +401634,7 @@ function getRecentActivitySync() {
|
|
|
401668
401634
|
return cachedActivity;
|
|
401669
401635
|
}
|
|
401670
401636
|
function getLogoDisplayData() {
|
|
401671
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
401637
|
+
const version = process.env.DEMO_VERSION ?? "1.1.14";
|
|
401672
401638
|
const serverUrl = getDirectConnectServerUrl();
|
|
401673
401639
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
401674
401640
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -402942,7 +402908,7 @@ function LogoV2() {
|
|
|
402942
402908
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
402943
402909
|
t2 = () => {
|
|
402944
402910
|
const currentConfig = getGlobalConfig();
|
|
402945
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
402911
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.14") {
|
|
402946
402912
|
return;
|
|
402947
402913
|
}
|
|
402948
402914
|
saveGlobalConfig(_temp327);
|
|
@@ -403618,12 +403584,12 @@ function LogoV2() {
|
|
|
403618
403584
|
return t41;
|
|
403619
403585
|
}
|
|
403620
403586
|
function _temp327(current) {
|
|
403621
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
403587
|
+
if (current.lastReleaseNotesSeen === "1.1.14") {
|
|
403622
403588
|
return current;
|
|
403623
403589
|
}
|
|
403624
403590
|
return {
|
|
403625
403591
|
...current,
|
|
403626
|
-
lastReleaseNotesSeen: "1.1.
|
|
403592
|
+
lastReleaseNotesSeen: "1.1.14"
|
|
403627
403593
|
};
|
|
403628
403594
|
}
|
|
403629
403595
|
function _temp245(s_0) {
|
|
@@ -429825,7 +429791,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
429825
429791
|
smapsRollup,
|
|
429826
429792
|
platform: process.platform,
|
|
429827
429793
|
nodeVersion: process.version,
|
|
429828
|
-
ccVersion: "1.1.
|
|
429794
|
+
ccVersion: "1.1.14"
|
|
429829
429795
|
};
|
|
429830
429796
|
}
|
|
429831
429797
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -430410,7 +430376,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
430410
430376
|
var call64 = async () => {
|
|
430411
430377
|
return {
|
|
430412
430378
|
type: "text",
|
|
430413
|
-
value: `${"1.1.
|
|
430379
|
+
value: `${"1.1.14"} (built ${"2026-04-07T18:27:17.273Z"})`
|
|
430414
430380
|
};
|
|
430415
430381
|
}, version, version_default;
|
|
430416
430382
|
var init_version = __esm(() => {
|
|
@@ -439348,7 +439314,7 @@ function generateHtmlReport(data, insights) {
|
|
|
439348
439314
|
</html>`;
|
|
439349
439315
|
}
|
|
439350
439316
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
439351
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
439317
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.14" : "unknown";
|
|
439352
439318
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
439353
439319
|
const facets_summary = {
|
|
439354
439320
|
total: facets.size,
|
|
@@ -443515,7 +443481,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
443515
443481
|
init_settings2();
|
|
443516
443482
|
init_slowOperations();
|
|
443517
443483
|
init_uuid();
|
|
443518
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
443484
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.14" : "unknown";
|
|
443519
443485
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
443520
443486
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
443521
443487
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -444717,7 +444683,7 @@ var init_filesystem = __esm(() => {
|
|
|
444717
444683
|
});
|
|
444718
444684
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
444719
444685
|
const nonce = randomBytes19(16).toString("hex");
|
|
444720
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
444686
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.14", nonce);
|
|
444721
444687
|
});
|
|
444722
444688
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
444723
444689
|
});
|
|
@@ -450716,7 +450682,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
450716
450682
|
}
|
|
450717
450683
|
function computeFingerprintFromMessages(messages) {
|
|
450718
450684
|
const firstMessageText = extractFirstMessageText(messages);
|
|
450719
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
450685
|
+
return computeFingerprint(firstMessageText, "1.1.14");
|
|
450720
450686
|
}
|
|
450721
450687
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
450722
450688
|
var init_fingerprint = () => {};
|
|
@@ -452571,7 +452537,7 @@ async function sideQuery(opts) {
|
|
|
452571
452537
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
452572
452538
|
}
|
|
452573
452539
|
const messageText = extractFirstUserMessageText(messages);
|
|
452574
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
452540
|
+
const fingerprint = computeFingerprint(messageText, "1.1.14");
|
|
452575
452541
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
452576
452542
|
const systemBlocks = [
|
|
452577
452543
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -457369,7 +457335,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
457369
457335
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
457370
457336
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
457371
457337
|
betas: getSdkBetas(),
|
|
457372
|
-
claude_code_version: "1.1.
|
|
457338
|
+
claude_code_version: "1.1.14",
|
|
457373
457339
|
output_style: outputStyle2,
|
|
457374
457340
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
457375
457341
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -471948,7 +471914,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
471948
471914
|
function getSemverPart(version2) {
|
|
471949
471915
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
471950
471916
|
}
|
|
471951
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
471917
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.14") {
|
|
471952
471918
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
471953
471919
|
if (!updatedVersion) {
|
|
471954
471920
|
return null;
|
|
@@ -471988,7 +471954,7 @@ function AutoUpdater({
|
|
|
471988
471954
|
return;
|
|
471989
471955
|
}
|
|
471990
471956
|
if (false) {}
|
|
471991
|
-
const currentVersion = "1.1.
|
|
471957
|
+
const currentVersion = "1.1.14";
|
|
471992
471958
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
471993
471959
|
let latestVersion = await getLatestVersion(channel);
|
|
471994
471960
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -472199,12 +472165,12 @@ function NativeAutoUpdater({
|
|
|
472199
472165
|
logEvent("tengu_native_auto_updater_start", {});
|
|
472200
472166
|
try {
|
|
472201
472167
|
const maxVersion = await getMaxVersion();
|
|
472202
|
-
if (maxVersion && gt("1.1.
|
|
472168
|
+
if (maxVersion && gt("1.1.14", maxVersion)) {
|
|
472203
472169
|
const msg = await getMaxVersionMessage();
|
|
472204
472170
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
472205
472171
|
}
|
|
472206
472172
|
const result = await installLatest(channel);
|
|
472207
|
-
const currentVersion = "1.1.
|
|
472173
|
+
const currentVersion = "1.1.14";
|
|
472208
472174
|
const latencyMs = Date.now() - startTime;
|
|
472209
472175
|
if (result.lockFailed) {
|
|
472210
472176
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -472339,17 +472305,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472339
472305
|
const maxVersion = await getMaxVersion();
|
|
472340
472306
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
472341
472307
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
472342
|
-
if (gte("1.1.
|
|
472343
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
472308
|
+
if (gte("1.1.14", maxVersion)) {
|
|
472309
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.14"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
472344
472310
|
setUpdateAvailable(false);
|
|
472345
472311
|
return;
|
|
472346
472312
|
}
|
|
472347
472313
|
latest = maxVersion;
|
|
472348
472314
|
}
|
|
472349
|
-
const hasUpdate = latest && !gte("1.1.
|
|
472315
|
+
const hasUpdate = latest && !gte("1.1.14", latest) && !shouldSkipVersion(latest);
|
|
472350
472316
|
setUpdateAvailable(!!hasUpdate);
|
|
472351
472317
|
if (hasUpdate) {
|
|
472352
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
472318
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.14"} -> ${latest}`);
|
|
472353
472319
|
}
|
|
472354
472320
|
};
|
|
472355
472321
|
$2[0] = t1;
|
|
@@ -472383,7 +472349,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472383
472349
|
wrap: "truncate",
|
|
472384
472350
|
children: [
|
|
472385
472351
|
"currentVersion: ",
|
|
472386
|
-
"1.1.
|
|
472352
|
+
"1.1.14"
|
|
472387
472353
|
]
|
|
472388
472354
|
}, undefined, true, undefined, this);
|
|
472389
472355
|
$2[3] = verbose;
|
|
@@ -479941,7 +479907,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
479941
479907
|
project_dir: getOriginalCwd(),
|
|
479942
479908
|
added_dirs: addedDirs
|
|
479943
479909
|
},
|
|
479944
|
-
version: "1.1.
|
|
479910
|
+
version: "1.1.14",
|
|
479945
479911
|
output_style: {
|
|
479946
479912
|
name: outputStyleName
|
|
479947
479913
|
},
|
|
@@ -491501,7 +491467,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
491501
491467
|
} catch {}
|
|
491502
491468
|
const data = {
|
|
491503
491469
|
trigger,
|
|
491504
|
-
version: "1.1.
|
|
491470
|
+
version: "1.1.14",
|
|
491505
491471
|
platform: process.platform,
|
|
491506
491472
|
transcript,
|
|
491507
491473
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -503068,739 +503034,36 @@ var init_githubRepoPathMapping = __esm(() => {
|
|
|
503068
503034
|
init_git();
|
|
503069
503035
|
});
|
|
503070
503036
|
|
|
503071
|
-
// src/components/LogoV2/WelcomeV2.tsx
|
|
503072
|
-
function WelcomeV2() {
|
|
503073
|
-
const [theme2] = useTheme();
|
|
503074
|
-
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
503075
|
-
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
503076
|
-
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503077
|
-
width: WELCOME_V2_WIDTH,
|
|
503078
|
-
flexDirection: "column",
|
|
503079
|
-
gap: 0,
|
|
503080
|
-
children: [
|
|
503081
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503082
|
-
gap: 1,
|
|
503083
|
-
children: [
|
|
503084
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503085
|
-
bold: true,
|
|
503086
|
-
color: accentColor,
|
|
503087
|
-
children: "localclawd"
|
|
503088
|
-
}, undefined, false, undefined, this),
|
|
503089
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503090
|
-
dimColor: true,
|
|
503091
|
-
children: [
|
|
503092
|
-
"v",
|
|
503093
|
-
"1.1.12"
|
|
503094
|
-
]
|
|
503095
|
-
}, undefined, true, undefined, this)
|
|
503096
|
-
]
|
|
503097
|
-
}, undefined, true, undefined, this),
|
|
503098
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503099
|
-
dimColor: true,
|
|
503100
|
-
children: "─".repeat(48)
|
|
503101
|
-
}, undefined, false, undefined, this),
|
|
503102
|
-
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503103
|
-
marginTop: 1,
|
|
503104
|
-
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(Clawd, {}, undefined, false, undefined, this)
|
|
503105
|
-
}, undefined, false, undefined, this)
|
|
503106
|
-
]
|
|
503107
|
-
}, undefined, true, undefined, this);
|
|
503108
|
-
}
|
|
503109
|
-
var jsx_dev_runtime482, WELCOME_V2_WIDTH = 58;
|
|
503110
|
-
var init_WelcomeV2 = __esm(() => {
|
|
503111
|
-
init_ink2();
|
|
503112
|
-
init_Clawd();
|
|
503113
|
-
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503114
|
-
});
|
|
503115
|
-
|
|
503116
|
-
// src/components/StartPage.tsx
|
|
503117
|
-
var exports_StartPage = {};
|
|
503118
|
-
__export(exports_StartPage, {
|
|
503119
|
-
StartPage: () => StartPage
|
|
503120
|
-
});
|
|
503121
|
-
function hasSavedBackendConfig(config2) {
|
|
503122
|
-
return Boolean(config2?.provider && config2?.baseUrl?.trim() && config2?.model?.trim());
|
|
503123
|
-
}
|
|
503124
|
-
function isEnter2(input, key) {
|
|
503125
|
-
return key.return || input === "\r" || input === `
|
|
503126
|
-
`;
|
|
503127
|
-
}
|
|
503128
|
-
function StartPage({ currentConfig, onDone }) {
|
|
503129
|
-
const hasSavedConfig = hasSavedBackendConfig(currentConfig);
|
|
503130
|
-
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
503131
|
-
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503132
|
-
const [submitted, setSubmitted] = import_react321.useState(false);
|
|
503133
|
-
use_input_default((input, key) => {
|
|
503134
|
-
if (submitted)
|
|
503135
|
-
return;
|
|
503136
|
-
if (key.upArrow) {
|
|
503137
|
-
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
503138
|
-
} else if (key.downArrow) {
|
|
503139
|
-
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
503140
|
-
} else if (isEnter2(input, key)) {
|
|
503141
|
-
setSubmitted(true);
|
|
503142
|
-
onDone(options[focusIdx].value);
|
|
503143
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503144
|
-
gracefulShutdownSync(0);
|
|
503145
|
-
}
|
|
503146
|
-
});
|
|
503147
|
-
return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503148
|
-
flexDirection: "column",
|
|
503149
|
-
gap: 1,
|
|
503150
|
-
children: [
|
|
503151
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
503152
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503153
|
-
flexDirection: "column",
|
|
503154
|
-
gap: 1,
|
|
503155
|
-
paddingLeft: 1,
|
|
503156
|
-
width: 78,
|
|
503157
|
-
children: [
|
|
503158
|
-
hasSavedConfig ? /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(jsx_dev_runtime483.Fragment, {
|
|
503159
|
-
children: [
|
|
503160
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503161
|
-
flexDirection: "column",
|
|
503162
|
-
children: [
|
|
503163
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503164
|
-
bold: true,
|
|
503165
|
-
color: "#818cf8",
|
|
503166
|
-
children: "Welcome back!"
|
|
503167
|
-
}, undefined, false, undefined, this),
|
|
503168
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503169
|
-
dimColor: true,
|
|
503170
|
-
children: "Ready when you are."
|
|
503171
|
-
}, undefined, false, undefined, this)
|
|
503172
|
-
]
|
|
503173
|
-
}, undefined, true, undefined, this),
|
|
503174
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503175
|
-
flexDirection: "column",
|
|
503176
|
-
borderStyle: "round",
|
|
503177
|
-
borderColor: "#6366f1",
|
|
503178
|
-
paddingX: 2,
|
|
503179
|
-
paddingY: 0,
|
|
503180
|
-
width: 60,
|
|
503181
|
-
children: [
|
|
503182
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503183
|
-
gap: 2,
|
|
503184
|
-
children: [
|
|
503185
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503186
|
-
color: "#6366f1",
|
|
503187
|
-
bold: true,
|
|
503188
|
-
children: "◈"
|
|
503189
|
-
}, undefined, false, undefined, this),
|
|
503190
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503191
|
-
bold: true,
|
|
503192
|
-
color: "#818cf8",
|
|
503193
|
-
children: getLocalLLMProviderLabel(currentConfig.provider)
|
|
503194
|
-
}, undefined, false, undefined, this)
|
|
503195
|
-
]
|
|
503196
|
-
}, undefined, true, undefined, this),
|
|
503197
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503198
|
-
dimColor: true,
|
|
503199
|
-
children: [
|
|
503200
|
-
"Model: ",
|
|
503201
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503202
|
-
color: "white",
|
|
503203
|
-
children: currentConfig.model
|
|
503204
|
-
}, undefined, false, undefined, this)
|
|
503205
|
-
]
|
|
503206
|
-
}, undefined, true, undefined, this),
|
|
503207
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503208
|
-
dimColor: true,
|
|
503209
|
-
children: [
|
|
503210
|
-
"Endpoint: ",
|
|
503211
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503212
|
-
color: "white",
|
|
503213
|
-
children: currentConfig.baseUrl
|
|
503214
|
-
}, undefined, false, undefined, this)
|
|
503215
|
-
]
|
|
503216
|
-
}, undefined, true, undefined, this)
|
|
503217
|
-
]
|
|
503218
|
-
}, undefined, true, undefined, this)
|
|
503219
|
-
]
|
|
503220
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503221
|
-
flexDirection: "column",
|
|
503222
|
-
gap: 0,
|
|
503223
|
-
children: [
|
|
503224
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503225
|
-
bold: true,
|
|
503226
|
-
color: "#818cf8",
|
|
503227
|
-
children: "Let's get you connected."
|
|
503228
|
-
}, undefined, false, undefined, this),
|
|
503229
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503230
|
-
dimColor: true,
|
|
503231
|
-
wrap: "wrap",
|
|
503232
|
-
children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
|
|
503233
|
-
}, undefined, false, undefined, this)
|
|
503234
|
-
]
|
|
503235
|
-
}, undefined, true, undefined, this),
|
|
503236
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503237
|
-
flexDirection: "column",
|
|
503238
|
-
children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503239
|
-
gap: 1,
|
|
503240
|
-
children: [
|
|
503241
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503242
|
-
color: "#6366f1",
|
|
503243
|
-
children: i2 === focusIdx ? "▶" : " "
|
|
503244
|
-
}, undefined, false, undefined, this),
|
|
503245
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503246
|
-
bold: i2 === focusIdx,
|
|
503247
|
-
color: i2 === focusIdx ? "#818cf8" : undefined,
|
|
503248
|
-
children: opt.label
|
|
503249
|
-
}, undefined, false, undefined, this)
|
|
503250
|
-
]
|
|
503251
|
-
}, opt.value, true, undefined, this))
|
|
503252
|
-
}, undefined, false, undefined, this),
|
|
503253
|
-
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503254
|
-
dimColor: true,
|
|
503255
|
-
children: "↑↓ navigate · Enter confirm · Esc exit"
|
|
503256
|
-
}, undefined, false, undefined, this)
|
|
503257
|
-
]
|
|
503258
|
-
}, undefined, true, undefined, this)
|
|
503259
|
-
]
|
|
503260
|
-
}, undefined, true, undefined, this);
|
|
503261
|
-
}
|
|
503262
|
-
var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
|
|
503263
|
-
var init_StartPage = __esm(() => {
|
|
503264
|
-
init_ink2();
|
|
503265
|
-
init_gracefulShutdown();
|
|
503266
|
-
init_providers();
|
|
503267
|
-
init_WelcomeV2();
|
|
503268
|
-
import_react321 = __toESM(require_react(), 1);
|
|
503269
|
-
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503270
|
-
CONTINUE_OPTIONS = [
|
|
503271
|
-
{ label: "Continue to dashboard", value: "continue" },
|
|
503272
|
-
{ label: "Change backend", value: "configure-backend" }
|
|
503273
|
-
];
|
|
503274
|
-
SETUP_OPTIONS = [
|
|
503275
|
-
{ label: "Set up a backend now", value: "configure-backend" },
|
|
503276
|
-
{ label: "Skip for now", value: "continue" }
|
|
503277
|
-
];
|
|
503278
|
-
});
|
|
503279
|
-
|
|
503280
|
-
// src/components/ui/OrderedListItem.tsx
|
|
503281
|
-
function OrderedListItem(t0) {
|
|
503282
|
-
const $2 = c3(7);
|
|
503283
|
-
const {
|
|
503284
|
-
children
|
|
503285
|
-
} = t0;
|
|
503286
|
-
const {
|
|
503287
|
-
marker
|
|
503288
|
-
} = import_react322.useContext(OrderedListItemContext);
|
|
503289
|
-
let t1;
|
|
503290
|
-
if ($2[0] !== marker) {
|
|
503291
|
-
t1 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
503292
|
-
dimColor: true,
|
|
503293
|
-
children: marker
|
|
503294
|
-
}, undefined, false, undefined, this);
|
|
503295
|
-
$2[0] = marker;
|
|
503296
|
-
$2[1] = t1;
|
|
503297
|
-
} else {
|
|
503298
|
-
t1 = $2[1];
|
|
503299
|
-
}
|
|
503300
|
-
let t2;
|
|
503301
|
-
if ($2[2] !== children) {
|
|
503302
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503303
|
-
flexDirection: "column",
|
|
503304
|
-
children
|
|
503305
|
-
}, undefined, false, undefined, this);
|
|
503306
|
-
$2[2] = children;
|
|
503307
|
-
$2[3] = t2;
|
|
503308
|
-
} else {
|
|
503309
|
-
t2 = $2[3];
|
|
503310
|
-
}
|
|
503311
|
-
let t3;
|
|
503312
|
-
if ($2[4] !== t1 || $2[5] !== t2) {
|
|
503313
|
-
t3 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
503314
|
-
gap: 1,
|
|
503315
|
-
children: [
|
|
503316
|
-
t1,
|
|
503317
|
-
t2
|
|
503318
|
-
]
|
|
503319
|
-
}, undefined, true, undefined, this);
|
|
503320
|
-
$2[4] = t1;
|
|
503321
|
-
$2[5] = t2;
|
|
503322
|
-
$2[6] = t3;
|
|
503323
|
-
} else {
|
|
503324
|
-
t3 = $2[6];
|
|
503325
|
-
}
|
|
503326
|
-
return t3;
|
|
503327
|
-
}
|
|
503328
|
-
var import_react322, jsx_dev_runtime484, OrderedListItemContext;
|
|
503329
|
-
var init_OrderedListItem = __esm(() => {
|
|
503330
|
-
init_ink2();
|
|
503331
|
-
import_react322 = __toESM(require_react(), 1);
|
|
503332
|
-
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503333
|
-
OrderedListItemContext = import_react322.createContext({
|
|
503334
|
-
marker: ""
|
|
503335
|
-
});
|
|
503336
|
-
});
|
|
503337
|
-
|
|
503338
|
-
// src/components/ui/OrderedList.tsx
|
|
503339
|
-
function OrderedListComponent(t0) {
|
|
503340
|
-
const $2 = c3(9);
|
|
503341
|
-
const {
|
|
503342
|
-
children
|
|
503343
|
-
} = t0;
|
|
503344
|
-
const {
|
|
503345
|
-
marker: parentMarker
|
|
503346
|
-
} = import_react323.useContext(OrderedListContext);
|
|
503347
|
-
let numberOfItems = 0;
|
|
503348
|
-
for (const child of import_react323.default.Children.toArray(children)) {
|
|
503349
|
-
if (!import_react323.isValidElement(child) || child.type !== OrderedListItem) {
|
|
503350
|
-
continue;
|
|
503351
|
-
}
|
|
503352
|
-
numberOfItems++;
|
|
503353
|
-
}
|
|
503354
|
-
const maxMarkerWidth = String(numberOfItems).length;
|
|
503355
|
-
let t1;
|
|
503356
|
-
if ($2[0] !== children || $2[1] !== maxMarkerWidth || $2[2] !== parentMarker) {
|
|
503357
|
-
let t22;
|
|
503358
|
-
if ($2[4] !== maxMarkerWidth || $2[5] !== parentMarker) {
|
|
503359
|
-
t22 = (child_0, index) => {
|
|
503360
|
-
if (!import_react323.isValidElement(child_0) || child_0.type !== OrderedListItem) {
|
|
503361
|
-
return child_0;
|
|
503362
|
-
}
|
|
503363
|
-
const paddedMarker = `${String(index + 1).padStart(maxMarkerWidth)}.`;
|
|
503364
|
-
const marker = `${parentMarker}${paddedMarker}`;
|
|
503365
|
-
return /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListContext.Provider, {
|
|
503366
|
-
value: {
|
|
503367
|
-
marker
|
|
503368
|
-
},
|
|
503369
|
-
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(OrderedListItemContext.Provider, {
|
|
503370
|
-
value: {
|
|
503371
|
-
marker
|
|
503372
|
-
},
|
|
503373
|
-
children: child_0
|
|
503374
|
-
}, undefined, false, undefined, this)
|
|
503375
|
-
}, undefined, false, undefined, this);
|
|
503376
|
-
};
|
|
503377
|
-
$2[4] = maxMarkerWidth;
|
|
503378
|
-
$2[5] = parentMarker;
|
|
503379
|
-
$2[6] = t22;
|
|
503380
|
-
} else {
|
|
503381
|
-
t22 = $2[6];
|
|
503382
|
-
}
|
|
503383
|
-
t1 = import_react323.default.Children.map(children, t22);
|
|
503384
|
-
$2[0] = children;
|
|
503385
|
-
$2[1] = maxMarkerWidth;
|
|
503386
|
-
$2[2] = parentMarker;
|
|
503387
|
-
$2[3] = t1;
|
|
503388
|
-
} else {
|
|
503389
|
-
t1 = $2[3];
|
|
503390
|
-
}
|
|
503391
|
-
let t2;
|
|
503392
|
-
if ($2[7] !== t1) {
|
|
503393
|
-
t2 = /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ThemedBox_default, {
|
|
503394
|
-
flexDirection: "column",
|
|
503395
|
-
children: t1
|
|
503396
|
-
}, undefined, false, undefined, this);
|
|
503397
|
-
$2[7] = t1;
|
|
503398
|
-
$2[8] = t2;
|
|
503399
|
-
} else {
|
|
503400
|
-
t2 = $2[8];
|
|
503401
|
-
}
|
|
503402
|
-
return t2;
|
|
503403
|
-
}
|
|
503404
|
-
var import_react323, jsx_dev_runtime485, OrderedListContext, OrderedList;
|
|
503405
|
-
var init_OrderedList = __esm(() => {
|
|
503406
|
-
init_ink2();
|
|
503407
|
-
init_OrderedListItem();
|
|
503408
|
-
import_react323 = __toESM(require_react(), 1);
|
|
503409
|
-
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503410
|
-
OrderedListContext = import_react323.createContext({
|
|
503411
|
-
marker: ""
|
|
503412
|
-
});
|
|
503413
|
-
OrderedListComponent.Item = OrderedListItem;
|
|
503414
|
-
OrderedList = OrderedListComponent;
|
|
503415
|
-
});
|
|
503416
|
-
|
|
503417
|
-
// src/components/Onboarding.tsx
|
|
503418
|
-
var exports_Onboarding = {};
|
|
503419
|
-
__export(exports_Onboarding, {
|
|
503420
|
-
Onboarding: () => Onboarding
|
|
503421
|
-
});
|
|
503422
|
-
function isEnter3(input, key) {
|
|
503423
|
-
return key.return || input === "\r" || input === `
|
|
503424
|
-
`;
|
|
503425
|
-
}
|
|
503426
|
-
function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
|
|
503427
|
-
const VISIBLE = Math.min(7, items.length);
|
|
503428
|
-
const [focusIdx, setFocusIdx] = import_react324.useState(0);
|
|
503429
|
-
const [fromIdx, setFromIdx] = import_react324.useState(0);
|
|
503430
|
-
const [submitted, setSubmitted] = import_react324.useState(false);
|
|
503431
|
-
use_input_default((input, key) => {
|
|
503432
|
-
if (!isActive || submitted)
|
|
503433
|
-
return;
|
|
503434
|
-
if (key.upArrow) {
|
|
503435
|
-
setFocusIdx((prev) => {
|
|
503436
|
-
const next = Math.max(0, prev - 1);
|
|
503437
|
-
if (next < fromIdx)
|
|
503438
|
-
setFromIdx(next);
|
|
503439
|
-
return next;
|
|
503440
|
-
});
|
|
503441
|
-
} else if (key.downArrow) {
|
|
503442
|
-
setFocusIdx((prev) => {
|
|
503443
|
-
const next = Math.min(items.length - 1, prev + 1);
|
|
503444
|
-
if (next >= fromIdx + VISIBLE)
|
|
503445
|
-
setFromIdx(next - VISIBLE + 1);
|
|
503446
|
-
return next;
|
|
503447
|
-
});
|
|
503448
|
-
} else if (isEnter3(input, key)) {
|
|
503449
|
-
const item = items[focusIdx];
|
|
503450
|
-
if (item) {
|
|
503451
|
-
setSubmitted(true);
|
|
503452
|
-
onSelect(item.value);
|
|
503453
|
-
}
|
|
503454
|
-
} else if (key.escape || key.ctrl && input === "c") {
|
|
503455
|
-
onCancel?.();
|
|
503456
|
-
}
|
|
503457
|
-
});
|
|
503458
|
-
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
503459
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503460
|
-
flexDirection: "column",
|
|
503461
|
-
children: [
|
|
503462
|
-
fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503463
|
-
dimColor: true,
|
|
503464
|
-
children: " ↑ more"
|
|
503465
|
-
}, undefined, false, undefined, this),
|
|
503466
|
-
visible.map((item, i2) => {
|
|
503467
|
-
const absIdx = fromIdx + i2;
|
|
503468
|
-
const focused = absIdx === focusIdx;
|
|
503469
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503470
|
-
gap: 1,
|
|
503471
|
-
children: [
|
|
503472
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503473
|
-
color: "#6366f1",
|
|
503474
|
-
children: focused ? "▶" : " "
|
|
503475
|
-
}, undefined, false, undefined, this),
|
|
503476
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503477
|
-
bold: focused,
|
|
503478
|
-
color: focused ? "#818cf8" : undefined,
|
|
503479
|
-
children: item.label
|
|
503480
|
-
}, undefined, false, undefined, this)
|
|
503481
|
-
]
|
|
503482
|
-
}, String(item.value), true, undefined, this);
|
|
503483
|
-
}),
|
|
503484
|
-
fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503485
|
-
dimColor: true,
|
|
503486
|
-
children: " ↓ more"
|
|
503487
|
-
}, undefined, false, undefined, this)
|
|
503488
|
-
]
|
|
503489
|
-
}, undefined, true, undefined, this);
|
|
503490
|
-
}
|
|
503491
|
-
function PressEnterToContinue2({ isActive, onContinue }) {
|
|
503492
|
-
const [done, setDone] = import_react324.useState(false);
|
|
503493
|
-
use_input_default((input, key) => {
|
|
503494
|
-
if (!isActive || done)
|
|
503495
|
-
return;
|
|
503496
|
-
if (isEnter3(input, key)) {
|
|
503497
|
-
setDone(true);
|
|
503498
|
-
onContinue();
|
|
503499
|
-
}
|
|
503500
|
-
});
|
|
503501
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503502
|
-
color: "permission",
|
|
503503
|
-
children: [
|
|
503504
|
-
"Press ",
|
|
503505
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503506
|
-
bold: true,
|
|
503507
|
-
children: "Enter"
|
|
503508
|
-
}, undefined, false, undefined, this),
|
|
503509
|
-
" to continue…"
|
|
503510
|
-
]
|
|
503511
|
-
}, undefined, true, undefined, this);
|
|
503512
|
-
}
|
|
503513
|
-
function Onboarding({ onDone, showWelcome = true }) {
|
|
503514
|
-
const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
|
|
503515
|
-
const [theme2, setTheme] = useTheme();
|
|
503516
|
-
const goToNextStep = import_react324.useCallback(() => {
|
|
503517
|
-
setCurrentStepIndex((current) => {
|
|
503518
|
-
if (current >= steps.length - 1) {
|
|
503519
|
-
onDone();
|
|
503520
|
-
return current;
|
|
503521
|
-
}
|
|
503522
|
-
return current + 1;
|
|
503523
|
-
});
|
|
503524
|
-
}, [onDone]);
|
|
503525
|
-
const handleThemeSelection = import_react324.useCallback((newTheme) => {
|
|
503526
|
-
setTheme(newTheme);
|
|
503527
|
-
goToNextStep();
|
|
503528
|
-
}, [goToNextStep, setTheme]);
|
|
503529
|
-
const handleLocalBackendSetup = import_react324.useCallback((config2, options) => {
|
|
503530
|
-
if (options?.saveGlobally === false) {
|
|
503531
|
-
setSessionLocalLLMConfigOverride(config2);
|
|
503532
|
-
} else {
|
|
503533
|
-
clearSessionLocalLLMConfigOverride();
|
|
503534
|
-
saveGlobalConfig((current) => ({
|
|
503535
|
-
...current,
|
|
503536
|
-
localBackendProvider: config2.provider,
|
|
503537
|
-
localBackendBaseUrl: config2.baseUrl,
|
|
503538
|
-
localBackendModel: config2.model,
|
|
503539
|
-
localBackendApiKey: config2.apiKey
|
|
503540
|
-
}));
|
|
503541
|
-
}
|
|
503542
|
-
goToNextStep();
|
|
503543
|
-
}, [goToNextStep]);
|
|
503544
|
-
const themeItems = THEME_SETTINGS.map((s) => ({
|
|
503545
|
-
label: s === "auto" ? "Auto (follow system)" : s,
|
|
503546
|
-
value: s
|
|
503547
|
-
}));
|
|
503548
|
-
const compactItems = [
|
|
503549
|
-
{
|
|
503550
|
-
label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
|
|
503551
|
-
value: "default"
|
|
503552
|
-
},
|
|
503553
|
-
...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
|
|
503554
|
-
label: formatCompactContextWindowOption(tokens),
|
|
503555
|
-
value: String(tokens)
|
|
503556
|
-
}))
|
|
503557
|
-
];
|
|
503558
|
-
const steps = import_react324.useMemo(() => {
|
|
503559
|
-
const config2 = getGlobalConfig();
|
|
503560
|
-
const result = [
|
|
503561
|
-
{
|
|
503562
|
-
id: "theme",
|
|
503563
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503564
|
-
flexDirection: "column",
|
|
503565
|
-
gap: 1,
|
|
503566
|
-
paddingLeft: 1,
|
|
503567
|
-
children: [
|
|
503568
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503569
|
-
bold: true,
|
|
503570
|
-
children: "Choose a theme"
|
|
503571
|
-
}, undefined, false, undefined, this),
|
|
503572
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503573
|
-
items: themeItems,
|
|
503574
|
-
isActive: isActive2,
|
|
503575
|
-
onSelect: handleThemeSelection,
|
|
503576
|
-
onCancel: goToNextStep
|
|
503577
|
-
}, undefined, false, undefined, this),
|
|
503578
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503579
|
-
dimColor: true,
|
|
503580
|
-
children: "Change later with /theme"
|
|
503581
|
-
}, undefined, false, undefined, this)
|
|
503582
|
-
]
|
|
503583
|
-
}, undefined, true, undefined, this)
|
|
503584
|
-
},
|
|
503585
|
-
{
|
|
503586
|
-
id: "compact-context",
|
|
503587
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503588
|
-
flexDirection: "column",
|
|
503589
|
-
gap: 1,
|
|
503590
|
-
paddingLeft: 1,
|
|
503591
|
-
width: 70,
|
|
503592
|
-
children: [
|
|
503593
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503594
|
-
bold: true,
|
|
503595
|
-
children: "Choose a compact context window"
|
|
503596
|
-
}, undefined, false, undefined, this),
|
|
503597
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503598
|
-
dimColor: true,
|
|
503599
|
-
wrap: "wrap",
|
|
503600
|
-
children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
|
|
503601
|
-
}, undefined, false, undefined, this),
|
|
503602
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503603
|
-
items: compactItems,
|
|
503604
|
-
isActive: isActive2,
|
|
503605
|
-
onSelect: (value) => {
|
|
503606
|
-
const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
|
|
503607
|
-
saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
|
|
503608
|
-
goToNextStep();
|
|
503609
|
-
},
|
|
503610
|
-
onCancel: goToNextStep
|
|
503611
|
-
}, undefined, false, undefined, this),
|
|
503612
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503613
|
-
dimColor: true,
|
|
503614
|
-
children: "Change later in /config under Compact context window."
|
|
503615
|
-
}, undefined, false, undefined, this)
|
|
503616
|
-
]
|
|
503617
|
-
}, undefined, true, undefined, this)
|
|
503618
|
-
},
|
|
503619
|
-
{
|
|
503620
|
-
id: "local-backend",
|
|
503621
|
-
component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503622
|
-
initialConfig: {
|
|
503623
|
-
provider: config2.localBackendProvider,
|
|
503624
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
503625
|
-
model: config2.localBackendModel,
|
|
503626
|
-
apiKey: config2.localBackendApiKey
|
|
503627
|
-
},
|
|
503628
|
-
onComplete: handleLocalBackendSetup,
|
|
503629
|
-
onCancel: goToNextStep,
|
|
503630
|
-
title: "Choose your local backend",
|
|
503631
|
-
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503632
|
-
showSaveGloballyOption: true
|
|
503633
|
-
}, undefined, false, undefined, this)
|
|
503634
|
-
},
|
|
503635
|
-
{
|
|
503636
|
-
id: "security",
|
|
503637
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503638
|
-
flexDirection: "column",
|
|
503639
|
-
gap: 1,
|
|
503640
|
-
paddingLeft: 1,
|
|
503641
|
-
children: [
|
|
503642
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503643
|
-
bold: true,
|
|
503644
|
-
children: "Security notes:"
|
|
503645
|
-
}, undefined, false, undefined, this),
|
|
503646
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503647
|
-
flexDirection: "column",
|
|
503648
|
-
width: 70,
|
|
503649
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
|
|
503650
|
-
children: [
|
|
503651
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503652
|
-
children: [
|
|
503653
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503654
|
-
children: "localclawd can make mistakes"
|
|
503655
|
-
}, undefined, false, undefined, this),
|
|
503656
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503657
|
-
dimColor: true,
|
|
503658
|
-
wrap: "wrap",
|
|
503659
|
-
children: [
|
|
503660
|
-
"Always review responses, especially when running code.",
|
|
503661
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503662
|
-
]
|
|
503663
|
-
}, undefined, true, undefined, this)
|
|
503664
|
-
]
|
|
503665
|
-
}, undefined, true, undefined, this),
|
|
503666
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503667
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503668
|
-
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503669
|
-
}, undefined, false, undefined, this)
|
|
503670
|
-
}, undefined, false, undefined, this)
|
|
503671
|
-
]
|
|
503672
|
-
}, undefined, true, undefined, this)
|
|
503673
|
-
}, undefined, false, undefined, this),
|
|
503674
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503675
|
-
isActive: isActive2,
|
|
503676
|
-
onContinue: goToNextStep
|
|
503677
|
-
}, undefined, false, undefined, this)
|
|
503678
|
-
]
|
|
503679
|
-
}, undefined, true, undefined, this)
|
|
503680
|
-
}
|
|
503681
|
-
];
|
|
503682
|
-
if (shouldOfferTerminalSetup()) {
|
|
503683
|
-
const terminalItems = [
|
|
503684
|
-
{ label: "Yes, use recommended settings", value: "install" },
|
|
503685
|
-
{ label: "No, maybe later with /terminal-setup", value: "no" }
|
|
503686
|
-
];
|
|
503687
|
-
result.push({
|
|
503688
|
-
id: "terminal-setup",
|
|
503689
|
-
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503690
|
-
flexDirection: "column",
|
|
503691
|
-
gap: 1,
|
|
503692
|
-
paddingLeft: 1,
|
|
503693
|
-
children: [
|
|
503694
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503695
|
-
bold: true,
|
|
503696
|
-
children: "Use localclawd's terminal setup?"
|
|
503697
|
-
}, undefined, false, undefined, this),
|
|
503698
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503699
|
-
flexDirection: "column",
|
|
503700
|
-
width: 70,
|
|
503701
|
-
gap: 1,
|
|
503702
|
-
children: [
|
|
503703
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503704
|
-
children: [
|
|
503705
|
-
"For the optimal experience, enable recommended settings",
|
|
503706
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503707
|
-
"for your terminal:",
|
|
503708
|
-
" ",
|
|
503709
|
-
env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
|
|
503710
|
-
]
|
|
503711
|
-
}, undefined, true, undefined, this),
|
|
503712
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503713
|
-
items: terminalItems,
|
|
503714
|
-
isActive: isActive2,
|
|
503715
|
-
onSelect: (value) => {
|
|
503716
|
-
if (value === "install") {
|
|
503717
|
-
setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
|
|
503718
|
-
} else {
|
|
503719
|
-
goToNextStep();
|
|
503720
|
-
}
|
|
503721
|
-
},
|
|
503722
|
-
onCancel: goToNextStep
|
|
503723
|
-
}, undefined, false, undefined, this)
|
|
503724
|
-
]
|
|
503725
|
-
}, undefined, true, undefined, this)
|
|
503726
|
-
]
|
|
503727
|
-
}, undefined, true, undefined, this)
|
|
503728
|
-
});
|
|
503729
|
-
}
|
|
503730
|
-
return result;
|
|
503731
|
-
}, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
|
|
503732
|
-
const currentStep = steps[currentStepIndex];
|
|
503733
|
-
const isActive = true;
|
|
503734
|
-
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503735
|
-
flexDirection: "column",
|
|
503736
|
-
children: [
|
|
503737
|
-
showWelcome ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this) : null,
|
|
503738
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503739
|
-
flexDirection: "column",
|
|
503740
|
-
marginTop: 1,
|
|
503741
|
-
children: currentStep?.component(isActive)
|
|
503742
|
-
}, undefined, false, undefined, this)
|
|
503743
|
-
]
|
|
503744
|
-
}, undefined, true, undefined, this);
|
|
503745
|
-
}
|
|
503746
|
-
var import_react324, jsx_dev_runtime486;
|
|
503747
|
-
var init_Onboarding = __esm(() => {
|
|
503748
|
-
init_terminalSetup();
|
|
503749
|
-
init_ink2();
|
|
503750
|
-
init_config();
|
|
503751
|
-
init_context();
|
|
503752
|
-
init_env();
|
|
503753
|
-
init_providers();
|
|
503754
|
-
init_theme();
|
|
503755
|
-
init_LocalBackendSetup();
|
|
503756
|
-
init_WelcomeV2();
|
|
503757
|
-
init_OrderedList();
|
|
503758
|
-
import_react324 = __toESM(require_react(), 1);
|
|
503759
|
-
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503760
|
-
});
|
|
503761
|
-
|
|
503762
503037
|
// src/components/TrustDialog/TrustDialog.tsx
|
|
503763
503038
|
var exports_TrustDialog = {};
|
|
503764
503039
|
__export(exports_TrustDialog, {
|
|
503765
503040
|
TrustDialog: () => TrustDialog
|
|
503766
503041
|
});
|
|
503767
503042
|
import { homedir as homedir36 } from "os";
|
|
503768
|
-
function isEnter4(input, key) {
|
|
503769
|
-
return key.return || input === "\r" || input === `
|
|
503770
|
-
`;
|
|
503771
|
-
}
|
|
503772
503043
|
function TrustDialog({ onDone }) {
|
|
503773
|
-
const [focusIdx, setFocusIdx] =
|
|
503774
|
-
const
|
|
503775
|
-
import_react325.useEffect(() => {
|
|
503776
|
-
if (checkHasTrustDialogAccepted()) {
|
|
503777
|
-
setSessionTrustAccepted(true);
|
|
503778
|
-
setAccepted(true);
|
|
503779
|
-
onDone();
|
|
503780
|
-
}
|
|
503781
|
-
}, []);
|
|
503044
|
+
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503045
|
+
const doneRef = import_react321.useRef(false);
|
|
503782
503046
|
use_input_default((input, key) => {
|
|
503783
|
-
if (
|
|
503047
|
+
if (doneRef.current)
|
|
503784
503048
|
return;
|
|
503785
503049
|
if (key.upArrow) {
|
|
503786
503050
|
setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
|
|
503787
503051
|
} else if (key.downArrow) {
|
|
503788
503052
|
setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
|
|
503789
|
-
} else if (
|
|
503053
|
+
} else if (key.return) {
|
|
503054
|
+
doneRef.current = true;
|
|
503790
503055
|
const chosen = OPTIONS[focusIdx];
|
|
503791
503056
|
if (chosen?.value === "exit") {
|
|
503792
503057
|
gracefulShutdownSync(1);
|
|
503793
503058
|
} else {
|
|
503794
503059
|
try {
|
|
503795
|
-
|
|
503796
|
-
if (!isHomeDir) {
|
|
503060
|
+
if (homedir36() !== getCwd()) {
|
|
503797
503061
|
try {
|
|
503798
|
-
saveCurrentProjectConfig((
|
|
503062
|
+
saveCurrentProjectConfig((c5) => ({ ...c5, hasTrustDialogAccepted: true }));
|
|
503799
503063
|
} catch {}
|
|
503800
503064
|
}
|
|
503801
503065
|
setSessionTrustAccepted(true);
|
|
503802
503066
|
} finally {
|
|
503803
|
-
setAccepted(true);
|
|
503804
503067
|
onDone();
|
|
503805
503068
|
}
|
|
503806
503069
|
}
|
|
@@ -503809,53 +503072,39 @@ function TrustDialog({ onDone }) {
|
|
|
503809
503072
|
}
|
|
503810
503073
|
});
|
|
503811
503074
|
const cwd2 = getFsImplementation().cwd();
|
|
503812
|
-
|
|
503813
|
-
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
503814
|
-
color: "warning",
|
|
503815
|
-
titleColor: "warning",
|
|
503816
|
-
title: "Accessing workspace:",
|
|
503817
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
503818
|
-
paddingTop: 1,
|
|
503819
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503820
|
-
dimColor: true,
|
|
503821
|
-
children: "Trusted. Loading…"
|
|
503822
|
-
}, undefined, false, undefined, this)
|
|
503823
|
-
}, undefined, false, undefined, this)
|
|
503824
|
-
}, undefined, false, undefined, this);
|
|
503825
|
-
}
|
|
503826
|
-
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
503075
|
+
return /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(PermissionDialog, {
|
|
503827
503076
|
color: "warning",
|
|
503828
503077
|
titleColor: "warning",
|
|
503829
503078
|
title: "Accessing workspace:",
|
|
503830
|
-
children: /* @__PURE__ */
|
|
503079
|
+
children: /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503831
503080
|
flexDirection: "column",
|
|
503832
503081
|
gap: 1,
|
|
503833
503082
|
paddingTop: 1,
|
|
503834
503083
|
children: [
|
|
503835
|
-
/* @__PURE__ */
|
|
503084
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503836
503085
|
bold: true,
|
|
503837
503086
|
children: cwd2
|
|
503838
503087
|
}, undefined, false, undefined, this),
|
|
503839
|
-
/* @__PURE__ */
|
|
503088
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503840
503089
|
children: [
|
|
503841
503090
|
"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team.) If not, take a moment to review what",
|
|
503842
503091
|
"'",
|
|
503843
503092
|
"s in this folder first."
|
|
503844
503093
|
]
|
|
503845
503094
|
}, undefined, true, undefined, this),
|
|
503846
|
-
/* @__PURE__ */
|
|
503095
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503847
503096
|
children: "localClawd'll be able to read, edit, and execute files here."
|
|
503848
503097
|
}, undefined, false, undefined, this),
|
|
503849
|
-
/* @__PURE__ */
|
|
503098
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503850
503099
|
flexDirection: "column",
|
|
503851
|
-
children: OPTIONS.map((opt, i2) => /* @__PURE__ */
|
|
503100
|
+
children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedBox_default, {
|
|
503852
503101
|
gap: 1,
|
|
503853
503102
|
children: [
|
|
503854
|
-
/* @__PURE__ */
|
|
503103
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503855
503104
|
color: "yellow",
|
|
503856
503105
|
children: i2 === focusIdx ? "▶" : " "
|
|
503857
503106
|
}, undefined, false, undefined, this),
|
|
503858
|
-
/* @__PURE__ */
|
|
503107
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503859
503108
|
bold: i2 === focusIdx,
|
|
503860
503109
|
color: i2 === focusIdx ? "white" : undefined,
|
|
503861
503110
|
children: opt.label
|
|
@@ -503863,7 +503112,7 @@ function TrustDialog({ onDone }) {
|
|
|
503863
503112
|
]
|
|
503864
503113
|
}, opt.value, true, undefined, this))
|
|
503865
503114
|
}, undefined, false, undefined, this),
|
|
503866
|
-
/* @__PURE__ */
|
|
503115
|
+
/* @__PURE__ */ jsx_dev_runtime482.jsxDEV(ThemedText, {
|
|
503867
503116
|
dimColor: true,
|
|
503868
503117
|
children: "↑↓ navigate · Enter confirm · Esc cancel"
|
|
503869
503118
|
}, undefined, false, undefined, this)
|
|
@@ -503871,7 +503120,7 @@ function TrustDialog({ onDone }) {
|
|
|
503871
503120
|
}, undefined, true, undefined, this)
|
|
503872
503121
|
}, undefined, false, undefined, this);
|
|
503873
503122
|
}
|
|
503874
|
-
var
|
|
503123
|
+
var import_react321, jsx_dev_runtime482, OPTIONS;
|
|
503875
503124
|
var init_TrustDialog = __esm(() => {
|
|
503876
503125
|
init_ink2();
|
|
503877
503126
|
init_state();
|
|
@@ -503880,8 +503129,8 @@ var init_TrustDialog = __esm(() => {
|
|
|
503880
503129
|
init_fsOperations();
|
|
503881
503130
|
init_gracefulShutdown();
|
|
503882
503131
|
init_PermissionDialog();
|
|
503883
|
-
|
|
503884
|
-
|
|
503132
|
+
import_react321 = __toESM(require_react(), 1);
|
|
503133
|
+
jsx_dev_runtime482 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503885
503134
|
OPTIONS = [
|
|
503886
503135
|
{ label: "Yes, I trust this folder", value: "enable_all" },
|
|
503887
503136
|
{ label: "No, exit", value: "exit" }
|
|
@@ -503905,7 +503154,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503905
503154
|
} else {
|
|
503906
503155
|
t1 = $2[0];
|
|
503907
503156
|
}
|
|
503908
|
-
|
|
503157
|
+
import_react322.default.useEffect(_temp303, t1);
|
|
503909
503158
|
let t2;
|
|
503910
503159
|
if ($2[1] !== onAccept) {
|
|
503911
503160
|
t2 = function onChange2(value) {
|
|
@@ -503933,21 +503182,21 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503933
503182
|
const handleEscape = _temp2101;
|
|
503934
503183
|
let t3;
|
|
503935
503184
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503936
|
-
t3 = /* @__PURE__ */
|
|
503185
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503937
503186
|
flexDirection: "column",
|
|
503938
503187
|
gap: 1,
|
|
503939
503188
|
children: [
|
|
503940
|
-
/* @__PURE__ */
|
|
503189
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503941
503190
|
children: [
|
|
503942
503191
|
"In Bypass Permissions mode, localclawd will not ask for your approval before running potentially dangerous commands.",
|
|
503943
|
-
/* @__PURE__ */
|
|
503192
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503944
503193
|
"This mode should only be used in a sandboxed container/VM that has restricted internet access and can easily be restored if damaged."
|
|
503945
503194
|
]
|
|
503946
503195
|
}, undefined, true, undefined, this),
|
|
503947
|
-
/* @__PURE__ */
|
|
503196
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503948
503197
|
children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
|
|
503949
503198
|
}, undefined, false, undefined, this),
|
|
503950
|
-
/* @__PURE__ */
|
|
503199
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Link, {
|
|
503951
503200
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
503952
503201
|
}, undefined, false, undefined, this)
|
|
503953
503202
|
]
|
|
@@ -503971,13 +503220,13 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
503971
503220
|
}
|
|
503972
503221
|
let t5;
|
|
503973
503222
|
if ($2[5] !== onChange) {
|
|
503974
|
-
t5 = /* @__PURE__ */
|
|
503223
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Dialog, {
|
|
503975
503224
|
title: "WARNING: localclawd running in Bypass Permissions mode",
|
|
503976
503225
|
color: "error",
|
|
503977
503226
|
onCancel: handleEscape,
|
|
503978
503227
|
children: [
|
|
503979
503228
|
t3,
|
|
503980
|
-
/* @__PURE__ */
|
|
503229
|
+
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(Select, {
|
|
503981
503230
|
options: t4,
|
|
503982
503231
|
onChange: (value_0) => onChange(value_0)
|
|
503983
503232
|
}, undefined, false, undefined, this)
|
|
@@ -503996,15 +503245,15 @@ function _temp2101() {
|
|
|
503996
503245
|
function _temp303() {
|
|
503997
503246
|
logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
|
|
503998
503247
|
}
|
|
503999
|
-
var
|
|
503248
|
+
var import_react322, jsx_dev_runtime483;
|
|
504000
503249
|
var init_BypassPermissionsModeDialog = __esm(() => {
|
|
504001
503250
|
init_ink2();
|
|
504002
503251
|
init_gracefulShutdown();
|
|
504003
503252
|
init_settings2();
|
|
504004
503253
|
init_CustomSelect();
|
|
504005
503254
|
init_Dialog();
|
|
504006
|
-
|
|
504007
|
-
|
|
503255
|
+
import_react322 = __toESM(require_react(), 1);
|
|
503256
|
+
jsx_dev_runtime483 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504008
503257
|
});
|
|
504009
503258
|
|
|
504010
503259
|
// src/components/ClaudeInChromeOnboarding.tsx
|
|
@@ -504017,7 +503266,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504017
503266
|
const {
|
|
504018
503267
|
onDone
|
|
504019
503268
|
} = t0;
|
|
504020
|
-
const [isExtensionInstalled, setIsExtensionInstalled] =
|
|
503269
|
+
const [isExtensionInstalled, setIsExtensionInstalled] = import_react323.default.useState(false);
|
|
504021
503270
|
let t1;
|
|
504022
503271
|
let t2;
|
|
504023
503272
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -504033,7 +503282,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504033
503282
|
t1 = $2[0];
|
|
504034
503283
|
t2 = $2[1];
|
|
504035
503284
|
}
|
|
504036
|
-
|
|
503285
|
+
import_react323.default.useEffect(t1, t2);
|
|
504037
503286
|
let t3;
|
|
504038
503287
|
if ($2[2] !== onDone) {
|
|
504039
503288
|
t3 = (_input, key) => {
|
|
@@ -504049,13 +503298,13 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504049
503298
|
use_input_default(t3);
|
|
504050
503299
|
let t4;
|
|
504051
503300
|
if ($2[4] !== isExtensionInstalled) {
|
|
504052
|
-
t4 = !isExtensionInstalled && /* @__PURE__ */
|
|
503301
|
+
t4 = !isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
504053
503302
|
children: [
|
|
504054
|
-
/* @__PURE__ */
|
|
504055
|
-
/* @__PURE__ */
|
|
503303
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503304
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
504056
503305
|
"Requires the Chrome extension. Get started at",
|
|
504057
503306
|
" ",
|
|
504058
|
-
/* @__PURE__ */
|
|
503307
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504059
503308
|
url: CHROME_EXTENSION_URL2
|
|
504060
503309
|
}, undefined, false, undefined, this)
|
|
504061
503310
|
]
|
|
@@ -504067,7 +503316,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504067
503316
|
}
|
|
504068
503317
|
let t5;
|
|
504069
503318
|
if ($2[6] !== t4) {
|
|
504070
|
-
t5 = /* @__PURE__ */
|
|
503319
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504071
503320
|
children: [
|
|
504072
503321
|
"localclawd in Chrome works with the Chrome extension to let you control your browser directly from localclawd. You can navigate websites, fill forms, capture screenshots, record GIFs, and debug with console logs and network requests.",
|
|
504073
503322
|
t4
|
|
@@ -504080,11 +503329,11 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504080
503329
|
}
|
|
504081
503330
|
let t6;
|
|
504082
503331
|
if ($2[8] !== isExtensionInstalled) {
|
|
504083
|
-
t6 = isExtensionInstalled && /* @__PURE__ */
|
|
503332
|
+
t6 = isExtensionInstalled && /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(jsx_dev_runtime484.Fragment, {
|
|
504084
503333
|
children: [
|
|
504085
503334
|
" ",
|
|
504086
503335
|
"(",
|
|
504087
|
-
/* @__PURE__ */
|
|
503336
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504088
503337
|
url: CHROME_PERMISSIONS_URL2
|
|
504089
503338
|
}, undefined, false, undefined, this),
|
|
504090
503339
|
")"
|
|
@@ -504097,7 +503346,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504097
503346
|
}
|
|
504098
503347
|
let t7;
|
|
504099
503348
|
if ($2[10] !== t6) {
|
|
504100
|
-
t7 = /* @__PURE__ */
|
|
503349
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504101
503350
|
dimColor: true,
|
|
504102
503351
|
children: [
|
|
504103
503352
|
"Site-level permissions are inherited from the Chrome extension. Manage permissions in the Chrome extension settings to control which sites localclawd can browse, click, and type on",
|
|
@@ -504112,7 +503361,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504112
503361
|
}
|
|
504113
503362
|
let t8;
|
|
504114
503363
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504115
|
-
t8 = /* @__PURE__ */
|
|
503364
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504116
503365
|
bold: true,
|
|
504117
503366
|
color: "chromeYellow",
|
|
504118
503367
|
children: "/chrome"
|
|
@@ -504123,7 +503372,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504123
503372
|
}
|
|
504124
503373
|
let t9;
|
|
504125
503374
|
if ($2[13] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504126
|
-
t9 = /* @__PURE__ */
|
|
503375
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedText, {
|
|
504127
503376
|
dimColor: true,
|
|
504128
503377
|
children: [
|
|
504129
503378
|
"For more info, use",
|
|
@@ -504131,7 +503380,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504131
503380
|
t8,
|
|
504132
503381
|
" ",
|
|
504133
503382
|
"or visit ",
|
|
504134
|
-
/* @__PURE__ */
|
|
503383
|
+
/* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Link, {
|
|
504135
503384
|
url: "https://github.com/chromebookwiz/localclawd"
|
|
504136
503385
|
}, undefined, false, undefined, this)
|
|
504137
503386
|
]
|
|
@@ -504142,7 +503391,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504142
503391
|
}
|
|
504143
503392
|
let t10;
|
|
504144
503393
|
if ($2[14] !== t5 || $2[15] !== t7) {
|
|
504145
|
-
t10 = /* @__PURE__ */
|
|
503394
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(ThemedBox_default, {
|
|
504146
503395
|
flexDirection: "column",
|
|
504147
503396
|
gap: 1,
|
|
504148
503397
|
children: [
|
|
@@ -504159,7 +503408,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504159
503408
|
}
|
|
504160
503409
|
let t11;
|
|
504161
503410
|
if ($2[17] !== onDone || $2[18] !== t10) {
|
|
504162
|
-
t11 = /* @__PURE__ */
|
|
503411
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime484.jsxDEV(Dialog, {
|
|
504163
503412
|
title: "localclawd in Chrome (Beta)",
|
|
504164
503413
|
onCancel: onDone,
|
|
504165
503414
|
color: "chromeYellow",
|
|
@@ -504179,25 +503428,18 @@ function _temp304(current) {
|
|
|
504179
503428
|
hasCompletedClaudeInChromeOnboarding: true
|
|
504180
503429
|
};
|
|
504181
503430
|
}
|
|
504182
|
-
var
|
|
503431
|
+
var import_react323, jsx_dev_runtime484, CHROME_EXTENSION_URL2 = "https://github.com/chromebookwiz/localclawd", CHROME_PERMISSIONS_URL2 = "https://clau.de/chrome/permissions";
|
|
504183
503432
|
var init_ClaudeInChromeOnboarding = __esm(() => {
|
|
504184
503433
|
init_ink2();
|
|
504185
503434
|
init_setup3();
|
|
504186
503435
|
init_config();
|
|
504187
503436
|
init_Dialog();
|
|
504188
|
-
|
|
504189
|
-
|
|
503437
|
+
import_react323 = __toESM(require_react(), 1);
|
|
503438
|
+
jsx_dev_runtime484 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504190
503439
|
});
|
|
504191
503440
|
|
|
504192
503441
|
// src/interactiveHelpers.tsx
|
|
504193
503442
|
import { appendFileSync as appendFileSync3 } from "fs";
|
|
504194
|
-
function completeOnboarding() {
|
|
504195
|
-
saveGlobalConfig((current) => ({
|
|
504196
|
-
...current,
|
|
504197
|
-
hasCompletedOnboarding: true,
|
|
504198
|
-
lastOnboardingVersion: "1.1.12"
|
|
504199
|
-
}));
|
|
504200
|
-
}
|
|
504201
503443
|
function showDialog(root3, renderer) {
|
|
504202
503444
|
return new Promise((resolve40) => {
|
|
504203
503445
|
const done = (result) => void resolve40(result);
|
|
@@ -504216,10 +503458,10 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504216
503458
|
} = await Promise.resolve().then(() => (init_ink2(), exports_ink));
|
|
504217
503459
|
const color3 = options?.color;
|
|
504218
503460
|
const exitCode = options?.exitCode ?? 1;
|
|
504219
|
-
root3.render(color3 ? /* @__PURE__ */
|
|
503461
|
+
root3.render(color3 ? /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504220
503462
|
color: color3,
|
|
504221
503463
|
children: message
|
|
504222
|
-
}, undefined, false, undefined, this) : /* @__PURE__ */
|
|
503464
|
+
}, undefined, false, undefined, this) : /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(Text6, {
|
|
504223
503465
|
children: message
|
|
504224
503466
|
}, undefined, false, undefined, this));
|
|
504225
503467
|
root3.unmount();
|
|
@@ -504227,7 +503469,7 @@ async function exitWithMessage2(root3, message, options) {
|
|
|
504227
503469
|
process.exit(exitCode);
|
|
504228
503470
|
}
|
|
504229
503471
|
function showSetupDialog(root3, renderer, options) {
|
|
504230
|
-
return showDialog(root3, (done) => /* @__PURE__ */
|
|
503472
|
+
return showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504231
503473
|
onChangeAppState: options?.onChangeAppState,
|
|
504232
503474
|
children: renderer(done)
|
|
504233
503475
|
}, undefined, false, undefined, this));
|
|
@@ -504242,87 +503484,15 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504242
503484
|
if (isEnvTruthy(false) || process.env.IS_DEMO) {
|
|
504243
503485
|
return false;
|
|
504244
503486
|
}
|
|
504245
|
-
const
|
|
504246
|
-
const {
|
|
504247
|
-
StartPage: StartPage2
|
|
504248
|
-
} = await Promise.resolve().then(() => (init_StartPage(), exports_StartPage));
|
|
504249
|
-
const startAction = await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504250
|
-
onChangeAppState,
|
|
504251
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(StartPage2, {
|
|
504252
|
-
currentConfig: {
|
|
504253
|
-
provider: config2.localBackendProvider,
|
|
504254
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504255
|
-
model: config2.localBackendModel,
|
|
504256
|
-
apiKey: config2.localBackendApiKey
|
|
504257
|
-
},
|
|
504258
|
-
onDone: done
|
|
504259
|
-
}, undefined, false, undefined, this)
|
|
504260
|
-
}, undefined, false, undefined, this));
|
|
504261
|
-
if (startAction === "configure-backend") {
|
|
504262
|
-
const {
|
|
504263
|
-
LocalBackendSetup: LocalBackendSetup2
|
|
504264
|
-
} = await Promise.resolve().then(() => (init_LocalBackendSetup(), exports_LocalBackendSetup));
|
|
504265
|
-
const {
|
|
504266
|
-
clearSessionLocalLLMConfigOverride: clearSessionLocalLLMConfigOverride2,
|
|
504267
|
-
setSessionLocalLLMConfigOverride: setSessionLocalLLMConfigOverride2
|
|
504268
|
-
} = await Promise.resolve().then(() => (init_providers(), exports_providers));
|
|
504269
|
-
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(AppStateProvider, {
|
|
504270
|
-
onChangeAppState,
|
|
504271
|
-
children: /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LocalBackendSetup2, {
|
|
504272
|
-
initialConfig: {
|
|
504273
|
-
provider: config2.localBackendProvider,
|
|
504274
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
504275
|
-
model: config2.localBackendModel,
|
|
504276
|
-
apiKey: config2.localBackendApiKey
|
|
504277
|
-
},
|
|
504278
|
-
onComplete: (nextConfig, options) => {
|
|
504279
|
-
if (options?.saveGlobally === false) {
|
|
504280
|
-
setSessionLocalLLMConfigOverride2(nextConfig);
|
|
504281
|
-
} else {
|
|
504282
|
-
clearSessionLocalLLMConfigOverride2();
|
|
504283
|
-
saveGlobalConfig((current) => ({
|
|
504284
|
-
...current,
|
|
504285
|
-
localBackendProvider: nextConfig.provider,
|
|
504286
|
-
localBackendBaseUrl: nextConfig.baseUrl,
|
|
504287
|
-
localBackendModel: nextConfig.model,
|
|
504288
|
-
localBackendApiKey: nextConfig.apiKey
|
|
504289
|
-
}));
|
|
504290
|
-
}
|
|
504291
|
-
done();
|
|
504292
|
-
},
|
|
504293
|
-
onCancel: () => {
|
|
504294
|
-
done();
|
|
504295
|
-
},
|
|
504296
|
-
title: "Connect your model backend",
|
|
504297
|
-
description: "Choose the OpenAI-compatible endpoint localclawd should talk to. You can save it globally for every run or use it only for this launch.",
|
|
504298
|
-
showSaveGloballyOption: true
|
|
504299
|
-
}, undefined, false, undefined, this)
|
|
504300
|
-
}, undefined, false, undefined, this));
|
|
504301
|
-
}
|
|
504302
|
-
let onboardingShown = false;
|
|
504303
|
-
if (!config2.theme || !config2.hasCompletedOnboarding) {
|
|
504304
|
-
onboardingShown = true;
|
|
504305
|
-
const {
|
|
504306
|
-
Onboarding: Onboarding2
|
|
504307
|
-
} = await Promise.resolve().then(() => (init_Onboarding(), exports_Onboarding));
|
|
504308
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Onboarding2, {
|
|
504309
|
-
showWelcome: false,
|
|
504310
|
-
onDone: () => {
|
|
504311
|
-
completeOnboarding();
|
|
504312
|
-
done();
|
|
504313
|
-
}
|
|
504314
|
-
}, undefined, false, undefined, this), {
|
|
504315
|
-
onChangeAppState
|
|
504316
|
-
});
|
|
504317
|
-
}
|
|
503487
|
+
const onboardingShown = false;
|
|
504318
503488
|
if (!isEnvTruthy(process.env.CLAUBBIT)) {
|
|
504319
503489
|
if (!checkHasTrustDialogAccepted()) {
|
|
504320
503490
|
const {
|
|
504321
503491
|
TrustDialog: TrustDialog2
|
|
504322
503492
|
} = await Promise.resolve().then(() => (init_TrustDialog(), exports_TrustDialog));
|
|
504323
|
-
await showDialog(root3, (done) => /* @__PURE__ */
|
|
503493
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
504324
503494
|
onChangeAppState,
|
|
504325
|
-
children: /* @__PURE__ */
|
|
503495
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(TrustDialog2, {
|
|
504326
503496
|
commands: commands2,
|
|
504327
503497
|
onDone: done
|
|
504328
503498
|
}, undefined, false, undefined, this)
|
|
@@ -504332,51 +503502,57 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504332
503502
|
resetGrowthBook();
|
|
504333
503503
|
initializeGrowthBook();
|
|
504334
503504
|
getSystemContext();
|
|
504335
|
-
|
|
504336
|
-
errors: allErrors
|
|
504337
|
-
} = getSettingsWithAllErrors();
|
|
504338
|
-
if (allErrors.length === 0) {
|
|
504339
|
-
await handleMcpjsonServerApprovals(root3);
|
|
504340
|
-
}
|
|
504341
|
-
if (await shouldShowClaudeMdExternalIncludesWarning()) {
|
|
504342
|
-
const externalIncludes = getExternalClaudeMdIncludes(await getMemoryFiles(true));
|
|
503505
|
+
try {
|
|
504343
503506
|
const {
|
|
504344
|
-
|
|
504345
|
-
} =
|
|
504346
|
-
|
|
504347
|
-
|
|
504348
|
-
|
|
504349
|
-
|
|
504350
|
-
|
|
504351
|
-
|
|
504352
|
-
|
|
504353
|
-
|
|
504354
|
-
|
|
503507
|
+
errors: allErrors
|
|
503508
|
+
} = getSettingsWithAllErrors();
|
|
503509
|
+
if (allErrors.length === 0) {
|
|
503510
|
+
await handleMcpjsonServerApprovals(root3);
|
|
503511
|
+
}
|
|
503512
|
+
} catch {}
|
|
503513
|
+
try {
|
|
503514
|
+
if (await shouldShowClaudeMdExternalIncludesWarning()) {
|
|
503515
|
+
const externalIncludes = getExternalClaudeMdIncludes(await getMemoryFiles(true));
|
|
503516
|
+
const {
|
|
503517
|
+
ClaudeMdExternalIncludesDialog: ClaudeMdExternalIncludesDialog2
|
|
503518
|
+
} = await Promise.resolve().then(() => (init_ClaudeMdExternalIncludesDialog(), exports_ClaudeMdExternalIncludesDialog));
|
|
503519
|
+
await showDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(AppStateProvider, {
|
|
503520
|
+
onChangeAppState,
|
|
503521
|
+
children: /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeMdExternalIncludesDialog2, {
|
|
503522
|
+
onDone: done,
|
|
503523
|
+
isStandaloneDialog: true,
|
|
503524
|
+
externalIncludes
|
|
503525
|
+
}, undefined, false, undefined, this)
|
|
503526
|
+
}, undefined, false, undefined, this));
|
|
503527
|
+
}
|
|
503528
|
+
} catch {}
|
|
504355
503529
|
}
|
|
504356
503530
|
updateGithubRepoPathMapping();
|
|
504357
503531
|
if (false) {}
|
|
504358
503532
|
applyConfigEnvironmentVariables();
|
|
504359
503533
|
setImmediate(() => initializeTelemetryAfterTrust());
|
|
504360
|
-
|
|
504361
|
-
|
|
504362
|
-
|
|
504363
|
-
|
|
504364
|
-
|
|
504365
|
-
|
|
504366
|
-
|
|
504367
|
-
|
|
504368
|
-
|
|
504369
|
-
|
|
504370
|
-
|
|
504371
|
-
|
|
504372
|
-
|
|
503534
|
+
try {
|
|
503535
|
+
if (await isQualifiedForGrove()) {
|
|
503536
|
+
const {
|
|
503537
|
+
GroveDialog: GroveDialog2
|
|
503538
|
+
} = await Promise.resolve().then(() => (init_Grove(), exports_Grove));
|
|
503539
|
+
const decision = await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(GroveDialog2, {
|
|
503540
|
+
showIfAlreadyViewed: false,
|
|
503541
|
+
location: onboardingShown ? "onboarding" : "policy_update_modal",
|
|
503542
|
+
onDone: done
|
|
503543
|
+
}, undefined, false, undefined, this));
|
|
503544
|
+
if (decision === "escape") {
|
|
503545
|
+
logEvent("tengu_grove_policy_exited", {});
|
|
503546
|
+
gracefulShutdownSync(0);
|
|
503547
|
+
return false;
|
|
503548
|
+
}
|
|
504373
503549
|
}
|
|
504374
|
-
}
|
|
503550
|
+
} catch {}
|
|
504375
503551
|
if ((permissionMode === "bypassPermissions" || allowDangerouslySkipPermissions) && !hasSkipDangerousModePermissionPrompt()) {
|
|
504376
503552
|
const {
|
|
504377
503553
|
BypassPermissionsModeDialog: BypassPermissionsModeDialog2
|
|
504378
503554
|
} = await Promise.resolve().then(() => (init_BypassPermissionsModeDialog(), exports_BypassPermissionsModeDialog));
|
|
504379
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503555
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(BypassPermissionsModeDialog2, {
|
|
504380
503556
|
onAccept: done
|
|
504381
503557
|
}, undefined, false, undefined, this));
|
|
504382
503558
|
}
|
|
@@ -504386,7 +503562,7 @@ async function showSetupScreens(root3, permissionMode, allowDangerouslySkipPermi
|
|
|
504386
503562
|
const {
|
|
504387
503563
|
ClaudeInChromeOnboarding: ClaudeInChromeOnboarding2
|
|
504388
503564
|
} = await Promise.resolve().then(() => (init_ClaudeInChromeOnboarding(), exports_ClaudeInChromeOnboarding));
|
|
504389
|
-
await showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
503565
|
+
await showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime485.jsxDEV(ClaudeInChromeOnboarding2, {
|
|
504390
503566
|
onDone: done
|
|
504391
503567
|
}, undefined, false, undefined, this));
|
|
504392
503568
|
}
|
|
@@ -504441,7 +503617,7 @@ function getRenderContext(exitOnCtrlC) {
|
|
|
504441
503617
|
}
|
|
504442
503618
|
};
|
|
504443
503619
|
}
|
|
504444
|
-
var
|
|
503620
|
+
var jsx_dev_runtime485;
|
|
504445
503621
|
var init_interactiveHelpers = __esm(() => {
|
|
504446
503622
|
init_gracefulShutdown();
|
|
504447
503623
|
init_state();
|
|
@@ -504463,7 +503639,7 @@ var init_interactiveHelpers = __esm(() => {
|
|
|
504463
503639
|
init_renderOptions();
|
|
504464
503640
|
init_allErrors();
|
|
504465
503641
|
init_settings2();
|
|
504466
|
-
|
|
503642
|
+
jsx_dev_runtime485 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504467
503643
|
});
|
|
504468
503644
|
|
|
504469
503645
|
// src/components/InvalidSettingsDialog.tsx
|
|
@@ -504496,7 +503672,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504496
503672
|
const handleSelect = t1;
|
|
504497
503673
|
let t2;
|
|
504498
503674
|
if ($2[3] !== settingsErrors) {
|
|
504499
|
-
t2 = /* @__PURE__ */
|
|
503675
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ValidationErrorsList, {
|
|
504500
503676
|
errors: settingsErrors
|
|
504501
503677
|
}, undefined, false, undefined, this);
|
|
504502
503678
|
$2[3] = settingsErrors;
|
|
@@ -504506,7 +503682,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504506
503682
|
}
|
|
504507
503683
|
let t3;
|
|
504508
503684
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504509
|
-
t3 = /* @__PURE__ */
|
|
503685
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
504510
503686
|
dimColor: true,
|
|
504511
503687
|
children: "Files with errors are skipped entirely, not just the invalid settings."
|
|
504512
503688
|
}, undefined, false, undefined, this);
|
|
@@ -504529,7 +503705,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504529
503705
|
}
|
|
504530
503706
|
let t5;
|
|
504531
503707
|
if ($2[7] !== handleSelect) {
|
|
504532
|
-
t5 = /* @__PURE__ */
|
|
503708
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Select, {
|
|
504533
503709
|
options: t4,
|
|
504534
503710
|
onChange: handleSelect
|
|
504535
503711
|
}, undefined, false, undefined, this);
|
|
@@ -504540,7 +503716,7 @@ function InvalidSettingsDialog(t0) {
|
|
|
504540
503716
|
}
|
|
504541
503717
|
let t6;
|
|
504542
503718
|
if ($2[9] !== onExit2 || $2[10] !== t2 || $2[11] !== t5) {
|
|
504543
|
-
t6 = /* @__PURE__ */
|
|
503719
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Dialog, {
|
|
504544
503720
|
title: "Settings Error",
|
|
504545
503721
|
onCancel: onExit2,
|
|
504546
503722
|
color: "warning",
|
|
@@ -504559,21 +503735,21 @@ function InvalidSettingsDialog(t0) {
|
|
|
504559
503735
|
}
|
|
504560
503736
|
return t6;
|
|
504561
503737
|
}
|
|
504562
|
-
var
|
|
503738
|
+
var jsx_dev_runtime486;
|
|
504563
503739
|
var init_InvalidSettingsDialog = __esm(() => {
|
|
504564
503740
|
init_ink2();
|
|
504565
503741
|
init_CustomSelect();
|
|
504566
503742
|
init_Dialog();
|
|
504567
503743
|
init_ValidationErrorsList();
|
|
504568
|
-
|
|
503744
|
+
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
504569
503745
|
});
|
|
504570
503746
|
|
|
504571
503747
|
// src/hooks/useTeleportResume.tsx
|
|
504572
503748
|
function useTeleportResume(source) {
|
|
504573
503749
|
const $2 = c3(8);
|
|
504574
|
-
const [isResuming, setIsResuming] =
|
|
504575
|
-
const [error5, setError] =
|
|
504576
|
-
const [selectedSession, setSelectedSession] =
|
|
503750
|
+
const [isResuming, setIsResuming] = import_react324.useState(false);
|
|
503751
|
+
const [error5, setError] = import_react324.useState(null);
|
|
503752
|
+
const [selectedSession, setSelectedSession] = import_react324.useState(null);
|
|
504577
503753
|
let t0;
|
|
504578
503754
|
if ($2[0] !== source) {
|
|
504579
503755
|
t0 = async (session2) => {
|
|
@@ -504638,12 +503814,12 @@ function useTeleportResume(source) {
|
|
|
504638
503814
|
}
|
|
504639
503815
|
return t2;
|
|
504640
503816
|
}
|
|
504641
|
-
var
|
|
503817
|
+
var import_react324;
|
|
504642
503818
|
var init_useTeleportResume = __esm(() => {
|
|
504643
503819
|
init_state();
|
|
504644
503820
|
init_errors();
|
|
504645
503821
|
init_teleport();
|
|
504646
|
-
|
|
503822
|
+
import_react324 = __toESM(require_react(), 1);
|
|
504647
503823
|
});
|
|
504648
503824
|
|
|
504649
503825
|
// src/components/ResumeTask.tsx
|
|
@@ -504655,15 +503831,15 @@ function ResumeTask({
|
|
|
504655
503831
|
const {
|
|
504656
503832
|
rows
|
|
504657
503833
|
} = useTerminalSize();
|
|
504658
|
-
const [sessions, setSessions] =
|
|
504659
|
-
const [currentRepo, setCurrentRepo] =
|
|
504660
|
-
const [loading, setLoading] =
|
|
504661
|
-
const [loadErrorType, setLoadErrorType] =
|
|
504662
|
-
const [retrying, setRetrying] =
|
|
504663
|
-
const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] =
|
|
504664
|
-
const [focusedIndex, setFocusedIndex] =
|
|
503834
|
+
const [sessions, setSessions] = import_react325.useState([]);
|
|
503835
|
+
const [currentRepo, setCurrentRepo] = import_react325.useState(null);
|
|
503836
|
+
const [loading, setLoading] = import_react325.useState(true);
|
|
503837
|
+
const [loadErrorType, setLoadErrorType] = import_react325.useState(null);
|
|
503838
|
+
const [retrying, setRetrying] = import_react325.useState(false);
|
|
503839
|
+
const [hasCompletedTeleportErrorFlow, setHasCompletedTeleportErrorFlow] = import_react325.useState(false);
|
|
503840
|
+
const [focusedIndex, setFocusedIndex] = import_react325.useState(1);
|
|
504665
503841
|
const escKey = useShortcutDisplay("confirm:no", "Confirmation", "Esc");
|
|
504666
|
-
const loadSessions =
|
|
503842
|
+
const loadSessions = import_react325.useCallback(async () => {
|
|
504667
503843
|
try {
|
|
504668
503844
|
setLoading(true);
|
|
504669
503845
|
setLoadErrorType(null);
|
|
@@ -504717,31 +503893,31 @@ function ResumeTask({
|
|
|
504717
503893
|
return;
|
|
504718
503894
|
}
|
|
504719
503895
|
});
|
|
504720
|
-
const handleErrorComplete =
|
|
503896
|
+
const handleErrorComplete = import_react325.useCallback(() => {
|
|
504721
503897
|
setHasCompletedTeleportErrorFlow(true);
|
|
504722
503898
|
loadSessions();
|
|
504723
503899
|
}, [setHasCompletedTeleportErrorFlow, loadSessions]);
|
|
504724
503900
|
if (!hasCompletedTeleportErrorFlow) {
|
|
504725
|
-
return /* @__PURE__ */
|
|
503901
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(TeleportError, {
|
|
504726
503902
|
onComplete: handleErrorComplete
|
|
504727
503903
|
}, undefined, false, undefined, this);
|
|
504728
503904
|
}
|
|
504729
503905
|
if (loading) {
|
|
504730
|
-
return /* @__PURE__ */
|
|
503906
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504731
503907
|
flexDirection: "column",
|
|
504732
503908
|
padding: 1,
|
|
504733
503909
|
children: [
|
|
504734
|
-
/* @__PURE__ */
|
|
503910
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504735
503911
|
flexDirection: "row",
|
|
504736
503912
|
children: [
|
|
504737
|
-
/* @__PURE__ */
|
|
504738
|
-
/* @__PURE__ */
|
|
503913
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
503914
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504739
503915
|
bold: true,
|
|
504740
503916
|
children: "Loading localclawd sessions…"
|
|
504741
503917
|
}, undefined, false, undefined, this)
|
|
504742
503918
|
]
|
|
504743
503919
|
}, undefined, true, undefined, this),
|
|
504744
|
-
/* @__PURE__ */
|
|
503920
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504745
503921
|
dimColor: true,
|
|
504746
503922
|
children: retrying ? "Retrying…" : "Fetching your localclawd sessions…"
|
|
504747
503923
|
}, undefined, false, undefined, this)
|
|
@@ -504749,27 +503925,27 @@ function ResumeTask({
|
|
|
504749
503925
|
}, undefined, true, undefined, this);
|
|
504750
503926
|
}
|
|
504751
503927
|
if (loadErrorType) {
|
|
504752
|
-
return /* @__PURE__ */
|
|
503928
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504753
503929
|
flexDirection: "column",
|
|
504754
503930
|
padding: 1,
|
|
504755
503931
|
children: [
|
|
504756
|
-
/* @__PURE__ */
|
|
503932
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504757
503933
|
bold: true,
|
|
504758
503934
|
color: "error",
|
|
504759
503935
|
children: "Error loading localclawd sessions"
|
|
504760
503936
|
}, undefined, false, undefined, this),
|
|
504761
503937
|
renderErrorSpecificGuidance(loadErrorType),
|
|
504762
|
-
/* @__PURE__ */
|
|
503938
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504763
503939
|
dimColor: true,
|
|
504764
503940
|
children: [
|
|
504765
503941
|
"Press ",
|
|
504766
|
-
/* @__PURE__ */
|
|
503942
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504767
503943
|
bold: true,
|
|
504768
503944
|
children: "Ctrl+R"
|
|
504769
503945
|
}, undefined, false, undefined, this),
|
|
504770
503946
|
" to retry · Press",
|
|
504771
503947
|
" ",
|
|
504772
|
-
/* @__PURE__ */
|
|
503948
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504773
503949
|
bold: true,
|
|
504774
503950
|
children: escKey
|
|
504775
503951
|
}, undefined, false, undefined, this),
|
|
@@ -504780,15 +503956,15 @@ function ResumeTask({
|
|
|
504780
503956
|
}, undefined, true, undefined, this);
|
|
504781
503957
|
}
|
|
504782
503958
|
if (sessions.length === 0) {
|
|
504783
|
-
return /* @__PURE__ */
|
|
503959
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504784
503960
|
flexDirection: "column",
|
|
504785
503961
|
padding: 1,
|
|
504786
503962
|
children: [
|
|
504787
|
-
/* @__PURE__ */
|
|
503963
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504788
503964
|
bold: true,
|
|
504789
503965
|
children: [
|
|
504790
503966
|
"No localclawd sessions found",
|
|
504791
|
-
currentRepo && /* @__PURE__ */
|
|
503967
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504792
503968
|
children: [
|
|
504793
503969
|
" for ",
|
|
504794
503970
|
currentRepo
|
|
@@ -504796,13 +503972,13 @@ function ResumeTask({
|
|
|
504796
503972
|
}, undefined, true, undefined, this)
|
|
504797
503973
|
]
|
|
504798
503974
|
}, undefined, true, undefined, this),
|
|
504799
|
-
/* @__PURE__ */
|
|
503975
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504800
503976
|
marginTop: 1,
|
|
504801
|
-
children: /* @__PURE__ */
|
|
503977
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504802
503978
|
dimColor: true,
|
|
504803
503979
|
children: [
|
|
504804
503980
|
"Press ",
|
|
504805
|
-
/* @__PURE__ */
|
|
503981
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504806
503982
|
bold: true,
|
|
504807
503983
|
children: escKey
|
|
504808
503984
|
}, undefined, false, undefined, this),
|
|
@@ -504833,16 +504009,16 @@ function ResumeTask({
|
|
|
504833
504009
|
const maxVisibleOptions = Math.max(1, isEmbedded ? Math.min(sessions.length, 5, rows - 6 - layoutOverhead) : Math.min(sessions.length, rows - 1 - layoutOverhead));
|
|
504834
504010
|
const maxHeight = maxVisibleOptions + layoutOverhead;
|
|
504835
504011
|
const showScrollPosition = sessions.length > maxVisibleOptions;
|
|
504836
|
-
return /* @__PURE__ */
|
|
504012
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504837
504013
|
flexDirection: "column",
|
|
504838
504014
|
padding: 1,
|
|
504839
504015
|
height: maxHeight,
|
|
504840
504016
|
children: [
|
|
504841
|
-
/* @__PURE__ */
|
|
504017
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504842
504018
|
bold: true,
|
|
504843
504019
|
children: [
|
|
504844
504020
|
"Select a session to resume",
|
|
504845
|
-
showScrollPosition && /* @__PURE__ */
|
|
504021
|
+
showScrollPosition && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504846
504022
|
dimColor: true,
|
|
504847
504023
|
children: [
|
|
504848
504024
|
" ",
|
|
@@ -504853,7 +504029,7 @@ function ResumeTask({
|
|
|
504853
504029
|
")"
|
|
504854
504030
|
]
|
|
504855
504031
|
}, undefined, true, undefined, this),
|
|
504856
|
-
currentRepo && /* @__PURE__ */
|
|
504032
|
+
currentRepo && /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504857
504033
|
dimColor: true,
|
|
504858
504034
|
children: [
|
|
504859
504035
|
" (",
|
|
@@ -504864,14 +504040,14 @@ function ResumeTask({
|
|
|
504864
504040
|
":"
|
|
504865
504041
|
]
|
|
504866
504042
|
}, undefined, true, undefined, this),
|
|
504867
|
-
/* @__PURE__ */
|
|
504043
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504868
504044
|
flexDirection: "column",
|
|
504869
504045
|
marginTop: 1,
|
|
504870
504046
|
flexGrow: 1,
|
|
504871
504047
|
children: [
|
|
504872
|
-
/* @__PURE__ */
|
|
504048
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504873
504049
|
marginLeft: 2,
|
|
504874
|
-
children: /* @__PURE__ */
|
|
504050
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504875
504051
|
bold: true,
|
|
504876
504052
|
children: [
|
|
504877
504053
|
UPDATED_STRING.padEnd(maxTimeStringLength, " "),
|
|
@@ -504880,7 +504056,7 @@ function ResumeTask({
|
|
|
504880
504056
|
]
|
|
504881
504057
|
}, undefined, true, undefined, this)
|
|
504882
504058
|
}, undefined, false, undefined, this),
|
|
504883
|
-
/* @__PURE__ */
|
|
504059
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
|
|
504884
504060
|
visibleOptionCount: maxVisibleOptions,
|
|
504885
504061
|
options,
|
|
504886
504062
|
onChange: (value) => {
|
|
@@ -504898,21 +504074,21 @@ function ResumeTask({
|
|
|
504898
504074
|
}, undefined, false, undefined, this)
|
|
504899
504075
|
]
|
|
504900
504076
|
}, undefined, true, undefined, this),
|
|
504901
|
-
/* @__PURE__ */
|
|
504077
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504902
504078
|
flexDirection: "row",
|
|
504903
|
-
children: /* @__PURE__ */
|
|
504079
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504904
504080
|
dimColor: true,
|
|
504905
|
-
children: /* @__PURE__ */
|
|
504081
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Byline, {
|
|
504906
504082
|
children: [
|
|
504907
|
-
/* @__PURE__ */
|
|
504083
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504908
504084
|
shortcut: "↑/↓",
|
|
504909
504085
|
action: "select"
|
|
504910
504086
|
}, undefined, false, undefined, this),
|
|
504911
|
-
/* @__PURE__ */
|
|
504087
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(KeyboardShortcutHint, {
|
|
504912
504088
|
shortcut: "Enter",
|
|
504913
504089
|
action: "confirm"
|
|
504914
504090
|
}, undefined, false, undefined, this),
|
|
504915
|
-
/* @__PURE__ */
|
|
504091
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ConfigurableShortcutHint, {
|
|
504916
504092
|
action: "confirm:no",
|
|
504917
504093
|
context: "Confirmation",
|
|
504918
504094
|
fallback: "Esc",
|
|
@@ -504941,28 +504117,28 @@ function determineErrorType(errorMessage4) {
|
|
|
504941
504117
|
function renderErrorSpecificGuidance(errorType) {
|
|
504942
504118
|
switch (errorType) {
|
|
504943
504119
|
case "network":
|
|
504944
|
-
return /* @__PURE__ */
|
|
504120
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504945
504121
|
marginY: 1,
|
|
504946
504122
|
flexDirection: "column",
|
|
504947
|
-
children: /* @__PURE__ */
|
|
504123
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504948
504124
|
dimColor: true,
|
|
504949
504125
|
children: "Check your internet connection"
|
|
504950
504126
|
}, undefined, false, undefined, this)
|
|
504951
504127
|
}, undefined, false, undefined, this);
|
|
504952
504128
|
case "auth":
|
|
504953
|
-
return /* @__PURE__ */
|
|
504129
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504954
504130
|
marginY: 1,
|
|
504955
504131
|
flexDirection: "column",
|
|
504956
504132
|
children: [
|
|
504957
|
-
/* @__PURE__ */
|
|
504133
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504958
504134
|
dimColor: true,
|
|
504959
504135
|
children: "Remote web sessions are disabled in this local-first build"
|
|
504960
504136
|
}, undefined, false, undefined, this),
|
|
504961
|
-
/* @__PURE__ */
|
|
504137
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504962
504138
|
dimColor: true,
|
|
504963
504139
|
children: [
|
|
504964
504140
|
"Use ",
|
|
504965
|
-
/* @__PURE__ */
|
|
504141
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504966
504142
|
bold: true,
|
|
504967
504143
|
children: "/provider"
|
|
504968
504144
|
}, undefined, false, undefined, this),
|
|
@@ -504972,26 +504148,26 @@ function renderErrorSpecificGuidance(errorType) {
|
|
|
504972
504148
|
]
|
|
504973
504149
|
}, undefined, true, undefined, this);
|
|
504974
504150
|
case "api":
|
|
504975
|
-
return /* @__PURE__ */
|
|
504151
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504976
504152
|
marginY: 1,
|
|
504977
504153
|
flexDirection: "column",
|
|
504978
|
-
children: /* @__PURE__ */
|
|
504154
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504979
504155
|
dimColor: true,
|
|
504980
504156
|
children: "Sorry, Claude encountered an error"
|
|
504981
504157
|
}, undefined, false, undefined, this)
|
|
504982
504158
|
}, undefined, false, undefined, this);
|
|
504983
504159
|
case "other":
|
|
504984
|
-
return /* @__PURE__ */
|
|
504160
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504985
504161
|
marginY: 1,
|
|
504986
504162
|
flexDirection: "row",
|
|
504987
|
-
children: /* @__PURE__ */
|
|
504163
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504988
504164
|
dimColor: true,
|
|
504989
504165
|
children: "Sorry, Claude Code encountered an error"
|
|
504990
504166
|
}, undefined, false, undefined, this)
|
|
504991
504167
|
}, undefined, false, undefined, this);
|
|
504992
504168
|
}
|
|
504993
504169
|
}
|
|
504994
|
-
var
|
|
504170
|
+
var import_react325, jsx_dev_runtime487, UPDATED_STRING = "Updated", SPACE_BETWEEN_TABLE_COLUMNS = " ";
|
|
504995
504171
|
var init_ResumeTask = __esm(() => {
|
|
504996
504172
|
init_useTerminalSize();
|
|
504997
504173
|
init_api();
|
|
@@ -505007,8 +504183,8 @@ var init_ResumeTask = __esm(() => {
|
|
|
505007
504183
|
init_KeyboardShortcutHint();
|
|
505008
504184
|
init_Spinner2();
|
|
505009
504185
|
init_TeleportError();
|
|
505010
|
-
|
|
505011
|
-
|
|
504186
|
+
import_react325 = __toESM(require_react(), 1);
|
|
504187
|
+
jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505012
504188
|
});
|
|
505013
504189
|
|
|
505014
504190
|
// src/components/TeleportResumeWrapper.tsx
|
|
@@ -505048,7 +504224,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505048
504224
|
t2 = $2[1];
|
|
505049
504225
|
t3 = $2[2];
|
|
505050
504226
|
}
|
|
505051
|
-
|
|
504227
|
+
import_react326.useEffect(t2, t3);
|
|
505052
504228
|
let t4;
|
|
505053
504229
|
if ($2[3] !== error5 || $2[4] !== onComplete || $2[5] !== onError || $2[6] !== resumeSession) {
|
|
505054
504230
|
t4 = async (session2) => {
|
|
@@ -505100,11 +504276,11 @@ function TeleportResumeWrapper(t0) {
|
|
|
505100
504276
|
if (isResuming && selectedSession) {
|
|
505101
504277
|
let t82;
|
|
505102
504278
|
if ($2[12] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505103
|
-
t82 = /* @__PURE__ */
|
|
504279
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505104
504280
|
flexDirection: "row",
|
|
505105
504281
|
children: [
|
|
505106
|
-
/* @__PURE__ */
|
|
505107
|
-
/* @__PURE__ */
|
|
504282
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504283
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505108
504284
|
bold: true,
|
|
505109
504285
|
children: "Resuming session…"
|
|
505110
504286
|
}, undefined, false, undefined, this)
|
|
@@ -505116,12 +504292,12 @@ function TeleportResumeWrapper(t0) {
|
|
|
505116
504292
|
}
|
|
505117
504293
|
let t9;
|
|
505118
504294
|
if ($2[13] !== selectedSession.title) {
|
|
505119
|
-
t9 = /* @__PURE__ */
|
|
504295
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505120
504296
|
flexDirection: "column",
|
|
505121
504297
|
padding: 1,
|
|
505122
504298
|
children: [
|
|
505123
504299
|
t82,
|
|
505124
|
-
/* @__PURE__ */
|
|
504300
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505125
504301
|
dimColor: true,
|
|
505126
504302
|
children: [
|
|
505127
504303
|
'Loading "',
|
|
@@ -505141,7 +504317,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505141
504317
|
if (error5 && !onError) {
|
|
505142
504318
|
let t82;
|
|
505143
504319
|
if ($2[15] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505144
|
-
t82 = /* @__PURE__ */
|
|
504320
|
+
t82 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505145
504321
|
bold: true,
|
|
505146
504322
|
color: "error",
|
|
505147
504323
|
children: "Failed to resume session"
|
|
@@ -505152,7 +504328,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505152
504328
|
}
|
|
505153
504329
|
let t9;
|
|
505154
504330
|
if ($2[16] !== error5.message) {
|
|
505155
|
-
t9 = /* @__PURE__ */
|
|
504331
|
+
t9 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505156
504332
|
dimColor: true,
|
|
505157
504333
|
children: error5.message
|
|
505158
504334
|
}, undefined, false, undefined, this);
|
|
@@ -505163,13 +504339,13 @@ function TeleportResumeWrapper(t0) {
|
|
|
505163
504339
|
}
|
|
505164
504340
|
let t10;
|
|
505165
504341
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505166
|
-
t10 = /* @__PURE__ */
|
|
504342
|
+
t10 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505167
504343
|
marginTop: 1,
|
|
505168
|
-
children: /* @__PURE__ */
|
|
504344
|
+
children: /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505169
504345
|
dimColor: true,
|
|
505170
504346
|
children: [
|
|
505171
504347
|
"Press ",
|
|
505172
|
-
/* @__PURE__ */
|
|
504348
|
+
/* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedText, {
|
|
505173
504349
|
bold: true,
|
|
505174
504350
|
children: "Esc"
|
|
505175
504351
|
}, undefined, false, undefined, this),
|
|
@@ -505183,7 +504359,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505183
504359
|
}
|
|
505184
504360
|
let t11;
|
|
505185
504361
|
if ($2[19] !== t9) {
|
|
505186
|
-
t11 = /* @__PURE__ */
|
|
504362
|
+
t11 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
505187
504363
|
flexDirection: "column",
|
|
505188
504364
|
padding: 1,
|
|
505189
504365
|
children: [
|
|
@@ -505201,7 +504377,7 @@ function TeleportResumeWrapper(t0) {
|
|
|
505201
504377
|
}
|
|
505202
504378
|
let t8;
|
|
505203
504379
|
if ($2[21] !== handleCancel || $2[22] !== handleSelect || $2[23] !== isEmbedded) {
|
|
505204
|
-
t8 = /* @__PURE__ */
|
|
504380
|
+
t8 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ResumeTask, {
|
|
505205
504381
|
onSelect: handleSelect,
|
|
505206
504382
|
onCancel: handleCancel,
|
|
505207
504383
|
isEmbedded
|
|
@@ -505215,15 +504391,15 @@ function TeleportResumeWrapper(t0) {
|
|
|
505215
504391
|
}
|
|
505216
504392
|
return t8;
|
|
505217
504393
|
}
|
|
505218
|
-
var
|
|
504394
|
+
var import_react326, jsx_dev_runtime488;
|
|
505219
504395
|
var init_TeleportResumeWrapper = __esm(() => {
|
|
505220
504396
|
init_useTeleportResume();
|
|
505221
504397
|
init_ink2();
|
|
505222
504398
|
init_useKeybinding();
|
|
505223
504399
|
init_ResumeTask();
|
|
505224
504400
|
init_Spinner2();
|
|
505225
|
-
|
|
505226
|
-
|
|
504401
|
+
import_react326 = __toESM(require_react(), 1);
|
|
504402
|
+
jsx_dev_runtime488 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505227
504403
|
});
|
|
505228
504404
|
|
|
505229
504405
|
// src/components/TeleportRepoMismatchDialog.tsx
|
|
@@ -505239,9 +504415,9 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505239
504415
|
onSelectPath,
|
|
505240
504416
|
onCancel
|
|
505241
504417
|
} = t0;
|
|
505242
|
-
const [availablePaths, setAvailablePaths] =
|
|
505243
|
-
const [errorMessage4, setErrorMessage] =
|
|
505244
|
-
const [validating, setValidating] =
|
|
504418
|
+
const [availablePaths, setAvailablePaths] = import_react327.useState(initialPaths);
|
|
504419
|
+
const [errorMessage4, setErrorMessage] = import_react327.useState(null);
|
|
504420
|
+
const [validating, setValidating] = import_react327.useState(false);
|
|
505245
504421
|
let t1;
|
|
505246
504422
|
if ($2[0] !== availablePaths || $2[1] !== onCancel || $2[2] !== onSelectPath || $2[3] !== targetRepo) {
|
|
505247
504423
|
t1 = async (value) => {
|
|
@@ -505292,20 +504468,20 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505292
504468
|
const options = t2;
|
|
505293
504469
|
let t3;
|
|
505294
504470
|
if ($2[8] !== availablePaths.length || $2[9] !== errorMessage4 || $2[10] !== handleChange4 || $2[11] !== options || $2[12] !== targetRepo || $2[13] !== validating) {
|
|
505295
|
-
t3 = availablePaths.length > 0 ? /* @__PURE__ */
|
|
504471
|
+
t3 = availablePaths.length > 0 ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(jsx_dev_runtime489.Fragment, {
|
|
505296
504472
|
children: [
|
|
505297
|
-
/* @__PURE__ */
|
|
504473
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505298
504474
|
flexDirection: "column",
|
|
505299
504475
|
gap: 1,
|
|
505300
504476
|
children: [
|
|
505301
|
-
errorMessage4 && /* @__PURE__ */
|
|
504477
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505302
504478
|
color: "error",
|
|
505303
504479
|
children: errorMessage4
|
|
505304
504480
|
}, undefined, false, undefined, this),
|
|
505305
|
-
/* @__PURE__ */
|
|
504481
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505306
504482
|
children: [
|
|
505307
504483
|
"Open Claude Code in ",
|
|
505308
|
-
/* @__PURE__ */
|
|
504484
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505309
504485
|
bold: true,
|
|
505310
504486
|
children: targetRepo
|
|
505311
504487
|
}, undefined, false, undefined, this),
|
|
@@ -505314,27 +504490,27 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505314
504490
|
}, undefined, true, undefined, this)
|
|
505315
504491
|
]
|
|
505316
504492
|
}, undefined, true, undefined, this),
|
|
505317
|
-
validating ? /* @__PURE__ */
|
|
504493
|
+
validating ? /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505318
504494
|
children: [
|
|
505319
|
-
/* @__PURE__ */
|
|
505320
|
-
/* @__PURE__ */
|
|
504495
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504496
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505321
504497
|
children: " Validating repository…"
|
|
505322
504498
|
}, undefined, false, undefined, this)
|
|
505323
504499
|
]
|
|
505324
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504500
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Select, {
|
|
505325
504501
|
options,
|
|
505326
504502
|
onChange: (value_0) => void handleChange4(value_0)
|
|
505327
504503
|
}, undefined, false, undefined, this)
|
|
505328
504504
|
]
|
|
505329
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */
|
|
504505
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedBox_default, {
|
|
505330
504506
|
flexDirection: "column",
|
|
505331
504507
|
gap: 1,
|
|
505332
504508
|
children: [
|
|
505333
|
-
errorMessage4 && /* @__PURE__ */
|
|
504509
|
+
errorMessage4 && /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505334
504510
|
color: "error",
|
|
505335
504511
|
children: errorMessage4
|
|
505336
504512
|
}, undefined, false, undefined, this),
|
|
505337
|
-
/* @__PURE__ */
|
|
504513
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505338
504514
|
dimColor: true,
|
|
505339
504515
|
children: [
|
|
505340
504516
|
"Run claude --teleport from a checkout of ",
|
|
@@ -505355,7 +504531,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505355
504531
|
}
|
|
505356
504532
|
let t4;
|
|
505357
504533
|
if ($2[15] !== onCancel || $2[16] !== t3) {
|
|
505358
|
-
t4 = /* @__PURE__ */
|
|
504534
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(Dialog, {
|
|
505359
504535
|
title: "Teleport to Repo",
|
|
505360
504536
|
onCancel,
|
|
505361
504537
|
color: "background",
|
|
@@ -505371,10 +504547,10 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505371
504547
|
}
|
|
505372
504548
|
function _temp305(path17) {
|
|
505373
504549
|
return {
|
|
505374
|
-
label: /* @__PURE__ */
|
|
504550
|
+
label: /* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505375
504551
|
children: [
|
|
505376
504552
|
"Use ",
|
|
505377
|
-
/* @__PURE__ */
|
|
504553
|
+
/* @__PURE__ */ jsx_dev_runtime489.jsxDEV(ThemedText, {
|
|
505378
504554
|
bold: true,
|
|
505379
504555
|
children: getDisplayPath(path17)
|
|
505380
504556
|
}, undefined, false, undefined, this)
|
|
@@ -505383,7 +504559,7 @@ function _temp305(path17) {
|
|
|
505383
504559
|
value: path17
|
|
505384
504560
|
};
|
|
505385
504561
|
}
|
|
505386
|
-
var
|
|
504562
|
+
var import_react327, jsx_dev_runtime489;
|
|
505387
504563
|
var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
505388
504564
|
init_ink2();
|
|
505389
504565
|
init_file();
|
|
@@ -505391,8 +504567,8 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
|
|
|
505391
504567
|
init_CustomSelect();
|
|
505392
504568
|
init_Dialog();
|
|
505393
504569
|
init_Spinner2();
|
|
505394
|
-
|
|
505395
|
-
|
|
504570
|
+
import_react327 = __toESM(require_react(), 1);
|
|
504571
|
+
jsx_dev_runtime489 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505396
504572
|
});
|
|
505397
504573
|
|
|
505398
504574
|
// src/screens/ResumeConversation.tsx
|
|
@@ -505437,15 +504613,15 @@ function ResumeConversation({
|
|
|
505437
504613
|
} = useTerminalSize();
|
|
505438
504614
|
const agentDefinitions2 = useAppState((s) => s.agentDefinitions);
|
|
505439
504615
|
const setAppState = useSetAppState();
|
|
505440
|
-
const [logs2, setLogs] =
|
|
505441
|
-
const [loading, setLoading] =
|
|
505442
|
-
const [resuming, setResuming] =
|
|
505443
|
-
const [showAllProjects, setShowAllProjects] =
|
|
505444
|
-
const [resumeData, setResumeData] =
|
|
505445
|
-
const [crossProjectCommand, setCrossProjectCommand] =
|
|
505446
|
-
const sessionLogResultRef =
|
|
505447
|
-
const logCountRef =
|
|
505448
|
-
const filteredLogs =
|
|
504616
|
+
const [logs2, setLogs] = import_react328.default.useState([]);
|
|
504617
|
+
const [loading, setLoading] = import_react328.default.useState(true);
|
|
504618
|
+
const [resuming, setResuming] = import_react328.default.useState(false);
|
|
504619
|
+
const [showAllProjects, setShowAllProjects] = import_react328.default.useState(false);
|
|
504620
|
+
const [resumeData, setResumeData] = import_react328.default.useState(null);
|
|
504621
|
+
const [crossProjectCommand, setCrossProjectCommand] = import_react328.default.useState(null);
|
|
504622
|
+
const sessionLogResultRef = import_react328.default.useRef(null);
|
|
504623
|
+
const logCountRef = import_react328.default.useRef(0);
|
|
504624
|
+
const filteredLogs = import_react328.default.useMemo(() => {
|
|
505449
504625
|
let result = logs2.filter((l) => !l.isSidechain);
|
|
505450
504626
|
if (filterByPr !== undefined) {
|
|
505451
504627
|
if (filterByPr === true) {
|
|
@@ -505462,7 +504638,7 @@ function ResumeConversation({
|
|
|
505462
504638
|
return result;
|
|
505463
504639
|
}, [logs2, filterByPr]);
|
|
505464
504640
|
const isResumeWithRenameEnabled = isCustomTitleEnabled();
|
|
505465
|
-
|
|
504641
|
+
import_react328.default.useEffect(() => {
|
|
505466
504642
|
loadSameRepoMessageLogsProgressive(worktreePaths).then((result_0) => {
|
|
505467
504643
|
sessionLogResultRef.current = result_0;
|
|
505468
504644
|
logCountRef.current = result_0.logs.length;
|
|
@@ -505473,7 +504649,7 @@ function ResumeConversation({
|
|
|
505473
504649
|
setLoading(false);
|
|
505474
504650
|
});
|
|
505475
504651
|
}, [worktreePaths]);
|
|
505476
|
-
const loadMoreLogs =
|
|
504652
|
+
const loadMoreLogs = import_react328.default.useCallback((count3) => {
|
|
505477
504653
|
const ref = sessionLogResultRef.current;
|
|
505478
504654
|
if (!ref || ref.nextIndex >= ref.allStatLogs.length)
|
|
505479
504655
|
return;
|
|
@@ -505491,7 +504667,7 @@ function ResumeConversation({
|
|
|
505491
504667
|
}
|
|
505492
504668
|
});
|
|
505493
504669
|
}, []);
|
|
505494
|
-
const loadLogs =
|
|
504670
|
+
const loadLogs = import_react328.default.useCallback((allProjects) => {
|
|
505495
504671
|
setLoading(true);
|
|
505496
504672
|
const promise2 = allProjects ? loadAllProjectsMessageLogsProgressive() : loadSameRepoMessageLogsProgressive(worktreePaths);
|
|
505497
504673
|
promise2.then((result_2) => {
|
|
@@ -505504,7 +504680,7 @@ function ResumeConversation({
|
|
|
505504
504680
|
setLoading(false);
|
|
505505
504681
|
});
|
|
505506
504682
|
}, [worktreePaths]);
|
|
505507
|
-
const handleToggleAllProjects =
|
|
504683
|
+
const handleToggleAllProjects = import_react328.default.useCallback(() => {
|
|
505508
504684
|
const newValue = !showAllProjects;
|
|
505509
504685
|
setShowAllProjects(newValue);
|
|
505510
504686
|
loadLogs(newValue);
|
|
@@ -505590,12 +504766,12 @@ function ResumeConversation({
|
|
|
505590
504766
|
}
|
|
505591
504767
|
}
|
|
505592
504768
|
if (crossProjectCommand) {
|
|
505593
|
-
return /* @__PURE__ */
|
|
504769
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(CrossProjectMessage, {
|
|
505594
504770
|
command: crossProjectCommand
|
|
505595
504771
|
}, undefined, false, undefined, this);
|
|
505596
504772
|
}
|
|
505597
504773
|
if (resumeData) {
|
|
505598
|
-
return /* @__PURE__ */
|
|
504774
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(REPL, {
|
|
505599
504775
|
debug: debug3,
|
|
505600
504776
|
commands: commands2,
|
|
505601
504777
|
initialTools,
|
|
@@ -505618,29 +504794,29 @@ function ResumeConversation({
|
|
|
505618
504794
|
}, undefined, false, undefined, this);
|
|
505619
504795
|
}
|
|
505620
504796
|
if (loading) {
|
|
505621
|
-
return /* @__PURE__ */
|
|
504797
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505622
504798
|
children: [
|
|
505623
|
-
/* @__PURE__ */
|
|
505624
|
-
/* @__PURE__ */
|
|
504799
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504800
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505625
504801
|
children: " Loading conversations…"
|
|
505626
504802
|
}, undefined, false, undefined, this)
|
|
505627
504803
|
]
|
|
505628
504804
|
}, undefined, true, undefined, this);
|
|
505629
504805
|
}
|
|
505630
504806
|
if (resuming) {
|
|
505631
|
-
return /* @__PURE__ */
|
|
504807
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505632
504808
|
children: [
|
|
505633
|
-
/* @__PURE__ */
|
|
505634
|
-
/* @__PURE__ */
|
|
504809
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(Spinner, {}, undefined, false, undefined, this),
|
|
504810
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505635
504811
|
children: " Resuming conversation…"
|
|
505636
504812
|
}, undefined, false, undefined, this)
|
|
505637
504813
|
]
|
|
505638
504814
|
}, undefined, true, undefined, this);
|
|
505639
504815
|
}
|
|
505640
504816
|
if (filteredLogs.length === 0) {
|
|
505641
|
-
return /* @__PURE__ */
|
|
504817
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(NoConversationsMessage, {}, undefined, false, undefined, this);
|
|
505642
504818
|
}
|
|
505643
|
-
return /* @__PURE__ */
|
|
504819
|
+
return /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(LogSelector, {
|
|
505644
504820
|
logs: filteredLogs,
|
|
505645
504821
|
maxHeight: rows,
|
|
505646
504822
|
onCancel,
|
|
@@ -505667,13 +504843,13 @@ function NoConversationsMessage() {
|
|
|
505667
504843
|
useKeybinding("app:interrupt", _temp306, t0);
|
|
505668
504844
|
let t1;
|
|
505669
504845
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505670
|
-
t1 = /* @__PURE__ */
|
|
504846
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505671
504847
|
flexDirection: "column",
|
|
505672
504848
|
children: [
|
|
505673
|
-
/* @__PURE__ */
|
|
504849
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505674
504850
|
children: "No conversations found to resume."
|
|
505675
504851
|
}, undefined, false, undefined, this),
|
|
505676
|
-
/* @__PURE__ */
|
|
504852
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505677
504853
|
dimColor: true,
|
|
505678
504854
|
children: "Press Ctrl+C to exit and start a new conversation."
|
|
505679
504855
|
}, undefined, false, undefined, this)
|
|
@@ -505700,10 +504876,10 @@ function CrossProjectMessage(t0) {
|
|
|
505700
504876
|
} else {
|
|
505701
504877
|
t1 = $2[0];
|
|
505702
504878
|
}
|
|
505703
|
-
|
|
504879
|
+
import_react328.default.useEffect(_temp356, t1);
|
|
505704
504880
|
let t2;
|
|
505705
504881
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505706
|
-
t2 = /* @__PURE__ */
|
|
504882
|
+
t2 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505707
504883
|
children: "This conversation is from a different directory."
|
|
505708
504884
|
}, undefined, false, undefined, this);
|
|
505709
504885
|
$2[1] = t2;
|
|
@@ -505712,7 +504888,7 @@ function CrossProjectMessage(t0) {
|
|
|
505712
504888
|
}
|
|
505713
504889
|
let t3;
|
|
505714
504890
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505715
|
-
t3 = /* @__PURE__ */
|
|
504891
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505716
504892
|
children: "To resume, run:"
|
|
505717
504893
|
}, undefined, false, undefined, this);
|
|
505718
504894
|
$2[2] = t3;
|
|
@@ -505721,11 +504897,11 @@ function CrossProjectMessage(t0) {
|
|
|
505721
504897
|
}
|
|
505722
504898
|
let t4;
|
|
505723
504899
|
if ($2[3] !== command8) {
|
|
505724
|
-
t4 = /* @__PURE__ */
|
|
504900
|
+
t4 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505725
504901
|
flexDirection: "column",
|
|
505726
504902
|
children: [
|
|
505727
504903
|
t3,
|
|
505728
|
-
/* @__PURE__ */
|
|
504904
|
+
/* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505729
504905
|
children: [
|
|
505730
504906
|
" ",
|
|
505731
504907
|
command8
|
|
@@ -505740,7 +504916,7 @@ function CrossProjectMessage(t0) {
|
|
|
505740
504916
|
}
|
|
505741
504917
|
let t5;
|
|
505742
504918
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505743
|
-
t5 = /* @__PURE__ */
|
|
504919
|
+
t5 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedText, {
|
|
505744
504920
|
dimColor: true,
|
|
505745
504921
|
children: "(Command copied to clipboard)"
|
|
505746
504922
|
}, undefined, false, undefined, this);
|
|
@@ -505750,7 +504926,7 @@ function CrossProjectMessage(t0) {
|
|
|
505750
504926
|
}
|
|
505751
504927
|
let t6;
|
|
505752
504928
|
if ($2[6] !== t4) {
|
|
505753
|
-
t6 = /* @__PURE__ */
|
|
504929
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime490.jsxDEV(ThemedBox_default, {
|
|
505754
504930
|
flexDirection: "column",
|
|
505755
504931
|
gap: 1,
|
|
505756
504932
|
children: [
|
|
@@ -505773,7 +504949,7 @@ function _temp356() {
|
|
|
505773
504949
|
function _temp2102() {
|
|
505774
504950
|
process.exit(0);
|
|
505775
504951
|
}
|
|
505776
|
-
var
|
|
504952
|
+
var import_react328, jsx_dev_runtime490;
|
|
505777
504953
|
var init_ResumeConversation = __esm(() => {
|
|
505778
504954
|
init_useTerminalSize();
|
|
505779
504955
|
init_state();
|
|
@@ -505795,8 +504971,8 @@ var init_ResumeConversation = __esm(() => {
|
|
|
505795
504971
|
init_sessionRestore();
|
|
505796
504972
|
init_sessionStorage();
|
|
505797
504973
|
init_REPL();
|
|
505798
|
-
|
|
505799
|
-
|
|
504974
|
+
import_react328 = __toESM(require_react(), 1);
|
|
504975
|
+
jsx_dev_runtime490 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505800
504976
|
});
|
|
505801
504977
|
|
|
505802
504978
|
// src/dialogLaunchers.tsx
|
|
@@ -505804,7 +504980,7 @@ async function launchInvalidSettingsDialog(root3, props) {
|
|
|
505804
504980
|
const {
|
|
505805
504981
|
InvalidSettingsDialog: InvalidSettingsDialog2
|
|
505806
504982
|
} = await Promise.resolve().then(() => (init_InvalidSettingsDialog(), exports_InvalidSettingsDialog));
|
|
505807
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504983
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(InvalidSettingsDialog2, {
|
|
505808
504984
|
settingsErrors: props.settingsErrors,
|
|
505809
504985
|
onContinue: done,
|
|
505810
504986
|
onExit: props.onExit
|
|
@@ -505814,7 +504990,7 @@ async function launchTeleportResumeWrapper(root3) {
|
|
|
505814
504990
|
const {
|
|
505815
504991
|
TeleportResumeWrapper: TeleportResumeWrapper2
|
|
505816
504992
|
} = await Promise.resolve().then(() => (init_TeleportResumeWrapper(), exports_TeleportResumeWrapper));
|
|
505817
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
504993
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportResumeWrapper2, {
|
|
505818
504994
|
onComplete: done,
|
|
505819
504995
|
onCancel: () => done(null),
|
|
505820
504996
|
source: "cliArg"
|
|
@@ -505824,7 +505000,7 @@ async function launchTeleportRepoMismatchDialog(root3, props) {
|
|
|
505824
505000
|
const {
|
|
505825
505001
|
TeleportRepoMismatchDialog: TeleportRepoMismatchDialog2
|
|
505826
505002
|
} = await Promise.resolve().then(() => (init_TeleportRepoMismatchDialog(), exports_TeleportRepoMismatchDialog));
|
|
505827
|
-
return showSetupDialog(root3, (done) => /* @__PURE__ */
|
|
505003
|
+
return showSetupDialog(root3, (done) => /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(TeleportRepoMismatchDialog2, {
|
|
505828
505004
|
targetRepo: props.targetRepo,
|
|
505829
505005
|
initialPaths: props.initialPaths,
|
|
505830
505006
|
onSelectPath: done,
|
|
@@ -505837,23 +505013,23 @@ async function launchResumeChooser(root3, appProps, worktreePathsPromise, resume
|
|
|
505837
505013
|
}, {
|
|
505838
505014
|
App: App3
|
|
505839
505015
|
}] = await Promise.all([worktreePathsPromise, Promise.resolve().then(() => (init_ResumeConversation(), exports_ResumeConversation)), Promise.resolve().then(() => (init_App2(), exports_App))]);
|
|
505840
|
-
await renderAndRun(root3, /* @__PURE__ */
|
|
505016
|
+
await renderAndRun(root3, /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(App3, {
|
|
505841
505017
|
getFpsMetrics: appProps.getFpsMetrics,
|
|
505842
505018
|
stats: appProps.stats,
|
|
505843
505019
|
initialState: appProps.initialState,
|
|
505844
|
-
children: /* @__PURE__ */
|
|
505845
|
-
children: /* @__PURE__ */
|
|
505020
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(KeybindingSetup, {
|
|
505021
|
+
children: /* @__PURE__ */ jsx_dev_runtime491.jsxDEV(ResumeConversation2, {
|
|
505846
505022
|
...resumeProps,
|
|
505847
505023
|
worktreePaths
|
|
505848
505024
|
}, undefined, false, undefined, this)
|
|
505849
505025
|
}, undefined, false, undefined, this)
|
|
505850
505026
|
}, undefined, false, undefined, this));
|
|
505851
505027
|
}
|
|
505852
|
-
var
|
|
505028
|
+
var jsx_dev_runtime491;
|
|
505853
505029
|
var init_dialogLaunchers = __esm(() => {
|
|
505854
505030
|
init_interactiveHelpers();
|
|
505855
505031
|
init_KeybindingProviderSetup();
|
|
505856
|
-
|
|
505032
|
+
jsx_dev_runtime491 = __toESM(require_jsx_dev_runtime(), 1);
|
|
505857
505033
|
});
|
|
505858
505034
|
|
|
505859
505035
|
// src/plugins/bundled/index.ts
|
|
@@ -508754,7 +507930,7 @@ function appendToLog(path17, message) {
|
|
|
508754
507930
|
cwd: getFsImplementation().cwd(),
|
|
508755
507931
|
userType: process.env.USER_TYPE,
|
|
508756
507932
|
sessionId: getSessionId(),
|
|
508757
|
-
version: "1.1.
|
|
507933
|
+
version: "1.1.14"
|
|
508758
507934
|
};
|
|
508759
507935
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
508760
507936
|
}
|
|
@@ -512754,8 +511930,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
512754
511930
|
}
|
|
512755
511931
|
async function checkEnvLessBridgeMinVersion() {
|
|
512756
511932
|
const cfg = await getEnvLessBridgeConfig();
|
|
512757
|
-
if (cfg.min_version && lt("1.1.
|
|
512758
|
-
return `Your version of localclawd (${"1.1.
|
|
511933
|
+
if (cfg.min_version && lt("1.1.14", cfg.min_version)) {
|
|
511934
|
+
return `Your version of localclawd (${"1.1.14"}) is too old for Remote Control.
|
|
512759
511935
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
512760
511936
|
}
|
|
512761
511937
|
return null;
|
|
@@ -513227,7 +512403,7 @@ async function initBridgeCore(params) {
|
|
|
513227
512403
|
const rawApi = createBridgeApiClient({
|
|
513228
512404
|
baseUrl,
|
|
513229
512405
|
getAccessToken,
|
|
513230
|
-
runnerVersion: "1.1.
|
|
512406
|
+
runnerVersion: "1.1.14",
|
|
513231
512407
|
onDebug: logForDebugging,
|
|
513232
512408
|
onAuth401,
|
|
513233
512409
|
getTrustedDeviceToken
|
|
@@ -518039,9 +517215,9 @@ function TeleportProgress(t0) {
|
|
|
518039
517215
|
const t2 = SPINNER_FRAMES3[frame];
|
|
518040
517216
|
let t3;
|
|
518041
517217
|
if ($2[2] !== t2) {
|
|
518042
|
-
t3 = /* @__PURE__ */
|
|
517218
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518043
517219
|
marginBottom: 1,
|
|
518044
|
-
children: /* @__PURE__ */
|
|
517220
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518045
517221
|
bold: true,
|
|
518046
517222
|
color: "claude",
|
|
518047
517223
|
children: [
|
|
@@ -518057,9 +517233,9 @@ function TeleportProgress(t0) {
|
|
|
518057
517233
|
}
|
|
518058
517234
|
let t4;
|
|
518059
517235
|
if ($2[4] !== sessionId) {
|
|
518060
|
-
t4 = sessionId && /* @__PURE__ */
|
|
517236
|
+
t4 = sessionId && /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518061
517237
|
marginBottom: 1,
|
|
518062
|
-
children: /* @__PURE__ */
|
|
517238
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518063
517239
|
dimColor: true,
|
|
518064
517240
|
children: sessionId
|
|
518065
517241
|
}, undefined, false, undefined, this)
|
|
@@ -518089,18 +517265,18 @@ function TeleportProgress(t0) {
|
|
|
518089
517265
|
color3 = undefined;
|
|
518090
517266
|
}
|
|
518091
517267
|
}
|
|
518092
|
-
return /* @__PURE__ */
|
|
517268
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518093
517269
|
flexDirection: "row",
|
|
518094
517270
|
children: [
|
|
518095
|
-
/* @__PURE__ */
|
|
517271
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518096
517272
|
width: 2,
|
|
518097
|
-
children: /* @__PURE__ */
|
|
517273
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518098
517274
|
color: color3,
|
|
518099
517275
|
dimColor: isPending,
|
|
518100
517276
|
children: icon
|
|
518101
517277
|
}, undefined, false, undefined, this)
|
|
518102
517278
|
}, undefined, false, undefined, this),
|
|
518103
|
-
/* @__PURE__ */
|
|
517279
|
+
/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedText, {
|
|
518104
517280
|
dimColor: isPending,
|
|
518105
517281
|
bold: isCurrent,
|
|
518106
517282
|
children: step.label
|
|
@@ -518116,7 +517292,7 @@ function TeleportProgress(t0) {
|
|
|
518116
517292
|
}
|
|
518117
517293
|
let t6;
|
|
518118
517294
|
if ($2[9] !== t5) {
|
|
518119
|
-
t6 = /* @__PURE__ */
|
|
517295
|
+
t6 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518120
517296
|
flexDirection: "column",
|
|
518121
517297
|
marginLeft: 2,
|
|
518122
517298
|
children: t5
|
|
@@ -518128,7 +517304,7 @@ function TeleportProgress(t0) {
|
|
|
518128
517304
|
}
|
|
518129
517305
|
let t7;
|
|
518130
517306
|
if ($2[11] !== ref || $2[12] !== t3 || $2[13] !== t4 || $2[14] !== t6) {
|
|
518131
|
-
t7 = /* @__PURE__ */
|
|
517307
|
+
t7 = /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(ThemedBox_default, {
|
|
518132
517308
|
ref,
|
|
518133
517309
|
flexDirection: "column",
|
|
518134
517310
|
paddingX: 1,
|
|
@@ -518152,15 +517328,15 @@ function TeleportProgress(t0) {
|
|
|
518152
517328
|
async function teleportWithProgress(root3, sessionId) {
|
|
518153
517329
|
let setStep = () => {};
|
|
518154
517330
|
function TeleportProgressWrapper() {
|
|
518155
|
-
const [step, _setStep] =
|
|
517331
|
+
const [step, _setStep] = import_react329.useState("validating");
|
|
518156
517332
|
setStep = _setStep;
|
|
518157
|
-
return /* @__PURE__ */
|
|
517333
|
+
return /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgress, {
|
|
518158
517334
|
currentStep: step,
|
|
518159
517335
|
sessionId
|
|
518160
517336
|
}, undefined, false, undefined, this);
|
|
518161
517337
|
}
|
|
518162
|
-
root3.render(/* @__PURE__ */
|
|
518163
|
-
children: /* @__PURE__ */
|
|
517338
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime492.jsxDEV(AppStateProvider, {
|
|
517339
|
+
children: /* @__PURE__ */ jsx_dev_runtime492.jsxDEV(TeleportProgressWrapper, {}, undefined, false, undefined, this)
|
|
518164
517340
|
}, undefined, false, undefined, this));
|
|
518165
517341
|
const result = await teleportResumeCodeSession(sessionId, setStep);
|
|
518166
517342
|
setStep("checking_out");
|
|
@@ -518173,14 +517349,14 @@ async function teleportWithProgress(root3, sessionId) {
|
|
|
518173
517349
|
branchName
|
|
518174
517350
|
};
|
|
518175
517351
|
}
|
|
518176
|
-
var
|
|
517352
|
+
var import_react329, jsx_dev_runtime492, SPINNER_FRAMES3, STEPS;
|
|
518177
517353
|
var init_TeleportProgress = __esm(() => {
|
|
518178
517354
|
init_figures2();
|
|
518179
517355
|
init_ink2();
|
|
518180
517356
|
init_AppState();
|
|
518181
517357
|
init_teleport();
|
|
518182
|
-
|
|
518183
|
-
|
|
517358
|
+
import_react329 = __toESM(require_react(), 1);
|
|
517359
|
+
jsx_dev_runtime492 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518184
517360
|
SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
|
|
518185
517361
|
STEPS = [{
|
|
518186
517362
|
key: "validating",
|
|
@@ -518221,7 +517397,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518221
517397
|
} else {
|
|
518222
517398
|
t2 = $2[2];
|
|
518223
517399
|
}
|
|
518224
|
-
const [existingServers, setExistingServers] =
|
|
517400
|
+
const [existingServers, setExistingServers] = import_react330.useState(t2);
|
|
518225
517401
|
let t3;
|
|
518226
517402
|
let t4;
|
|
518227
517403
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
@@ -518240,7 +517416,7 @@ function MCPServerDesktopImportDialog(t0) {
|
|
|
518240
517416
|
t3 = $2[3];
|
|
518241
517417
|
t4 = $2[4];
|
|
518242
517418
|
}
|
|
518243
|
-
|
|
517419
|
+
import_react330.useEffect(t3, t4);
|
|
518244
517420
|
let t5;
|
|
518245
517421
|
if ($2[5] !== existingServers || $2[6] !== serverNames) {
|
|
518246
517422
|
t5 = serverNames.filter((name) => existingServers[name] !== undefined);
|
|
@@ -518316,7 +517492,7 @@ No servers were imported.`);
|
|
|
518316
517492
|
const t10 = `Found ${t8} MCP ${t9} in Claude Desktop.`;
|
|
518317
517493
|
let t11;
|
|
518318
517494
|
if ($2[16] !== collisions.length) {
|
|
518319
|
-
t11 = collisions.length > 0 && /* @__PURE__ */
|
|
517495
|
+
t11 = collisions.length > 0 && /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518320
517496
|
color: "warning",
|
|
518321
517497
|
children: "Note: Some servers already exist with the same name. If selected, they will be imported with a numbered suffix."
|
|
518322
517498
|
}, undefined, false, undefined, this);
|
|
@@ -518327,7 +517503,7 @@ No servers were imported.`);
|
|
|
518327
517503
|
}
|
|
518328
517504
|
let t12;
|
|
518329
517505
|
if ($2[18] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518330
|
-
t12 = /* @__PURE__ */
|
|
517506
|
+
t12 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518331
517507
|
children: "Please select the servers you want to import:"
|
|
518332
517508
|
}, undefined, false, undefined, this);
|
|
518333
517509
|
$2[18] = t12;
|
|
@@ -518352,7 +517528,7 @@ No servers were imported.`);
|
|
|
518352
517528
|
}
|
|
518353
517529
|
let t15;
|
|
518354
517530
|
if ($2[23] !== handleEscCancel || $2[24] !== onSubmit || $2[25] !== t13 || $2[26] !== t14) {
|
|
518355
|
-
t15 = /* @__PURE__ */
|
|
517531
|
+
t15 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(SelectMulti, {
|
|
518356
517532
|
options: t13,
|
|
518357
517533
|
defaultValue: t14,
|
|
518358
517534
|
onSubmit,
|
|
@@ -518369,7 +517545,7 @@ No servers were imported.`);
|
|
|
518369
517545
|
}
|
|
518370
517546
|
let t16;
|
|
518371
517547
|
if ($2[28] !== handleEscCancel || $2[29] !== t10 || $2[30] !== t11 || $2[31] !== t15) {
|
|
518372
|
-
t16 = /* @__PURE__ */
|
|
517548
|
+
t16 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Dialog, {
|
|
518373
517549
|
title: "Import MCP Servers from Claude Desktop",
|
|
518374
517550
|
subtitle: t10,
|
|
518375
517551
|
color: "success",
|
|
@@ -518391,22 +517567,22 @@ No servers were imported.`);
|
|
|
518391
517567
|
}
|
|
518392
517568
|
let t17;
|
|
518393
517569
|
if ($2[33] === Symbol.for("react.memo_cache_sentinel")) {
|
|
518394
|
-
t17 = /* @__PURE__ */
|
|
517570
|
+
t17 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedBox_default, {
|
|
518395
517571
|
paddingX: 1,
|
|
518396
|
-
children: /* @__PURE__ */
|
|
517572
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ThemedText, {
|
|
518397
517573
|
dimColor: true,
|
|
518398
517574
|
italic: true,
|
|
518399
|
-
children: /* @__PURE__ */
|
|
517575
|
+
children: /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(Byline, {
|
|
518400
517576
|
children: [
|
|
518401
|
-
/* @__PURE__ */
|
|
517577
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518402
517578
|
shortcut: "Space",
|
|
518403
517579
|
action: "select"
|
|
518404
517580
|
}, undefined, false, undefined, this),
|
|
518405
|
-
/* @__PURE__ */
|
|
517581
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(KeyboardShortcutHint, {
|
|
518406
517582
|
shortcut: "Enter",
|
|
518407
517583
|
action: "confirm"
|
|
518408
517584
|
}, undefined, false, undefined, this),
|
|
518409
|
-
/* @__PURE__ */
|
|
517585
|
+
/* @__PURE__ */ jsx_dev_runtime493.jsxDEV(ConfigurableShortcutHint, {
|
|
518410
517586
|
action: "confirm:no",
|
|
518411
517587
|
context: "Confirmation",
|
|
518412
517588
|
fallback: "Esc",
|
|
@@ -518422,7 +517598,7 @@ No servers were imported.`);
|
|
|
518422
517598
|
}
|
|
518423
517599
|
let t18;
|
|
518424
517600
|
if ($2[34] !== t16) {
|
|
518425
|
-
t18 = /* @__PURE__ */
|
|
517601
|
+
t18 = /* @__PURE__ */ jsx_dev_runtime493.jsxDEV(jsx_dev_runtime493.Fragment, {
|
|
518426
517602
|
children: [
|
|
518427
517603
|
t16,
|
|
518428
517604
|
t17
|
|
@@ -518435,7 +517611,7 @@ No servers were imported.`);
|
|
|
518435
517611
|
}
|
|
518436
517612
|
return t18;
|
|
518437
517613
|
}
|
|
518438
|
-
var
|
|
517614
|
+
var import_react330, jsx_dev_runtime493;
|
|
518439
517615
|
var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
518440
517616
|
init_gracefulShutdown();
|
|
518441
517617
|
init_ink2();
|
|
@@ -518446,8 +517622,8 @@ var init_MCPServerDesktopImportDialog = __esm(() => {
|
|
|
518446
517622
|
init_Byline();
|
|
518447
517623
|
init_Dialog();
|
|
518448
517624
|
init_KeyboardShortcutHint();
|
|
518449
|
-
|
|
518450
|
-
|
|
517625
|
+
import_react330 = __toESM(require_react(), 1);
|
|
517626
|
+
jsx_dev_runtime493 = __toESM(require_jsx_dev_runtime(), 1);
|
|
518451
517627
|
});
|
|
518452
517628
|
|
|
518453
517629
|
// node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
|
|
@@ -518883,7 +518059,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
518883
518059
|
setCwd(cwd3);
|
|
518884
518060
|
const server = new Server({
|
|
518885
518061
|
name: "claude/tengu",
|
|
518886
|
-
version: "1.1.
|
|
518062
|
+
version: "1.1.14"
|
|
518887
518063
|
}, {
|
|
518888
518064
|
capabilities: {
|
|
518889
518065
|
tools: {}
|
|
@@ -519371,9 +518547,9 @@ async function mcpAddFromDesktopHandler(options) {
|
|
|
519371
518547
|
}
|
|
519372
518548
|
const {
|
|
519373
518549
|
unmount
|
|
519374
|
-
} = await render(/* @__PURE__ */
|
|
519375
|
-
children: /* @__PURE__ */
|
|
519376
|
-
children: /* @__PURE__ */
|
|
518550
|
+
} = await render(/* @__PURE__ */ jsx_dev_runtime494.jsxDEV(AppStateProvider, {
|
|
518551
|
+
children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(KeybindingSetup, {
|
|
518552
|
+
children: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(MCPServerDesktopImportDialog, {
|
|
519377
518553
|
servers,
|
|
519378
518554
|
scope,
|
|
519379
518555
|
onDone: () => {
|
|
@@ -519399,7 +518575,7 @@ async function mcpResetChoicesHandler() {
|
|
|
519399
518575
|
cliOk(`All project-scoped (.mcp.json) server approvals and rejections have been reset.
|
|
519400
518576
|
You will be prompted for approval next time you start localclawd.`);
|
|
519401
518577
|
}
|
|
519402
|
-
var
|
|
518578
|
+
var jsx_dev_runtime494;
|
|
519403
518579
|
var init_mcp5 = __esm(() => {
|
|
519404
518580
|
init_p_map();
|
|
519405
518581
|
init_MCPServerDesktopImportDialog();
|
|
@@ -519415,7 +518591,7 @@ var init_mcp5 = __esm(() => {
|
|
|
519415
518591
|
init_gracefulShutdown();
|
|
519416
518592
|
init_json();
|
|
519417
518593
|
init_platform();
|
|
519418
|
-
|
|
518594
|
+
jsx_dev_runtime494 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519419
518595
|
});
|
|
519420
518596
|
|
|
519421
518597
|
// src/cli/handlers/plugins.ts
|
|
@@ -519942,6 +519118,51 @@ var init_plugins = __esm(() => {
|
|
|
519942
519118
|
init_stringUtils();
|
|
519943
519119
|
});
|
|
519944
519120
|
|
|
519121
|
+
// src/components/LogoV2/WelcomeV2.tsx
|
|
519122
|
+
function WelcomeV2() {
|
|
519123
|
+
const [theme2] = useTheme();
|
|
519124
|
+
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
519125
|
+
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
519126
|
+
return /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519127
|
+
width: WELCOME_V2_WIDTH,
|
|
519128
|
+
flexDirection: "column",
|
|
519129
|
+
gap: 0,
|
|
519130
|
+
children: [
|
|
519131
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519132
|
+
gap: 1,
|
|
519133
|
+
children: [
|
|
519134
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519135
|
+
bold: true,
|
|
519136
|
+
color: accentColor,
|
|
519137
|
+
children: "localclawd"
|
|
519138
|
+
}, undefined, false, undefined, this),
|
|
519139
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519140
|
+
dimColor: true,
|
|
519141
|
+
children: [
|
|
519142
|
+
"v",
|
|
519143
|
+
"1.1.14"
|
|
519144
|
+
]
|
|
519145
|
+
}, undefined, true, undefined, this)
|
|
519146
|
+
]
|
|
519147
|
+
}, undefined, true, undefined, this),
|
|
519148
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
519149
|
+
dimColor: true,
|
|
519150
|
+
children: "─".repeat(48)
|
|
519151
|
+
}, undefined, false, undefined, this),
|
|
519152
|
+
/* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
519153
|
+
marginTop: 1,
|
|
519154
|
+
children: /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(Clawd, {}, undefined, false, undefined, this)
|
|
519155
|
+
}, undefined, false, undefined, this)
|
|
519156
|
+
]
|
|
519157
|
+
}, undefined, true, undefined, this);
|
|
519158
|
+
}
|
|
519159
|
+
var jsx_dev_runtime495, WELCOME_V2_WIDTH = 58;
|
|
519160
|
+
var init_WelcomeV2 = __esm(() => {
|
|
519161
|
+
init_ink2();
|
|
519162
|
+
init_Clawd();
|
|
519163
|
+
jsx_dev_runtime495 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519164
|
+
});
|
|
519165
|
+
|
|
519945
519166
|
// src/commands/install.tsx
|
|
519946
519167
|
var exports_install = {};
|
|
519947
519168
|
__export(exports_install, {
|
|
@@ -519968,11 +519189,11 @@ function SetupNotes(t0) {
|
|
|
519968
519189
|
}
|
|
519969
519190
|
let t1;
|
|
519970
519191
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
519971
|
-
t1 = /* @__PURE__ */
|
|
519972
|
-
children: /* @__PURE__ */
|
|
519192
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519193
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
519973
519194
|
color: "warning",
|
|
519974
519195
|
children: [
|
|
519975
|
-
/* @__PURE__ */
|
|
519196
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
519976
519197
|
status: "warning",
|
|
519977
519198
|
withSpace: true
|
|
519978
519199
|
}, undefined, false, undefined, this),
|
|
@@ -519994,7 +519215,7 @@ function SetupNotes(t0) {
|
|
|
519994
519215
|
}
|
|
519995
519216
|
let t3;
|
|
519996
519217
|
if ($2[3] !== t2) {
|
|
519997
|
-
t3 = /* @__PURE__ */
|
|
519218
|
+
t3 = /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
519998
519219
|
flexDirection: "column",
|
|
519999
519220
|
gap: 0,
|
|
520000
519221
|
marginBottom: 1,
|
|
@@ -520011,9 +519232,9 @@ function SetupNotes(t0) {
|
|
|
520011
519232
|
return t3;
|
|
520012
519233
|
}
|
|
520013
519234
|
function _temp307(message, index) {
|
|
520014
|
-
return /* @__PURE__ */
|
|
519235
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520015
519236
|
marginLeft: 2,
|
|
520016
|
-
children: /* @__PURE__ */
|
|
519237
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520017
519238
|
dimColor: true,
|
|
520018
519239
|
children: [
|
|
520019
519240
|
"• ",
|
|
@@ -520027,10 +519248,10 @@ function Install({
|
|
|
520027
519248
|
force,
|
|
520028
519249
|
target
|
|
520029
519250
|
}) {
|
|
520030
|
-
const [state2, setState] =
|
|
519251
|
+
const [state2, setState] = import_react331.useState({
|
|
520031
519252
|
type: "checking"
|
|
520032
519253
|
});
|
|
520033
|
-
|
|
519254
|
+
import_react331.useEffect(() => {
|
|
520034
519255
|
async function run() {
|
|
520035
519256
|
try {
|
|
520036
519257
|
logForDebugging(`Install: Starting installation process (force=${force}, target=${target})`);
|
|
@@ -520118,7 +519339,7 @@ function Install({
|
|
|
520118
519339
|
}
|
|
520119
519340
|
run();
|
|
520120
519341
|
}, [force, target]);
|
|
520121
|
-
|
|
519342
|
+
import_react331.useEffect(() => {
|
|
520122
519343
|
if (state2.type === "success") {
|
|
520123
519344
|
setTimeout(onDone, 2000, "localclawd installation completed successfully", {
|
|
520124
519345
|
display: "system"
|
|
@@ -520129,19 +519350,19 @@ function Install({
|
|
|
520129
519350
|
});
|
|
520130
519351
|
}
|
|
520131
519352
|
}, [state2, onDone]);
|
|
520132
|
-
return /* @__PURE__ */
|
|
519353
|
+
return /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520133
519354
|
flexDirection: "column",
|
|
520134
519355
|
marginTop: 1,
|
|
520135
519356
|
children: [
|
|
520136
|
-
state2.type === "checking" && /* @__PURE__ */
|
|
519357
|
+
state2.type === "checking" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520137
519358
|
color: "claude",
|
|
520138
519359
|
children: "Checking installation status..."
|
|
520139
519360
|
}, undefined, false, undefined, this),
|
|
520140
|
-
state2.type === "cleaning-npm" && /* @__PURE__ */
|
|
519361
|
+
state2.type === "cleaning-npm" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520141
519362
|
color: "warning",
|
|
520142
519363
|
children: "Cleaning up old npm installations..."
|
|
520143
519364
|
}, undefined, false, undefined, this),
|
|
520144
|
-
state2.type === "installing" && /* @__PURE__ */
|
|
519365
|
+
state2.type === "installing" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520145
519366
|
color: "claude",
|
|
520146
519367
|
children: [
|
|
520147
519368
|
"Installing localclawd native build ",
|
|
@@ -520149,54 +519370,54 @@ function Install({
|
|
|
520149
519370
|
"..."
|
|
520150
519371
|
]
|
|
520151
519372
|
}, undefined, true, undefined, this),
|
|
520152
|
-
state2.type === "setting-up" && /* @__PURE__ */
|
|
519373
|
+
state2.type === "setting-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520153
519374
|
color: "claude",
|
|
520154
519375
|
children: "Setting up launcher and shell integration..."
|
|
520155
519376
|
}, undefined, false, undefined, this),
|
|
520156
|
-
state2.type === "set-up" && /* @__PURE__ */
|
|
519377
|
+
state2.type === "set-up" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520157
519378
|
messages: state2.messages
|
|
520158
519379
|
}, undefined, false, undefined, this),
|
|
520159
|
-
state2.type === "success" && /* @__PURE__ */
|
|
519380
|
+
state2.type === "success" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520160
519381
|
flexDirection: "column",
|
|
520161
519382
|
gap: 1,
|
|
520162
519383
|
children: [
|
|
520163
|
-
/* @__PURE__ */
|
|
519384
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520164
519385
|
children: [
|
|
520165
|
-
/* @__PURE__ */
|
|
519386
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520166
519387
|
status: "success",
|
|
520167
519388
|
withSpace: true
|
|
520168
519389
|
}, undefined, false, undefined, this),
|
|
520169
|
-
/* @__PURE__ */
|
|
519390
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520170
519391
|
color: "success",
|
|
520171
519392
|
bold: true,
|
|
520172
519393
|
children: "localclawd successfully installed!"
|
|
520173
519394
|
}, undefined, false, undefined, this)
|
|
520174
519395
|
]
|
|
520175
519396
|
}, undefined, true, undefined, this),
|
|
520176
|
-
/* @__PURE__ */
|
|
519397
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520177
519398
|
marginLeft: 2,
|
|
520178
519399
|
flexDirection: "column",
|
|
520179
519400
|
gap: 1,
|
|
520180
519401
|
children: [
|
|
520181
|
-
state2.version !== "current" && /* @__PURE__ */
|
|
519402
|
+
state2.version !== "current" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520182
519403
|
children: [
|
|
520183
|
-
/* @__PURE__ */
|
|
519404
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520184
519405
|
dimColor: true,
|
|
520185
519406
|
children: "Version: "
|
|
520186
519407
|
}, undefined, false, undefined, this),
|
|
520187
|
-
/* @__PURE__ */
|
|
519408
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520188
519409
|
color: "claude",
|
|
520189
519410
|
children: state2.version
|
|
520190
519411
|
}, undefined, false, undefined, this)
|
|
520191
519412
|
]
|
|
520192
519413
|
}, undefined, true, undefined, this),
|
|
520193
|
-
/* @__PURE__ */
|
|
519414
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520194
519415
|
children: [
|
|
520195
|
-
/* @__PURE__ */
|
|
519416
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520196
519417
|
dimColor: true,
|
|
520197
519418
|
children: "Location: "
|
|
520198
519419
|
}, undefined, false, undefined, this),
|
|
520199
|
-
/* @__PURE__ */
|
|
519420
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520200
519421
|
color: "text",
|
|
520201
519422
|
children: getInstallationPath2()
|
|
520202
519423
|
}, undefined, false, undefined, this)
|
|
@@ -520204,57 +519425,57 @@ function Install({
|
|
|
520204
519425
|
}, undefined, true, undefined, this)
|
|
520205
519426
|
]
|
|
520206
519427
|
}, undefined, true, undefined, this),
|
|
520207
|
-
/* @__PURE__ */
|
|
519428
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520208
519429
|
marginLeft: 2,
|
|
520209
519430
|
flexDirection: "column",
|
|
520210
519431
|
gap: 1,
|
|
520211
|
-
children: /* @__PURE__ */
|
|
519432
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520212
519433
|
marginTop: 1,
|
|
520213
519434
|
children: [
|
|
520214
|
-
/* @__PURE__ */
|
|
519435
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520215
519436
|
dimColor: true,
|
|
520216
519437
|
children: "Next: Run "
|
|
520217
519438
|
}, undefined, false, undefined, this),
|
|
520218
|
-
/* @__PURE__ */
|
|
519439
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520219
519440
|
color: "claude",
|
|
520220
519441
|
bold: true,
|
|
520221
519442
|
children: "localclawd --help"
|
|
520222
519443
|
}, undefined, false, undefined, this),
|
|
520223
|
-
/* @__PURE__ */
|
|
519444
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520224
519445
|
dimColor: true,
|
|
520225
519446
|
children: " to get started"
|
|
520226
519447
|
}, undefined, false, undefined, this)
|
|
520227
519448
|
]
|
|
520228
519449
|
}, undefined, true, undefined, this)
|
|
520229
519450
|
}, undefined, false, undefined, this),
|
|
520230
|
-
state2.setupMessages && /* @__PURE__ */
|
|
519451
|
+
state2.setupMessages && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(SetupNotes, {
|
|
520231
519452
|
messages: state2.setupMessages
|
|
520232
519453
|
}, undefined, false, undefined, this)
|
|
520233
519454
|
]
|
|
520234
519455
|
}, undefined, true, undefined, this),
|
|
520235
|
-
state2.type === "error" && /* @__PURE__ */
|
|
519456
|
+
state2.type === "error" && /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520236
519457
|
flexDirection: "column",
|
|
520237
519458
|
gap: 1,
|
|
520238
519459
|
children: [
|
|
520239
|
-
/* @__PURE__ */
|
|
519460
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520240
519461
|
children: [
|
|
520241
|
-
/* @__PURE__ */
|
|
519462
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(StatusIcon, {
|
|
520242
519463
|
status: "error",
|
|
520243
519464
|
withSpace: true
|
|
520244
519465
|
}, undefined, false, undefined, this),
|
|
520245
|
-
/* @__PURE__ */
|
|
519466
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520246
519467
|
color: "error",
|
|
520247
519468
|
children: "Installation failed"
|
|
520248
519469
|
}, undefined, false, undefined, this)
|
|
520249
519470
|
]
|
|
520250
519471
|
}, undefined, true, undefined, this),
|
|
520251
|
-
/* @__PURE__ */
|
|
519472
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520252
519473
|
color: "error",
|
|
520253
519474
|
children: state2.message
|
|
520254
519475
|
}, undefined, false, undefined, this),
|
|
520255
|
-
/* @__PURE__ */
|
|
519476
|
+
/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedBox_default, {
|
|
520256
519477
|
marginTop: 1,
|
|
520257
|
-
children: /* @__PURE__ */
|
|
519478
|
+
children: /* @__PURE__ */ jsx_dev_runtime496.jsxDEV(ThemedText, {
|
|
520258
519479
|
dimColor: true,
|
|
520259
519480
|
children: "Try running with --force to override checks"
|
|
520260
519481
|
}, undefined, false, undefined, this)
|
|
@@ -520264,7 +519485,7 @@ function Install({
|
|
|
520264
519485
|
]
|
|
520265
519486
|
}, undefined, true, undefined, this);
|
|
520266
519487
|
}
|
|
520267
|
-
var
|
|
519488
|
+
var import_react331, jsx_dev_runtime496, install;
|
|
520268
519489
|
var init_install = __esm(() => {
|
|
520269
519490
|
init_StatusIcon();
|
|
520270
519491
|
init_ink2();
|
|
@@ -520273,8 +519494,8 @@ var init_install = __esm(() => {
|
|
|
520273
519494
|
init_errors();
|
|
520274
519495
|
init_nativeInstaller();
|
|
520275
519496
|
init_settings2();
|
|
520276
|
-
|
|
520277
|
-
|
|
519497
|
+
import_react331 = __toESM(require_react(), 1);
|
|
519498
|
+
jsx_dev_runtime496 = __toESM(require_jsx_dev_runtime(), 1);
|
|
520278
519499
|
install = {
|
|
520279
519500
|
type: "local-jsx",
|
|
520280
519501
|
name: "install",
|
|
@@ -520286,7 +519507,7 @@ var init_install = __esm(() => {
|
|
|
520286
519507
|
const target = nonFlagArgs[0];
|
|
520287
519508
|
const {
|
|
520288
519509
|
unmount
|
|
520289
|
-
} = await render(/* @__PURE__ */
|
|
519510
|
+
} = await render(/* @__PURE__ */ jsx_dev_runtime496.jsxDEV(Install, {
|
|
520290
519511
|
onDone: (result, options) => {
|
|
520291
519512
|
unmount();
|
|
520292
519513
|
onDone(result, options);
|
|
@@ -520313,28 +519534,28 @@ async function setupTokenHandler(root3) {
|
|
|
520313
519534
|
ConsoleOAuthFlow: ConsoleOAuthFlow2
|
|
520314
519535
|
} = await Promise.resolve().then(() => (init_ConsoleOAuthFlow(), exports_ConsoleOAuthFlow));
|
|
520315
519536
|
await new Promise((resolve40) => {
|
|
520316
|
-
root3.render(/* @__PURE__ */
|
|
519537
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
|
|
520317
519538
|
onChangeAppState,
|
|
520318
|
-
children: /* @__PURE__ */
|
|
520319
|
-
children: /* @__PURE__ */
|
|
519539
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
|
|
519540
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520320
519541
|
flexDirection: "column",
|
|
520321
519542
|
gap: 1,
|
|
520322
519543
|
children: [
|
|
520323
|
-
/* @__PURE__ */
|
|
520324
|
-
showAuthWarning && /* @__PURE__ */
|
|
519544
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(WelcomeV2, {}, undefined, false, undefined, this),
|
|
519545
|
+
showAuthWarning && /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedBox_default, {
|
|
520325
519546
|
flexDirection: "column",
|
|
520326
519547
|
children: [
|
|
520327
|
-
/* @__PURE__ */
|
|
519548
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520328
519549
|
color: "warning",
|
|
520329
519550
|
children: "Warning: You already have authentication configured via environment variable or API key helper."
|
|
520330
519551
|
}, undefined, false, undefined, this),
|
|
520331
|
-
/* @__PURE__ */
|
|
519552
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ThemedText, {
|
|
520332
519553
|
color: "warning",
|
|
520333
519554
|
children: "The setup-token command will create a new OAuth token which you can use instead."
|
|
520334
519555
|
}, undefined, false, undefined, this)
|
|
520335
519556
|
]
|
|
520336
519557
|
}, undefined, true, undefined, this),
|
|
520337
|
-
/* @__PURE__ */
|
|
519558
|
+
/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(ConsoleOAuthFlow2, {
|
|
520338
519559
|
onDone: () => {
|
|
520339
519560
|
resolve40();
|
|
520340
519561
|
},
|
|
@@ -520357,9 +519578,9 @@ function DoctorWithPlugins(t0) {
|
|
|
520357
519578
|
useManagePlugins();
|
|
520358
519579
|
let t1;
|
|
520359
519580
|
if ($2[0] !== onDone) {
|
|
520360
|
-
t1 = /* @__PURE__ */
|
|
519581
|
+
t1 = /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(import_react332.default.Suspense, {
|
|
520361
519582
|
fallback: null,
|
|
520362
|
-
children: /* @__PURE__ */
|
|
519583
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorLazy, {
|
|
520363
519584
|
onDone
|
|
520364
519585
|
}, undefined, false, undefined, this)
|
|
520365
519586
|
}, undefined, false, undefined, this);
|
|
@@ -520373,12 +519594,12 @@ function DoctorWithPlugins(t0) {
|
|
|
520373
519594
|
async function doctorHandler(root3) {
|
|
520374
519595
|
logEvent("tengu_doctor_command", {});
|
|
520375
519596
|
await new Promise((resolve40) => {
|
|
520376
|
-
root3.render(/* @__PURE__ */
|
|
520377
|
-
children: /* @__PURE__ */
|
|
520378
|
-
children: /* @__PURE__ */
|
|
519597
|
+
root3.render(/* @__PURE__ */ jsx_dev_runtime497.jsxDEV(AppStateProvider, {
|
|
519598
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(KeybindingSetup, {
|
|
519599
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(MCPConnectionManager, {
|
|
520379
519600
|
dynamicMcpConfig: undefined,
|
|
520380
519601
|
isStrictMcpConfig: false,
|
|
520381
|
-
children: /* @__PURE__ */
|
|
519602
|
+
children: /* @__PURE__ */ jsx_dev_runtime497.jsxDEV(DoctorWithPlugins, {
|
|
520382
519603
|
onDone: () => {
|
|
520383
519604
|
resolve40();
|
|
520384
519605
|
}
|
|
@@ -520410,7 +519631,7 @@ async function installHandler(target, options) {
|
|
|
520410
519631
|
}, {}, args);
|
|
520411
519632
|
});
|
|
520412
519633
|
}
|
|
520413
|
-
var
|
|
519634
|
+
var import_react332, jsx_dev_runtime497, DoctorLazy;
|
|
520414
519635
|
var init_util = __esm(() => {
|
|
520415
519636
|
init_WelcomeV2();
|
|
520416
519637
|
init_useManagePlugins();
|
|
@@ -520420,9 +519641,9 @@ var init_util = __esm(() => {
|
|
|
520420
519641
|
init_AppState();
|
|
520421
519642
|
init_onChangeAppState();
|
|
520422
519643
|
init_auth2();
|
|
520423
|
-
|
|
520424
|
-
|
|
520425
|
-
DoctorLazy =
|
|
519644
|
+
import_react332 = __toESM(require_react(), 1);
|
|
519645
|
+
jsx_dev_runtime497 = __toESM(require_jsx_dev_runtime(), 1);
|
|
519646
|
+
DoctorLazy = import_react332.default.lazy(() => Promise.resolve().then(() => (init_Doctor(), exports_Doctor)).then((m2) => ({
|
|
520426
519647
|
default: m2.Doctor
|
|
520427
519648
|
})));
|
|
520428
519649
|
});
|
|
@@ -520488,7 +519709,7 @@ __export(exports_update, {
|
|
|
520488
519709
|
});
|
|
520489
519710
|
async function update() {
|
|
520490
519711
|
logEvent("tengu_update_check", {});
|
|
520491
|
-
writeToStdout(`Current version: ${"1.1.
|
|
519712
|
+
writeToStdout(`Current version: ${"1.1.14"}
|
|
520492
519713
|
`);
|
|
520493
519714
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520494
519715
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520563,8 +519784,8 @@ async function update() {
|
|
|
520563
519784
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520564
519785
|
`);
|
|
520565
519786
|
const latest = await getLatestVersion(channel);
|
|
520566
|
-
if (latest && !gte("1.1.
|
|
520567
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519787
|
+
if (latest && !gte("1.1.14", latest)) {
|
|
519788
|
+
writeToStdout(`Update available: ${"1.1.14"} → ${latest}
|
|
520568
519789
|
`);
|
|
520569
519790
|
writeToStdout(`
|
|
520570
519791
|
`);
|
|
@@ -520580,8 +519801,8 @@ async function update() {
|
|
|
520580
519801
|
writeToStdout(`localclawd is managed by winget.
|
|
520581
519802
|
`);
|
|
520582
519803
|
const latest = await getLatestVersion(channel);
|
|
520583
|
-
if (latest && !gte("1.1.
|
|
520584
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519804
|
+
if (latest && !gte("1.1.14", latest)) {
|
|
519805
|
+
writeToStdout(`Update available: ${"1.1.14"} → ${latest}
|
|
520585
519806
|
`);
|
|
520586
519807
|
writeToStdout(`
|
|
520587
519808
|
`);
|
|
@@ -520595,8 +519816,8 @@ async function update() {
|
|
|
520595
519816
|
writeToStdout(`localclawd is managed by apk.
|
|
520596
519817
|
`);
|
|
520597
519818
|
const latest = await getLatestVersion(channel);
|
|
520598
|
-
if (latest && !gte("1.1.
|
|
520599
|
-
writeToStdout(`Update available: ${"1.1.
|
|
519819
|
+
if (latest && !gte("1.1.14", latest)) {
|
|
519820
|
+
writeToStdout(`Update available: ${"1.1.14"} → ${latest}
|
|
520600
519821
|
`);
|
|
520601
519822
|
writeToStdout(`
|
|
520602
519823
|
`);
|
|
@@ -520661,11 +519882,11 @@ async function update() {
|
|
|
520661
519882
|
`);
|
|
520662
519883
|
await gracefulShutdown(1);
|
|
520663
519884
|
}
|
|
520664
|
-
if (result.latestVersion === "1.1.
|
|
520665
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
519885
|
+
if (result.latestVersion === "1.1.14") {
|
|
519886
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.14"})`) + `
|
|
520666
519887
|
`);
|
|
520667
519888
|
} else {
|
|
520668
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519889
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.14"} to version ${result.latestVersion}`) + `
|
|
520669
519890
|
`);
|
|
520670
519891
|
await regenerateCompletionCache();
|
|
520671
519892
|
}
|
|
@@ -520725,12 +519946,12 @@ async function update() {
|
|
|
520725
519946
|
`);
|
|
520726
519947
|
await gracefulShutdown(1);
|
|
520727
519948
|
}
|
|
520728
|
-
if (latestVersion === "1.1.
|
|
520729
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
519949
|
+
if (latestVersion === "1.1.14") {
|
|
519950
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.14"})`) + `
|
|
520730
519951
|
`);
|
|
520731
519952
|
await gracefulShutdown(0);
|
|
520732
519953
|
}
|
|
520733
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
519954
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.14"})
|
|
520734
519955
|
`);
|
|
520735
519956
|
writeToStdout(`Installing update...
|
|
520736
519957
|
`);
|
|
@@ -520775,7 +519996,7 @@ async function update() {
|
|
|
520775
519996
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
520776
519997
|
switch (status2) {
|
|
520777
519998
|
case "success":
|
|
520778
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
519999
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.14"} to version ${latestVersion}`) + `
|
|
520779
520000
|
`);
|
|
520780
520001
|
await regenerateCompletionCache();
|
|
520781
520002
|
break;
|
|
@@ -522040,7 +521261,7 @@ ${customInstructions}` : customInstructions;
|
|
|
522040
521261
|
}
|
|
522041
521262
|
}
|
|
522042
521263
|
logForDiagnosticsNoPII("info", "started", {
|
|
522043
|
-
version: "1.1.
|
|
521264
|
+
version: "1.1.14",
|
|
522044
521265
|
is_native_binary: isInBundledMode()
|
|
522045
521266
|
});
|
|
522046
521267
|
registerCleanup(async () => {
|
|
@@ -522824,7 +522045,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
522824
522045
|
pendingHookMessages
|
|
522825
522046
|
}, renderAndRun);
|
|
522826
522047
|
}
|
|
522827
|
-
}).version("1.1.
|
|
522048
|
+
}).version("1.1.14 (localClawd)", "-v, --version", "Output the version number");
|
|
522828
522049
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
522829
522050
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
522830
522051
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523332,7 +522553,7 @@ if (false) {}
|
|
|
523332
522553
|
async function main2() {
|
|
523333
522554
|
const args = process.argv.slice(2);
|
|
523334
522555
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523335
|
-
console.log(`${"1.1.
|
|
522556
|
+
console.log(`${"1.1.14"} (localclawd)`);
|
|
523336
522557
|
return;
|
|
523337
522558
|
}
|
|
523338
522559
|
const {
|
|
@@ -523416,4 +522637,4 @@ async function main2() {
|
|
|
523416
522637
|
}
|
|
523417
522638
|
main2();
|
|
523418
522639
|
|
|
523419
|
-
//# debugId=
|
|
522640
|
+
//# debugId=D2EDD6030256A37964756E2164756E21
|