localclawd 1.1.29 → 1.1.31
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 +131 -131
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -34495,7 +34495,7 @@ var init_types3 = __esm(() => {
|
|
|
34495
34495
|
})).optional().describe("Teams/Enterprise allowlist of channel plugins. When set, " + "replaces the default Anthropic allowlist — admins decide which " + "plugins may push inbound messages. Undefined falls back to the default. " + "Requires channelsEnabled: true."),
|
|
34496
34496
|
...{},
|
|
34497
34497
|
prefersReducedMotion: z9.boolean().optional().describe("Reduce or disable animations for accessibility (spinner shimmer, flash effects, etc.)"),
|
|
34498
|
-
autoMemoryEnabled: z9.boolean().optional().describe("Enable auto-memory for this project. When false,
|
|
34498
|
+
autoMemoryEnabled: z9.boolean().optional().describe("Enable auto-memory for this project. When false, openclawd will not read from or write to the auto-memory directory."),
|
|
34499
34499
|
autoMemoryDirectory: z9.string().optional().describe("Custom directory path for auto-memory storage. Supports ~/ prefix for home directory expansion. Ignored if set in projectSettings (checked-in .claude/settings.json) for security. When unset, defaults to ~/.claude/projects/<sanitized-cwd>/memory/."),
|
|
34500
34500
|
autoDreamEnabled: z9.boolean().optional().describe("Enable background memory consolidation (auto-dream). When set, overrides the server-side default."),
|
|
34501
34501
|
showThinkingSummaries: z9.boolean().optional().describe("Show thinking summaries in the transcript view (ctrl+o). Default: false."),
|
|
@@ -89232,7 +89232,7 @@ var init_isEqual = __esm(() => {
|
|
|
89232
89232
|
|
|
89233
89233
|
// src/utils/userAgent.ts
|
|
89234
89234
|
function getClaudeCodeUserAgent() {
|
|
89235
|
-
return `claude-code/${"1.1.
|
|
89235
|
+
return `claude-code/${"1.1.31"}`;
|
|
89236
89236
|
}
|
|
89237
89237
|
|
|
89238
89238
|
// src/utils/workloadContext.ts
|
|
@@ -89254,7 +89254,7 @@ function getUserAgent() {
|
|
|
89254
89254
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
89255
89255
|
const workload = getWorkload();
|
|
89256
89256
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
89257
|
-
return `claude-cli/${"1.1.
|
|
89257
|
+
return `claude-cli/${"1.1.31"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
89258
89258
|
}
|
|
89259
89259
|
function getMCPUserAgent() {
|
|
89260
89260
|
const parts = [];
|
|
@@ -89268,7 +89268,7 @@ function getMCPUserAgent() {
|
|
|
89268
89268
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
89269
89269
|
}
|
|
89270
89270
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
89271
|
-
return `claude-code/${"1.1.
|
|
89271
|
+
return `claude-code/${"1.1.31"}${suffix}`;
|
|
89272
89272
|
}
|
|
89273
89273
|
function getWebFetchUserAgent() {
|
|
89274
89274
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -99177,7 +99177,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
99177
99177
|
if (!isAttributionHeaderEnabled()) {
|
|
99178
99178
|
return "";
|
|
99179
99179
|
}
|
|
99180
|
-
const version = `${"1.1.
|
|
99180
|
+
const version = `${"1.1.31"}.${fingerprint}`;
|
|
99181
99181
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
99182
99182
|
const cch = "";
|
|
99183
99183
|
const workload = getWorkload();
|
|
@@ -132724,7 +132724,7 @@ var init_metadata = __esm(() => {
|
|
|
132724
132724
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
132725
132725
|
WHITESPACE_REGEX = /\s+/;
|
|
132726
132726
|
getVersionBase = memoize_default(() => {
|
|
132727
|
-
const match = "1.1.
|
|
132727
|
+
const match = "1.1.31".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
132728
132728
|
return match ? match[0] : undefined;
|
|
132729
132729
|
});
|
|
132730
132730
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -132764,9 +132764,9 @@ var init_metadata = __esm(() => {
|
|
|
132764
132764
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
132765
132765
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
132766
132766
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
132767
|
-
version: "1.1.
|
|
132767
|
+
version: "1.1.31",
|
|
132768
132768
|
versionBase: getVersionBase(),
|
|
132769
|
-
buildTime: "2026-04-13T03:
|
|
132769
|
+
buildTime: "2026-04-13T03:52:01.395Z",
|
|
132770
132770
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
132771
132771
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
132772
132772
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -197386,7 +197386,7 @@ function getTelemetryAttributes() {
|
|
|
197386
197386
|
attributes["session.id"] = sessionId;
|
|
197387
197387
|
}
|
|
197388
197388
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
197389
|
-
attributes["app.version"] = "1.1.
|
|
197389
|
+
attributes["app.version"] = "1.1.31";
|
|
197390
197390
|
}
|
|
197391
197391
|
const oauthAccount = getOauthAccountInfo();
|
|
197392
197392
|
if (oauthAccount) {
|
|
@@ -223119,7 +223119,7 @@ async function detectAvailableBrowser() {
|
|
|
223119
223119
|
try {
|
|
223120
223120
|
const stats = await stat17(appPath);
|
|
223121
223121
|
if (stats.isDirectory()) {
|
|
223122
|
-
logForDebugging(`[
|
|
223122
|
+
logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
|
|
223123
223123
|
return browserId;
|
|
223124
223124
|
}
|
|
223125
223125
|
} catch (e) {
|
|
@@ -223132,7 +223132,7 @@ async function detectAvailableBrowser() {
|
|
|
223132
223132
|
case "linux": {
|
|
223133
223133
|
for (const binary of config.linux.binaries) {
|
|
223134
223134
|
if (await which(binary).catch(() => null)) {
|
|
223135
|
-
logForDebugging(`[
|
|
223135
|
+
logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
|
|
223136
223136
|
return browserId;
|
|
223137
223137
|
}
|
|
223138
223138
|
}
|
|
@@ -223146,7 +223146,7 @@ async function detectAvailableBrowser() {
|
|
|
223146
223146
|
try {
|
|
223147
223147
|
const stats = await stat17(dataPath);
|
|
223148
223148
|
if (stats.isDirectory()) {
|
|
223149
|
-
logForDebugging(`[
|
|
223149
|
+
logForDebugging(`[openclawd in Chrome] Detected browser: ${config.name}`);
|
|
223150
223150
|
return browserId;
|
|
223151
223151
|
}
|
|
223152
223152
|
} catch (e) {
|
|
@@ -223173,7 +223173,7 @@ async function openInChrome(url3) {
|
|
|
223173
223173
|
const currentPlatform = getPlatform();
|
|
223174
223174
|
const browser = await detectAvailableBrowser();
|
|
223175
223175
|
if (!browser) {
|
|
223176
|
-
logForDebugging("[
|
|
223176
|
+
logForDebugging("[openclawd in Chrome] No compatible browser found");
|
|
223177
223177
|
return false;
|
|
223178
223178
|
}
|
|
223179
223179
|
const config = CHROMIUM_BROWSERS[browser];
|
|
@@ -229454,7 +229454,7 @@ function getInstallationEnv() {
|
|
|
229454
229454
|
return;
|
|
229455
229455
|
}
|
|
229456
229456
|
function getClaudeCodeVersion() {
|
|
229457
|
-
return "1.1.
|
|
229457
|
+
return "1.1.31";
|
|
229458
229458
|
}
|
|
229459
229459
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
229460
229460
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -235056,7 +235056,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
235056
235056
|
const client4 = new Client({
|
|
235057
235057
|
name: "localclawd",
|
|
235058
235058
|
title: "localclawd",
|
|
235059
|
-
version: "1.1.
|
|
235059
|
+
version: "1.1.31",
|
|
235060
235060
|
description: "local-first AI coding tool",
|
|
235061
235061
|
websiteUrl: PRODUCT_URL
|
|
235062
235062
|
}, {
|
|
@@ -235409,7 +235409,7 @@ var init_client9 = __esm(() => {
|
|
|
235409
235409
|
const client4 = new Client({
|
|
235410
235410
|
name: "localclawd",
|
|
235411
235411
|
title: "localclawd",
|
|
235412
|
-
version: "1.1.
|
|
235412
|
+
version: "1.1.31",
|
|
235413
235413
|
description: "local-first AI coding tool",
|
|
235414
235414
|
websiteUrl: PRODUCT_URL
|
|
235415
235415
|
}, {
|
|
@@ -258464,7 +258464,7 @@ var init_user = __esm(() => {
|
|
|
258464
258464
|
deviceId,
|
|
258465
258465
|
sessionId: getSessionId(),
|
|
258466
258466
|
email: getEmail(),
|
|
258467
|
-
appVersion: "1.1.
|
|
258467
|
+
appVersion: "1.1.31",
|
|
258468
258468
|
platform: getHostPlatformForAnalytics(),
|
|
258469
258469
|
organizationUuid,
|
|
258470
258470
|
accountUuid,
|
|
@@ -259788,7 +259788,7 @@ async function initializeBetaTracing(resource) {
|
|
|
259788
259788
|
});
|
|
259789
259789
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259790
259790
|
setLoggerProvider(loggerProvider);
|
|
259791
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259791
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.31");
|
|
259792
259792
|
setEventLogger(eventLogger);
|
|
259793
259793
|
process.on("beforeExit", async () => {
|
|
259794
259794
|
await loggerProvider?.forceFlush();
|
|
@@ -259828,7 +259828,7 @@ async function initializeTelemetry() {
|
|
|
259828
259828
|
const platform3 = getPlatform();
|
|
259829
259829
|
const baseAttributes = {
|
|
259830
259830
|
[ATTR_SERVICE_NAME5]: "claude-code",
|
|
259831
|
-
[ATTR_SERVICE_VERSION5]: "1.1.
|
|
259831
|
+
[ATTR_SERVICE_VERSION5]: "1.1.31"
|
|
259832
259832
|
};
|
|
259833
259833
|
if (platform3 === "wsl") {
|
|
259834
259834
|
const wslVersion = getWslVersion();
|
|
@@ -259873,7 +259873,7 @@ async function initializeTelemetry() {
|
|
|
259873
259873
|
} catch {}
|
|
259874
259874
|
};
|
|
259875
259875
|
registerCleanup(shutdownTelemetry2);
|
|
259876
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.
|
|
259876
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.31");
|
|
259877
259877
|
}
|
|
259878
259878
|
const meterProvider = new MeterProvider5({
|
|
259879
259879
|
resource,
|
|
@@ -259893,7 +259893,7 @@ async function initializeTelemetry() {
|
|
|
259893
259893
|
});
|
|
259894
259894
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259895
259895
|
setLoggerProvider(loggerProvider);
|
|
259896
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259896
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.31");
|
|
259897
259897
|
setEventLogger(eventLogger);
|
|
259898
259898
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
259899
259899
|
process.on("beforeExit", async () => {
|
|
@@ -259955,7 +259955,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
259955
259955
|
}
|
|
259956
259956
|
};
|
|
259957
259957
|
registerCleanup(shutdownTelemetry);
|
|
259958
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.
|
|
259958
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.31");
|
|
259959
259959
|
}
|
|
259960
259960
|
async function flushTelemetry() {
|
|
259961
259961
|
const meterProvider = getMeterProvider();
|
|
@@ -261178,7 +261178,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
261178
261178
|
}
|
|
261179
261179
|
async function getDoctorDiagnostic() {
|
|
261180
261180
|
const installationType = await getCurrentInstallationType();
|
|
261181
|
-
const version = typeof MACRO !== "undefined" ? "1.1.
|
|
261181
|
+
const version = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
|
|
261182
261182
|
const installationPath = await getInstallationPath();
|
|
261183
261183
|
const invokedBinary = getInvokedBinary();
|
|
261184
261184
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -262119,8 +262119,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262119
262119
|
const maxVersion = await getMaxVersion();
|
|
262120
262120
|
if (maxVersion && gt(version, maxVersion)) {
|
|
262121
262121
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
262122
|
-
if (gte("1.1.
|
|
262123
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
262122
|
+
if (gte("1.1.31", maxVersion)) {
|
|
262123
|
+
logForDebugging(`Native installer: current version ${"1.1.31"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
262124
262124
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
262125
262125
|
latency_ms: Date.now() - startTime,
|
|
262126
262126
|
max_version: maxVersion,
|
|
@@ -262131,7 +262131,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262131
262131
|
version = maxVersion;
|
|
262132
262132
|
}
|
|
262133
262133
|
}
|
|
262134
|
-
if (!forceReinstall && version === "1.1.
|
|
262134
|
+
if (!forceReinstall && version === "1.1.31" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
262135
262135
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
262136
262136
|
logEvent("tengu_native_update_complete", {
|
|
262137
262137
|
latency_ms: Date.now() - startTime,
|
|
@@ -313628,9 +313628,9 @@ var init_WebFetchTool = __esm(() => {
|
|
|
313628
313628
|
const { url: url3 } = input;
|
|
313629
313629
|
try {
|
|
313630
313630
|
const hostname2 = new URL(url3).hostname;
|
|
313631
|
-
return `
|
|
313631
|
+
return `openclawd wants to fetch content from ${hostname2}`;
|
|
313632
313632
|
} catch {
|
|
313633
|
-
return `
|
|
313633
|
+
return `openclawd wants to fetch content from this URL`;
|
|
313634
313634
|
}
|
|
313635
313635
|
},
|
|
313636
313636
|
userFacingName() {
|
|
@@ -315480,7 +315480,7 @@ var init_WebSearchTool = __esm(() => {
|
|
|
315480
315480
|
maxResultSizeChars: 1e5,
|
|
315481
315481
|
shouldDefer: true,
|
|
315482
315482
|
async description(input) {
|
|
315483
|
-
return `
|
|
315483
|
+
return `openclawd wants to search the web for: ${input.query}`;
|
|
315484
315484
|
},
|
|
315485
315485
|
userFacingName() {
|
|
315486
315486
|
return "Web Search";
|
|
@@ -318029,7 +318029,7 @@ function renderToolResultMessage19(_output, _progressMessagesForMessage, _option
|
|
|
318029
318029
|
paddingLeft: 2,
|
|
318030
318030
|
children: /* @__PURE__ */ jsx_dev_runtime143.jsxDEV(ThemedText, {
|
|
318031
318031
|
dimColor: true,
|
|
318032
|
-
children: "
|
|
318032
|
+
children: "openclawd is now exploring and designing an implementation approach."
|
|
318033
318033
|
}, undefined, false, undefined, this)
|
|
318034
318034
|
}, undefined, false, undefined, this)
|
|
318035
318035
|
]
|
|
@@ -333549,7 +333549,7 @@ function getAnthropicEnvMetadata() {
|
|
|
333549
333549
|
function getBuildAgeMinutes() {
|
|
333550
333550
|
if (false)
|
|
333551
333551
|
;
|
|
333552
|
-
const buildTime = new Date("2026-04-13T03:
|
|
333552
|
+
const buildTime = new Date("2026-04-13T03:52:01.395Z").getTime();
|
|
333553
333553
|
if (isNaN(buildTime))
|
|
333554
333554
|
return;
|
|
333555
333555
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -338969,7 +338969,7 @@ var init_mcpInstructionsDelta = __esm(() => {
|
|
|
338969
338969
|
function getChromeSystemPrompt() {
|
|
338970
338970
|
return BASE_CHROME_PROMPT;
|
|
338971
338971
|
}
|
|
338972
|
-
var BASE_CHROME_PROMPT = `#
|
|
338972
|
+
var BASE_CHROME_PROMPT = `# openclawd in Chrome browser automation
|
|
338973
338973
|
|
|
338974
338974
|
You have access to browser automation tools (mcp__claude-in-chrome__*) for interacting with web pages in Chrome. Follow these guidelines for effective browser automation.
|
|
338975
338975
|
|
|
@@ -346284,7 +346284,7 @@ These insights should be included in the conversation, not in the codebase. You
|
|
|
346284
346284
|
Explanatory: {
|
|
346285
346285
|
name: "Explanatory",
|
|
346286
346286
|
source: "built-in",
|
|
346287
|
-
description: "
|
|
346287
|
+
description: "openclawd explains its implementation choices and codebase patterns",
|
|
346288
346288
|
keepCodingInstructions: true,
|
|
346289
346289
|
prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should provide educational insights about the codebase along the way.
|
|
346290
346290
|
|
|
@@ -346296,7 +346296,7 @@ ${EXPLANATORY_FEATURE_PROMPT}`
|
|
|
346296
346296
|
Learning: {
|
|
346297
346297
|
name: "Learning",
|
|
346298
346298
|
source: "built-in",
|
|
346299
|
-
description: "
|
|
346299
|
+
description: "openclawd pauses and asks you to write small pieces of code for hands-on practice",
|
|
346300
346300
|
keepCodingInstructions: true,
|
|
346301
346301
|
prompt: `You are an interactive CLI tool that helps users with software engineering tasks. In addition to software engineering tasks, you should help users learn more about the codebase through hands-on practice and educational insights.
|
|
346302
346302
|
|
|
@@ -357536,7 +357536,7 @@ function Feedback({
|
|
|
357536
357536
|
platform: env4.platform,
|
|
357537
357537
|
gitRepo: envInfo.isGit,
|
|
357538
357538
|
terminal: env4.terminal,
|
|
357539
|
-
version: "1.1.
|
|
357539
|
+
version: "1.1.31",
|
|
357540
357540
|
transcript: normalizeMessagesForAPI(messages),
|
|
357541
357541
|
errors: sanitizedErrors,
|
|
357542
357542
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -357728,7 +357728,7 @@ function Feedback({
|
|
|
357728
357728
|
", ",
|
|
357729
357729
|
env4.terminal,
|
|
357730
357730
|
", v",
|
|
357731
|
-
"1.1.
|
|
357731
|
+
"1.1.31"
|
|
357732
357732
|
]
|
|
357733
357733
|
}, undefined, true, undefined, this)
|
|
357734
357734
|
]
|
|
@@ -357834,7 +357834,7 @@ ${sanitizedDescription}
|
|
|
357834
357834
|
` + `**Environment Info**
|
|
357835
357835
|
` + `- Platform: ${env4.platform}
|
|
357836
357836
|
` + `- Terminal: ${env4.terminal}
|
|
357837
|
-
` + `- Version: ${"1.1.
|
|
357837
|
+
` + `- Version: ${"1.1.31"}
|
|
357838
357838
|
` + `- Feedback ID: ${feedbackId}
|
|
357839
357839
|
` + `
|
|
357840
357840
|
**Errors**
|
|
@@ -359786,7 +359786,7 @@ var init_copy2 = __esm(() => {
|
|
|
359786
359786
|
copy = {
|
|
359787
359787
|
type: "local-jsx",
|
|
359788
359788
|
name: "copy",
|
|
359789
|
-
description: "Copy
|
|
359789
|
+
description: "Copy openclawd's last response to clipboard (or /copy N for the Nth-latest)",
|
|
359790
359790
|
load: () => Promise.resolve().then(() => (init_copy(), exports_copy))
|
|
359791
359791
|
};
|
|
359792
359792
|
copy_default = copy;
|
|
@@ -360947,7 +360947,7 @@ function buildPrimarySection() {
|
|
|
360947
360947
|
}, undefined, false, undefined, this);
|
|
360948
360948
|
return [{
|
|
360949
360949
|
label: "Version",
|
|
360950
|
-
value: "1.1.
|
|
360950
|
+
value: "1.1.31"
|
|
360951
360951
|
}, {
|
|
360952
360952
|
label: "Session name",
|
|
360953
360953
|
value: nameValue
|
|
@@ -363544,7 +363544,7 @@ function OutputStylePicker(t0) {
|
|
|
363544
363544
|
}
|
|
363545
363545
|
return t9;
|
|
363546
363546
|
}
|
|
363547
|
-
var import_react102, jsx_dev_runtime176, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "
|
|
363547
|
+
var import_react102, jsx_dev_runtime176, DEFAULT_OUTPUT_STYLE_LABEL = "Default", DEFAULT_OUTPUT_STYLE_DESCRIPTION = "openclawd completes coding tasks efficiently and provides concise responses";
|
|
363548
363548
|
var init_OutputStylePicker = __esm(() => {
|
|
363549
363549
|
init_outputStyles();
|
|
363550
363550
|
init_ink2();
|
|
@@ -365565,7 +365565,7 @@ function Config({
|
|
|
365565
365565
|
}
|
|
365566
365566
|
}, undefined, false, undefined, this)
|
|
365567
365567
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
365568
|
-
currentVersion: "1.1.
|
|
365568
|
+
currentVersion: "1.1.31",
|
|
365569
365569
|
onChoice: (choice) => {
|
|
365570
365570
|
setShowSubmenu(null);
|
|
365571
365571
|
setTabsHidden(false);
|
|
@@ -365577,7 +365577,7 @@ function Config({
|
|
|
365577
365577
|
autoUpdatesChannel: "stable"
|
|
365578
365578
|
};
|
|
365579
365579
|
if (choice === "stay") {
|
|
365580
|
-
newSettings.minimumVersion = "1.1.
|
|
365580
|
+
newSettings.minimumVersion = "1.1.31";
|
|
365581
365581
|
}
|
|
365582
365582
|
updateSettingsForSource("userSettings", newSettings);
|
|
365583
365583
|
setSettingsData((prev_27) => ({
|
|
@@ -374458,7 +374458,7 @@ function Help(t0) {
|
|
|
374458
374458
|
let t6;
|
|
374459
374459
|
if ($2[31] !== tabs) {
|
|
374460
374460
|
t6 = /* @__PURE__ */ jsx_dev_runtime211.jsxDEV(Tabs, {
|
|
374461
|
-
title: `localclawd v${"1.1.
|
|
374461
|
+
title: `localclawd v${"1.1.31"}`,
|
|
374462
374462
|
color: "professionalBlue",
|
|
374463
374463
|
defaultTab: "general",
|
|
374464
374464
|
children: tabs
|
|
@@ -378114,7 +378114,7 @@ function SuccessStep(t0) {
|
|
|
378114
378114
|
t7 = skipWorkflow ? /* @__PURE__ */ jsx_dev_runtime225.jsxDEV(jsx_dev_runtime225.Fragment, {
|
|
378115
378115
|
children: [
|
|
378116
378116
|
/* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
|
|
378117
|
-
children: "1. Install the
|
|
378117
|
+
children: "1. Install the openclawd GitHub App if you haven't already"
|
|
378118
378118
|
}, undefined, false, undefined, this),
|
|
378119
378119
|
/* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
|
|
378120
378120
|
children: "2. Your workflow file was kept unchanged"
|
|
@@ -378129,10 +378129,10 @@ function SuccessStep(t0) {
|
|
|
378129
378129
|
children: "1. A pre-filled PR page has been created"
|
|
378130
378130
|
}, undefined, false, undefined, this),
|
|
378131
378131
|
/* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
|
|
378132
|
-
children: "2. Install the
|
|
378132
|
+
children: "2. Install the openclawd GitHub App if you haven't already"
|
|
378133
378133
|
}, undefined, false, undefined, this),
|
|
378134
378134
|
/* @__PURE__ */ jsx_dev_runtime225.jsxDEV(ThemedText, {
|
|
378135
|
-
children: "3. Merge the PR to enable
|
|
378135
|
+
children: "3. Merge the PR to enable openclawd PR assistance"
|
|
378136
378136
|
}, undefined, false, undefined, this)
|
|
378137
378137
|
]
|
|
378138
378138
|
}, undefined, true, undefined, this);
|
|
@@ -378338,7 +378338,7 @@ async function setupGitHubActions(repoName, apiKeyOrOAuthToken, secretName, upda
|
|
|
378338
378338
|
workflows.push({
|
|
378339
378339
|
path: ".github/workflows/claude.yml",
|
|
378340
378340
|
content: WORKFLOW_CONTENT,
|
|
378341
|
-
message: "
|
|
378341
|
+
message: "openclawd PR Assistant workflow"
|
|
378342
378342
|
});
|
|
378343
378343
|
}
|
|
378344
378344
|
if (selectedWorkflows.includes("claude-review")) {
|
|
@@ -398616,7 +398616,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
398616
398616
|
return [];
|
|
398617
398617
|
}
|
|
398618
398618
|
}
|
|
398619
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
398619
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.31") {
|
|
398620
398620
|
if (process.env.USER_TYPE === "ant") {
|
|
398621
398621
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
398622
398622
|
if (changelog) {
|
|
@@ -398643,7 +398643,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.29")
|
|
|
398643
398643
|
releaseNotes
|
|
398644
398644
|
};
|
|
398645
398645
|
}
|
|
398646
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
398646
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.31") {
|
|
398647
398647
|
if (process.env.USER_TYPE === "ant") {
|
|
398648
398648
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
398649
398649
|
if (changelog) {
|
|
@@ -399825,7 +399825,7 @@ function getRecentActivitySync() {
|
|
|
399825
399825
|
return cachedActivity;
|
|
399826
399826
|
}
|
|
399827
399827
|
function getLogoDisplayData() {
|
|
399828
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
399828
|
+
const version = process.env.DEMO_VERSION ?? "1.1.31";
|
|
399829
399829
|
const serverUrl = getDirectConnectServerUrl();
|
|
399830
399830
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
399831
399831
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -399915,15 +399915,15 @@ var init_Clawd = __esm(() => {
|
|
|
399915
399915
|
jsx_dev_runtime252 = __toESM(require_jsx_dev_runtime(), 1);
|
|
399916
399916
|
ROWS = [
|
|
399917
399917
|
" ▄████▄ ",
|
|
399918
|
-
"
|
|
399919
|
-
"
|
|
399920
|
-
"
|
|
399918
|
+
" ████████ ",
|
|
399919
|
+
"█▛▜████▛▜█",
|
|
399920
|
+
" ████████ ",
|
|
399921
399921
|
" ▐▌ ▐▌ "
|
|
399922
399922
|
];
|
|
399923
399923
|
ROW_COLORS = [
|
|
399924
399924
|
"#6366f1",
|
|
399925
399925
|
"#6366f1",
|
|
399926
|
-
"#
|
|
399926
|
+
"#6366f1",
|
|
399927
399927
|
"#6366f1",
|
|
399928
399928
|
"#818cf8"
|
|
399929
399929
|
];
|
|
@@ -400932,7 +400932,7 @@ function Logo() {
|
|
|
400932
400932
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400933
400933
|
t2 = () => {
|
|
400934
400934
|
const currentConfig = getGlobalConfig();
|
|
400935
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
400935
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.31") {
|
|
400936
400936
|
return;
|
|
400937
400937
|
}
|
|
400938
400938
|
saveGlobalConfig(_temp327);
|
|
@@ -401591,12 +401591,12 @@ function Logo() {
|
|
|
401591
401591
|
return t41;
|
|
401592
401592
|
}
|
|
401593
401593
|
function _temp327(current) {
|
|
401594
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
401594
|
+
if (current.lastReleaseNotesSeen === "1.1.31") {
|
|
401595
401595
|
return current;
|
|
401596
401596
|
}
|
|
401597
401597
|
return {
|
|
401598
401598
|
...current,
|
|
401599
|
-
lastReleaseNotesSeen: "1.1.
|
|
401599
|
+
lastReleaseNotesSeen: "1.1.31"
|
|
401600
401600
|
};
|
|
401601
401601
|
}
|
|
401602
401602
|
function _temp243(s_0) {
|
|
@@ -425858,7 +425858,7 @@ function MethodStep() {
|
|
|
425858
425858
|
let t0;
|
|
425859
425859
|
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
425860
425860
|
t0 = [{
|
|
425861
|
-
label: "Generate with
|
|
425861
|
+
label: "Generate with openclawd (recommended)",
|
|
425862
425862
|
value: "generate"
|
|
425863
425863
|
}, {
|
|
425864
425864
|
label: "Manual configuration",
|
|
@@ -427834,7 +427834,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
427834
427834
|
smapsRollup,
|
|
427835
427835
|
platform: process.platform,
|
|
427836
427836
|
nodeVersion: process.version,
|
|
427837
|
-
ccVersion: "1.1.
|
|
427837
|
+
ccVersion: "1.1.31"
|
|
427838
427838
|
};
|
|
427839
427839
|
}
|
|
427840
427840
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -428419,7 +428419,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
428419
428419
|
var call63 = async () => {
|
|
428420
428420
|
return {
|
|
428421
428421
|
type: "text",
|
|
428422
|
-
value: `${"1.1.
|
|
428422
|
+
value: `${"1.1.31"} (built ${"2026-04-13T03:52:01.395Z"})`
|
|
428423
428423
|
};
|
|
428424
428424
|
}, version, version_default;
|
|
428425
428425
|
var init_version = __esm(() => {
|
|
@@ -429700,7 +429700,7 @@ function getExtensionIds() {
|
|
|
429700
429700
|
}
|
|
429701
429701
|
async function detectExtensionInstallationPortable(browserPaths, log2) {
|
|
429702
429702
|
if (browserPaths.length === 0) {
|
|
429703
|
-
log2?.(`[
|
|
429703
|
+
log2?.(`[openclawd in Chrome] No browser paths to check`);
|
|
429704
429704
|
return { isInstalled: false, browser: null };
|
|
429705
429705
|
}
|
|
429706
429706
|
const extensionIds = getExtensionIds();
|
|
@@ -429717,20 +429717,20 @@ async function detectExtensionInstallationPortable(browserPaths, log2) {
|
|
|
429717
429717
|
}
|
|
429718
429718
|
const profileDirs = browserProfileEntries.filter((entry) => entry.isDirectory()).filter((entry) => entry.name === "Default" || entry.name.startsWith("Profile ")).map((entry) => entry.name);
|
|
429719
429719
|
if (profileDirs.length > 0) {
|
|
429720
|
-
log2?.(`[
|
|
429720
|
+
log2?.(`[openclawd in Chrome] Found ${browser} profiles: ${profileDirs.join(", ")}`);
|
|
429721
429721
|
}
|
|
429722
429722
|
for (const profile of profileDirs) {
|
|
429723
429723
|
for (const extensionId of extensionIds) {
|
|
429724
429724
|
const extensionPath = join119(browserBasePath, profile, "Extensions", extensionId);
|
|
429725
429725
|
try {
|
|
429726
429726
|
await readdir25(extensionPath);
|
|
429727
|
-
log2?.(`[
|
|
429727
|
+
log2?.(`[openclawd in Chrome] Extension ${extensionId} found in ${browser} ${profile}`);
|
|
429728
429728
|
return { isInstalled: true, browser };
|
|
429729
429729
|
} catch {}
|
|
429730
429730
|
}
|
|
429731
429731
|
}
|
|
429732
429732
|
}
|
|
429733
|
-
log2?.(`[
|
|
429733
|
+
log2?.(`[openclawd in Chrome] Extension not found in any browser`);
|
|
429734
429734
|
return { isInstalled: false, browser: null };
|
|
429735
429735
|
}
|
|
429736
429736
|
async function isChromeExtensionInstalledPortable(browserPaths, log2) {
|
|
@@ -429794,7 +429794,7 @@ function setupClaudeInChrome() {
|
|
|
429794
429794
|
const isNativeBuild = isInBundledMode();
|
|
429795
429795
|
const allowedTools = getClaudeInChromeAllowedTools();
|
|
429796
429796
|
if (allowedTools.length === 0) {
|
|
429797
|
-
throw new Error("
|
|
429797
|
+
throw new Error("openclawd in Chrome is unavailable in this build because browser automation support is not installed.");
|
|
429798
429798
|
}
|
|
429799
429799
|
const env6 = {};
|
|
429800
429800
|
if (getSessionBypassPermissionsMode()) {
|
|
@@ -429803,7 +429803,7 @@ function setupClaudeInChrome() {
|
|
|
429803
429803
|
const hasEnv = Object.keys(env6).length > 0;
|
|
429804
429804
|
if (isNativeBuild) {
|
|
429805
429805
|
const execCommand = `"${process.execPath}" --chrome-native-host`;
|
|
429806
|
-
createWrapperScript(execCommand).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[
|
|
429806
|
+
createWrapperScript(execCommand).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[openclawd in Chrome] Failed to install native host: ${e}`, { level: "error" }));
|
|
429807
429807
|
return {
|
|
429808
429808
|
mcpConfig: {
|
|
429809
429809
|
[CLAUDE_IN_CHROME_MCP_SERVER_NAME]: {
|
|
@@ -429821,7 +429821,7 @@ function setupClaudeInChrome() {
|
|
|
429821
429821
|
const __filename3 = fileURLToPath4(import.meta.url);
|
|
429822
429822
|
const __dirname3 = join120(__filename3, "..");
|
|
429823
429823
|
const cliPath = join120(__dirname3, "cli.js");
|
|
429824
|
-
createWrapperScript(`"${process.execPath}" "${cliPath}" --chrome-native-host`).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[
|
|
429824
|
+
createWrapperScript(`"${process.execPath}" "${cliPath}" --chrome-native-host`).then((manifestBinaryPath) => installChromeNativeHostManifest(manifestBinaryPath)).catch((e) => logForDebugging(`[openclawd in Chrome] Failed to install native host: ${e}`, { level: "error" }));
|
|
429825
429825
|
const mcpConfig = {
|
|
429826
429826
|
[CLAUDE_IN_CHROME_MCP_SERVER_NAME]: {
|
|
429827
429827
|
type: "stdio",
|
|
@@ -429850,7 +429850,7 @@ function getNativeMessagingHostsDirs() {
|
|
|
429850
429850
|
async function installChromeNativeHostManifest(manifestBinaryPath) {
|
|
429851
429851
|
const manifestDirs = getNativeMessagingHostsDirs();
|
|
429852
429852
|
if (manifestDirs.length === 0) {
|
|
429853
|
-
throw Error("
|
|
429853
|
+
throw Error("openclawd in Chrome Native Host not supported on this platform");
|
|
429854
429854
|
}
|
|
429855
429855
|
const manifest = {
|
|
429856
429856
|
name: NATIVE_HOST_IDENTIFIER,
|
|
@@ -429876,10 +429876,10 @@ async function installChromeNativeHostManifest(manifestBinaryPath) {
|
|
|
429876
429876
|
try {
|
|
429877
429877
|
await mkdir33(manifestDir, { recursive: true });
|
|
429878
429878
|
await writeFile36(manifestPath, manifestContent);
|
|
429879
|
-
logForDebugging(`[
|
|
429879
|
+
logForDebugging(`[openclawd in Chrome] Installed native host manifest at: ${manifestPath}`);
|
|
429880
429880
|
anyManifestUpdated = true;
|
|
429881
429881
|
} catch (error5) {
|
|
429882
|
-
logForDebugging(`[
|
|
429882
|
+
logForDebugging(`[openclawd in Chrome] Failed to install manifest at ${manifestPath}: ${error5}`);
|
|
429883
429883
|
}
|
|
429884
429884
|
}
|
|
429885
429885
|
if (getPlatform() === "windows") {
|
|
@@ -429889,10 +429889,10 @@ async function installChromeNativeHostManifest(manifestBinaryPath) {
|
|
|
429889
429889
|
if (anyManifestUpdated) {
|
|
429890
429890
|
isChromeExtensionInstalled().then((isInstalled) => {
|
|
429891
429891
|
if (isInstalled) {
|
|
429892
|
-
logForDebugging(`[
|
|
429892
|
+
logForDebugging(`[openclawd in Chrome] First-time install detected, opening reconnect page in browser`);
|
|
429893
429893
|
openInChrome(CHROME_EXTENSION_RECONNECT_URL);
|
|
429894
429894
|
} else {
|
|
429895
|
-
logForDebugging(`[
|
|
429895
|
+
logForDebugging(`[openclawd in Chrome] First-time install detected, but extension not installed, skipping reconnect`);
|
|
429896
429896
|
}
|
|
429897
429897
|
});
|
|
429898
429898
|
}
|
|
@@ -429912,9 +429912,9 @@ function registerWindowsNativeHosts(manifestPath) {
|
|
|
429912
429912
|
"/f"
|
|
429913
429913
|
]).then((result) => {
|
|
429914
429914
|
if (result.code === 0) {
|
|
429915
|
-
logForDebugging(`[
|
|
429915
|
+
logForDebugging(`[openclawd in Chrome] Registered native host for ${browser} in Windows registry: ${fullKey}`);
|
|
429916
429916
|
} else {
|
|
429917
|
-
logForDebugging(`[
|
|
429917
|
+
logForDebugging(`[openclawd in Chrome] Failed to register native host for ${browser} in Windows registry: ${result.stderr}`);
|
|
429918
429918
|
}
|
|
429919
429919
|
});
|
|
429920
429920
|
}
|
|
@@ -429941,7 +429941,7 @@ exec ${command7}
|
|
|
429941
429941
|
if (platform4 !== "windows") {
|
|
429942
429942
|
await chmod10(wrapperPath, 493);
|
|
429943
429943
|
}
|
|
429944
|
-
logForDebugging(`[
|
|
429944
|
+
logForDebugging(`[openclawd in Chrome] Created Chrome native host wrapper script: ${wrapperPath}`);
|
|
429945
429945
|
return wrapperPath;
|
|
429946
429946
|
}
|
|
429947
429947
|
function isChromeExtensionInstalled_CACHED_MAY_BE_STALE() {
|
|
@@ -429963,7 +429963,7 @@ function isChromeExtensionInstalled_CACHED_MAY_BE_STALE() {
|
|
|
429963
429963
|
async function isChromeExtensionInstalled() {
|
|
429964
429964
|
const browserPaths = getAllBrowserDataPaths();
|
|
429965
429965
|
if (browserPaths.length === 0) {
|
|
429966
|
-
logForDebugging(`[
|
|
429966
|
+
logForDebugging(`[openclawd in Chrome] Unsupported platform for extension detection: ${getPlatform()}`);
|
|
429967
429967
|
return false;
|
|
429968
429968
|
}
|
|
429969
429969
|
return isChromeExtensionInstalledPortable(browserPaths, logForDebugging);
|
|
@@ -437373,7 +437373,7 @@ function generateHtmlReport(data, insights) {
|
|
|
437373
437373
|
</html>`;
|
|
437374
437374
|
}
|
|
437375
437375
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
437376
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
437376
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
|
|
437377
437377
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
437378
437378
|
const facets_summary = {
|
|
437379
437379
|
total: facets.size,
|
|
@@ -441538,7 +441538,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
441538
441538
|
init_settings2();
|
|
441539
441539
|
init_slowOperations();
|
|
441540
441540
|
init_uuid();
|
|
441541
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
441541
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.31" : "unknown";
|
|
441542
441542
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
441543
441543
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
441544
441544
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -442740,7 +442740,7 @@ var init_filesystem = __esm(() => {
|
|
|
442740
442740
|
});
|
|
442741
442741
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
442742
442742
|
const nonce = randomBytes19(16).toString("hex");
|
|
442743
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
442743
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.31", nonce);
|
|
442744
442744
|
});
|
|
442745
442745
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
442746
442746
|
});
|
|
@@ -448750,7 +448750,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
448750
448750
|
}
|
|
448751
448751
|
function computeFingerprintFromMessages(messages) {
|
|
448752
448752
|
const firstMessageText = extractFirstMessageText(messages);
|
|
448753
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
448753
|
+
return computeFingerprint(firstMessageText, "1.1.31");
|
|
448754
448754
|
}
|
|
448755
448755
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
448756
448756
|
var init_fingerprint = () => {};
|
|
@@ -450605,7 +450605,7 @@ async function sideQuery(opts) {
|
|
|
450605
450605
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
450606
450606
|
}
|
|
450607
450607
|
const messageText = extractFirstUserMessageText(messages);
|
|
450608
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
450608
|
+
const fingerprint = computeFingerprint(messageText, "1.1.31");
|
|
450609
450609
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
450610
450610
|
const systemBlocks = [
|
|
450611
450611
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -450713,7 +450713,7 @@ function createChromeContext(env6) {
|
|
|
450713
450713
|
}
|
|
450714
450714
|
}
|
|
450715
450715
|
return {
|
|
450716
|
-
serverName: "
|
|
450716
|
+
serverName: "openclawd in Chrome",
|
|
450717
450717
|
logger,
|
|
450718
450718
|
socketPath: getSecureSocketPath(),
|
|
450719
450719
|
getSocketPaths: getAllSocketPaths,
|
|
@@ -450818,9 +450818,9 @@ async function runClaudeInChromeMcpServer() {
|
|
|
450818
450818
|
};
|
|
450819
450819
|
process.stdin.on("end", () => void shutdownAndExit());
|
|
450820
450820
|
process.stdin.on("error", () => void shutdownAndExit());
|
|
450821
|
-
logForDebugging("[
|
|
450821
|
+
logForDebugging("[openclawd in Chrome] Starting MCP server");
|
|
450822
450822
|
await server.connect(transport);
|
|
450823
|
-
logForDebugging("[
|
|
450823
|
+
logForDebugging("[openclawd in Chrome] MCP server started");
|
|
450824
450824
|
}
|
|
450825
450825
|
|
|
450826
450826
|
class DebugLogger {
|
|
@@ -455403,7 +455403,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
455403
455403
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
455404
455404
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
455405
455405
|
betas: getSdkBetas(),
|
|
455406
|
-
claude_code_version: "1.1.
|
|
455406
|
+
claude_code_version: "1.1.31",
|
|
455407
455407
|
output_style: outputStyle2,
|
|
455408
455408
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
455409
455409
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -463499,7 +463499,7 @@ function EnterPlanModePermissionRequest(t0) {
|
|
|
463499
463499
|
let t2;
|
|
463500
463500
|
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
463501
463501
|
t2 = /* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
|
|
463502
|
-
children: "
|
|
463502
|
+
children: "openclawd wants to enter plan mode to explore and design an implementation approach."
|
|
463503
463503
|
}, undefined, false, undefined, this);
|
|
463504
463504
|
$2[5] = t2;
|
|
463505
463505
|
} else {
|
|
@@ -463513,7 +463513,7 @@ function EnterPlanModePermissionRequest(t0) {
|
|
|
463513
463513
|
children: [
|
|
463514
463514
|
/* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
|
|
463515
463515
|
dimColor: true,
|
|
463516
|
-
children: "In plan mode,
|
|
463516
|
+
children: "In plan mode, openclawd will:"
|
|
463517
463517
|
}, undefined, false, undefined, this),
|
|
463518
463518
|
/* @__PURE__ */ jsx_dev_runtime391.jsxDEV(ThemedText, {
|
|
463519
463519
|
dimColor: true,
|
|
@@ -464089,7 +464089,7 @@ ${currentPlan}${verificationInstruction}${transcriptHint}${teamHint}${feedbackSu
|
|
|
464089
464089
|
marginTop: 1,
|
|
464090
464090
|
children: [
|
|
464091
464091
|
/* @__PURE__ */ jsx_dev_runtime392.jsxDEV(ThemedText, {
|
|
464092
|
-
children: "
|
|
464092
|
+
children: "openclawd wants to exit plan mode"
|
|
464093
464093
|
}, undefined, false, undefined, this),
|
|
464094
464094
|
/* @__PURE__ */ jsx_dev_runtime392.jsxDEV(ThemedBox_default, {
|
|
464095
464095
|
marginTop: 1,
|
|
@@ -467559,7 +467559,7 @@ function getNotificationMessage(toolUseConfirm) {
|
|
|
467559
467559
|
if (!toolName || toolName.trim() === "") {
|
|
467560
467560
|
return "localclawd needs your attention";
|
|
467561
467561
|
}
|
|
467562
|
-
return `
|
|
467562
|
+
return `openclawd needs your permission to use ${toolName}`;
|
|
467563
467563
|
}
|
|
467564
467564
|
function PermissionRequest(t0) {
|
|
467565
467565
|
const $2 = c3(18);
|
|
@@ -469982,7 +469982,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
469982
469982
|
function getSemverPart(version2) {
|
|
469983
469983
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
469984
469984
|
}
|
|
469985
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
469985
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.31") {
|
|
469986
469986
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react224.useState(() => getSemverPart(initialVersion));
|
|
469987
469987
|
if (!updatedVersion) {
|
|
469988
469988
|
return null;
|
|
@@ -470022,7 +470022,7 @@ function AutoUpdater({
|
|
|
470022
470022
|
return;
|
|
470023
470023
|
}
|
|
470024
470024
|
if (false) {}
|
|
470025
|
-
const currentVersion = "1.1.
|
|
470025
|
+
const currentVersion = "1.1.31";
|
|
470026
470026
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
470027
470027
|
let latestVersion = await getLatestVersion(channel);
|
|
470028
470028
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -470233,12 +470233,12 @@ function NativeAutoUpdater({
|
|
|
470233
470233
|
logEvent("tengu_native_auto_updater_start", {});
|
|
470234
470234
|
try {
|
|
470235
470235
|
const maxVersion = await getMaxVersion();
|
|
470236
|
-
if (maxVersion && gt("1.1.
|
|
470236
|
+
if (maxVersion && gt("1.1.31", maxVersion)) {
|
|
470237
470237
|
const msg = await getMaxVersionMessage();
|
|
470238
470238
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
470239
470239
|
}
|
|
470240
470240
|
const result = await installLatest(channel);
|
|
470241
|
-
const currentVersion = "1.1.
|
|
470241
|
+
const currentVersion = "1.1.31";
|
|
470242
470242
|
const latencyMs = Date.now() - startTime;
|
|
470243
470243
|
if (result.lockFailed) {
|
|
470244
470244
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -470373,17 +470373,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
470373
470373
|
const maxVersion = await getMaxVersion();
|
|
470374
470374
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
470375
470375
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
470376
|
-
if (gte("1.1.
|
|
470377
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
470376
|
+
if (gte("1.1.31", maxVersion)) {
|
|
470377
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.31"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
470378
470378
|
setUpdateAvailable(false);
|
|
470379
470379
|
return;
|
|
470380
470380
|
}
|
|
470381
470381
|
latest = maxVersion;
|
|
470382
470382
|
}
|
|
470383
|
-
const hasUpdate = latest && !gte("1.1.
|
|
470383
|
+
const hasUpdate = latest && !gte("1.1.31", latest) && !shouldSkipVersion(latest);
|
|
470384
470384
|
setUpdateAvailable(!!hasUpdate);
|
|
470385
470385
|
if (hasUpdate) {
|
|
470386
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
470386
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.31"} -> ${latest}`);
|
|
470387
470387
|
}
|
|
470388
470388
|
};
|
|
470389
470389
|
$2[0] = t1;
|
|
@@ -470417,7 +470417,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
470417
470417
|
wrap: "truncate",
|
|
470418
470418
|
children: [
|
|
470419
470419
|
"currentVersion: ",
|
|
470420
|
-
"1.1.
|
|
470420
|
+
"1.1.31"
|
|
470421
470421
|
]
|
|
470422
470422
|
}, undefined, true, undefined, this);
|
|
470423
470423
|
$2[3] = verbose;
|
|
@@ -475693,11 +475693,11 @@ function ThinkingToggle(t0) {
|
|
|
475693
475693
|
t1 = [{
|
|
475694
475694
|
value: "true",
|
|
475695
475695
|
label: "Enabled",
|
|
475696
|
-
description: "
|
|
475696
|
+
description: "openclawd will think before responding"
|
|
475697
475697
|
}, {
|
|
475698
475698
|
value: "false",
|
|
475699
475699
|
label: "Disabled",
|
|
475700
|
-
description: "
|
|
475700
|
+
description: "openclawd will respond without extended thinking"
|
|
475701
475701
|
}];
|
|
475702
475702
|
$2[0] = t1;
|
|
475703
475703
|
} else {
|
|
@@ -477975,7 +477975,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
477975
477975
|
project_dir: getOriginalCwd(),
|
|
477976
477976
|
added_dirs: addedDirs
|
|
477977
477977
|
},
|
|
477978
|
-
version: "1.1.
|
|
477978
|
+
version: "1.1.31",
|
|
477979
477979
|
output_style: {
|
|
477980
477980
|
name: outputStyleName
|
|
477981
477981
|
},
|
|
@@ -489543,7 +489543,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
489543
489543
|
} catch {}
|
|
489544
489544
|
const data = {
|
|
489545
489545
|
trigger,
|
|
489546
|
-
version: "1.1.
|
|
489546
|
+
version: "1.1.31",
|
|
489547
489547
|
platform: process.platform,
|
|
489548
489548
|
transcript,
|
|
489549
489549
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -491645,7 +491645,7 @@ var init_tipRegistry = __esm(() => {
|
|
|
491645
491645
|
},
|
|
491646
491646
|
{
|
|
491647
491647
|
id: "prompt-queue",
|
|
491648
|
-
content: async () => "Hit Enter to queue up additional messages while
|
|
491648
|
+
content: async () => "Hit Enter to queue up additional messages while openclawd is working.",
|
|
491649
491649
|
cooldownSessions: 5,
|
|
491650
491650
|
async isRelevant() {
|
|
491651
491651
|
const config2 = getGlobalConfig();
|
|
@@ -499173,7 +499173,7 @@ ${fileList}`);
|
|
|
499173
499173
|
const idleTimeSinceResponse = Date.now() - lastQueryCompletionTime2;
|
|
499174
499174
|
if (!isLoading2 && !toolJSX2 && focusedInputDialogRef2.current === undefined && idleTimeSinceResponse >= getGlobalConfig().messageIdleNotifThresholdMs) {
|
|
499175
499175
|
sendNotification({
|
|
499176
|
-
message: "
|
|
499176
|
+
message: "openclawd is waiting for your input",
|
|
499177
499177
|
notificationType: "idle_prompt"
|
|
499178
499178
|
}, terminal2);
|
|
499179
499179
|
}
|
|
@@ -505988,7 +505988,7 @@ function appendToLog(path17, message) {
|
|
|
505988
505988
|
cwd: getFsImplementation().cwd(),
|
|
505989
505989
|
userType: process.env.USER_TYPE,
|
|
505990
505990
|
sessionId: getSessionId(),
|
|
505991
|
-
version: "1.1.
|
|
505991
|
+
version: "1.1.31"
|
|
505992
505992
|
};
|
|
505993
505993
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
505994
505994
|
}
|
|
@@ -509987,8 +509987,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
509987
509987
|
}
|
|
509988
509988
|
async function checkEnvLessBridgeMinVersion() {
|
|
509989
509989
|
const cfg = await getEnvLessBridgeConfig();
|
|
509990
|
-
if (cfg.min_version && lt("1.1.
|
|
509991
|
-
return `Your version of localclawd (${"1.1.
|
|
509990
|
+
if (cfg.min_version && lt("1.1.31", cfg.min_version)) {
|
|
509991
|
+
return `Your version of localclawd (${"1.1.31"}) is too old for Remote Control.
|
|
509992
509992
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
509993
509993
|
}
|
|
509994
509994
|
return null;
|
|
@@ -510460,7 +510460,7 @@ async function initBridgeCore(params) {
|
|
|
510460
510460
|
const rawApi = createBridgeApiClient({
|
|
510461
510461
|
baseUrl,
|
|
510462
510462
|
getAccessToken,
|
|
510463
|
-
runnerVersion: "1.1.
|
|
510463
|
+
runnerVersion: "1.1.31",
|
|
510464
510464
|
onDebug: logForDebugging,
|
|
510465
510465
|
onAuth401,
|
|
510466
510466
|
getTrustedDeviceToken
|
|
@@ -516116,7 +516116,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
516116
516116
|
setCwd(cwd3);
|
|
516117
516117
|
const server = new Server({
|
|
516118
516118
|
name: "claude/tengu",
|
|
516119
|
-
version: "1.1.
|
|
516119
|
+
version: "1.1.31"
|
|
516120
516120
|
}, {
|
|
516121
516121
|
capabilities: {
|
|
516122
516122
|
tools: {}
|
|
@@ -517197,7 +517197,7 @@ function WelcomeLogo() {
|
|
|
517197
517197
|
dimColor: true,
|
|
517198
517198
|
children: [
|
|
517199
517199
|
"v",
|
|
517200
|
-
"1.1.
|
|
517200
|
+
"1.1.31"
|
|
517201
517201
|
]
|
|
517202
517202
|
}, undefined, true, undefined, this)
|
|
517203
517203
|
]
|
|
@@ -517766,7 +517766,7 @@ __export(exports_update, {
|
|
|
517766
517766
|
});
|
|
517767
517767
|
async function update() {
|
|
517768
517768
|
logEvent("tengu_update_check", {});
|
|
517769
|
-
writeToStdout(`Current version: ${"1.1.
|
|
517769
|
+
writeToStdout(`Current version: ${"1.1.31"}
|
|
517770
517770
|
`);
|
|
517771
517771
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
517772
517772
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -517841,8 +517841,8 @@ async function update() {
|
|
|
517841
517841
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
517842
517842
|
`);
|
|
517843
517843
|
const latest = await getLatestVersion(channel);
|
|
517844
|
-
if (latest && !gte("1.1.
|
|
517845
|
-
writeToStdout(`Update available: ${"1.1.
|
|
517844
|
+
if (latest && !gte("1.1.31", latest)) {
|
|
517845
|
+
writeToStdout(`Update available: ${"1.1.31"} → ${latest}
|
|
517846
517846
|
`);
|
|
517847
517847
|
writeToStdout(`
|
|
517848
517848
|
`);
|
|
@@ -517858,8 +517858,8 @@ async function update() {
|
|
|
517858
517858
|
writeToStdout(`localclawd is managed by winget.
|
|
517859
517859
|
`);
|
|
517860
517860
|
const latest = await getLatestVersion(channel);
|
|
517861
|
-
if (latest && !gte("1.1.
|
|
517862
|
-
writeToStdout(`Update available: ${"1.1.
|
|
517861
|
+
if (latest && !gte("1.1.31", latest)) {
|
|
517862
|
+
writeToStdout(`Update available: ${"1.1.31"} → ${latest}
|
|
517863
517863
|
`);
|
|
517864
517864
|
writeToStdout(`
|
|
517865
517865
|
`);
|
|
@@ -517873,8 +517873,8 @@ async function update() {
|
|
|
517873
517873
|
writeToStdout(`localclawd is managed by apk.
|
|
517874
517874
|
`);
|
|
517875
517875
|
const latest = await getLatestVersion(channel);
|
|
517876
|
-
if (latest && !gte("1.1.
|
|
517877
|
-
writeToStdout(`Update available: ${"1.1.
|
|
517876
|
+
if (latest && !gte("1.1.31", latest)) {
|
|
517877
|
+
writeToStdout(`Update available: ${"1.1.31"} → ${latest}
|
|
517878
517878
|
`);
|
|
517879
517879
|
writeToStdout(`
|
|
517880
517880
|
`);
|
|
@@ -517939,11 +517939,11 @@ async function update() {
|
|
|
517939
517939
|
`);
|
|
517940
517940
|
await gracefulShutdown(1);
|
|
517941
517941
|
}
|
|
517942
|
-
if (result.latestVersion === "1.1.
|
|
517943
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
517942
|
+
if (result.latestVersion === "1.1.31") {
|
|
517943
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.31"})`) + `
|
|
517944
517944
|
`);
|
|
517945
517945
|
} else {
|
|
517946
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
517946
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.31"} to version ${result.latestVersion}`) + `
|
|
517947
517947
|
`);
|
|
517948
517948
|
await regenerateCompletionCache();
|
|
517949
517949
|
}
|
|
@@ -518003,12 +518003,12 @@ async function update() {
|
|
|
518003
518003
|
`);
|
|
518004
518004
|
await gracefulShutdown(1);
|
|
518005
518005
|
}
|
|
518006
|
-
if (latestVersion === "1.1.
|
|
518007
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
518006
|
+
if (latestVersion === "1.1.31") {
|
|
518007
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.31"})`) + `
|
|
518008
518008
|
`);
|
|
518009
518009
|
await gracefulShutdown(0);
|
|
518010
518010
|
}
|
|
518011
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
518011
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.31"})
|
|
518012
518012
|
`);
|
|
518013
518013
|
writeToStdout(`Installing update...
|
|
518014
518014
|
`);
|
|
@@ -518053,7 +518053,7 @@ async function update() {
|
|
|
518053
518053
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
518054
518054
|
switch (status2) {
|
|
518055
518055
|
case "success":
|
|
518056
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
518056
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.31"} to version ${latestVersion}`) + `
|
|
518057
518057
|
`);
|
|
518058
518058
|
await regenerateCompletionCache();
|
|
518059
518059
|
break;
|
|
@@ -518840,9 +518840,9 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
|
|
|
518840
518840
|
logEvent("tengu_claude_in_chrome_setup_failed", {
|
|
518841
518841
|
platform: platform5
|
|
518842
518842
|
});
|
|
518843
|
-
logForDebugging(`[
|
|
518843
|
+
logForDebugging(`[openclawd in Chrome] Error: ${error5}`);
|
|
518844
518844
|
logError(error5);
|
|
518845
|
-
console.error(`Error: Failed to run with
|
|
518845
|
+
console.error(`Error: Failed to run with openclawd in Chrome.`);
|
|
518846
518846
|
process.exit(1);
|
|
518847
518847
|
}
|
|
518848
518848
|
} else if (autoEnableClaudeInChrome) {
|
|
@@ -518859,7 +518859,7 @@ ${appendSystemPrompt}` : chromeSystemPrompt;
|
|
|
518859
518859
|
|
|
518860
518860
|
${hint}` : hint;
|
|
518861
518861
|
} catch (error5) {
|
|
518862
|
-
logForDebugging(`[
|
|
518862
|
+
logForDebugging(`[openclawd in Chrome] Error (auto-enable): ${error5}`);
|
|
518863
518863
|
}
|
|
518864
518864
|
}
|
|
518865
518865
|
const strictMcpConfig = options.strictMcpConfig || false;
|
|
@@ -519348,7 +519348,7 @@ Run with --debug for more details.
|
|
|
519348
519348
|
}
|
|
519349
519349
|
}
|
|
519350
519350
|
logForDiagnosticsNoPII("info", "started", {
|
|
519351
|
-
version: "1.1.
|
|
519351
|
+
version: "1.1.31",
|
|
519352
519352
|
is_native_binary: isInBundledMode()
|
|
519353
519353
|
});
|
|
519354
519354
|
registerCleanup(async () => {
|
|
@@ -520132,7 +520132,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
520132
520132
|
pendingHookMessages
|
|
520133
520133
|
}, renderAndRun);
|
|
520134
520134
|
}
|
|
520135
|
-
}).version("1.1.
|
|
520135
|
+
}).version("1.1.31 (localclawd)", "-v, --version", "Output the version number");
|
|
520136
520136
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
520137
520137
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
520138
520138
|
if (canUserConfigureAdvisor()) {
|
|
@@ -520640,7 +520640,7 @@ if (false) {}
|
|
|
520640
520640
|
async function main2() {
|
|
520641
520641
|
const args = process.argv.slice(2);
|
|
520642
520642
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
520643
|
-
console.log(`${"1.1.
|
|
520643
|
+
console.log(`${"1.1.31"} (localclawd)`);
|
|
520644
520644
|
return;
|
|
520645
520645
|
}
|
|
520646
520646
|
const {
|
|
@@ -520737,4 +520737,4 @@ localclawd crashed: ${msg}
|
|
|
520737
520737
|
process.exit(1);
|
|
520738
520738
|
});
|
|
520739
520739
|
|
|
520740
|
-
//# debugId=
|
|
520740
|
+
//# debugId=D8758D2B2B8AE91D64756E2164756E21
|