localclawd 1.2.0 → 1.2.2
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 +453 -240
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -87564,7 +87564,7 @@ var init_isEqual = __esm(() => {
|
|
|
87564
87564
|
|
|
87565
87565
|
// src/utils/userAgent.ts
|
|
87566
87566
|
function getClaudeCodeUserAgent() {
|
|
87567
|
-
return `claude-code/${"1.2.
|
|
87567
|
+
return `claude-code/${"1.2.2"}`;
|
|
87568
87568
|
}
|
|
87569
87569
|
|
|
87570
87570
|
// src/utils/workloadContext.ts
|
|
@@ -87586,7 +87586,7 @@ function getUserAgent() {
|
|
|
87586
87586
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
87587
87587
|
const workload = getWorkload();
|
|
87588
87588
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
87589
|
-
return `claude-cli/${"1.2.
|
|
87589
|
+
return `claude-cli/${"1.2.2"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
87590
87590
|
}
|
|
87591
87591
|
function getMCPUserAgent() {
|
|
87592
87592
|
const parts = [];
|
|
@@ -87600,7 +87600,7 @@ function getMCPUserAgent() {
|
|
|
87600
87600
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
87601
87601
|
}
|
|
87602
87602
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
87603
|
-
return `claude-code/${"1.2.
|
|
87603
|
+
return `claude-code/${"1.2.2"}${suffix}`;
|
|
87604
87604
|
}
|
|
87605
87605
|
function getWebFetchUserAgent() {
|
|
87606
87606
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -130791,7 +130791,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130791
130791
|
if (!isAttributionHeaderEnabled()) {
|
|
130792
130792
|
return "";
|
|
130793
130793
|
}
|
|
130794
|
-
const version = `${"1.2.
|
|
130794
|
+
const version = `${"1.2.2"}.${fingerprint}`;
|
|
130795
130795
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
130796
130796
|
const cch = "";
|
|
130797
130797
|
const workload = getWorkload();
|
|
@@ -146980,7 +146980,7 @@ var init_metadata = __esm(() => {
|
|
|
146980
146980
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
146981
146981
|
WHITESPACE_REGEX = /\s+/;
|
|
146982
146982
|
getVersionBase = memoize_default(() => {
|
|
146983
|
-
const match = "1.2.
|
|
146983
|
+
const match = "1.2.2".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
146984
146984
|
return match ? match[0] : undefined;
|
|
146985
146985
|
});
|
|
146986
146986
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -147020,9 +147020,9 @@ var init_metadata = __esm(() => {
|
|
|
147020
147020
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
147021
147021
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
147022
147022
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
147023
|
-
version: "1.2.
|
|
147023
|
+
version: "1.2.2",
|
|
147024
147024
|
versionBase: getVersionBase(),
|
|
147025
|
-
buildTime: "2026-04-
|
|
147025
|
+
buildTime: "2026-04-18T18:20:09.217Z",
|
|
147026
147026
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
147027
147027
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
147028
147028
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -179501,7 +179501,7 @@ function getTelemetryAttributes() {
|
|
|
179501
179501
|
attributes["session.id"] = sessionId;
|
|
179502
179502
|
}
|
|
179503
179503
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
179504
|
-
attributes["app.version"] = "1.2.
|
|
179504
|
+
attributes["app.version"] = "1.2.2";
|
|
179505
179505
|
}
|
|
179506
179506
|
const oauthAccount = getOauthAccountInfo();
|
|
179507
179507
|
if (oauthAccount) {
|
|
@@ -180397,11 +180397,13 @@ function getEffectiveContextWindowSize(model) {
|
|
|
180397
180397
|
if (autoCompactWindow) {
|
|
180398
180398
|
contextWindow = Math.min(contextWindow, autoCompactWindow);
|
|
180399
180399
|
}
|
|
180400
|
-
|
|
180400
|
+
const MIN_EFFECTIVE_TOKENS = 4000;
|
|
180401
|
+
return Math.max(contextWindow - reservedTokensForSummary, Math.max(Math.floor(contextWindow * 0.25), MIN_EFFECTIVE_TOKENS));
|
|
180401
180402
|
}
|
|
180402
180403
|
function getAutoCompactThreshold(model) {
|
|
180403
180404
|
const effectiveContextWindow = getEffectiveContextWindowSize(model);
|
|
180404
|
-
const
|
|
180405
|
+
const scaledBuffer = Math.min(AUTOCOMPACT_BUFFER_TOKENS, Math.floor(effectiveContextWindow * 0.1));
|
|
180406
|
+
const autocompactThreshold = effectiveContextWindow - scaledBuffer;
|
|
180405
180407
|
const envPercent = process.env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE;
|
|
180406
180408
|
if (envPercent) {
|
|
180407
180409
|
const parsed = parseFloat(envPercent);
|
|
@@ -180627,6 +180629,39 @@ function objectGroupBy(items, keySelector) {
|
|
|
180627
180629
|
}
|
|
180628
180630
|
|
|
180629
180631
|
// src/utils/messageQueueManager.ts
|
|
180632
|
+
var exports_messageQueueManager = {};
|
|
180633
|
+
__export(exports_messageQueueManager, {
|
|
180634
|
+
subscribeToPendingNotifications: () => subscribeToPendingNotifications,
|
|
180635
|
+
subscribeToCommandQueue: () => subscribeToCommandQueue,
|
|
180636
|
+
resetPendingNotifications: () => resetPendingNotifications,
|
|
180637
|
+
resetCommandQueue: () => resetCommandQueue,
|
|
180638
|
+
removeByFilter: () => removeByFilter,
|
|
180639
|
+
remove: () => remove,
|
|
180640
|
+
recheckPendingNotifications: () => recheckPendingNotifications,
|
|
180641
|
+
recheckCommandQueue: () => recheckCommandQueue,
|
|
180642
|
+
popAllEditable: () => popAllEditable,
|
|
180643
|
+
peek: () => peek,
|
|
180644
|
+
isSlashCommand: () => isSlashCommand,
|
|
180645
|
+
isQueuedCommandVisible: () => isQueuedCommandVisible,
|
|
180646
|
+
isQueuedCommandEditable: () => isQueuedCommandEditable,
|
|
180647
|
+
isPromptInputModeEditable: () => isPromptInputModeEditable,
|
|
180648
|
+
hasPendingNotifications: () => hasPendingNotifications,
|
|
180649
|
+
hasCommandsInQueue: () => hasCommandsInQueue,
|
|
180650
|
+
getPendingNotificationsSnapshot: () => getPendingNotificationsSnapshot,
|
|
180651
|
+
getPendingNotificationsCount: () => getPendingNotificationsCount,
|
|
180652
|
+
getCommandsByMaxPriority: () => getCommandsByMaxPriority,
|
|
180653
|
+
getCommandQueueSnapshot: () => getCommandQueueSnapshot,
|
|
180654
|
+
getCommandQueueLength: () => getCommandQueueLength,
|
|
180655
|
+
getCommandQueue: () => getCommandQueue,
|
|
180656
|
+
enqueuePendingNotification: () => enqueuePendingNotification,
|
|
180657
|
+
enqueue: () => enqueue,
|
|
180658
|
+
dequeuePendingNotification: () => dequeuePendingNotification,
|
|
180659
|
+
dequeueAllMatching: () => dequeueAllMatching,
|
|
180660
|
+
dequeueAll: () => dequeueAll,
|
|
180661
|
+
dequeue: () => dequeue,
|
|
180662
|
+
clearPendingNotifications: () => clearPendingNotifications,
|
|
180663
|
+
clearCommandQueue: () => clearCommandQueue
|
|
180664
|
+
});
|
|
180630
180665
|
function logOperation(operation, content) {
|
|
180631
180666
|
const sessionId = getSessionId();
|
|
180632
180667
|
const queueOp = {
|
|
@@ -180654,6 +180689,11 @@ function getCommandQueueLength() {
|
|
|
180654
180689
|
function hasCommandsInQueue() {
|
|
180655
180690
|
return commandQueue.length > 0;
|
|
180656
180691
|
}
|
|
180692
|
+
function recheckCommandQueue() {
|
|
180693
|
+
if (commandQueue.length > 0) {
|
|
180694
|
+
notifySubscribers();
|
|
180695
|
+
}
|
|
180696
|
+
}
|
|
180657
180697
|
function enqueue(command) {
|
|
180658
180698
|
commandQueue.push({ ...command, priority: command.priority ?? "next" });
|
|
180659
180699
|
notifySubscribers();
|
|
@@ -180687,6 +180727,18 @@ function dequeue(filter2) {
|
|
|
180687
180727
|
logOperation("dequeue");
|
|
180688
180728
|
return dequeued;
|
|
180689
180729
|
}
|
|
180730
|
+
function dequeueAll() {
|
|
180731
|
+
if (commandQueue.length === 0) {
|
|
180732
|
+
return [];
|
|
180733
|
+
}
|
|
180734
|
+
const commands = [...commandQueue];
|
|
180735
|
+
commandQueue.length = 0;
|
|
180736
|
+
notifySubscribers();
|
|
180737
|
+
for (const _cmd of commands) {
|
|
180738
|
+
logOperation("dequeue");
|
|
180739
|
+
}
|
|
180740
|
+
return commands;
|
|
180741
|
+
}
|
|
180690
180742
|
function peek(filter2) {
|
|
180691
180743
|
if (commandQueue.length === 0) {
|
|
180692
180744
|
return;
|
|
@@ -180767,6 +180819,10 @@ function clearCommandQueue() {
|
|
|
180767
180819
|
commandQueue.length = 0;
|
|
180768
180820
|
notifySubscribers();
|
|
180769
180821
|
}
|
|
180822
|
+
function resetCommandQueue() {
|
|
180823
|
+
commandQueue.length = 0;
|
|
180824
|
+
snapshot = Object.freeze([]);
|
|
180825
|
+
}
|
|
180770
180826
|
function isPromptInputModeEditable(mode) {
|
|
180771
180827
|
return !NON_EDITABLE_MODES.has(mode);
|
|
180772
180828
|
}
|
|
@@ -180837,6 +180893,12 @@ function popAllEditable(currentInput, currentCursorOffset) {
|
|
|
180837
180893
|
notifySubscribers();
|
|
180838
180894
|
return { text: newInput, cursorOffset, images };
|
|
180839
180895
|
}
|
|
180896
|
+
function getPendingNotificationsSnapshot() {
|
|
180897
|
+
return snapshot;
|
|
180898
|
+
}
|
|
180899
|
+
function dequeuePendingNotification() {
|
|
180900
|
+
return dequeue();
|
|
180901
|
+
}
|
|
180840
180902
|
function getCommandsByMaxPriority(maxPriority) {
|
|
180841
180903
|
const threshold = PRIORITY_ORDER[maxPriority];
|
|
180842
180904
|
return commandQueue.filter((cmd) => PRIORITY_ORDER[cmd.priority ?? "next"] <= threshold);
|
|
@@ -180844,7 +180906,7 @@ function getCommandsByMaxPriority(maxPriority) {
|
|
|
180844
180906
|
function isSlashCommand(cmd) {
|
|
180845
180907
|
return typeof cmd.value === "string" && cmd.value.trim().startsWith("/") && !cmd.skipSlashCommands;
|
|
180846
180908
|
}
|
|
180847
|
-
var commandQueue, snapshot, queueChanged, subscribeToCommandQueue, PRIORITY_ORDER, NON_EDITABLE_MODES;
|
|
180909
|
+
var commandQueue, snapshot, queueChanged, subscribeToCommandQueue, PRIORITY_ORDER, NON_EDITABLE_MODES, subscribeToPendingNotifications, hasPendingNotifications, getPendingNotificationsCount, recheckPendingNotifications, resetPendingNotifications, clearPendingNotifications;
|
|
180848
180910
|
var init_messageQueueManager = __esm(() => {
|
|
180849
180911
|
init_state();
|
|
180850
180912
|
init_messages3();
|
|
@@ -180861,6 +180923,12 @@ var init_messageQueueManager = __esm(() => {
|
|
|
180861
180923
|
NON_EDITABLE_MODES = new Set([
|
|
180862
180924
|
"task-notification"
|
|
180863
180925
|
]);
|
|
180926
|
+
subscribeToPendingNotifications = subscribeToCommandQueue;
|
|
180927
|
+
hasPendingNotifications = hasCommandsInQueue;
|
|
180928
|
+
getPendingNotificationsCount = getCommandQueueLength;
|
|
180929
|
+
recheckPendingNotifications = recheckCommandQueue;
|
|
180930
|
+
resetPendingNotifications = resetCommandQueue;
|
|
180931
|
+
clearPendingNotifications = clearCommandQueue;
|
|
180864
180932
|
});
|
|
180865
180933
|
|
|
180866
180934
|
// src/utils/commandLifecycle.ts
|
|
@@ -242225,7 +242293,7 @@ function getInstallationEnv() {
|
|
|
242225
242293
|
return;
|
|
242226
242294
|
}
|
|
242227
242295
|
function getClaudeCodeVersion() {
|
|
242228
|
-
return "1.2.
|
|
242296
|
+
return "1.2.2";
|
|
242229
242297
|
}
|
|
242230
242298
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242231
242299
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -247499,7 +247567,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
247499
247567
|
const client4 = new Client({
|
|
247500
247568
|
name: "localclawd",
|
|
247501
247569
|
title: "localclawd",
|
|
247502
|
-
version: "1.2.
|
|
247570
|
+
version: "1.2.2",
|
|
247503
247571
|
description: "local-first AI coding tool",
|
|
247504
247572
|
websiteUrl: PRODUCT_URL
|
|
247505
247573
|
}, {
|
|
@@ -247841,7 +247909,7 @@ var init_client9 = __esm(() => {
|
|
|
247841
247909
|
const client4 = new Client({
|
|
247842
247910
|
name: "localclawd",
|
|
247843
247911
|
title: "localclawd",
|
|
247844
|
-
version: "1.2.
|
|
247912
|
+
version: "1.2.2",
|
|
247845
247913
|
description: "local-first AI coding tool",
|
|
247846
247914
|
websiteUrl: PRODUCT_URL
|
|
247847
247915
|
}, {
|
|
@@ -262231,7 +262299,7 @@ function computeFingerprint(messageText, version) {
|
|
|
262231
262299
|
}
|
|
262232
262300
|
function computeFingerprintFromMessages(messages) {
|
|
262233
262301
|
const firstMessageText = extractFirstMessageText(messages);
|
|
262234
|
-
return computeFingerprint(firstMessageText, "1.2.
|
|
262302
|
+
return computeFingerprint(firstMessageText, "1.2.2");
|
|
262235
262303
|
}
|
|
262236
262304
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
262237
262305
|
var init_fingerprint = () => {};
|
|
@@ -262273,7 +262341,7 @@ async function sideQuery(opts) {
|
|
|
262273
262341
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
262274
262342
|
}
|
|
262275
262343
|
const messageText = extractFirstUserMessageText(messages);
|
|
262276
|
-
const fingerprint = computeFingerprint(messageText, "1.2.
|
|
262344
|
+
const fingerprint = computeFingerprint(messageText, "1.2.2");
|
|
262277
262345
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
262278
262346
|
const systemBlocks = [
|
|
262279
262347
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -276071,7 +276139,7 @@ async function getMessagesForSlashCommand(commandName, args, setToolJSX, context
|
|
|
276071
276139
|
}));
|
|
276072
276140
|
const skipTranscript = isFullscreenEnvEnabled() && typeof result === "string" && result.endsWith(" dismissed");
|
|
276073
276141
|
resolve28({
|
|
276074
|
-
messages: options?.display === "system" ? skipTranscript ? metaMessages : [createCommandInputMessage(formatCommandInput(command, args)), createCommandInputMessage(`<local-command-stdout>${result}</local-command-stdout>`), ...metaMessages] : [createUserMessage({
|
|
276142
|
+
messages: options?.display === "system" ? skipTranscript ? metaMessages : [createCommandInputMessage(formatCommandInput(command, args)), ...result ? [createCommandInputMessage(`<local-command-stdout>${result}</local-command-stdout>`)] : [], ...metaMessages] : [createUserMessage({
|
|
276075
276143
|
content: prepareUserContent({
|
|
276076
276144
|
inputString: formatCommandInput(command, args),
|
|
276077
276145
|
precedingInputBlocks
|
|
@@ -282997,7 +283065,7 @@ var init_user = __esm(() => {
|
|
|
282997
283065
|
deviceId,
|
|
282998
283066
|
sessionId: getSessionId(),
|
|
282999
283067
|
email: getEmail(),
|
|
283000
|
-
appVersion: "1.2.
|
|
283068
|
+
appVersion: "1.2.2",
|
|
283001
283069
|
platform: getHostPlatformForAnalytics(),
|
|
283002
283070
|
organizationUuid,
|
|
283003
283071
|
accountUuid,
|
|
@@ -284062,7 +284130,7 @@ async function initializeBetaTracing(resource) {
|
|
|
284062
284130
|
});
|
|
284063
284131
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284064
284132
|
setLoggerProvider(loggerProvider);
|
|
284065
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.
|
|
284133
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.2");
|
|
284066
284134
|
setEventLogger(eventLogger);
|
|
284067
284135
|
process.on("beforeExit", async () => {
|
|
284068
284136
|
await loggerProvider?.forceFlush();
|
|
@@ -284102,7 +284170,7 @@ async function initializeTelemetry() {
|
|
|
284102
284170
|
const platform2 = getPlatform();
|
|
284103
284171
|
const baseAttributes = {
|
|
284104
284172
|
[ATTR_SERVICE_NAME4]: "claude-code",
|
|
284105
|
-
[ATTR_SERVICE_VERSION4]: "1.2.
|
|
284173
|
+
[ATTR_SERVICE_VERSION4]: "1.2.2"
|
|
284106
284174
|
};
|
|
284107
284175
|
if (platform2 === "wsl") {
|
|
284108
284176
|
const wslVersion = getWslVersion();
|
|
@@ -284147,7 +284215,7 @@ async function initializeTelemetry() {
|
|
|
284147
284215
|
} catch {}
|
|
284148
284216
|
};
|
|
284149
284217
|
registerCleanup(shutdownTelemetry2);
|
|
284150
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.
|
|
284218
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.2");
|
|
284151
284219
|
}
|
|
284152
284220
|
const meterProvider = new MeterProvider4({
|
|
284153
284221
|
resource,
|
|
@@ -284167,7 +284235,7 @@ async function initializeTelemetry() {
|
|
|
284167
284235
|
});
|
|
284168
284236
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284169
284237
|
setLoggerProvider(loggerProvider);
|
|
284170
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.
|
|
284238
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.2");
|
|
284171
284239
|
setEventLogger(eventLogger);
|
|
284172
284240
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
284173
284241
|
process.on("beforeExit", async () => {
|
|
@@ -284229,7 +284297,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
284229
284297
|
}
|
|
284230
284298
|
};
|
|
284231
284299
|
registerCleanup(shutdownTelemetry);
|
|
284232
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.2.
|
|
284300
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.2.2");
|
|
284233
284301
|
}
|
|
284234
284302
|
async function flushTelemetry() {
|
|
284235
284303
|
const meterProvider = getMeterProvider();
|
|
@@ -285419,7 +285487,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
285419
285487
|
}
|
|
285420
285488
|
async function getDoctorDiagnostic() {
|
|
285421
285489
|
const installationType = await getCurrentInstallationType();
|
|
285422
|
-
const version = typeof MACRO !== "undefined" ? "1.2.
|
|
285490
|
+
const version = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
|
|
285423
285491
|
const installationPath = await getInstallationPath();
|
|
285424
285492
|
const invokedBinary = getInvokedBinary();
|
|
285425
285493
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -286360,8 +286428,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286360
286428
|
const maxVersion = await getMaxVersion();
|
|
286361
286429
|
if (maxVersion && gt(version, maxVersion)) {
|
|
286362
286430
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
286363
|
-
if (gte("1.2.
|
|
286364
|
-
logForDebugging(`Native installer: current version ${"1.2.
|
|
286431
|
+
if (gte("1.2.2", maxVersion)) {
|
|
286432
|
+
logForDebugging(`Native installer: current version ${"1.2.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
286365
286433
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
286366
286434
|
latency_ms: Date.now() - startTime,
|
|
286367
286435
|
max_version: maxVersion,
|
|
@@ -286372,7 +286440,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286372
286440
|
version = maxVersion;
|
|
286373
286441
|
}
|
|
286374
286442
|
}
|
|
286375
|
-
if (!forceReinstall && version === "1.2.
|
|
286443
|
+
if (!forceReinstall && version === "1.2.2" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
286376
286444
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
286377
286445
|
logEvent("tengu_native_update_complete", {
|
|
286378
286446
|
latency_ms: Date.now() - startTime,
|
|
@@ -288932,7 +289000,7 @@ function GlimmerMessage(t0) {
|
|
|
288932
289000
|
const baseColorStr = theme[messageColor];
|
|
288933
289001
|
const baseRGB = baseColorStr ? parseRGB(baseColorStr) : null;
|
|
288934
289002
|
if (baseRGB) {
|
|
288935
|
-
const interpolated = interpolateColor(baseRGB,
|
|
289003
|
+
const interpolated = interpolateColor(baseRGB, STALLED_DIM, stalledIntensity);
|
|
288936
289004
|
const color2 = toRGBColor(interpolated);
|
|
288937
289005
|
let t53;
|
|
288938
289006
|
if ($2[17] !== color2) {
|
|
@@ -289243,7 +289311,7 @@ function GlimmerMessage(t0) {
|
|
|
289243
289311
|
}
|
|
289244
289312
|
return t7;
|
|
289245
289313
|
}
|
|
289246
|
-
var jsx_dev_runtime122,
|
|
289314
|
+
var jsx_dev_runtime122, STALLED_DIM;
|
|
289247
289315
|
var init_GlimmerMessage = __esm(() => {
|
|
289248
289316
|
init_stringWidth();
|
|
289249
289317
|
init_ink2();
|
|
@@ -289251,10 +289319,10 @@ var init_GlimmerMessage = __esm(() => {
|
|
|
289251
289319
|
init_theme();
|
|
289252
289320
|
init_utils9();
|
|
289253
289321
|
jsx_dev_runtime122 = __toESM(require_jsx_dev_runtime(), 1);
|
|
289254
|
-
|
|
289255
|
-
r:
|
|
289256
|
-
g:
|
|
289257
|
-
b:
|
|
289322
|
+
STALLED_DIM = {
|
|
289323
|
+
r: 55,
|
|
289324
|
+
g: 48,
|
|
289325
|
+
b: 140
|
|
289258
289326
|
};
|
|
289259
289327
|
});
|
|
289260
289328
|
|
|
@@ -289334,7 +289402,7 @@ function SpinnerGlyph(t0) {
|
|
|
289334
289402
|
const baseColorStr = theme[messageColor];
|
|
289335
289403
|
const baseRGB = baseColorStr ? parseRGB(baseColorStr) : null;
|
|
289336
289404
|
if (baseRGB) {
|
|
289337
|
-
const interpolated = interpolateColor(baseRGB,
|
|
289405
|
+
const interpolated = interpolateColor(baseRGB, STALLED_DIM2, stalledIntensity);
|
|
289338
289406
|
return /* @__PURE__ */ jsx_dev_runtime124.jsxDEV(ThemedBox_default, {
|
|
289339
289407
|
flexWrap: "wrap",
|
|
289340
289408
|
height: 1,
|
|
@@ -289384,7 +289452,7 @@ function SpinnerGlyph(t0) {
|
|
|
289384
289452
|
}
|
|
289385
289453
|
return t4;
|
|
289386
289454
|
}
|
|
289387
|
-
var jsx_dev_runtime124, DEFAULT_CHARACTERS, SPINNER_FRAMES, REDUCED_MOTION_DOT = "●", REDUCED_MOTION_CYCLE_MS = 2000,
|
|
289455
|
+
var jsx_dev_runtime124, DEFAULT_CHARACTERS, SPINNER_FRAMES, REDUCED_MOTION_DOT = "●", REDUCED_MOTION_CYCLE_MS = 2000, STALLED_DIM2;
|
|
289388
289456
|
var init_SpinnerGlyph = __esm(() => {
|
|
289389
289457
|
init_ink2();
|
|
289390
289458
|
init_theme();
|
|
@@ -289392,10 +289460,10 @@ var init_SpinnerGlyph = __esm(() => {
|
|
|
289392
289460
|
jsx_dev_runtime124 = __toESM(require_jsx_dev_runtime(), 1);
|
|
289393
289461
|
DEFAULT_CHARACTERS = getDefaultCharacters();
|
|
289394
289462
|
SPINNER_FRAMES = [...DEFAULT_CHARACTERS, ...[...DEFAULT_CHARACTERS].reverse()];
|
|
289395
|
-
|
|
289396
|
-
r:
|
|
289397
|
-
g:
|
|
289398
|
-
b:
|
|
289463
|
+
STALLED_DIM2 = {
|
|
289464
|
+
r: 55,
|
|
289465
|
+
g: 48,
|
|
289466
|
+
b: 140
|
|
289399
289467
|
};
|
|
289400
289468
|
});
|
|
289401
289469
|
|
|
@@ -330761,7 +330829,7 @@ function getAnthropicEnvMetadata() {
|
|
|
330761
330829
|
function getBuildAgeMinutes() {
|
|
330762
330830
|
if (false)
|
|
330763
330831
|
;
|
|
330764
|
-
const buildTime = new Date("2026-04-
|
|
330832
|
+
const buildTime = new Date("2026-04-18T18:20:09.217Z").getTime();
|
|
330765
330833
|
if (isNaN(buildTime))
|
|
330766
330834
|
return;
|
|
330767
330835
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -342113,7 +342181,7 @@ function ThinkNormalBanner({ onReady }) {
|
|
|
342113
342181
|
}, undefined, false, undefined, this),
|
|
342114
342182
|
/* @__PURE__ */ jsx_dev_runtime151.jsxDEV(ThemedText, {
|
|
342115
342183
|
dimColor: true,
|
|
342116
|
-
children: " Default pipeline
|
|
342184
|
+
children: " Default pipeline restored."
|
|
342117
342185
|
}, undefined, false, undefined, this)
|
|
342118
342186
|
]
|
|
342119
342187
|
}, undefined, true, undefined, this);
|
|
@@ -342202,8 +342270,7 @@ for the next change.`, THINKNORMAL_PROMPT = `[THINK HARDER DEACTIVATED — defau
|
|
|
342202
342270
|
|
|
342203
342271
|
Resume standard operation:
|
|
342204
342272
|
• Normal tool use and response pipeline.
|
|
342205
|
-
•
|
|
342206
|
-
• Memory priming and 5-phase refinement are no longer required,
|
|
342273
|
+
• 5-phase refinement is no longer required,
|
|
342207
342274
|
though careful reasoning is always encouraged.`, call3 = async (onDone, _context, args) => {
|
|
342208
342275
|
const { extractChain: extractChain2, validateCommandChain: validateCommandChain2, parseCommandChain: parseCommandChain2, chainWarning: chainWarning2 } = await Promise.resolve().then(() => (init_commandChaining(), exports_commandChaining));
|
|
342209
342276
|
const { ownArgs: _ownArgs, nextCmd } = extractChain2(args ?? "");
|
|
@@ -342223,7 +342290,7 @@ Resume standard operation:
|
|
|
342223
342290
|
return /* @__PURE__ */ jsx_dev_runtime151.jsxDEV(ThinkHarderBanner, {
|
|
342224
342291
|
onReady: () => onDone(undefined, {
|
|
342225
342292
|
display: "system",
|
|
342226
|
-
shouldQuery:
|
|
342293
|
+
shouldQuery: false,
|
|
342227
342294
|
metaMessages: [THINKHARDER_PROMPT],
|
|
342228
342295
|
nextInput: nextCmd ?? undefined,
|
|
342229
342296
|
submitNextInput: nextCmd ? true : undefined
|
|
@@ -342236,7 +342303,7 @@ Resume standard operation:
|
|
|
342236
342303
|
return /* @__PURE__ */ jsx_dev_runtime151.jsxDEV(ThinkNormalBanner, {
|
|
342237
342304
|
onReady: () => onDone(undefined, {
|
|
342238
342305
|
display: "system",
|
|
342239
|
-
shouldQuery:
|
|
342306
|
+
shouldQuery: false,
|
|
342240
342307
|
metaMessages: [THINKNORMAL_PROMPT],
|
|
342241
342308
|
nextInput: nextCmd ?? undefined,
|
|
342242
342309
|
submitNextInput: nextCmd ? true : undefined
|
|
@@ -359087,7 +359154,7 @@ function Feedback({
|
|
|
359087
359154
|
platform: env3.platform,
|
|
359088
359155
|
gitRepo: envInfo.isGit,
|
|
359089
359156
|
terminal: env3.terminal,
|
|
359090
|
-
version: "1.2.
|
|
359157
|
+
version: "1.2.2",
|
|
359091
359158
|
transcript: normalizeMessagesForAPI(messages),
|
|
359092
359159
|
errors: sanitizedErrors,
|
|
359093
359160
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -359279,7 +359346,7 @@ function Feedback({
|
|
|
359279
359346
|
", ",
|
|
359280
359347
|
env3.terminal,
|
|
359281
359348
|
", v",
|
|
359282
|
-
"1.2.
|
|
359349
|
+
"1.2.2"
|
|
359283
359350
|
]
|
|
359284
359351
|
}, undefined, true, undefined, this)
|
|
359285
359352
|
]
|
|
@@ -359385,7 +359452,7 @@ ${sanitizedDescription}
|
|
|
359385
359452
|
` + `**Environment Info**
|
|
359386
359453
|
` + `- Platform: ${env3.platform}
|
|
359387
359454
|
` + `- Terminal: ${env3.terminal}
|
|
359388
|
-
` + `- Version: ${"1.2.
|
|
359455
|
+
` + `- Version: ${"1.2.2"}
|
|
359389
359456
|
` + `- Feedback ID: ${feedbackId}
|
|
359390
359457
|
` + `
|
|
359391
359458
|
**Errors**
|
|
@@ -362013,7 +362080,7 @@ function buildPrimarySection() {
|
|
|
362013
362080
|
}, undefined, false, undefined, this);
|
|
362014
362081
|
return [{
|
|
362015
362082
|
label: "Version",
|
|
362016
|
-
value: "1.2.
|
|
362083
|
+
value: "1.2.2"
|
|
362017
362084
|
}, {
|
|
362018
362085
|
label: "Session name",
|
|
362019
362086
|
value: nameValue
|
|
@@ -366612,7 +366679,7 @@ function Config({
|
|
|
366612
366679
|
}
|
|
366613
366680
|
}, undefined, false, undefined, this)
|
|
366614
366681
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ChannelDowngradeDialog, {
|
|
366615
|
-
currentVersion: "1.2.
|
|
366682
|
+
currentVersion: "1.2.2",
|
|
366616
366683
|
onChoice: (choice) => {
|
|
366617
366684
|
setShowSubmenu(null);
|
|
366618
366685
|
setTabsHidden(false);
|
|
@@ -366624,7 +366691,7 @@ function Config({
|
|
|
366624
366691
|
autoUpdatesChannel: "stable"
|
|
366625
366692
|
};
|
|
366626
366693
|
if (choice === "stay") {
|
|
366627
|
-
newSettings.minimumVersion = "1.2.
|
|
366694
|
+
newSettings.minimumVersion = "1.2.2";
|
|
366628
366695
|
}
|
|
366629
366696
|
updateSettingsForSource("userSettings", newSettings);
|
|
366630
366697
|
setSettingsData((prev_27) => ({
|
|
@@ -372773,15 +372840,18 @@ var init_directorMemoryOps = __esm(() => {
|
|
|
372773
372840
|
});
|
|
372774
372841
|
|
|
372775
372842
|
// src/services/director/directorPrompts.ts
|
|
372776
|
-
function buildDirectorTaskPrompt(task, projectContext, round, maxRounds) {
|
|
372843
|
+
function buildDirectorTaskPrompt(task, projectContext, round, maxRounds, medium) {
|
|
372777
372844
|
const roundInfo = isFinite(maxRounds) ? `Round ${round} of ${maxRounds}` : `Round ${round} (unlimited)`;
|
|
372845
|
+
const mediumNote = medium === "telegram" ? `
|
|
372846
|
+
- The user is connected via Telegram — progress updates and the final report are sent there automatically` : `
|
|
372847
|
+
- The user is connected via CLI — progress updates are sent as desktop notifications`;
|
|
372778
372848
|
return `[DIRECTOR MODE — Supervised Autonomous Operation — ${roundInfo}]
|
|
372779
372849
|
|
|
372780
372850
|
You are operating under director supervision. The director:
|
|
372781
372851
|
- Assigned you a specific task
|
|
372782
372852
|
- Will review your work after each step
|
|
372783
372853
|
- May re-prompt if work is incomplete
|
|
372784
|
-
- Has persistent memory of this project and past tasks
|
|
372854
|
+
- Has persistent memory of this project and past tasks${mediumNote}
|
|
372785
372855
|
|
|
372786
372856
|
${projectContext}
|
|
372787
372857
|
|
|
@@ -372902,6 +372972,22 @@ var init_telegramKill = __esm(() => {
|
|
|
372902
372972
|
});
|
|
372903
372973
|
|
|
372904
372974
|
// src/services/telegram/telegramBot.ts
|
|
372975
|
+
var exports_telegramBot = {};
|
|
372976
|
+
__export(exports_telegramBot, {
|
|
372977
|
+
validateTelegramToken: () => validateTelegramToken,
|
|
372978
|
+
stopTypingIndicator: () => stopTypingIndicator,
|
|
372979
|
+
stopTelegram: () => stopTelegram,
|
|
372980
|
+
startTypingIndicator: () => startTypingIndicator,
|
|
372981
|
+
sendTypingIndicator: () => sendTypingIndicator,
|
|
372982
|
+
sendTelegramMessage: () => sendTelegramMessage,
|
|
372983
|
+
onTelegramMessage: () => onTelegramMessage,
|
|
372984
|
+
isTelegramConfigured: () => isTelegramConfigured,
|
|
372985
|
+
isTelegramActive: () => isTelegramActive,
|
|
372986
|
+
initTelegramWithCredentials: () => initTelegramWithCredentials,
|
|
372987
|
+
initTelegram: () => initTelegram,
|
|
372988
|
+
getTelegramChatId: () => getTelegramChatId,
|
|
372989
|
+
getPendingTelegramMessage: () => getPendingTelegramMessage
|
|
372990
|
+
});
|
|
372905
372991
|
async function api(method, body = {}) {
|
|
372906
372992
|
const url3 = `https://api.telegram.org/bot${_token}/${method}`;
|
|
372907
372993
|
const res = await fetch(url3, {
|
|
@@ -372938,9 +373024,36 @@ async function sendTelegramMessage(text) {
|
|
|
372938
373024
|
}
|
|
372939
373025
|
}
|
|
372940
373026
|
}
|
|
373027
|
+
async function sendTypingIndicator() {
|
|
373028
|
+
if (!_polling || !_chatId)
|
|
373029
|
+
return;
|
|
373030
|
+
try {
|
|
373031
|
+
await api("sendChatAction", { chat_id: _chatId, action: "typing" });
|
|
373032
|
+
} catch {}
|
|
373033
|
+
}
|
|
373034
|
+
function startTypingIndicator() {
|
|
373035
|
+
if (_typingInterval)
|
|
373036
|
+
return;
|
|
373037
|
+
sendTypingIndicator();
|
|
373038
|
+
_typingInterval = setInterval(() => void sendTypingIndicator(), 4000);
|
|
373039
|
+
}
|
|
373040
|
+
function stopTypingIndicator() {
|
|
373041
|
+
if (_typingInterval) {
|
|
373042
|
+
clearInterval(_typingInterval);
|
|
373043
|
+
_typingInterval = null;
|
|
373044
|
+
}
|
|
373045
|
+
}
|
|
372941
373046
|
function getPendingTelegramMessage() {
|
|
372942
373047
|
return _queue.shift() ?? null;
|
|
372943
373048
|
}
|
|
373049
|
+
function onTelegramMessage(cb) {
|
|
373050
|
+
_listeners.push(cb);
|
|
373051
|
+
return () => {
|
|
373052
|
+
const i2 = _listeners.indexOf(cb);
|
|
373053
|
+
if (i2 !== -1)
|
|
373054
|
+
_listeners.splice(i2, 1);
|
|
373055
|
+
};
|
|
373056
|
+
}
|
|
372944
373057
|
function getTelegramChatId() {
|
|
372945
373058
|
return _chatId;
|
|
372946
373059
|
}
|
|
@@ -373024,6 +373137,9 @@ Ready to receive commands.`);
|
|
|
373024
373137
|
logForDebugging(`[telegram] Init failed: ${e}`, { level: "warn" });
|
|
373025
373138
|
}
|
|
373026
373139
|
}
|
|
373140
|
+
function stopTelegram() {
|
|
373141
|
+
_polling = false;
|
|
373142
|
+
}
|
|
373027
373143
|
async function pollLoop() {
|
|
373028
373144
|
while (_polling) {
|
|
373029
373145
|
try {
|
|
@@ -373038,7 +373154,7 @@ async function pollLoop() {
|
|
|
373038
373154
|
}
|
|
373039
373155
|
for (const update of resp.result) {
|
|
373040
373156
|
_lastUpdateId = Math.max(_lastUpdateId, update.update_id);
|
|
373041
|
-
handleUpdate(update);
|
|
373157
|
+
await handleUpdate(update);
|
|
373042
373158
|
}
|
|
373043
373159
|
} catch (e) {
|
|
373044
373160
|
if (_polling) {
|
|
@@ -373048,7 +373164,7 @@ async function pollLoop() {
|
|
|
373048
373164
|
}
|
|
373049
373165
|
}
|
|
373050
373166
|
}
|
|
373051
|
-
function handleUpdate(update) {
|
|
373167
|
+
async function handleUpdate(update) {
|
|
373052
373168
|
const msg = update.message;
|
|
373053
373169
|
if (!msg?.text)
|
|
373054
373170
|
return;
|
|
@@ -373061,19 +373177,54 @@ function handleUpdate(update) {
|
|
|
373061
373177
|
if (!text)
|
|
373062
373178
|
return;
|
|
373063
373179
|
logForDebugging(`[telegram] Message from ${sender}: ${text.slice(0, 80)}`);
|
|
373064
|
-
if (text
|
|
373065
|
-
|
|
373066
|
-
|
|
373180
|
+
if (text.startsWith("/")) {
|
|
373181
|
+
if (text === "/stop") {
|
|
373182
|
+
globalStopSignal.set(true);
|
|
373183
|
+
sendTelegramMessage("Stopping current task...");
|
|
373184
|
+
return;
|
|
373185
|
+
}
|
|
373186
|
+
if (text === "/kill") {
|
|
373187
|
+
sendTelegramMessage("Killing ALL localclawd instances...").then(async () => {
|
|
373188
|
+
const killed = await killAllIncludingSelf();
|
|
373189
|
+
sendTelegramMessage(`Killed ${killed} instance(s). Self-terminating.`);
|
|
373190
|
+
});
|
|
373191
|
+
return;
|
|
373192
|
+
}
|
|
373193
|
+
if (text === "/start") {
|
|
373194
|
+
sendTelegramMessage(`*localclawd ready*
|
|
373195
|
+
Send me a task and I'll start working on it.
|
|
373196
|
+
|
|
373197
|
+
Commands:
|
|
373198
|
+
/stop — stop current task
|
|
373199
|
+
/kill — kill all instances
|
|
373200
|
+
/status — show current status`);
|
|
373201
|
+
return;
|
|
373202
|
+
}
|
|
373203
|
+
if (text === "/status") {
|
|
373204
|
+
const { getDirectorStatus } = await Promise.resolve().then(() => (init_directorEngine(), exports_directorEngine));
|
|
373205
|
+
const status = await getDirectorStatus();
|
|
373206
|
+
sendTelegramMessage(`*Status*
|
|
373207
|
+
${status}`);
|
|
373208
|
+
return;
|
|
373209
|
+
}
|
|
373210
|
+
sendTelegramMessage(`Unknown command: ${text}
|
|
373211
|
+
|
|
373212
|
+
Available: /stop /kill /status`);
|
|
373067
373213
|
return;
|
|
373068
373214
|
}
|
|
373069
|
-
if (
|
|
373070
|
-
|
|
373071
|
-
|
|
373072
|
-
|
|
373073
|
-
|
|
373074
|
-
|
|
373215
|
+
if (isDirectorActive()) {
|
|
373216
|
+
_queue.push(text);
|
|
373217
|
+
} else {
|
|
373218
|
+
sendTelegramMessage(`Starting director mode...`);
|
|
373219
|
+
sendTypingIndicator();
|
|
373220
|
+
try {
|
|
373221
|
+
const { enqueue: enqueue2 } = await Promise.resolve().then(() => (init_messageQueueManager(), exports_messageQueueManager));
|
|
373222
|
+
enqueue2({ value: `/director ${text}`, mode: "prompt", priority: "now" });
|
|
373223
|
+
} catch (e) {
|
|
373224
|
+
_queue.push(text);
|
|
373225
|
+
logForDebugging(`[telegram] Failed to auto-start director: ${e}`);
|
|
373226
|
+
}
|
|
373075
373227
|
}
|
|
373076
|
-
_queue.push(text);
|
|
373077
373228
|
for (const cb of _listeners) {
|
|
373078
373229
|
try {
|
|
373079
373230
|
cb(text);
|
|
@@ -373101,16 +373252,31 @@ function chunkText(text, maxLen) {
|
|
|
373101
373252
|
function sleep5(ms) {
|
|
373102
373253
|
return new Promise((resolve37) => setTimeout(resolve37, ms));
|
|
373103
373254
|
}
|
|
373104
|
-
var _token = "", _chatId = 0, _polling = false, _lastUpdateId = 0, _queue, _listeners;
|
|
373255
|
+
var _token = "", _chatId = 0, _polling = false, _lastUpdateId = 0, _queue, _listeners, _typingInterval = null;
|
|
373105
373256
|
var init_telegramBot = __esm(() => {
|
|
373106
373257
|
init_debug();
|
|
373107
373258
|
init_telegramSignals();
|
|
373108
373259
|
init_telegramKill();
|
|
373260
|
+
init_directorEngine();
|
|
373109
373261
|
_queue = [];
|
|
373110
373262
|
_listeners = [];
|
|
373111
373263
|
});
|
|
373112
373264
|
|
|
373113
373265
|
// src/services/director/directorEngine.ts
|
|
373266
|
+
var exports_directorEngine = {};
|
|
373267
|
+
__export(exports_directorEngine, {
|
|
373268
|
+
startDirectorTask: () => startDirectorTask,
|
|
373269
|
+
sendDirectorNotification: () => sendDirectorNotification,
|
|
373270
|
+
reviewAndContinue: () => reviewAndContinue,
|
|
373271
|
+
resetDirector: () => resetDirector,
|
|
373272
|
+
isDirectorActive: () => isDirectorActive,
|
|
373273
|
+
getNotifyMedium: () => getNotifyMedium,
|
|
373274
|
+
getDirectorTask: () => getDirectorTask,
|
|
373275
|
+
getDirectorStatus: () => getDirectorStatus,
|
|
373276
|
+
getDirectorRound: () => getDirectorRound,
|
|
373277
|
+
getChangeSummary: () => getChangeSummary,
|
|
373278
|
+
detectStopSignal: () => detectStopSignal
|
|
373279
|
+
});
|
|
373114
373280
|
function getDirectorRound() {
|
|
373115
373281
|
return _round;
|
|
373116
373282
|
}
|
|
@@ -373120,6 +373286,9 @@ function getDirectorTask() {
|
|
|
373120
373286
|
function isDirectorActive() {
|
|
373121
373287
|
return _task !== "";
|
|
373122
373288
|
}
|
|
373289
|
+
function getNotifyMedium() {
|
|
373290
|
+
return _notifyMedium;
|
|
373291
|
+
}
|
|
373123
373292
|
function resetDirector() {
|
|
373124
373293
|
_round = 0;
|
|
373125
373294
|
_task = "";
|
|
@@ -373127,6 +373296,7 @@ function resetDirector() {
|
|
|
373127
373296
|
_startGitRef = "";
|
|
373128
373297
|
_projectPath = "";
|
|
373129
373298
|
_taskStartTime = 0;
|
|
373299
|
+
_notifyMedium = "desktop";
|
|
373130
373300
|
stopHeartbeat();
|
|
373131
373301
|
}
|
|
373132
373302
|
function detectStopSignal(text) {
|
|
@@ -373135,7 +373305,7 @@ function detectStopSignal(text) {
|
|
|
373135
373305
|
return label;
|
|
373136
373306
|
return null;
|
|
373137
373307
|
}
|
|
373138
|
-
async function startDirectorTask(task, projectPath, maxRounds) {
|
|
373308
|
+
async function startDirectorTask(task, projectPath, maxRounds, medium) {
|
|
373139
373309
|
const state = await loadDirectorState();
|
|
373140
373310
|
if (shouldPrune(state)) {
|
|
373141
373311
|
pruneMemory(state);
|
|
@@ -373149,10 +373319,11 @@ async function startDirectorTask(task, projectPath, maxRounds) {
|
|
|
373149
373319
|
_projectId = project.id;
|
|
373150
373320
|
_maxRounds = maxRounds ?? 20;
|
|
373151
373321
|
_projectPath = projectPath;
|
|
373322
|
+
_notifyMedium = medium ?? (isTelegramActive() ? "telegram" : "desktop");
|
|
373152
373323
|
_startGitRef = await captureGitRef(projectPath);
|
|
373153
373324
|
startHeartbeat();
|
|
373154
373325
|
const context7 = getProjectContext(state, project.id);
|
|
373155
|
-
const prompt = buildDirectorTaskPrompt(task, context7, _round, _maxRounds);
|
|
373326
|
+
const prompt = buildDirectorTaskPrompt(task, context7, _round, _maxRounds, _notifyMedium);
|
|
373156
373327
|
logForDebugging(`[director] Starting task in ${project.id}: ${task.slice(0, 80)}`);
|
|
373157
373328
|
return { prompt, projectId: project.id };
|
|
373158
373329
|
}
|
|
@@ -373216,12 +373387,17 @@ async function sendHeartbeatUpdate() {
|
|
|
373216
373387
|
Task: ${_task.slice(0, 100)}
|
|
373217
373388
|
Round: ${_round}/${isFinite(_maxRounds) ? _maxRounds : "∞"}
|
|
373218
373389
|
Elapsed: ${elapsed} min`;
|
|
373219
|
-
|
|
373220
|
-
sendTelegramMessage(msg);
|
|
373221
|
-
}
|
|
373222
|
-
sendDesktopNotification("localclawd Director", msg);
|
|
373390
|
+
await sendDirectorNotification("localclawd Director — Heartbeat", msg);
|
|
373223
373391
|
logForDebugging(`[director] Heartbeat sent at ${elapsed}min`);
|
|
373224
373392
|
}
|
|
373393
|
+
async function sendDirectorNotification(title, message) {
|
|
373394
|
+
if (_notifyMedium === "telegram" && isTelegramActive()) {
|
|
373395
|
+
sendTelegramMessage(`*${title}*
|
|
373396
|
+
${message}`);
|
|
373397
|
+
} else {
|
|
373398
|
+
sendDesktopNotification(title, message);
|
|
373399
|
+
}
|
|
373400
|
+
}
|
|
373225
373401
|
async function sendDesktopNotification(title, message) {
|
|
373226
373402
|
try {
|
|
373227
373403
|
const { execFile: execFile6 } = await import("child_process");
|
|
@@ -373325,7 +373501,7 @@ ${status}`;
|
|
|
373325
373501
|
return "Unable to generate change summary.";
|
|
373326
373502
|
}
|
|
373327
373503
|
}
|
|
373328
|
-
var _round = 0, _task = "", _projectId = "", _maxRounds = 20, _startGitRef = "", _projectPath = "", _heartbeatTimer = null, _taskStartTime = 0, STOP_PATTERNS, HEARTBEAT_INTERVAL_MS2;
|
|
373504
|
+
var _round = 0, _task = "", _projectId = "", _maxRounds = 20, _startGitRef = "", _projectPath = "", _heartbeatTimer = null, _taskStartTime = 0, _notifyMedium = "desktop", STOP_PATTERNS, HEARTBEAT_INTERVAL_MS2;
|
|
373329
373505
|
var init_directorEngine = __esm(() => {
|
|
373330
373506
|
init_directorMemoryOps();
|
|
373331
373507
|
init_debug();
|
|
@@ -373367,12 +373543,12 @@ function DirectorBanner({
|
|
|
373367
373543
|
children: [
|
|
373368
373544
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373369
373545
|
bold: true,
|
|
373370
|
-
color: "#
|
|
373546
|
+
color: "#818cf8",
|
|
373371
373547
|
children: `◆ Director [round ${roundDisplay}]${badgeStr}`
|
|
373372
373548
|
}, undefined, false, undefined, this),
|
|
373373
373549
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373374
373550
|
dimColor: true,
|
|
373375
|
-
color: "#
|
|
373551
|
+
color: "#818cf8",
|
|
373376
373552
|
children: ` ↳ Task: ${task.slice(0, 80)}${task.length > 80 ? "..." : ""}`
|
|
373377
373553
|
}, undefined, false, undefined, this)
|
|
373378
373554
|
]
|
|
@@ -373434,7 +373610,7 @@ function DirectorStatus({
|
|
|
373434
373610
|
children: [
|
|
373435
373611
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373436
373612
|
bold: true,
|
|
373437
|
-
color: "#
|
|
373613
|
+
color: "#818cf8",
|
|
373438
373614
|
children: "◆ Director Status"
|
|
373439
373615
|
}, undefined, false, undefined, this),
|
|
373440
373616
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedBox_default, {
|
|
@@ -373471,11 +373647,12 @@ var React58, jsx_dev_runtime195, DEFAULT_MAX_ROUNDS = 20, call19 = async (onDone
|
|
|
373471
373647
|
}
|
|
373472
373648
|
if (task && !isDirectorActive()) {
|
|
373473
373649
|
const cwd2 = getOriginalCwd();
|
|
373474
|
-
const
|
|
373475
|
-
|
|
373476
|
-
|
|
373650
|
+
const medium = isTelegramActive() ? "telegram" : "desktop";
|
|
373651
|
+
const { prompt } = await startDirectorTask(task, cwd2, DEFAULT_MAX_ROUNDS, medium);
|
|
373652
|
+
sendDirectorNotification("Director", `Starting task:
|
|
373477
373653
|
${task.slice(0, 200)}`);
|
|
373478
|
-
|
|
373654
|
+
if (isTelegramActive())
|
|
373655
|
+
startTypingIndicator();
|
|
373479
373656
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorBanner, {
|
|
373480
373657
|
round: 1,
|
|
373481
373658
|
maxRounds: DEFAULT_MAX_ROUNDS,
|
|
@@ -373490,18 +373667,18 @@ ${task.slice(0, 200)}`);
|
|
|
373490
373667
|
})
|
|
373491
373668
|
}, undefined, false, undefined, this);
|
|
373492
373669
|
}
|
|
373670
|
+
if (isTelegramActive())
|
|
373671
|
+
stopTypingIndicator();
|
|
373493
373672
|
if (globalStopSignal.get()) {
|
|
373494
373673
|
globalStopSignal.reset();
|
|
373495
373674
|
const round2 = getDirectorRound();
|
|
373496
373675
|
const changeSummary = await getChangeSummary();
|
|
373497
|
-
|
|
373498
|
-
if (isTelegramActive()) {
|
|
373499
|
-
const summaryMsg = changeSummary ? `
|
|
373676
|
+
const summaryMsg = changeSummary ? `
|
|
373500
373677
|
|
|
373501
373678
|
Changes:
|
|
373502
373679
|
${changeSummary}` : "";
|
|
373503
|
-
|
|
373504
|
-
|
|
373680
|
+
sendDirectorNotification("Director — Stopped", `Stopped via /stop after ${round2} rounds${summaryMsg}`);
|
|
373681
|
+
resetDirector();
|
|
373505
373682
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorDone, {
|
|
373506
373683
|
round: round2,
|
|
373507
373684
|
reason: "stopped via /stop",
|
|
@@ -373514,28 +373691,31 @@ ${changeSummary}` : "";
|
|
|
373514
373691
|
lastText = extractLastAssistantText(prev);
|
|
373515
373692
|
return prev;
|
|
373516
373693
|
});
|
|
373517
|
-
if (
|
|
373694
|
+
if (lastText.trim()) {
|
|
373518
373695
|
const round2 = getDirectorRound();
|
|
373519
373696
|
const preview = lastText.slice(0, 1200);
|
|
373520
373697
|
const suffix = lastText.length > 1200 ? `
|
|
373521
373698
|
...(truncated)` : "";
|
|
373522
|
-
|
|
373699
|
+
if (getNotifyMedium() === "telegram" && isTelegramActive()) {
|
|
373700
|
+
const { sendTelegramMessage: sendTelegramMessage2 } = await Promise.resolve().then(() => (init_telegramBot(), exports_telegramBot));
|
|
373701
|
+
sendTelegramMessage2(`Director round ${round2}:
|
|
373523
373702
|
${preview}${suffix}`);
|
|
373703
|
+
}
|
|
373524
373704
|
}
|
|
373525
373705
|
const telegramMsg = getPendingTelegramMessage();
|
|
373526
373706
|
const result = await reviewAndContinue(lastText, telegramMsg);
|
|
373527
373707
|
if (result.done) {
|
|
373708
|
+
if (isTelegramActive())
|
|
373709
|
+
stopTypingIndicator();
|
|
373528
373710
|
const round2 = getDirectorRound();
|
|
373529
373711
|
const reason = result.reason ?? "completed";
|
|
373530
373712
|
const changeSummary = await getChangeSummary();
|
|
373531
|
-
|
|
373532
|
-
if (isTelegramActive()) {
|
|
373533
|
-
const summaryMsg = changeSummary ? `
|
|
373713
|
+
const summaryMsg = changeSummary ? `
|
|
373534
373714
|
|
|
373535
373715
|
Changes:
|
|
373536
373716
|
${changeSummary}` : "";
|
|
373537
|
-
|
|
373538
|
-
|
|
373717
|
+
sendDirectorNotification("Director — Complete", `Finished: ${reason} (${round2} rounds)${summaryMsg}`);
|
|
373718
|
+
resetDirector();
|
|
373539
373719
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorDone, {
|
|
373540
373720
|
round: round2,
|
|
373541
373721
|
reason,
|
|
@@ -373545,6 +373725,8 @@ ${changeSummary}` : "";
|
|
|
373545
373725
|
}
|
|
373546
373726
|
const round = getDirectorRound();
|
|
373547
373727
|
const currentTask = getDirectorTask();
|
|
373728
|
+
if (isTelegramActive())
|
|
373729
|
+
startTypingIndicator();
|
|
373548
373730
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorBanner, {
|
|
373549
373731
|
round,
|
|
373550
373732
|
maxRounds: DEFAULT_MAX_ROUNDS,
|
|
@@ -373576,9 +373758,7 @@ var init_director2 = __esm(() => {
|
|
|
373576
373758
|
type: "local-jsx",
|
|
373577
373759
|
name: "director",
|
|
373578
373760
|
aliases: ["dir"],
|
|
373579
|
-
description: "
|
|
373580
|
-
isEnabled: true,
|
|
373581
|
-
isHidden: false,
|
|
373761
|
+
description: "Supervised autonomous mode with persistent project memory. Usage: /director <task>",
|
|
373582
373762
|
source: "builtin",
|
|
373583
373763
|
load: () => Promise.resolve().then(() => (init_director(), exports_director))
|
|
373584
373764
|
};
|
|
@@ -373861,7 +374041,7 @@ var init_keepgoing = __esm(() => {
|
|
|
373861
374041
|
STOP_PATTERNS2 = [
|
|
373862
374042
|
{ pattern: /TASK[_ ]COMPLETE:/i, label: "task complete" },
|
|
373863
374043
|
{ pattern: /NEEDS[_ ]INPUT:/i, label: "paused — needs input" },
|
|
373864
|
-
{ pattern: /\bFINISHED\b
|
|
374044
|
+
{ pattern: /\bFINISHED\b/i, label: "finished" },
|
|
373865
374045
|
{ pattern: /ALL[_ ]DONE\b/i, label: "all done" },
|
|
373866
374046
|
{ pattern: /WORK[_ ]COMPLETE:/i, label: "work complete" }
|
|
373867
374047
|
];
|
|
@@ -374542,7 +374722,7 @@ var init_heartbeat2 = __esm(() => {
|
|
|
374542
374722
|
type: "local-jsx",
|
|
374543
374723
|
name: "heartbeat",
|
|
374544
374724
|
aliases: ["hb"],
|
|
374545
|
-
description: "
|
|
374725
|
+
description: "Periodic autonomous mode — agent re-prompts every N minutes. Usage: /heartbeat 5",
|
|
374546
374726
|
load: () => Promise.resolve().then(() => (init_heartbeat(), exports_heartbeat))
|
|
374547
374727
|
};
|
|
374548
374728
|
heartbeat_default = heartbeat;
|
|
@@ -374814,10 +374994,37 @@ var init_ctx2 = __esm(() => {
|
|
|
374814
374994
|
ctx_default = ctx;
|
|
374815
374995
|
});
|
|
374816
374996
|
|
|
374997
|
+
// src/commands/ctx/contextsize.tsx
|
|
374998
|
+
var exports_contextsize = {};
|
|
374999
|
+
__export(exports_contextsize, {
|
|
375000
|
+
call: () => call25
|
|
375001
|
+
});
|
|
375002
|
+
var call25 = async (onDone, context7, args) => {
|
|
375003
|
+
const value = (args ?? "").trim();
|
|
375004
|
+
const { call: ctxCall } = await Promise.resolve().then(() => (init_ctx(), exports_ctx));
|
|
375005
|
+
if (value) {
|
|
375006
|
+
return ctxCall(onDone, context7, `set ${value}`);
|
|
375007
|
+
}
|
|
375008
|
+
return ctxCall(onDone, context7, "");
|
|
375009
|
+
};
|
|
375010
|
+
|
|
375011
|
+
// src/commands/ctx/contextsize-index.ts
|
|
375012
|
+
var contextsize, contextsize_index_default;
|
|
375013
|
+
var init_contextsize_index = __esm(() => {
|
|
375014
|
+
contextsize = {
|
|
375015
|
+
type: "local-jsx",
|
|
375016
|
+
name: "contextsize",
|
|
375017
|
+
aliases: ["ctxsize"],
|
|
375018
|
+
description: "Set context window size. Usage: /contextsize 200k | /contextsize auto",
|
|
375019
|
+
load: () => Promise.resolve().then(() => exports_contextsize)
|
|
375020
|
+
};
|
|
375021
|
+
contextsize_index_default = contextsize;
|
|
375022
|
+
});
|
|
375023
|
+
|
|
374817
375024
|
// src/commands/research/research.tsx
|
|
374818
375025
|
var exports_research = {};
|
|
374819
375026
|
__export(exports_research, {
|
|
374820
|
-
call: () =>
|
|
375027
|
+
call: () => call26
|
|
374821
375028
|
});
|
|
374822
375029
|
function buildResearchPrompt(topic, thinkHarder) {
|
|
374823
375030
|
const thinkHarderSection = thinkHarder ? `
|
|
@@ -374926,7 +375133,7 @@ function ResearchWarning({
|
|
|
374926
375133
|
}, undefined, false, undefined, this)
|
|
374927
375134
|
}, undefined, false, undefined, this);
|
|
374928
375135
|
}
|
|
374929
|
-
var React64, jsx_dev_runtime201,
|
|
375136
|
+
var React64, jsx_dev_runtime201, call26 = async (onDone, _context, args) => {
|
|
374930
375137
|
const rawArgs = args?.trim() ?? "";
|
|
374931
375138
|
const { ownArgs: topic, nextCmd } = extractChain(rawArgs);
|
|
374932
375139
|
if (!topic) {
|
|
@@ -374995,7 +375202,7 @@ var init_thinkharder2 = __esm(() => {
|
|
|
374995
375202
|
type: "local-jsx",
|
|
374996
375203
|
name: "thinkharder",
|
|
374997
375204
|
aliases: ["th"],
|
|
374998
|
-
description: "Enable careful mode:
|
|
375205
|
+
description: "Enable careful mode: 5-phase verification pipeline (ORIENT → DRAFT → CRITIQUE → REFINE → VERIFY). Use /thinknormal to return to default.",
|
|
374999
375206
|
load: () => Promise.resolve().then(() => (init_thinkharder(), exports_thinkharder))
|
|
375000
375207
|
};
|
|
375001
375208
|
thinkharder_default = thinkharder;
|
|
@@ -375008,7 +375215,7 @@ var init_thinknormal_index = __esm(() => {
|
|
|
375008
375215
|
type: "local-jsx",
|
|
375009
375216
|
name: "thinknormal",
|
|
375010
375217
|
aliases: ["tn"],
|
|
375011
|
-
description: "Return to default pipeline. Disables /thinkharder careful mode
|
|
375218
|
+
description: "Return to default pipeline. Disables /thinkharder careful mode.",
|
|
375012
375219
|
load: async () => {
|
|
375013
375220
|
const mod = await Promise.resolve().then(() => (init_thinkharder(), exports_thinkharder));
|
|
375014
375221
|
return { call: mod.callNormal };
|
|
@@ -375733,7 +375940,7 @@ var init_promptEditor = __esm(() => {
|
|
|
375733
375940
|
// src/commands/memory/memory.tsx
|
|
375734
375941
|
var exports_memory = {};
|
|
375735
375942
|
__export(exports_memory, {
|
|
375736
|
-
call: () =>
|
|
375943
|
+
call: () => call27
|
|
375737
375944
|
});
|
|
375738
375945
|
import { mkdir as mkdir30, writeFile as writeFile31 } from "fs/promises";
|
|
375739
375946
|
function MemoryCommand({
|
|
@@ -375813,7 +376020,7 @@ ${editorHint}`, {
|
|
|
375813
376020
|
}, undefined, true, undefined, this)
|
|
375814
376021
|
}, undefined, false, undefined, this);
|
|
375815
376022
|
}
|
|
375816
|
-
var React65, jsx_dev_runtime204,
|
|
376023
|
+
var React65, jsx_dev_runtime204, call27 = async (onDone) => {
|
|
375817
376024
|
clearMemoryFileCaches();
|
|
375818
376025
|
await getMemoryFiles();
|
|
375819
376026
|
return /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(MemoryCommand, {
|
|
@@ -376669,7 +376876,7 @@ function Help(t0) {
|
|
|
376669
376876
|
let t6;
|
|
376670
376877
|
if ($2[31] !== tabs) {
|
|
376671
376878
|
t6 = /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(Tabs, {
|
|
376672
|
-
title: `localclawd v${"1.2.
|
|
376879
|
+
title: `localclawd v${"1.2.2"}`,
|
|
376673
376880
|
color: "professionalBlue",
|
|
376674
376881
|
defaultTab: "general",
|
|
376675
376882
|
children: tabs
|
|
@@ -376775,9 +376982,9 @@ var init_Help = __esm(() => {
|
|
|
376775
376982
|
// src/commands/help/help.tsx
|
|
376776
376983
|
var exports_help = {};
|
|
376777
376984
|
__export(exports_help, {
|
|
376778
|
-
call: () =>
|
|
376985
|
+
call: () => call28
|
|
376779
376986
|
});
|
|
376780
|
-
var jsx_dev_runtime209,
|
|
376987
|
+
var jsx_dev_runtime209, call28 = async (onDone, {
|
|
376781
376988
|
options: {
|
|
376782
376989
|
commands
|
|
376783
376990
|
}
|
|
@@ -376984,7 +377191,7 @@ var init_IdeAutoConnectDialog = __esm(() => {
|
|
|
376984
377191
|
var exports_ide = {};
|
|
376985
377192
|
__export(exports_ide, {
|
|
376986
377193
|
formatWorkspaceFolders: () => formatWorkspaceFolders,
|
|
376987
|
-
call: () =>
|
|
377194
|
+
call: () => call29
|
|
376988
377195
|
});
|
|
376989
377196
|
import * as path12 from "path";
|
|
376990
377197
|
function IDEScreen(t0) {
|
|
@@ -377462,7 +377669,7 @@ function InstallOnMount(t0) {
|
|
|
377462
377669
|
import_react113.useEffect(t1, t2);
|
|
377463
377670
|
return null;
|
|
377464
377671
|
}
|
|
377465
|
-
async function
|
|
377672
|
+
async function call29(onDone, context7, args) {
|
|
377466
377673
|
logEvent("tengu_ext_ide_command", {});
|
|
377467
377674
|
const {
|
|
377468
377675
|
options: {
|
|
@@ -378045,11 +378252,11 @@ var init_template = __esm(() => {
|
|
|
378045
378252
|
// src/commands/keybindings/keybindings.ts
|
|
378046
378253
|
var exports_keybindings = {};
|
|
378047
378254
|
__export(exports_keybindings, {
|
|
378048
|
-
call: () =>
|
|
378255
|
+
call: () => call30
|
|
378049
378256
|
});
|
|
378050
378257
|
import { mkdir as mkdir31, writeFile as writeFile32 } from "fs/promises";
|
|
378051
378258
|
import { dirname as dirname47 } from "path";
|
|
378052
|
-
async function
|
|
378259
|
+
async function call30() {
|
|
378053
378260
|
if (!isKeybindingCustomizationEnabled()) {
|
|
378054
378261
|
return {
|
|
378055
378262
|
type: "text",
|
|
@@ -392580,7 +392787,7 @@ var init_PluginSettings = __esm(() => {
|
|
|
392580
392787
|
// src/commands/mcp/mcp.tsx
|
|
392581
392788
|
var exports_mcp = {};
|
|
392582
392789
|
__export(exports_mcp, {
|
|
392583
|
-
call: () =>
|
|
392790
|
+
call: () => call31
|
|
392584
392791
|
});
|
|
392585
392792
|
function MCPToggle(t0) {
|
|
392586
392793
|
const $2 = c3(7);
|
|
@@ -392633,7 +392840,7 @@ function _temp239(c5) {
|
|
|
392633
392840
|
function _temp100(s) {
|
|
392634
392841
|
return s.mcp.clients;
|
|
392635
392842
|
}
|
|
392636
|
-
async function
|
|
392843
|
+
async function call31(onDone, _context, args) {
|
|
392637
392844
|
if (args) {
|
|
392638
392845
|
const parts = args.trim().split(/\s+/);
|
|
392639
392846
|
if (parts[0] === "no-redirect") {
|
|
@@ -392902,7 +393109,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
392902
393109
|
return [];
|
|
392903
393110
|
}
|
|
392904
393111
|
}
|
|
392905
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.
|
|
393112
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.2") {
|
|
392906
393113
|
if (process.env.USER_TYPE === "ant") {
|
|
392907
393114
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
392908
393115
|
if (changelog) {
|
|
@@ -392929,7 +393136,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.0") {
|
|
|
392929
393136
|
releaseNotes
|
|
392930
393137
|
};
|
|
392931
393138
|
}
|
|
392932
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.
|
|
393139
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.2") {
|
|
392933
393140
|
if (process.env.USER_TYPE === "ant") {
|
|
392934
393141
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
392935
393142
|
if (changelog) {
|
|
@@ -392965,7 +393172,7 @@ var init_releaseNotes = __esm(() => {
|
|
|
392965
393172
|
// src/commands/release-notes/release-notes.ts
|
|
392966
393173
|
var exports_release_notes = {};
|
|
392967
393174
|
__export(exports_release_notes, {
|
|
392968
|
-
call: () =>
|
|
393175
|
+
call: () => call32
|
|
392969
393176
|
});
|
|
392970
393177
|
function formatReleaseNotes(notes) {
|
|
392971
393178
|
return notes.map(([version, notes2]) => {
|
|
@@ -392978,7 +393185,7 @@ ${bulletPoints}`;
|
|
|
392978
393185
|
|
|
392979
393186
|
`);
|
|
392980
393187
|
}
|
|
392981
|
-
async function
|
|
393188
|
+
async function call32() {
|
|
392982
393189
|
let freshNotes = [];
|
|
392983
393190
|
try {
|
|
392984
393191
|
const timeoutPromise = new Promise((_2, reject2) => {
|
|
@@ -393490,9 +393697,9 @@ var init_createSession = __esm(() => {
|
|
|
393490
393697
|
// src/commands/rename/rename.ts
|
|
393491
393698
|
var exports_rename = {};
|
|
393492
393699
|
__export(exports_rename, {
|
|
393493
|
-
call: () =>
|
|
393700
|
+
call: () => call33
|
|
393494
393701
|
});
|
|
393495
|
-
async function
|
|
393702
|
+
async function call33(onDone, context7, args) {
|
|
393496
393703
|
if (isTeammate()) {
|
|
393497
393704
|
onDone("Cannot rename: This session is a swarm teammate. Teammate names are set by the team leader.", { display: "system" });
|
|
393498
393705
|
return null;
|
|
@@ -394187,7 +394394,7 @@ function getRecentActivitySync() {
|
|
|
394187
394394
|
return cachedActivity;
|
|
394188
394395
|
}
|
|
394189
394396
|
function getLogoDisplayData() {
|
|
394190
|
-
const version = process.env.DEMO_VERSION ?? "1.2.
|
|
394397
|
+
const version = process.env.DEMO_VERSION ?? "1.2.2";
|
|
394191
394398
|
const serverUrl = getDirectConnectServerUrl();
|
|
394192
394399
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
394193
394400
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -395294,7 +395501,7 @@ function Logo() {
|
|
|
395294
395501
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
395295
395502
|
t2 = () => {
|
|
395296
395503
|
const currentConfig = getGlobalConfig();
|
|
395297
|
-
if (currentConfig.lastReleaseNotesSeen === "1.2.
|
|
395504
|
+
if (currentConfig.lastReleaseNotesSeen === "1.2.2") {
|
|
395298
395505
|
return;
|
|
395299
395506
|
}
|
|
395300
395507
|
saveGlobalConfig(_temp326);
|
|
@@ -395953,12 +396160,12 @@ function Logo() {
|
|
|
395953
396160
|
return t41;
|
|
395954
396161
|
}
|
|
395955
396162
|
function _temp326(current) {
|
|
395956
|
-
if (current.lastReleaseNotesSeen === "1.2.
|
|
396163
|
+
if (current.lastReleaseNotesSeen === "1.2.2") {
|
|
395957
396164
|
return current;
|
|
395958
396165
|
}
|
|
395959
396166
|
return {
|
|
395960
396167
|
...current,
|
|
395961
|
-
lastReleaseNotesSeen: "1.2.
|
|
396168
|
+
lastReleaseNotesSeen: "1.2.2"
|
|
395962
396169
|
};
|
|
395963
396170
|
}
|
|
395964
396171
|
function _temp241(s_0) {
|
|
@@ -401851,7 +402058,7 @@ var init_crossProjectResume = __esm(() => {
|
|
|
401851
402058
|
var exports_resume = {};
|
|
401852
402059
|
__export(exports_resume, {
|
|
401853
402060
|
filterResumableSessions: () => filterResumableSessions,
|
|
401854
|
-
call: () =>
|
|
402061
|
+
call: () => call34
|
|
401855
402062
|
});
|
|
401856
402063
|
function resumeHelpMessage(result) {
|
|
401857
402064
|
switch (result.resultType) {
|
|
@@ -402036,7 +402243,7 @@ function ResumeCommand({
|
|
|
402036
402243
|
function filterResumableSessions(logs2, currentSessionId) {
|
|
402037
402244
|
return logs2.filter((l) => !l.isSidechain && getSessionIdFromLog(l) !== currentSessionId);
|
|
402038
402245
|
}
|
|
402039
|
-
var React90, jsx_dev_runtime260,
|
|
402246
|
+
var React90, jsx_dev_runtime260, call34 = async (onDone, context7, args) => {
|
|
402040
402247
|
const onResume = async (sessionId, log2, entrypoint) => {
|
|
402041
402248
|
try {
|
|
402042
402249
|
await context7.resume?.(sessionId, log2, entrypoint);
|
|
@@ -402526,7 +402733,7 @@ var init_UltrareviewOverageDialog = __esm(() => {
|
|
|
402526
402733
|
// src/commands/review/ultrareviewCommand.tsx
|
|
402527
402734
|
var exports_ultrareviewCommand = {};
|
|
402528
402735
|
__export(exports_ultrareviewCommand, {
|
|
402529
|
-
call: () =>
|
|
402736
|
+
call: () => call35
|
|
402530
402737
|
});
|
|
402531
402738
|
function contentBlocksToString(blocks) {
|
|
402532
402739
|
return blocks.map((b3) => b3.type === "text" ? b3.text : "").filter(Boolean).join(`
|
|
@@ -402546,7 +402753,7 @@ async function launchAndDone(args, context7, onDone, billingNote, signal) {
|
|
|
402546
402753
|
});
|
|
402547
402754
|
}
|
|
402548
402755
|
}
|
|
402549
|
-
var jsx_dev_runtime262,
|
|
402756
|
+
var jsx_dev_runtime262, call35 = async (onDone, context7, args) => {
|
|
402550
402757
|
const gate = await checkOverageGate();
|
|
402551
402758
|
if (gate.kind === "not-enabled") {
|
|
402552
402759
|
onDone("Free ultrareviews used. This feature requires a cloud subscription.", {
|
|
@@ -406872,7 +407079,7 @@ var init_server = __esm(() => {
|
|
|
406872
407079
|
// src/commands/session/session.tsx
|
|
406873
407080
|
var exports_session = {};
|
|
406874
407081
|
__export(exports_session, {
|
|
406875
|
-
call: () =>
|
|
407082
|
+
call: () => call36
|
|
406876
407083
|
});
|
|
406877
407084
|
function SessionInfo(t0) {
|
|
406878
407085
|
const $2 = c3(19);
|
|
@@ -407045,7 +407252,7 @@ function _temp247(e) {
|
|
|
407045
407252
|
function _temp119(s) {
|
|
407046
407253
|
return s.remoteSessionUrl;
|
|
407047
407254
|
}
|
|
407048
|
-
var import_react150, jsx_dev_runtime263,
|
|
407255
|
+
var import_react150, jsx_dev_runtime263, call36 = async (onDone) => {
|
|
407049
407256
|
return /* @__PURE__ */ jsx_dev_runtime263.jsxDEV(SessionInfo, {
|
|
407050
407257
|
onDone
|
|
407051
407258
|
}, undefined, false, undefined, this);
|
|
@@ -407401,9 +407608,9 @@ var init_SkillsMenu = __esm(() => {
|
|
|
407401
407608
|
// src/commands/skills/skills.tsx
|
|
407402
407609
|
var exports_skills2 = {};
|
|
407403
407610
|
__export(exports_skills2, {
|
|
407404
|
-
call: () =>
|
|
407611
|
+
call: () => call37
|
|
407405
407612
|
});
|
|
407406
|
-
async function
|
|
407613
|
+
async function call37(onDone, context7) {
|
|
407407
407614
|
return /* @__PURE__ */ jsx_dev_runtime265.jsxDEV(SkillsMenu, {
|
|
407408
407615
|
onExit: onDone,
|
|
407409
407616
|
commands: context7.options.commands
|
|
@@ -407430,9 +407637,9 @@ var init_skills3 = __esm(() => {
|
|
|
407430
407637
|
// src/commands/status/status.tsx
|
|
407431
407638
|
var exports_status = {};
|
|
407432
407639
|
__export(exports_status, {
|
|
407433
|
-
call: () =>
|
|
407640
|
+
call: () => call38
|
|
407434
407641
|
});
|
|
407435
|
-
async function
|
|
407642
|
+
async function call38(onDone, context7) {
|
|
407436
407643
|
return /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(Settings, {
|
|
407437
407644
|
onClose: onDone,
|
|
407438
407645
|
context: context7,
|
|
@@ -408043,7 +408250,7 @@ ${reasons}`,
|
|
|
408043
408250
|
} : prev);
|
|
408044
408251
|
}
|
|
408045
408252
|
}
|
|
408046
|
-
var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://github.com/chromebookwiz/localclawd", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS,
|
|
408253
|
+
var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://github.com/chromebookwiz/localclawd", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call39 = async (onDone, context7, args) => {
|
|
408047
408254
|
const blurb = args.trim();
|
|
408048
408255
|
if (!blurb) {
|
|
408049
408256
|
const msg = await launchUltraplan2({
|
|
@@ -408104,7 +408311,7 @@ var init_ultraplan = __esm(() => {
|
|
|
408104
408311
|
argumentHint: "<prompt>",
|
|
408105
408312
|
isEnabled: () => false,
|
|
408106
408313
|
load: () => Promise.resolve({
|
|
408107
|
-
call:
|
|
408314
|
+
call: call39
|
|
408108
408315
|
})
|
|
408109
408316
|
};
|
|
408110
408317
|
});
|
|
@@ -412866,9 +413073,9 @@ var init_BackgroundTasksDialog = __esm(() => {
|
|
|
412866
413073
|
// src/commands/tasks/tasks.tsx
|
|
412867
413074
|
var exports_tasks = {};
|
|
412868
413075
|
__export(exports_tasks, {
|
|
412869
|
-
call: () =>
|
|
413076
|
+
call: () => call40
|
|
412870
413077
|
});
|
|
412871
|
-
async function
|
|
413078
|
+
async function call40(onDone, context7) {
|
|
412872
413079
|
return /* @__PURE__ */ jsx_dev_runtime277.jsxDEV(BackgroundTasksDialog, {
|
|
412873
413080
|
toolUseContext: context7,
|
|
412874
413081
|
onDone
|
|
@@ -413159,9 +413366,9 @@ var init_terminalSetup2 = __esm(() => {
|
|
|
413159
413366
|
// src/commands/usage/usage.tsx
|
|
413160
413367
|
var exports_usage = {};
|
|
413161
413368
|
__export(exports_usage, {
|
|
413162
|
-
call: () =>
|
|
413369
|
+
call: () => call41
|
|
413163
413370
|
});
|
|
413164
|
-
var jsx_dev_runtime278,
|
|
413371
|
+
var jsx_dev_runtime278, call41 = async (onDone, context7) => {
|
|
413165
413372
|
return /* @__PURE__ */ jsx_dev_runtime278.jsxDEV(Settings, {
|
|
413166
413373
|
onClose: onDone,
|
|
413167
413374
|
context: context7,
|
|
@@ -413192,7 +413399,7 @@ var init_usage3 = __esm(() => {
|
|
|
413192
413399
|
// src/commands/theme/theme.tsx
|
|
413193
413400
|
var exports_theme = {};
|
|
413194
413401
|
__export(exports_theme, {
|
|
413195
|
-
call: () =>
|
|
413402
|
+
call: () => call42
|
|
413196
413403
|
});
|
|
413197
413404
|
function ThemePickerCommand(t0) {
|
|
413198
413405
|
const $2 = c3(8);
|
|
@@ -413242,7 +413449,7 @@ function ThemePickerCommand(t0) {
|
|
|
413242
413449
|
}
|
|
413243
413450
|
return t3;
|
|
413244
413451
|
}
|
|
413245
|
-
var jsx_dev_runtime279,
|
|
413452
|
+
var jsx_dev_runtime279, call42 = async (onDone, _context) => {
|
|
413246
413453
|
return /* @__PURE__ */ jsx_dev_runtime279.jsxDEV(ThemePickerCommand, {
|
|
413247
413454
|
onDone
|
|
413248
413455
|
}, undefined, false, undefined, this);
|
|
@@ -413269,9 +413476,9 @@ var init_theme3 = __esm(() => {
|
|
|
413269
413476
|
// src/commands/vim/vim.ts
|
|
413270
413477
|
var exports_vim = {};
|
|
413271
413478
|
__export(exports_vim, {
|
|
413272
|
-
call: () =>
|
|
413479
|
+
call: () => call43
|
|
413273
413480
|
});
|
|
413274
|
-
var
|
|
413481
|
+
var call43 = async () => {
|
|
413275
413482
|
const config2 = getGlobalConfig();
|
|
413276
413483
|
let currentMode = config2.editorMode || "normal";
|
|
413277
413484
|
if (currentMode === "emacs") {
|
|
@@ -413312,7 +413519,7 @@ var init_vim2 = __esm(() => {
|
|
|
413312
413519
|
var exports_thinkback = {};
|
|
413313
413520
|
__export(exports_thinkback, {
|
|
413314
413521
|
playAnimation: () => playAnimation,
|
|
413315
|
-
call: () =>
|
|
413522
|
+
call: () => call44
|
|
413316
413523
|
});
|
|
413317
413524
|
import { execa as execa11 } from "execa";
|
|
413318
413525
|
import { readFile as readFile43 } from "fs/promises";
|
|
@@ -413850,7 +414057,7 @@ function ThinkbackFlow(t0) {
|
|
|
413850
414057
|
}
|
|
413851
414058
|
return t8;
|
|
413852
414059
|
}
|
|
413853
|
-
async function
|
|
414060
|
+
async function call44(onDone) {
|
|
413854
414061
|
return /* @__PURE__ */ jsx_dev_runtime280.jsxDEV(ThinkbackFlow, {
|
|
413855
414062
|
onDone
|
|
413856
414063
|
}, undefined, false, undefined, this);
|
|
@@ -413895,14 +414102,14 @@ var init_thinkback2 = __esm(() => {
|
|
|
413895
414102
|
// src/commands/thinkback-play/thinkback-play.ts
|
|
413896
414103
|
var exports_thinkback_play = {};
|
|
413897
414104
|
__export(exports_thinkback_play, {
|
|
413898
|
-
call: () =>
|
|
414105
|
+
call: () => call45
|
|
413899
414106
|
});
|
|
413900
414107
|
import { join as join117 } from "path";
|
|
413901
414108
|
function getPluginId2() {
|
|
413902
414109
|
const marketplaceName = process.env.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_NAME : OFFICIAL_MARKETPLACE_NAME;
|
|
413903
414110
|
return `thinkback@${marketplaceName}`;
|
|
413904
414111
|
}
|
|
413905
|
-
async function
|
|
414112
|
+
async function call45() {
|
|
413906
414113
|
const v2Data = loadInstalledPluginsV2();
|
|
413907
414114
|
const pluginId = getPluginId2();
|
|
413908
414115
|
const installations = v2Data.plugins[pluginId];
|
|
@@ -416390,9 +416597,9 @@ var init_PermissionRuleList = __esm(() => {
|
|
|
416390
416597
|
// src/commands/permissions/permissions.tsx
|
|
416391
416598
|
var exports_permissions = {};
|
|
416392
416599
|
__export(exports_permissions, {
|
|
416393
|
-
call: () =>
|
|
416600
|
+
call: () => call46
|
|
416394
416601
|
});
|
|
416395
|
-
var jsx_dev_runtime288,
|
|
416602
|
+
var jsx_dev_runtime288, call46 = async (onDone, context7) => {
|
|
416396
416603
|
return /* @__PURE__ */ jsx_dev_runtime288.jsxDEV(PermissionRuleList, {
|
|
416397
416604
|
onExit: onDone,
|
|
416398
416605
|
onRetryDenials: (commands) => {
|
|
@@ -416422,7 +416629,7 @@ var init_permissions4 = __esm(() => {
|
|
|
416422
416629
|
// src/commands/plan/plan.tsx
|
|
416423
416630
|
var exports_plan = {};
|
|
416424
416631
|
__export(exports_plan, {
|
|
416425
|
-
call: () =>
|
|
416632
|
+
call: () => call47
|
|
416426
416633
|
});
|
|
416427
416634
|
function PlanDisplay(t0) {
|
|
416428
416635
|
const $2 = c3(11);
|
|
@@ -416510,7 +416717,7 @@ function PlanDisplay(t0) {
|
|
|
416510
416717
|
}
|
|
416511
416718
|
return t5;
|
|
416512
416719
|
}
|
|
416513
|
-
async function
|
|
416720
|
+
async function call47(onDone, context7, args) {
|
|
416514
416721
|
const {
|
|
416515
416722
|
getAppState,
|
|
416516
416723
|
setAppState
|
|
@@ -416652,7 +416859,7 @@ var init_FastIcon = __esm(() => {
|
|
|
416652
416859
|
// src/commands/fast/fast.tsx
|
|
416653
416860
|
var exports_fast = {};
|
|
416654
416861
|
__export(exports_fast, {
|
|
416655
|
-
call: () =>
|
|
416862
|
+
call: () => call48,
|
|
416656
416863
|
FastModePicker: () => FastModePicker
|
|
416657
416864
|
});
|
|
416658
416865
|
function applyFastMode(enable, setAppState) {
|
|
@@ -416967,7 +417174,7 @@ async function handleFastModeShortcut(enable, getAppState, setAppState) {
|
|
|
416967
417174
|
return `Fast mode OFF`;
|
|
416968
417175
|
}
|
|
416969
417176
|
}
|
|
416970
|
-
async function
|
|
417177
|
+
async function call48(onDone, context7, args) {
|
|
416971
417178
|
if (!isFastModeEnabled()) {
|
|
416972
417179
|
return null;
|
|
416973
417180
|
}
|
|
@@ -417275,9 +417482,9 @@ var init_Passes = __esm(() => {
|
|
|
417275
417482
|
// src/commands/passes/passes.tsx
|
|
417276
417483
|
var exports_passes = {};
|
|
417277
417484
|
__export(exports_passes, {
|
|
417278
|
-
call: () =>
|
|
417485
|
+
call: () => call49
|
|
417279
417486
|
});
|
|
417280
|
-
async function
|
|
417487
|
+
async function call49(onDone) {
|
|
417281
417488
|
const config2 = getGlobalConfig();
|
|
417282
417489
|
const isFirstVisit = !config2.hasVisitedPasses;
|
|
417283
417490
|
if (isFirstVisit) {
|
|
@@ -418039,9 +418246,9 @@ var init_Grove = __esm(() => {
|
|
|
418039
418246
|
// src/commands/privacy-settings/privacy-settings.tsx
|
|
418040
418247
|
var exports_privacy_settings = {};
|
|
418041
418248
|
__export(exports_privacy_settings, {
|
|
418042
|
-
call: () =>
|
|
418249
|
+
call: () => call50
|
|
418043
418250
|
});
|
|
418044
|
-
async function
|
|
418251
|
+
async function call50(onDone) {
|
|
418045
418252
|
const qualified = await isQualifiedForGrove();
|
|
418046
418253
|
if (!qualified) {
|
|
418047
418254
|
onDone(FALLBACK_MESSAGE);
|
|
@@ -419881,9 +420088,9 @@ var init_HooksConfigMenu = __esm(() => {
|
|
|
419881
420088
|
// src/commands/hooks/hooks.tsx
|
|
419882
420089
|
var exports_hooks = {};
|
|
419883
420090
|
__export(exports_hooks, {
|
|
419884
|
-
call: () =>
|
|
420091
|
+
call: () => call51
|
|
419885
420092
|
});
|
|
419886
|
-
var jsx_dev_runtime301,
|
|
420093
|
+
var jsx_dev_runtime301, call51 = async (onDone, context7) => {
|
|
419887
420094
|
logEvent("tengu_hooks_command", {});
|
|
419888
420095
|
const appState = context7.getAppState();
|
|
419889
420096
|
const permissionContext = appState.toolPermissionContext;
|
|
@@ -419915,10 +420122,10 @@ var init_hooks3 = __esm(() => {
|
|
|
419915
420122
|
// src/commands/files/files.ts
|
|
419916
420123
|
var exports_files2 = {};
|
|
419917
420124
|
__export(exports_files2, {
|
|
419918
|
-
call: () =>
|
|
420125
|
+
call: () => call52
|
|
419919
420126
|
});
|
|
419920
420127
|
import { relative as relative26 } from "path";
|
|
419921
|
-
async function
|
|
420128
|
+
async function call52(_args, context7) {
|
|
419922
420129
|
const files = context7.readFileState ? cacheKeys(context7.readFileState) : [];
|
|
419923
420130
|
if (files.length === 0) {
|
|
419924
420131
|
return { type: "text", value: "No files in context" };
|
|
@@ -419951,7 +420158,7 @@ var init_files4 = __esm(() => {
|
|
|
419951
420158
|
var exports_branch = {};
|
|
419952
420159
|
__export(exports_branch, {
|
|
419953
420160
|
deriveFirstPrompt: () => deriveFirstPrompt,
|
|
419954
|
-
call: () =>
|
|
420161
|
+
call: () => call53
|
|
419955
420162
|
});
|
|
419956
420163
|
import { randomUUID as randomUUID27 } from "crypto";
|
|
419957
420164
|
import { mkdir as mkdir33, readFile as readFile44, writeFile as writeFile36 } from "fs/promises";
|
|
@@ -420057,7 +420264,7 @@ async function getUniqueForkName(baseName) {
|
|
|
420057
420264
|
}
|
|
420058
420265
|
return `${baseName} (Branch ${nextNumber})`;
|
|
420059
420266
|
}
|
|
420060
|
-
async function
|
|
420267
|
+
async function call53(onDone, context7, args) {
|
|
420061
420268
|
const customTitle = args?.trim() || undefined;
|
|
420062
420269
|
const originalSessionId = getSessionId();
|
|
420063
420270
|
try {
|
|
@@ -426072,9 +426279,9 @@ var init_AgentsMenu = __esm(() => {
|
|
|
426072
426279
|
// src/commands/agents/agents.tsx
|
|
426073
426280
|
var exports_agents = {};
|
|
426074
426281
|
__export(exports_agents, {
|
|
426075
|
-
call: () =>
|
|
426282
|
+
call: () => call54
|
|
426076
426283
|
});
|
|
426077
|
-
async function
|
|
426284
|
+
async function call54(onDone, context7) {
|
|
426078
426285
|
const appState = context7.getAppState();
|
|
426079
426286
|
const permissionContext = appState.toolPermissionContext;
|
|
426080
426287
|
const tools = getTools(permissionContext);
|
|
@@ -426105,9 +426312,9 @@ var init_agents2 = __esm(() => {
|
|
|
426105
426312
|
// src/commands/plugin/plugin.tsx
|
|
426106
426313
|
var exports_plugin = {};
|
|
426107
426314
|
__export(exports_plugin, {
|
|
426108
|
-
call: () =>
|
|
426315
|
+
call: () => call55
|
|
426109
426316
|
});
|
|
426110
|
-
async function
|
|
426317
|
+
async function call55(onDone, _context, args) {
|
|
426111
426318
|
return /* @__PURE__ */ jsx_dev_runtime327.jsxDEV(PluginSettings, {
|
|
426112
426319
|
onComplete: onDone,
|
|
426113
426320
|
args
|
|
@@ -426272,12 +426479,12 @@ var init_refresh = __esm(() => {
|
|
|
426272
426479
|
// src/commands/reload-plugins/reload-plugins.ts
|
|
426273
426480
|
var exports_reload_plugins = {};
|
|
426274
426481
|
__export(exports_reload_plugins, {
|
|
426275
|
-
call: () =>
|
|
426482
|
+
call: () => call56
|
|
426276
426483
|
});
|
|
426277
426484
|
function n(count3, noun) {
|
|
426278
426485
|
return `${count3} ${plural(count3, noun)}`;
|
|
426279
426486
|
}
|
|
426280
|
-
var
|
|
426487
|
+
var call56 = async (_args, context7) => {
|
|
426281
426488
|
if (false) {}
|
|
426282
426489
|
const r = await refreshActivePlugins(context7.setAppState);
|
|
426283
426490
|
const parts = [
|
|
@@ -426320,9 +426527,9 @@ var init_reload_plugins2 = __esm(() => {
|
|
|
426320
426527
|
// src/commands/rewind/rewind.ts
|
|
426321
426528
|
var exports_rewind = {};
|
|
426322
426529
|
__export(exports_rewind, {
|
|
426323
|
-
call: () =>
|
|
426530
|
+
call: () => call57
|
|
426324
426531
|
});
|
|
426325
|
-
async function
|
|
426532
|
+
async function call57(_args, context7) {
|
|
426326
426533
|
if (context7.openMessageSelector) {
|
|
426327
426534
|
context7.openMessageSelector();
|
|
426328
426535
|
}
|
|
@@ -426437,7 +426644,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
426437
426644
|
smapsRollup,
|
|
426438
426645
|
platform: process.platform,
|
|
426439
426646
|
nodeVersion: process.version,
|
|
426440
|
-
ccVersion: "1.2.
|
|
426647
|
+
ccVersion: "1.2.2"
|
|
426441
426648
|
};
|
|
426442
426649
|
}
|
|
426443
426650
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -426507,9 +426714,9 @@ var init_heapDumpService = __esm(() => {
|
|
|
426507
426714
|
// src/commands/heapdump/heapdump.ts
|
|
426508
426715
|
var exports_heapdump = {};
|
|
426509
426716
|
__export(exports_heapdump, {
|
|
426510
|
-
call: () =>
|
|
426717
|
+
call: () => call58
|
|
426511
426718
|
});
|
|
426512
|
-
async function
|
|
426719
|
+
async function call58() {
|
|
426513
426720
|
const result = await performHeapDump();
|
|
426514
426721
|
if (!result.success) {
|
|
426515
426722
|
return {
|
|
@@ -426880,7 +427087,7 @@ var USAGE = `/bridge-kick <subcommand>
|
|
|
426880
427087
|
reconnect-session fail next POST /bridge/reconnect fails
|
|
426881
427088
|
heartbeat <status> next heartbeat throws BridgeFatalError(status)
|
|
426882
427089
|
reconnect call reconnectEnvironmentWithSession directly
|
|
426883
|
-
status print bridge state`,
|
|
427090
|
+
status print bridge state`, call59 = async (args) => {
|
|
426884
427091
|
const h = getBridgeDebugHandle();
|
|
426885
427092
|
if (!h) {
|
|
426886
427093
|
return {
|
|
@@ -427013,16 +427220,16 @@ var init_bridge_kick = __esm(() => {
|
|
|
427013
427220
|
description: "Inject bridge failure states for manual recovery testing",
|
|
427014
427221
|
isEnabled: () => process.env.USER_TYPE === "ant",
|
|
427015
427222
|
supportsNonInteractive: false,
|
|
427016
|
-
load: () => Promise.resolve({ call:
|
|
427223
|
+
load: () => Promise.resolve({ call: call59 })
|
|
427017
427224
|
};
|
|
427018
427225
|
bridge_kick_default = bridgeKick;
|
|
427019
427226
|
});
|
|
427020
427227
|
|
|
427021
427228
|
// src/commands/version.ts
|
|
427022
|
-
var
|
|
427229
|
+
var call60 = async () => {
|
|
427023
427230
|
return {
|
|
427024
427231
|
type: "text",
|
|
427025
|
-
value: `${"1.2.
|
|
427232
|
+
value: `${"1.2.2"} (built ${"2026-04-18T18:20:09.217Z"})`
|
|
427026
427233
|
};
|
|
427027
427234
|
}, version, version_default;
|
|
427028
427235
|
var init_version = __esm(() => {
|
|
@@ -427032,7 +427239,7 @@ var init_version = __esm(() => {
|
|
|
427032
427239
|
description: "Print the version this session is running (not what autoupdate downloaded)",
|
|
427033
427240
|
isEnabled: () => process.env.USER_TYPE === "ant",
|
|
427034
427241
|
supportsNonInteractive: true,
|
|
427035
|
-
load: () => Promise.resolve({ call:
|
|
427242
|
+
load: () => Promise.resolve({ call: call60 })
|
|
427036
427243
|
};
|
|
427037
427244
|
version_default = version;
|
|
427038
427245
|
});
|
|
@@ -428188,10 +428395,10 @@ var init_SandboxSettings = __esm(() => {
|
|
|
428188
428395
|
// src/commands/sandbox-toggle/sandbox-toggle.tsx
|
|
428189
428396
|
var exports_sandbox_toggle = {};
|
|
428190
428397
|
__export(exports_sandbox_toggle, {
|
|
428191
|
-
call: () =>
|
|
428398
|
+
call: () => call61
|
|
428192
428399
|
});
|
|
428193
428400
|
import { relative as relative27 } from "path";
|
|
428194
|
-
async function
|
|
428401
|
+
async function call61(onDone, _context, args) {
|
|
428195
428402
|
const settings = getSettings_DEPRECATED();
|
|
428196
428403
|
const themeName = settings.theme || "light";
|
|
428197
428404
|
const platform3 = getPlatform();
|
|
@@ -428296,7 +428503,7 @@ var init_sandbox_toggle2 = __esm(() => {
|
|
|
428296
428503
|
});
|
|
428297
428504
|
|
|
428298
428505
|
// src/commands/advisor.ts
|
|
428299
|
-
var
|
|
428506
|
+
var call62 = async (args, context7) => {
|
|
428300
428507
|
const arg = args.trim().toLowerCase();
|
|
428301
428508
|
const baseModel = parseUserSpecifiedModel(context7.getAppState().mainLoopModel ?? getDefaultMainLoopModelSetting());
|
|
428302
428509
|
if (!arg) {
|
|
@@ -428382,7 +428589,7 @@ var init_advisor2 = __esm(() => {
|
|
|
428382
428589
|
return !canUserConfigureAdvisor();
|
|
428383
428590
|
},
|
|
428384
428591
|
supportsNonInteractive: true,
|
|
428385
|
-
load: () => Promise.resolve({ call:
|
|
428592
|
+
load: () => Promise.resolve({ call: call62 })
|
|
428386
428593
|
};
|
|
428387
428594
|
advisor_default = advisor;
|
|
428388
428595
|
});
|
|
@@ -428794,12 +429001,12 @@ var init_ExitFlow = __esm(() => {
|
|
|
428794
429001
|
// src/commands/exit/exit.tsx
|
|
428795
429002
|
var exports_exit = {};
|
|
428796
429003
|
__export(exports_exit, {
|
|
428797
|
-
call: () =>
|
|
429004
|
+
call: () => call63
|
|
428798
429005
|
});
|
|
428799
429006
|
function getRandomGoodbyeMessage2() {
|
|
428800
429007
|
return sample_default(GOODBYE_MESSAGES2) ?? "Goodbye!";
|
|
428801
429008
|
}
|
|
428802
|
-
async function
|
|
429009
|
+
async function call63(onDone) {
|
|
428803
429010
|
if (false) {}
|
|
428804
429011
|
const showWorktree = getCurrentWorktreeSession() !== null;
|
|
428805
429012
|
if (showWorktree) {
|
|
@@ -429093,7 +429300,7 @@ var exports_export = {};
|
|
|
429093
429300
|
__export(exports_export, {
|
|
429094
429301
|
sanitizeFilename: () => sanitizeFilename,
|
|
429095
429302
|
extractFirstPrompt: () => extractFirstPrompt,
|
|
429096
|
-
call: () =>
|
|
429303
|
+
call: () => call64
|
|
429097
429304
|
});
|
|
429098
429305
|
import { join as join122 } from "path";
|
|
429099
429306
|
function formatTimestamp(date2) {
|
|
@@ -429134,7 +429341,7 @@ async function exportWithReactRenderer(context7) {
|
|
|
429134
429341
|
const tools = context7.options.tools || [];
|
|
429135
429342
|
return renderMessagesToPlainText(context7.messages, tools);
|
|
429136
429343
|
}
|
|
429137
|
-
async function
|
|
429344
|
+
async function call64(onDone, context7, args) {
|
|
429138
429345
|
const content = await exportWithReactRenderer(context7);
|
|
429139
429346
|
const filename = args.trim();
|
|
429140
429347
|
if (filename) {
|
|
@@ -429194,7 +429401,7 @@ var init_export2 = __esm(() => {
|
|
|
429194
429401
|
// src/commands/model/model.tsx
|
|
429195
429402
|
var exports_model2 = {};
|
|
429196
429403
|
__export(exports_model2, {
|
|
429197
|
-
call: () =>
|
|
429404
|
+
call: () => call65
|
|
429198
429405
|
});
|
|
429199
429406
|
function ModelPickerWrapper(t0) {
|
|
429200
429407
|
const $2 = c3(17);
|
|
@@ -429442,7 +429649,7 @@ function renderModelLabel(model) {
|
|
|
429442
429649
|
const rendered = renderDefaultModelSetting(model ?? getDefaultMainLoopModelSetting());
|
|
429443
429650
|
return model === null ? `${rendered} (default)` : rendered;
|
|
429444
429651
|
}
|
|
429445
|
-
var React109, jsx_dev_runtime339,
|
|
429652
|
+
var React109, jsx_dev_runtime339, call65 = async (onDone, _context, args) => {
|
|
429446
429653
|
args = args?.trim() || "";
|
|
429447
429654
|
if (COMMON_INFO_ARGS.includes(args)) {
|
|
429448
429655
|
logEvent("tengu_model_command_inline_help", {
|
|
@@ -429509,7 +429716,7 @@ var init_model3 = __esm(() => {
|
|
|
429509
429716
|
// src/commands/tag/tag.tsx
|
|
429510
429717
|
var exports_tag = {};
|
|
429511
429718
|
__export(exports_tag, {
|
|
429512
|
-
call: () =>
|
|
429719
|
+
call: () => call66
|
|
429513
429720
|
});
|
|
429514
429721
|
function ConfirmRemoveTag(t0) {
|
|
429515
429722
|
const $2 = c3(11);
|
|
@@ -429733,7 +429940,7 @@ Examples:
|
|
|
429733
429940
|
React110.useEffect(t1, t2);
|
|
429734
429941
|
return null;
|
|
429735
429942
|
}
|
|
429736
|
-
async function
|
|
429943
|
+
async function call66(onDone, _context, args) {
|
|
429737
429944
|
args = args?.trim() || "";
|
|
429738
429945
|
if (COMMON_INFO_ARGS.includes(args) || COMMON_HELP_ARGS.includes(args)) {
|
|
429739
429946
|
return /* @__PURE__ */ jsx_dev_runtime340.jsxDEV(ShowHelp, {
|
|
@@ -429780,9 +429987,9 @@ var init_tag2 = __esm(() => {
|
|
|
429780
429987
|
// src/commands/output-style/output-style.tsx
|
|
429781
429988
|
var exports_output_style = {};
|
|
429782
429989
|
__export(exports_output_style, {
|
|
429783
|
-
call: () =>
|
|
429990
|
+
call: () => call67
|
|
429784
429991
|
});
|
|
429785
|
-
async function
|
|
429992
|
+
async function call67(onDone) {
|
|
429786
429993
|
onDone("/output-style has been deprecated. Use /config to change your output style, or set it in your settings file. Changes take effect on the next session.", {
|
|
429787
429994
|
display: "system"
|
|
429788
429995
|
});
|
|
@@ -429804,7 +430011,7 @@ var init_output_style = __esm(() => {
|
|
|
429804
430011
|
// src/commands/provider/provider.tsx
|
|
429805
430012
|
var exports_provider = {};
|
|
429806
430013
|
__export(exports_provider, {
|
|
429807
|
-
call: () =>
|
|
430014
|
+
call: () => call68
|
|
429808
430015
|
});
|
|
429809
430016
|
function formatProviderSavedMessage(config2) {
|
|
429810
430017
|
const providerLabel = getLocalLLMProviderLabel(config2.provider);
|
|
@@ -429818,7 +430025,7 @@ function formatProviderSavedMessage(config2) {
|
|
|
429818
430025
|
].join(`
|
|
429819
430026
|
`);
|
|
429820
430027
|
}
|
|
429821
|
-
var jsx_dev_runtime341,
|
|
430028
|
+
var jsx_dev_runtime341, call68 = async (onDone) => {
|
|
429822
430029
|
const config2 = getGlobalConfig();
|
|
429823
430030
|
function handleComplete(nextConfig) {
|
|
429824
430031
|
saveGlobalConfig((current) => ({
|
|
@@ -430374,9 +430581,9 @@ var init_RemoteEnvironmentDialog = __esm(() => {
|
|
|
430374
430581
|
// src/commands/remote-env/remote-env.tsx
|
|
430375
430582
|
var exports_remote_env = {};
|
|
430376
430583
|
__export(exports_remote_env, {
|
|
430377
|
-
call: () =>
|
|
430584
|
+
call: () => call69
|
|
430378
430585
|
});
|
|
430379
|
-
async function
|
|
430586
|
+
async function call69(onDone) {
|
|
430380
430587
|
return /* @__PURE__ */ jsx_dev_runtime343.jsxDEV(RemoteEnvironmentDialog, {
|
|
430381
430588
|
onDone
|
|
430382
430589
|
}, undefined, false, undefined, this);
|
|
@@ -430456,7 +430663,7 @@ var exports_effort = {};
|
|
|
430456
430663
|
__export(exports_effort, {
|
|
430457
430664
|
showCurrentEffort: () => showCurrentEffort,
|
|
430458
430665
|
executeEffort: () => executeEffort,
|
|
430459
|
-
call: () =>
|
|
430666
|
+
call: () => call70
|
|
430460
430667
|
});
|
|
430461
430668
|
function setEffortValue(effortValue) {
|
|
430462
430669
|
const persistable = toPersistableEffort(effortValue);
|
|
@@ -430607,7 +430814,7 @@ function ApplyEffortAndClose(t0) {
|
|
|
430607
430814
|
React111.useEffect(t1, t2);
|
|
430608
430815
|
return null;
|
|
430609
430816
|
}
|
|
430610
|
-
async function
|
|
430817
|
+
async function call70(onDone, _context, args) {
|
|
430611
430818
|
args = args?.trim() || "";
|
|
430612
430819
|
if (COMMON_HELP_ARGS2.includes(args)) {
|
|
430613
430820
|
onDone(`Usage: /effort [low|medium|high|max|auto]
|
|
@@ -433439,9 +433646,9 @@ var init_Stats = __esm(() => {
|
|
|
433439
433646
|
// src/commands/stats/stats.tsx
|
|
433440
433647
|
var exports_stats = {};
|
|
433441
433648
|
__export(exports_stats, {
|
|
433442
|
-
call: () =>
|
|
433649
|
+
call: () => call71
|
|
433443
433650
|
});
|
|
433444
|
-
var jsx_dev_runtime346,
|
|
433651
|
+
var jsx_dev_runtime346, call71 = async (onDone) => {
|
|
433445
433652
|
return /* @__PURE__ */ jsx_dev_runtime346.jsxDEV(Stats2, {
|
|
433446
433653
|
onClose: onDone
|
|
433447
433654
|
}, undefined, false, undefined, this);
|
|
@@ -434966,7 +435173,7 @@ function generateHtmlReport(data, insights) {
|
|
|
434966
435173
|
</html>`;
|
|
434967
435174
|
}
|
|
434968
435175
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
434969
|
-
const version2 = typeof MACRO !== "undefined" ? "1.2.
|
|
435176
|
+
const version2 = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
|
|
434970
435177
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
434971
435178
|
const facets_summary = {
|
|
434972
435179
|
total: facets.size,
|
|
@@ -435913,6 +436120,7 @@ var init_commands2 = __esm(() => {
|
|
|
435913
436120
|
init_heartbeat2();
|
|
435914
436121
|
init_sysprompt2();
|
|
435915
436122
|
init_ctx2();
|
|
436123
|
+
init_contextsize_index();
|
|
435916
436124
|
init_research2();
|
|
435917
436125
|
init_thinkharder2();
|
|
435918
436126
|
init_thinknormal_index();
|
|
@@ -436048,6 +436256,7 @@ var init_commands2 = __esm(() => {
|
|
|
436048
436256
|
copy_default,
|
|
436049
436257
|
context6,
|
|
436050
436258
|
contextNonInteractive,
|
|
436259
|
+
contextsize_index_default,
|
|
436051
436260
|
cost_default,
|
|
436052
436261
|
diff_default,
|
|
436053
436262
|
director_default,
|
|
@@ -439112,7 +439321,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
439112
439321
|
init_settings2();
|
|
439113
439322
|
init_slowOperations();
|
|
439114
439323
|
init_uuid();
|
|
439115
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.2.
|
|
439324
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
|
|
439116
439325
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
439117
439326
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
439118
439327
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -440314,7 +440523,7 @@ var init_filesystem = __esm(() => {
|
|
|
440314
440523
|
});
|
|
440315
440524
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
440316
440525
|
const nonce = randomBytes19(16).toString("hex");
|
|
440317
|
-
return join129(getClaudeTempDir(), "bundled-skills", "1.2.
|
|
440526
|
+
return join129(getClaudeTempDir(), "bundled-skills", "1.2.2", nonce);
|
|
440318
440527
|
});
|
|
440319
440528
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
440320
440529
|
});
|
|
@@ -449599,7 +449808,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
449599
449808
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
449600
449809
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
449601
449810
|
betas: getSdkBetas(),
|
|
449602
|
-
claude_code_version: "1.2.
|
|
449811
|
+
claude_code_version: "1.2.2",
|
|
449603
449812
|
output_style: outputStyle2,
|
|
449604
449813
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
449605
449814
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -464178,7 +464387,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
464178
464387
|
function getSemverPart(version2) {
|
|
464179
464388
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
464180
464389
|
}
|
|
464181
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.2.
|
|
464390
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.2.2") {
|
|
464182
464391
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
464183
464392
|
if (!updatedVersion) {
|
|
464184
464393
|
return null;
|
|
@@ -464218,7 +464427,7 @@ function AutoUpdater({
|
|
|
464218
464427
|
return;
|
|
464219
464428
|
}
|
|
464220
464429
|
if (false) {}
|
|
464221
|
-
const currentVersion = "1.2.
|
|
464430
|
+
const currentVersion = "1.2.2";
|
|
464222
464431
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
464223
464432
|
let latestVersion = await getLatestVersion(channel);
|
|
464224
464433
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -464429,12 +464638,12 @@ function NativeAutoUpdater({
|
|
|
464429
464638
|
logEvent("tengu_native_auto_updater_start", {});
|
|
464430
464639
|
try {
|
|
464431
464640
|
const maxVersion = await getMaxVersion();
|
|
464432
|
-
if (maxVersion && gt("1.2.
|
|
464641
|
+
if (maxVersion && gt("1.2.2", maxVersion)) {
|
|
464433
464642
|
const msg = await getMaxVersionMessage();
|
|
464434
464643
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
464435
464644
|
}
|
|
464436
464645
|
const result = await installLatest(channel);
|
|
464437
|
-
const currentVersion = "1.2.
|
|
464646
|
+
const currentVersion = "1.2.2";
|
|
464438
464647
|
const latencyMs = Date.now() - startTime;
|
|
464439
464648
|
if (result.lockFailed) {
|
|
464440
464649
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -464569,17 +464778,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
464569
464778
|
const maxVersion = await getMaxVersion();
|
|
464570
464779
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
464571
464780
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
464572
|
-
if (gte("1.2.
|
|
464573
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.
|
|
464781
|
+
if (gte("1.2.2", maxVersion)) {
|
|
464782
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
464574
464783
|
setUpdateAvailable(false);
|
|
464575
464784
|
return;
|
|
464576
464785
|
}
|
|
464577
464786
|
latest = maxVersion;
|
|
464578
464787
|
}
|
|
464579
|
-
const hasUpdate = latest && !gte("1.2.
|
|
464788
|
+
const hasUpdate = latest && !gte("1.2.2", latest) && !shouldSkipVersion(latest);
|
|
464580
464789
|
setUpdateAvailable(!!hasUpdate);
|
|
464581
464790
|
if (hasUpdate) {
|
|
464582
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.
|
|
464791
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.2"} -> ${latest}`);
|
|
464583
464792
|
}
|
|
464584
464793
|
};
|
|
464585
464794
|
$2[0] = t1;
|
|
@@ -464613,7 +464822,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
464613
464822
|
wrap: "truncate",
|
|
464614
464823
|
children: [
|
|
464615
464824
|
"currentVersion: ",
|
|
464616
|
-
"1.2.
|
|
464825
|
+
"1.2.2"
|
|
464617
464826
|
]
|
|
464618
464827
|
}, undefined, true, undefined, this);
|
|
464619
464828
|
$2[3] = verbose;
|
|
@@ -468434,7 +468643,7 @@ function useTypeahead({
|
|
|
468434
468643
|
const debouncedFetchSlackChannels = useDebounceCallback(fetchSlackChannels, 150);
|
|
468435
468644
|
const updateSuggestions = import_react227.useCallback(async (value, inputCursorOffset) => {
|
|
468436
468645
|
const effectiveCursorOffset = inputCursorOffset ?? cursorOffsetRef.current;
|
|
468437
|
-
if (suppressSuggestions) {
|
|
468646
|
+
if (suppressSuggestions && !(mode === "prompt" && isCommandInput(value))) {
|
|
468438
468647
|
debouncedFetchFileSuggestions.cancel();
|
|
468439
468648
|
clearSuggestions();
|
|
468440
468649
|
return;
|
|
@@ -472171,7 +472380,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
472171
472380
|
project_dir: getOriginalCwd(),
|
|
472172
472381
|
added_dirs: addedDirs
|
|
472173
472382
|
},
|
|
472174
|
-
version: "1.2.
|
|
472383
|
+
version: "1.2.2",
|
|
472175
472384
|
output_style: {
|
|
472176
472385
|
name: outputStyleName
|
|
472177
472386
|
},
|
|
@@ -479380,6 +479589,9 @@ function CancelRequestHandler(props) {
|
|
|
479380
479589
|
if (abortSignal !== undefined && !abortSignal.aborted) {
|
|
479381
479590
|
logEvent("tengu_cancel", cancelProps);
|
|
479382
479591
|
setToolUseConfirmQueue(() => []);
|
|
479592
|
+
if (hasCommandsInQueue()) {
|
|
479593
|
+
globalStopSignal.set(true);
|
|
479594
|
+
}
|
|
479383
479595
|
onCancel();
|
|
479384
479596
|
return;
|
|
479385
479597
|
}
|
|
@@ -479501,6 +479713,7 @@ var init_useCancelRequest = __esm(() => {
|
|
|
479501
479713
|
init_teammateViewHelpers();
|
|
479502
479714
|
init_LocalAgentTask();
|
|
479503
479715
|
init_messageQueueManager();
|
|
479716
|
+
init_telegramSignals();
|
|
479504
479717
|
init_sdkEventQueue();
|
|
479505
479718
|
import_react260 = __toESM(require_react(), 1);
|
|
479506
479719
|
});
|
|
@@ -483739,7 +483952,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
483739
483952
|
} catch {}
|
|
483740
483953
|
const data = {
|
|
483741
483954
|
trigger,
|
|
483742
|
-
version: "1.2.
|
|
483955
|
+
version: "1.2.2",
|
|
483743
483956
|
platform: process.platform,
|
|
483744
483957
|
transcript,
|
|
483745
483958
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -500204,7 +500417,7 @@ function appendToLog(path17, message) {
|
|
|
500204
500417
|
cwd: getFsImplementation().cwd(),
|
|
500205
500418
|
userType: process.env.USER_TYPE,
|
|
500206
500419
|
sessionId: getSessionId(),
|
|
500207
|
-
version: "1.2.
|
|
500420
|
+
version: "1.2.2"
|
|
500208
500421
|
};
|
|
500209
500422
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
500210
500423
|
}
|
|
@@ -504203,8 +504416,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
504203
504416
|
}
|
|
504204
504417
|
async function checkEnvLessBridgeMinVersion() {
|
|
504205
504418
|
const cfg = await getEnvLessBridgeConfig();
|
|
504206
|
-
if (cfg.min_version && lt("1.2.
|
|
504207
|
-
return `Your version of localclawd (${"1.2.
|
|
504419
|
+
if (cfg.min_version && lt("1.2.2", cfg.min_version)) {
|
|
504420
|
+
return `Your version of localclawd (${"1.2.2"}) is too old for Remote Control.
|
|
504208
504421
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
504209
504422
|
}
|
|
504210
504423
|
return null;
|
|
@@ -504676,7 +504889,7 @@ async function initBridgeCore(params) {
|
|
|
504676
504889
|
const rawApi = createBridgeApiClient({
|
|
504677
504890
|
baseUrl,
|
|
504678
504891
|
getAccessToken,
|
|
504679
|
-
runnerVersion: "1.2.
|
|
504892
|
+
runnerVersion: "1.2.2",
|
|
504680
504893
|
onDebug: logForDebugging,
|
|
504681
504894
|
onAuth401,
|
|
504682
504895
|
getTrustedDeviceToken
|
|
@@ -510395,7 +510608,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
510395
510608
|
setCwd(cwd3);
|
|
510396
510609
|
const server = new Server({
|
|
510397
510610
|
name: "claude/tengu",
|
|
510398
|
-
version: "1.2.
|
|
510611
|
+
version: "1.2.2"
|
|
510399
510612
|
}, {
|
|
510400
510613
|
capabilities: {
|
|
510401
510614
|
tools: {}
|
|
@@ -511476,7 +511689,7 @@ function WelcomeLogo() {
|
|
|
511476
511689
|
dimColor: true,
|
|
511477
511690
|
children: [
|
|
511478
511691
|
"v",
|
|
511479
|
-
"1.2.
|
|
511692
|
+
"1.2.2"
|
|
511480
511693
|
]
|
|
511481
511694
|
}, undefined, true, undefined, this)
|
|
511482
511695
|
]
|
|
@@ -511667,7 +511880,7 @@ __export(exports_update, {
|
|
|
511667
511880
|
});
|
|
511668
511881
|
async function update() {
|
|
511669
511882
|
logEvent("tengu_update_check", {});
|
|
511670
|
-
writeToStdout(`Current version: ${"1.2.
|
|
511883
|
+
writeToStdout(`Current version: ${"1.2.2"}
|
|
511671
511884
|
`);
|
|
511672
511885
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
511673
511886
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -511742,8 +511955,8 @@ async function update() {
|
|
|
511742
511955
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
511743
511956
|
`);
|
|
511744
511957
|
const latest = await getLatestVersion(channel);
|
|
511745
|
-
if (latest && !gte("1.2.
|
|
511746
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511958
|
+
if (latest && !gte("1.2.2", latest)) {
|
|
511959
|
+
writeToStdout(`Update available: ${"1.2.2"} → ${latest}
|
|
511747
511960
|
`);
|
|
511748
511961
|
writeToStdout(`
|
|
511749
511962
|
`);
|
|
@@ -511759,8 +511972,8 @@ async function update() {
|
|
|
511759
511972
|
writeToStdout(`localclawd is managed by winget.
|
|
511760
511973
|
`);
|
|
511761
511974
|
const latest = await getLatestVersion(channel);
|
|
511762
|
-
if (latest && !gte("1.2.
|
|
511763
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511975
|
+
if (latest && !gte("1.2.2", latest)) {
|
|
511976
|
+
writeToStdout(`Update available: ${"1.2.2"} → ${latest}
|
|
511764
511977
|
`);
|
|
511765
511978
|
writeToStdout(`
|
|
511766
511979
|
`);
|
|
@@ -511774,8 +511987,8 @@ async function update() {
|
|
|
511774
511987
|
writeToStdout(`localclawd is managed by apk.
|
|
511775
511988
|
`);
|
|
511776
511989
|
const latest = await getLatestVersion(channel);
|
|
511777
|
-
if (latest && !gte("1.2.
|
|
511778
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511990
|
+
if (latest && !gte("1.2.2", latest)) {
|
|
511991
|
+
writeToStdout(`Update available: ${"1.2.2"} → ${latest}
|
|
511779
511992
|
`);
|
|
511780
511993
|
writeToStdout(`
|
|
511781
511994
|
`);
|
|
@@ -511840,11 +512053,11 @@ async function update() {
|
|
|
511840
512053
|
`);
|
|
511841
512054
|
await gracefulShutdown(1);
|
|
511842
512055
|
}
|
|
511843
|
-
if (result.latestVersion === "1.2.
|
|
511844
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.
|
|
512056
|
+
if (result.latestVersion === "1.2.2") {
|
|
512057
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.2"})`) + `
|
|
511845
512058
|
`);
|
|
511846
512059
|
} else {
|
|
511847
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.2.
|
|
512060
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.2.2"} to version ${result.latestVersion}`) + `
|
|
511848
512061
|
`);
|
|
511849
512062
|
await regenerateCompletionCache();
|
|
511850
512063
|
}
|
|
@@ -511904,12 +512117,12 @@ async function update() {
|
|
|
511904
512117
|
`);
|
|
511905
512118
|
await gracefulShutdown(1);
|
|
511906
512119
|
}
|
|
511907
|
-
if (latestVersion === "1.2.
|
|
511908
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.
|
|
512120
|
+
if (latestVersion === "1.2.2") {
|
|
512121
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.2"})`) + `
|
|
511909
512122
|
`);
|
|
511910
512123
|
await gracefulShutdown(0);
|
|
511911
512124
|
}
|
|
511912
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.
|
|
512125
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.2"})
|
|
511913
512126
|
`);
|
|
511914
512127
|
writeToStdout(`Installing update...
|
|
511915
512128
|
`);
|
|
@@ -511954,7 +512167,7 @@ async function update() {
|
|
|
511954
512167
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
511955
512168
|
switch (status2) {
|
|
511956
512169
|
case "success":
|
|
511957
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.2.
|
|
512170
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.2.2"} to version ${latestVersion}`) + `
|
|
511958
512171
|
`);
|
|
511959
512172
|
await regenerateCompletionCache();
|
|
511960
512173
|
break;
|
|
@@ -513196,7 +513409,7 @@ Run with --debug for more details.
|
|
|
513196
513409
|
}
|
|
513197
513410
|
}
|
|
513198
513411
|
logForDiagnosticsNoPII("info", "started", {
|
|
513199
|
-
version: "1.2.
|
|
513412
|
+
version: "1.2.2",
|
|
513200
513413
|
is_native_binary: isInBundledMode()
|
|
513201
513414
|
});
|
|
513202
513415
|
registerCleanup(async () => {
|
|
@@ -513980,7 +514193,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
513980
514193
|
pendingHookMessages
|
|
513981
514194
|
}, renderAndRun);
|
|
513982
514195
|
}
|
|
513983
|
-
}).version("1.2.
|
|
514196
|
+
}).version("1.2.2 (localclawd)", "-v, --version", "Output the version number");
|
|
513984
514197
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
513985
514198
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
513986
514199
|
if (canUserConfigureAdvisor()) {
|
|
@@ -514480,7 +514693,7 @@ if (false) {}
|
|
|
514480
514693
|
async function main2() {
|
|
514481
514694
|
const args = process.argv.slice(2);
|
|
514482
514695
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
514483
|
-
console.log(`${"1.2.
|
|
514696
|
+
console.log(`${"1.2.2"} (localclawd)`);
|
|
514484
514697
|
return;
|
|
514485
514698
|
}
|
|
514486
514699
|
const {
|
|
@@ -514563,4 +514776,4 @@ localclawd crashed: ${msg}
|
|
|
514563
514776
|
process.exit(1);
|
|
514564
514777
|
});
|
|
514565
514778
|
|
|
514566
|
-
//# debugId=
|
|
514779
|
+
//# debugId=38E1293AFF56160C64756E2164756E21
|