localclawd 1.2.0 → 1.2.1
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 +248 -133
- 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.1"}`;
|
|
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.1"} (${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.1"}${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.1"}.${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.1".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.1",
|
|
147024
147024
|
versionBase: getVersionBase(),
|
|
147025
|
-
buildTime: "2026-04-
|
|
147025
|
+
buildTime: "2026-04-15T02:12:12.680Z",
|
|
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.1";
|
|
179505
179505
|
}
|
|
179506
179506
|
const oauthAccount = getOauthAccountInfo();
|
|
179507
179507
|
if (oauthAccount) {
|
|
@@ -180397,7 +180397,8 @@ 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);
|
|
@@ -180627,6 +180628,39 @@ function objectGroupBy(items, keySelector) {
|
|
|
180627
180628
|
}
|
|
180628
180629
|
|
|
180629
180630
|
// src/utils/messageQueueManager.ts
|
|
180631
|
+
var exports_messageQueueManager = {};
|
|
180632
|
+
__export(exports_messageQueueManager, {
|
|
180633
|
+
subscribeToPendingNotifications: () => subscribeToPendingNotifications,
|
|
180634
|
+
subscribeToCommandQueue: () => subscribeToCommandQueue,
|
|
180635
|
+
resetPendingNotifications: () => resetPendingNotifications,
|
|
180636
|
+
resetCommandQueue: () => resetCommandQueue,
|
|
180637
|
+
removeByFilter: () => removeByFilter,
|
|
180638
|
+
remove: () => remove,
|
|
180639
|
+
recheckPendingNotifications: () => recheckPendingNotifications,
|
|
180640
|
+
recheckCommandQueue: () => recheckCommandQueue,
|
|
180641
|
+
popAllEditable: () => popAllEditable,
|
|
180642
|
+
peek: () => peek,
|
|
180643
|
+
isSlashCommand: () => isSlashCommand,
|
|
180644
|
+
isQueuedCommandVisible: () => isQueuedCommandVisible,
|
|
180645
|
+
isQueuedCommandEditable: () => isQueuedCommandEditable,
|
|
180646
|
+
isPromptInputModeEditable: () => isPromptInputModeEditable,
|
|
180647
|
+
hasPendingNotifications: () => hasPendingNotifications,
|
|
180648
|
+
hasCommandsInQueue: () => hasCommandsInQueue,
|
|
180649
|
+
getPendingNotificationsSnapshot: () => getPendingNotificationsSnapshot,
|
|
180650
|
+
getPendingNotificationsCount: () => getPendingNotificationsCount,
|
|
180651
|
+
getCommandsByMaxPriority: () => getCommandsByMaxPriority,
|
|
180652
|
+
getCommandQueueSnapshot: () => getCommandQueueSnapshot,
|
|
180653
|
+
getCommandQueueLength: () => getCommandQueueLength,
|
|
180654
|
+
getCommandQueue: () => getCommandQueue,
|
|
180655
|
+
enqueuePendingNotification: () => enqueuePendingNotification,
|
|
180656
|
+
enqueue: () => enqueue,
|
|
180657
|
+
dequeuePendingNotification: () => dequeuePendingNotification,
|
|
180658
|
+
dequeueAllMatching: () => dequeueAllMatching,
|
|
180659
|
+
dequeueAll: () => dequeueAll,
|
|
180660
|
+
dequeue: () => dequeue,
|
|
180661
|
+
clearPendingNotifications: () => clearPendingNotifications,
|
|
180662
|
+
clearCommandQueue: () => clearCommandQueue
|
|
180663
|
+
});
|
|
180630
180664
|
function logOperation(operation, content) {
|
|
180631
180665
|
const sessionId = getSessionId();
|
|
180632
180666
|
const queueOp = {
|
|
@@ -180654,6 +180688,11 @@ function getCommandQueueLength() {
|
|
|
180654
180688
|
function hasCommandsInQueue() {
|
|
180655
180689
|
return commandQueue.length > 0;
|
|
180656
180690
|
}
|
|
180691
|
+
function recheckCommandQueue() {
|
|
180692
|
+
if (commandQueue.length > 0) {
|
|
180693
|
+
notifySubscribers();
|
|
180694
|
+
}
|
|
180695
|
+
}
|
|
180657
180696
|
function enqueue(command) {
|
|
180658
180697
|
commandQueue.push({ ...command, priority: command.priority ?? "next" });
|
|
180659
180698
|
notifySubscribers();
|
|
@@ -180687,6 +180726,18 @@ function dequeue(filter2) {
|
|
|
180687
180726
|
logOperation("dequeue");
|
|
180688
180727
|
return dequeued;
|
|
180689
180728
|
}
|
|
180729
|
+
function dequeueAll() {
|
|
180730
|
+
if (commandQueue.length === 0) {
|
|
180731
|
+
return [];
|
|
180732
|
+
}
|
|
180733
|
+
const commands = [...commandQueue];
|
|
180734
|
+
commandQueue.length = 0;
|
|
180735
|
+
notifySubscribers();
|
|
180736
|
+
for (const _cmd of commands) {
|
|
180737
|
+
logOperation("dequeue");
|
|
180738
|
+
}
|
|
180739
|
+
return commands;
|
|
180740
|
+
}
|
|
180690
180741
|
function peek(filter2) {
|
|
180691
180742
|
if (commandQueue.length === 0) {
|
|
180692
180743
|
return;
|
|
@@ -180767,6 +180818,10 @@ function clearCommandQueue() {
|
|
|
180767
180818
|
commandQueue.length = 0;
|
|
180768
180819
|
notifySubscribers();
|
|
180769
180820
|
}
|
|
180821
|
+
function resetCommandQueue() {
|
|
180822
|
+
commandQueue.length = 0;
|
|
180823
|
+
snapshot = Object.freeze([]);
|
|
180824
|
+
}
|
|
180770
180825
|
function isPromptInputModeEditable(mode) {
|
|
180771
180826
|
return !NON_EDITABLE_MODES.has(mode);
|
|
180772
180827
|
}
|
|
@@ -180837,6 +180892,12 @@ function popAllEditable(currentInput, currentCursorOffset) {
|
|
|
180837
180892
|
notifySubscribers();
|
|
180838
180893
|
return { text: newInput, cursorOffset, images };
|
|
180839
180894
|
}
|
|
180895
|
+
function getPendingNotificationsSnapshot() {
|
|
180896
|
+
return snapshot;
|
|
180897
|
+
}
|
|
180898
|
+
function dequeuePendingNotification() {
|
|
180899
|
+
return dequeue();
|
|
180900
|
+
}
|
|
180840
180901
|
function getCommandsByMaxPriority(maxPriority) {
|
|
180841
180902
|
const threshold = PRIORITY_ORDER[maxPriority];
|
|
180842
180903
|
return commandQueue.filter((cmd) => PRIORITY_ORDER[cmd.priority ?? "next"] <= threshold);
|
|
@@ -180844,7 +180905,7 @@ function getCommandsByMaxPriority(maxPriority) {
|
|
|
180844
180905
|
function isSlashCommand(cmd) {
|
|
180845
180906
|
return typeof cmd.value === "string" && cmd.value.trim().startsWith("/") && !cmd.skipSlashCommands;
|
|
180846
180907
|
}
|
|
180847
|
-
var commandQueue, snapshot, queueChanged, subscribeToCommandQueue, PRIORITY_ORDER, NON_EDITABLE_MODES;
|
|
180908
|
+
var commandQueue, snapshot, queueChanged, subscribeToCommandQueue, PRIORITY_ORDER, NON_EDITABLE_MODES, subscribeToPendingNotifications, hasPendingNotifications, getPendingNotificationsCount, recheckPendingNotifications, resetPendingNotifications, clearPendingNotifications;
|
|
180848
180909
|
var init_messageQueueManager = __esm(() => {
|
|
180849
180910
|
init_state();
|
|
180850
180911
|
init_messages3();
|
|
@@ -180861,6 +180922,12 @@ var init_messageQueueManager = __esm(() => {
|
|
|
180861
180922
|
NON_EDITABLE_MODES = new Set([
|
|
180862
180923
|
"task-notification"
|
|
180863
180924
|
]);
|
|
180925
|
+
subscribeToPendingNotifications = subscribeToCommandQueue;
|
|
180926
|
+
hasPendingNotifications = hasCommandsInQueue;
|
|
180927
|
+
getPendingNotificationsCount = getCommandQueueLength;
|
|
180928
|
+
recheckPendingNotifications = recheckCommandQueue;
|
|
180929
|
+
resetPendingNotifications = resetCommandQueue;
|
|
180930
|
+
clearPendingNotifications = clearCommandQueue;
|
|
180864
180931
|
});
|
|
180865
180932
|
|
|
180866
180933
|
// src/utils/commandLifecycle.ts
|
|
@@ -233943,6 +234010,7 @@ var init_stdio2 = __esm(() => {
|
|
|
233943
234010
|
// node_modules/eventsource-parser/dist/stream.js
|
|
233944
234011
|
var EventSourceParserStream;
|
|
233945
234012
|
var init_stream = __esm(() => {
|
|
234013
|
+
init_dist4();
|
|
233946
234014
|
init_dist4();
|
|
233947
234015
|
EventSourceParserStream = class EventSourceParserStream extends TransformStream {
|
|
233948
234016
|
constructor({ onError, onRetry, onComment } = {}) {
|
|
@@ -242225,7 +242293,7 @@ function getInstallationEnv() {
|
|
|
242225
242293
|
return;
|
|
242226
242294
|
}
|
|
242227
242295
|
function getClaudeCodeVersion() {
|
|
242228
|
-
return "1.2.
|
|
242296
|
+
return "1.2.1";
|
|
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.1",
|
|
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.1",
|
|
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.1");
|
|
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.1");
|
|
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.1",
|
|
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.1");
|
|
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.1"
|
|
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.1");
|
|
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.1");
|
|
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.1");
|
|
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.1" : "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.1", maxVersion)) {
|
|
286432
|
+
logForDebugging(`Native installer: current version ${"1.2.1"} 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.1" && 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-15T02:12:12.680Z").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.1",
|
|
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.1"
|
|
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.1"}
|
|
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.1"
|
|
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.1",
|
|
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.1";
|
|
366628
366695
|
}
|
|
366629
366696
|
updateSettingsForSource("userSettings", newSettings);
|
|
366630
366697
|
setSettingsData((prev_27) => ({
|
|
@@ -372902,6 +372969,19 @@ var init_telegramKill = __esm(() => {
|
|
|
372902
372969
|
});
|
|
372903
372970
|
|
|
372904
372971
|
// src/services/telegram/telegramBot.ts
|
|
372972
|
+
var exports_telegramBot = {};
|
|
372973
|
+
__export(exports_telegramBot, {
|
|
372974
|
+
validateTelegramToken: () => validateTelegramToken,
|
|
372975
|
+
stopTelegram: () => stopTelegram,
|
|
372976
|
+
sendTelegramMessage: () => sendTelegramMessage,
|
|
372977
|
+
onTelegramMessage: () => onTelegramMessage,
|
|
372978
|
+
isTelegramConfigured: () => isTelegramConfigured,
|
|
372979
|
+
isTelegramActive: () => isTelegramActive,
|
|
372980
|
+
initTelegramWithCredentials: () => initTelegramWithCredentials,
|
|
372981
|
+
initTelegram: () => initTelegram,
|
|
372982
|
+
getTelegramChatId: () => getTelegramChatId,
|
|
372983
|
+
getPendingTelegramMessage: () => getPendingTelegramMessage
|
|
372984
|
+
});
|
|
372905
372985
|
async function api(method, body = {}) {
|
|
372906
372986
|
const url3 = `https://api.telegram.org/bot${_token}/${method}`;
|
|
372907
372987
|
const res = await fetch(url3, {
|
|
@@ -372941,6 +373021,14 @@ async function sendTelegramMessage(text) {
|
|
|
372941
373021
|
function getPendingTelegramMessage() {
|
|
372942
373022
|
return _queue.shift() ?? null;
|
|
372943
373023
|
}
|
|
373024
|
+
function onTelegramMessage(cb) {
|
|
373025
|
+
_listeners.push(cb);
|
|
373026
|
+
return () => {
|
|
373027
|
+
const i2 = _listeners.indexOf(cb);
|
|
373028
|
+
if (i2 !== -1)
|
|
373029
|
+
_listeners.splice(i2, 1);
|
|
373030
|
+
};
|
|
373031
|
+
}
|
|
372944
373032
|
function getTelegramChatId() {
|
|
372945
373033
|
return _chatId;
|
|
372946
373034
|
}
|
|
@@ -373024,6 +373112,9 @@ Ready to receive commands.`);
|
|
|
373024
373112
|
logForDebugging(`[telegram] Init failed: ${e}`, { level: "warn" });
|
|
373025
373113
|
}
|
|
373026
373114
|
}
|
|
373115
|
+
function stopTelegram() {
|
|
373116
|
+
_polling = false;
|
|
373117
|
+
}
|
|
373027
373118
|
async function pollLoop() {
|
|
373028
373119
|
while (_polling) {
|
|
373029
373120
|
try {
|
|
@@ -373038,7 +373129,7 @@ async function pollLoop() {
|
|
|
373038
373129
|
}
|
|
373039
373130
|
for (const update of resp.result) {
|
|
373040
373131
|
_lastUpdateId = Math.max(_lastUpdateId, update.update_id);
|
|
373041
|
-
handleUpdate(update);
|
|
373132
|
+
await handleUpdate(update);
|
|
373042
373133
|
}
|
|
373043
373134
|
} catch (e) {
|
|
373044
373135
|
if (_polling) {
|
|
@@ -373048,7 +373139,7 @@ async function pollLoop() {
|
|
|
373048
373139
|
}
|
|
373049
373140
|
}
|
|
373050
373141
|
}
|
|
373051
|
-
function handleUpdate(update) {
|
|
373142
|
+
async function handleUpdate(update) {
|
|
373052
373143
|
const msg = update.message;
|
|
373053
373144
|
if (!msg?.text)
|
|
373054
373145
|
return;
|
|
@@ -373073,7 +373164,18 @@ function handleUpdate(update) {
|
|
|
373073
373164
|
});
|
|
373074
373165
|
return;
|
|
373075
373166
|
}
|
|
373076
|
-
|
|
373167
|
+
if (isDirectorActive()) {
|
|
373168
|
+
_queue.push(text);
|
|
373169
|
+
} else {
|
|
373170
|
+
sendTelegramMessage(`Starting director mode: ${text.slice(0, 100)}...`);
|
|
373171
|
+
try {
|
|
373172
|
+
const { enqueue: enqueue2 } = await Promise.resolve().then(() => (init_messageQueueManager(), exports_messageQueueManager));
|
|
373173
|
+
enqueue2({ value: `/director ${text}`, mode: "prompt", priority: "now" });
|
|
373174
|
+
} catch (e) {
|
|
373175
|
+
_queue.push(text);
|
|
373176
|
+
logForDebugging(`[telegram] Failed to auto-start director: ${e}`);
|
|
373177
|
+
}
|
|
373178
|
+
}
|
|
373077
373179
|
for (const cb of _listeners) {
|
|
373078
373180
|
try {
|
|
373079
373181
|
cb(text);
|
|
@@ -373106,6 +373208,7 @@ var init_telegramBot = __esm(() => {
|
|
|
373106
373208
|
init_debug();
|
|
373107
373209
|
init_telegramSignals();
|
|
373108
373210
|
init_telegramKill();
|
|
373211
|
+
init_directorEngine();
|
|
373109
373212
|
_queue = [];
|
|
373110
373213
|
_listeners = [];
|
|
373111
373214
|
});
|
|
@@ -373120,6 +373223,9 @@ function getDirectorTask() {
|
|
|
373120
373223
|
function isDirectorActive() {
|
|
373121
373224
|
return _task !== "";
|
|
373122
373225
|
}
|
|
373226
|
+
function getNotifyMedium() {
|
|
373227
|
+
return _notifyMedium;
|
|
373228
|
+
}
|
|
373123
373229
|
function resetDirector() {
|
|
373124
373230
|
_round = 0;
|
|
373125
373231
|
_task = "";
|
|
@@ -373127,6 +373233,7 @@ function resetDirector() {
|
|
|
373127
373233
|
_startGitRef = "";
|
|
373128
373234
|
_projectPath = "";
|
|
373129
373235
|
_taskStartTime = 0;
|
|
373236
|
+
_notifyMedium = "desktop";
|
|
373130
373237
|
stopHeartbeat();
|
|
373131
373238
|
}
|
|
373132
373239
|
function detectStopSignal(text) {
|
|
@@ -373135,7 +373242,7 @@ function detectStopSignal(text) {
|
|
|
373135
373242
|
return label;
|
|
373136
373243
|
return null;
|
|
373137
373244
|
}
|
|
373138
|
-
async function startDirectorTask(task, projectPath, maxRounds) {
|
|
373245
|
+
async function startDirectorTask(task, projectPath, maxRounds, medium) {
|
|
373139
373246
|
const state = await loadDirectorState();
|
|
373140
373247
|
if (shouldPrune(state)) {
|
|
373141
373248
|
pruneMemory(state);
|
|
@@ -373149,6 +373256,7 @@ async function startDirectorTask(task, projectPath, maxRounds) {
|
|
|
373149
373256
|
_projectId = project.id;
|
|
373150
373257
|
_maxRounds = maxRounds ?? 20;
|
|
373151
373258
|
_projectPath = projectPath;
|
|
373259
|
+
_notifyMedium = medium ?? (isTelegramActive() ? "telegram" : "desktop");
|
|
373152
373260
|
_startGitRef = await captureGitRef(projectPath);
|
|
373153
373261
|
startHeartbeat();
|
|
373154
373262
|
const context7 = getProjectContext(state, project.id);
|
|
@@ -373216,12 +373324,17 @@ async function sendHeartbeatUpdate() {
|
|
|
373216
373324
|
Task: ${_task.slice(0, 100)}
|
|
373217
373325
|
Round: ${_round}/${isFinite(_maxRounds) ? _maxRounds : "∞"}
|
|
373218
373326
|
Elapsed: ${elapsed} min`;
|
|
373219
|
-
|
|
373220
|
-
sendTelegramMessage(msg);
|
|
373221
|
-
}
|
|
373222
|
-
sendDesktopNotification("localclawd Director", msg);
|
|
373327
|
+
await sendDirectorNotification("localclawd Director — Heartbeat", msg);
|
|
373223
373328
|
logForDebugging(`[director] Heartbeat sent at ${elapsed}min`);
|
|
373224
373329
|
}
|
|
373330
|
+
async function sendDirectorNotification(title, message) {
|
|
373331
|
+
if (_notifyMedium === "telegram" && isTelegramActive()) {
|
|
373332
|
+
sendTelegramMessage(`*${title}*
|
|
373333
|
+
${message}`);
|
|
373334
|
+
} else {
|
|
373335
|
+
sendDesktopNotification(title, message);
|
|
373336
|
+
}
|
|
373337
|
+
}
|
|
373225
373338
|
async function sendDesktopNotification(title, message) {
|
|
373226
373339
|
try {
|
|
373227
373340
|
const { execFile: execFile6 } = await import("child_process");
|
|
@@ -373325,7 +373438,7 @@ ${status}`;
|
|
|
373325
373438
|
return "Unable to generate change summary.";
|
|
373326
373439
|
}
|
|
373327
373440
|
}
|
|
373328
|
-
var _round = 0, _task = "", _projectId = "", _maxRounds = 20, _startGitRef = "", _projectPath = "", _heartbeatTimer = null, _taskStartTime = 0, STOP_PATTERNS, HEARTBEAT_INTERVAL_MS2;
|
|
373441
|
+
var _round = 0, _task = "", _projectId = "", _maxRounds = 20, _startGitRef = "", _projectPath = "", _heartbeatTimer = null, _taskStartTime = 0, _notifyMedium = "desktop", STOP_PATTERNS, HEARTBEAT_INTERVAL_MS2;
|
|
373329
373442
|
var init_directorEngine = __esm(() => {
|
|
373330
373443
|
init_directorMemoryOps();
|
|
373331
373444
|
init_debug();
|
|
@@ -373367,12 +373480,12 @@ function DirectorBanner({
|
|
|
373367
373480
|
children: [
|
|
373368
373481
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373369
373482
|
bold: true,
|
|
373370
|
-
color: "#
|
|
373483
|
+
color: "#818cf8",
|
|
373371
373484
|
children: `◆ Director [round ${roundDisplay}]${badgeStr}`
|
|
373372
373485
|
}, undefined, false, undefined, this),
|
|
373373
373486
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373374
373487
|
dimColor: true,
|
|
373375
|
-
color: "#
|
|
373488
|
+
color: "#818cf8",
|
|
373376
373489
|
children: ` ↳ Task: ${task.slice(0, 80)}${task.length > 80 ? "..." : ""}`
|
|
373377
373490
|
}, undefined, false, undefined, this)
|
|
373378
373491
|
]
|
|
@@ -373434,7 +373547,7 @@ function DirectorStatus({
|
|
|
373434
373547
|
children: [
|
|
373435
373548
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedText, {
|
|
373436
373549
|
bold: true,
|
|
373437
|
-
color: "#
|
|
373550
|
+
color: "#818cf8",
|
|
373438
373551
|
children: "◆ Director Status"
|
|
373439
373552
|
}, undefined, false, undefined, this),
|
|
373440
373553
|
/* @__PURE__ */ jsx_dev_runtime195.jsxDEV(ThemedBox_default, {
|
|
@@ -373471,11 +373584,10 @@ var React58, jsx_dev_runtime195, DEFAULT_MAX_ROUNDS = 20, call19 = async (onDone
|
|
|
373471
373584
|
}
|
|
373472
373585
|
if (task && !isDirectorActive()) {
|
|
373473
373586
|
const cwd2 = getOriginalCwd();
|
|
373474
|
-
const
|
|
373475
|
-
|
|
373476
|
-
|
|
373587
|
+
const medium = isTelegramActive() ? "telegram" : "desktop";
|
|
373588
|
+
const { prompt } = await startDirectorTask(task, cwd2, DEFAULT_MAX_ROUNDS, medium);
|
|
373589
|
+
sendDirectorNotification("Director", `Starting task:
|
|
373477
373590
|
${task.slice(0, 200)}`);
|
|
373478
|
-
}
|
|
373479
373591
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorBanner, {
|
|
373480
373592
|
round: 1,
|
|
373481
373593
|
maxRounds: DEFAULT_MAX_ROUNDS,
|
|
@@ -373494,14 +373606,12 @@ ${task.slice(0, 200)}`);
|
|
|
373494
373606
|
globalStopSignal.reset();
|
|
373495
373607
|
const round2 = getDirectorRound();
|
|
373496
373608
|
const changeSummary = await getChangeSummary();
|
|
373497
|
-
|
|
373498
|
-
if (isTelegramActive()) {
|
|
373499
|
-
const summaryMsg = changeSummary ? `
|
|
373609
|
+
const summaryMsg = changeSummary ? `
|
|
373500
373610
|
|
|
373501
373611
|
Changes:
|
|
373502
373612
|
${changeSummary}` : "";
|
|
373503
|
-
|
|
373504
|
-
|
|
373613
|
+
sendDirectorNotification("Director — Stopped", `Stopped via /stop after ${round2} rounds${summaryMsg}`);
|
|
373614
|
+
resetDirector();
|
|
373505
373615
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorDone, {
|
|
373506
373616
|
round: round2,
|
|
373507
373617
|
reason: "stopped via /stop",
|
|
@@ -373514,13 +373624,16 @@ ${changeSummary}` : "";
|
|
|
373514
373624
|
lastText = extractLastAssistantText(prev);
|
|
373515
373625
|
return prev;
|
|
373516
373626
|
});
|
|
373517
|
-
if (
|
|
373627
|
+
if (lastText.trim()) {
|
|
373518
373628
|
const round2 = getDirectorRound();
|
|
373519
373629
|
const preview = lastText.slice(0, 1200);
|
|
373520
373630
|
const suffix = lastText.length > 1200 ? `
|
|
373521
373631
|
...(truncated)` : "";
|
|
373522
|
-
|
|
373632
|
+
if (getNotifyMedium() === "telegram" && isTelegramActive()) {
|
|
373633
|
+
const { sendTelegramMessage: sendTelegramMessage2 } = await Promise.resolve().then(() => (init_telegramBot(), exports_telegramBot));
|
|
373634
|
+
sendTelegramMessage2(`Director round ${round2}:
|
|
373523
373635
|
${preview}${suffix}`);
|
|
373636
|
+
}
|
|
373524
373637
|
}
|
|
373525
373638
|
const telegramMsg = getPendingTelegramMessage();
|
|
373526
373639
|
const result = await reviewAndContinue(lastText, telegramMsg);
|
|
@@ -373528,14 +373641,12 @@ ${preview}${suffix}`);
|
|
|
373528
373641
|
const round2 = getDirectorRound();
|
|
373529
373642
|
const reason = result.reason ?? "completed";
|
|
373530
373643
|
const changeSummary = await getChangeSummary();
|
|
373531
|
-
|
|
373532
|
-
if (isTelegramActive()) {
|
|
373533
|
-
const summaryMsg = changeSummary ? `
|
|
373644
|
+
const summaryMsg = changeSummary ? `
|
|
373534
373645
|
|
|
373535
373646
|
Changes:
|
|
373536
373647
|
${changeSummary}` : "";
|
|
373537
|
-
|
|
373538
|
-
|
|
373648
|
+
sendDirectorNotification("Director — Complete", `Finished: ${reason} (${round2} rounds)${summaryMsg}`);
|
|
373649
|
+
resetDirector();
|
|
373539
373650
|
return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorDone, {
|
|
373540
373651
|
round: round2,
|
|
373541
373652
|
reason,
|
|
@@ -373861,7 +373972,7 @@ var init_keepgoing = __esm(() => {
|
|
|
373861
373972
|
STOP_PATTERNS2 = [
|
|
373862
373973
|
{ pattern: /TASK[_ ]COMPLETE:/i, label: "task complete" },
|
|
373863
373974
|
{ pattern: /NEEDS[_ ]INPUT:/i, label: "paused — needs input" },
|
|
373864
|
-
{ pattern: /\bFINISHED\b
|
|
373975
|
+
{ pattern: /\bFINISHED\b/i, label: "finished" },
|
|
373865
373976
|
{ pattern: /ALL[_ ]DONE\b/i, label: "all done" },
|
|
373866
373977
|
{ pattern: /WORK[_ ]COMPLETE:/i, label: "work complete" }
|
|
373867
373978
|
];
|
|
@@ -374995,7 +375106,7 @@ var init_thinkharder2 = __esm(() => {
|
|
|
374995
375106
|
type: "local-jsx",
|
|
374996
375107
|
name: "thinkharder",
|
|
374997
375108
|
aliases: ["th"],
|
|
374998
|
-
description: "Enable careful mode:
|
|
375109
|
+
description: "Enable careful mode: 5-phase verification pipeline (ORIENT → DRAFT → CRITIQUE → REFINE → VERIFY). Use /thinknormal to return to default.",
|
|
374999
375110
|
load: () => Promise.resolve().then(() => (init_thinkharder(), exports_thinkharder))
|
|
375000
375111
|
};
|
|
375001
375112
|
thinkharder_default = thinkharder;
|
|
@@ -375008,7 +375119,7 @@ var init_thinknormal_index = __esm(() => {
|
|
|
375008
375119
|
type: "local-jsx",
|
|
375009
375120
|
name: "thinknormal",
|
|
375010
375121
|
aliases: ["tn"],
|
|
375011
|
-
description: "Return to default pipeline. Disables /thinkharder careful mode
|
|
375122
|
+
description: "Return to default pipeline. Disables /thinkharder careful mode.",
|
|
375012
375123
|
load: async () => {
|
|
375013
375124
|
const mod = await Promise.resolve().then(() => (init_thinkharder(), exports_thinkharder));
|
|
375014
375125
|
return { call: mod.callNormal };
|
|
@@ -376669,7 +376780,7 @@ function Help(t0) {
|
|
|
376669
376780
|
let t6;
|
|
376670
376781
|
if ($2[31] !== tabs) {
|
|
376671
376782
|
t6 = /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(Tabs, {
|
|
376672
|
-
title: `localclawd v${"1.2.
|
|
376783
|
+
title: `localclawd v${"1.2.1"}`,
|
|
376673
376784
|
color: "professionalBlue",
|
|
376674
376785
|
defaultTab: "general",
|
|
376675
376786
|
children: tabs
|
|
@@ -392902,7 +393013,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
392902
393013
|
return [];
|
|
392903
393014
|
}
|
|
392904
393015
|
}
|
|
392905
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.
|
|
393016
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.1") {
|
|
392906
393017
|
if (process.env.USER_TYPE === "ant") {
|
|
392907
393018
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
392908
393019
|
if (changelog) {
|
|
@@ -392929,7 +393040,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.0") {
|
|
|
392929
393040
|
releaseNotes
|
|
392930
393041
|
};
|
|
392931
393042
|
}
|
|
392932
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.
|
|
393043
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.1") {
|
|
392933
393044
|
if (process.env.USER_TYPE === "ant") {
|
|
392934
393045
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
392935
393046
|
if (changelog) {
|
|
@@ -394187,7 +394298,7 @@ function getRecentActivitySync() {
|
|
|
394187
394298
|
return cachedActivity;
|
|
394188
394299
|
}
|
|
394189
394300
|
function getLogoDisplayData() {
|
|
394190
|
-
const version = process.env.DEMO_VERSION ?? "1.2.
|
|
394301
|
+
const version = process.env.DEMO_VERSION ?? "1.2.1";
|
|
394191
394302
|
const serverUrl = getDirectConnectServerUrl();
|
|
394192
394303
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
394193
394304
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -395294,7 +395405,7 @@ function Logo() {
|
|
|
395294
395405
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
395295
395406
|
t2 = () => {
|
|
395296
395407
|
const currentConfig = getGlobalConfig();
|
|
395297
|
-
if (currentConfig.lastReleaseNotesSeen === "1.2.
|
|
395408
|
+
if (currentConfig.lastReleaseNotesSeen === "1.2.1") {
|
|
395298
395409
|
return;
|
|
395299
395410
|
}
|
|
395300
395411
|
saveGlobalConfig(_temp326);
|
|
@@ -395953,12 +396064,12 @@ function Logo() {
|
|
|
395953
396064
|
return t41;
|
|
395954
396065
|
}
|
|
395955
396066
|
function _temp326(current) {
|
|
395956
|
-
if (current.lastReleaseNotesSeen === "1.2.
|
|
396067
|
+
if (current.lastReleaseNotesSeen === "1.2.1") {
|
|
395957
396068
|
return current;
|
|
395958
396069
|
}
|
|
395959
396070
|
return {
|
|
395960
396071
|
...current,
|
|
395961
|
-
lastReleaseNotesSeen: "1.2.
|
|
396072
|
+
lastReleaseNotesSeen: "1.2.1"
|
|
395962
396073
|
};
|
|
395963
396074
|
}
|
|
395964
396075
|
function _temp241(s_0) {
|
|
@@ -426437,7 +426548,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
426437
426548
|
smapsRollup,
|
|
426438
426549
|
platform: process.platform,
|
|
426439
426550
|
nodeVersion: process.version,
|
|
426440
|
-
ccVersion: "1.2.
|
|
426551
|
+
ccVersion: "1.2.1"
|
|
426441
426552
|
};
|
|
426442
426553
|
}
|
|
426443
426554
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -427022,7 +427133,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
427022
427133
|
var call59 = async () => {
|
|
427023
427134
|
return {
|
|
427024
427135
|
type: "text",
|
|
427025
|
-
value: `${"1.2.
|
|
427136
|
+
value: `${"1.2.1"} (built ${"2026-04-15T02:12:12.680Z"})`
|
|
427026
427137
|
};
|
|
427027
427138
|
}, version, version_default;
|
|
427028
427139
|
var init_version = __esm(() => {
|
|
@@ -434966,7 +435077,7 @@ function generateHtmlReport(data, insights) {
|
|
|
434966
435077
|
</html>`;
|
|
434967
435078
|
}
|
|
434968
435079
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
434969
|
-
const version2 = typeof MACRO !== "undefined" ? "1.2.
|
|
435080
|
+
const version2 = typeof MACRO !== "undefined" ? "1.2.1" : "unknown";
|
|
434970
435081
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
434971
435082
|
const facets_summary = {
|
|
434972
435083
|
total: facets.size,
|
|
@@ -439112,7 +439223,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
439112
439223
|
init_settings2();
|
|
439113
439224
|
init_slowOperations();
|
|
439114
439225
|
init_uuid();
|
|
439115
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.2.
|
|
439226
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.2.1" : "unknown";
|
|
439116
439227
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
439117
439228
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
439118
439229
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -440314,7 +440425,7 @@ var init_filesystem = __esm(() => {
|
|
|
440314
440425
|
});
|
|
440315
440426
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
440316
440427
|
const nonce = randomBytes19(16).toString("hex");
|
|
440317
|
-
return join129(getClaudeTempDir(), "bundled-skills", "1.2.
|
|
440428
|
+
return join129(getClaudeTempDir(), "bundled-skills", "1.2.1", nonce);
|
|
440318
440429
|
});
|
|
440319
440430
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
440320
440431
|
});
|
|
@@ -447530,9 +447641,9 @@ var require_extra_typings = __commonJS((exports, module) => {
|
|
|
447530
447641
|
});
|
|
447531
447642
|
|
|
447532
447643
|
// node_modules/@commander-js/extra-typings/esm.mjs
|
|
447533
|
-
var
|
|
447644
|
+
var import__3, program, createCommand, createArgument, createOption, CommanderError, InvalidArgumentError, InvalidOptionArgumentError, Command, Argument, Option, Help2;
|
|
447534
447645
|
var init_esm3 = __esm(() => {
|
|
447535
|
-
|
|
447646
|
+
import__3 = __toESM(require_extra_typings(), 1);
|
|
447536
447647
|
({
|
|
447537
447648
|
program,
|
|
447538
447649
|
createCommand,
|
|
@@ -447545,7 +447656,7 @@ var init_esm3 = __esm(() => {
|
|
|
447545
447656
|
Argument,
|
|
447546
447657
|
Option,
|
|
447547
447658
|
Help: Help2
|
|
447548
|
-
} =
|
|
447659
|
+
} = import__3.default);
|
|
447549
447660
|
});
|
|
447550
447661
|
|
|
447551
447662
|
// src/utils/apiPreconnect.ts
|
|
@@ -449599,7 +449710,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
449599
449710
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
449600
449711
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
449601
449712
|
betas: getSdkBetas(),
|
|
449602
|
-
claude_code_version: "1.2.
|
|
449713
|
+
claude_code_version: "1.2.1",
|
|
449603
449714
|
output_style: outputStyle2,
|
|
449604
449715
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
449605
449716
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -464178,7 +464289,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
464178
464289
|
function getSemverPart(version2) {
|
|
464179
464290
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
464180
464291
|
}
|
|
464181
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.2.
|
|
464292
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.2.1") {
|
|
464182
464293
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
464183
464294
|
if (!updatedVersion) {
|
|
464184
464295
|
return null;
|
|
@@ -464218,7 +464329,7 @@ function AutoUpdater({
|
|
|
464218
464329
|
return;
|
|
464219
464330
|
}
|
|
464220
464331
|
if (false) {}
|
|
464221
|
-
const currentVersion = "1.2.
|
|
464332
|
+
const currentVersion = "1.2.1";
|
|
464222
464333
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
464223
464334
|
let latestVersion = await getLatestVersion(channel);
|
|
464224
464335
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -464429,12 +464540,12 @@ function NativeAutoUpdater({
|
|
|
464429
464540
|
logEvent("tengu_native_auto_updater_start", {});
|
|
464430
464541
|
try {
|
|
464431
464542
|
const maxVersion = await getMaxVersion();
|
|
464432
|
-
if (maxVersion && gt("1.2.
|
|
464543
|
+
if (maxVersion && gt("1.2.1", maxVersion)) {
|
|
464433
464544
|
const msg = await getMaxVersionMessage();
|
|
464434
464545
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
464435
464546
|
}
|
|
464436
464547
|
const result = await installLatest(channel);
|
|
464437
|
-
const currentVersion = "1.2.
|
|
464548
|
+
const currentVersion = "1.2.1";
|
|
464438
464549
|
const latencyMs = Date.now() - startTime;
|
|
464439
464550
|
if (result.lockFailed) {
|
|
464440
464551
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -464569,17 +464680,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
464569
464680
|
const maxVersion = await getMaxVersion();
|
|
464570
464681
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
464571
464682
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
464572
|
-
if (gte("1.2.
|
|
464573
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.
|
|
464683
|
+
if (gte("1.2.1", maxVersion)) {
|
|
464684
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
464574
464685
|
setUpdateAvailable(false);
|
|
464575
464686
|
return;
|
|
464576
464687
|
}
|
|
464577
464688
|
latest = maxVersion;
|
|
464578
464689
|
}
|
|
464579
|
-
const hasUpdate = latest && !gte("1.2.
|
|
464690
|
+
const hasUpdate = latest && !gte("1.2.1", latest) && !shouldSkipVersion(latest);
|
|
464580
464691
|
setUpdateAvailable(!!hasUpdate);
|
|
464581
464692
|
if (hasUpdate) {
|
|
464582
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.
|
|
464693
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.1"} -> ${latest}`);
|
|
464583
464694
|
}
|
|
464584
464695
|
};
|
|
464585
464696
|
$2[0] = t1;
|
|
@@ -464613,7 +464724,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
464613
464724
|
wrap: "truncate",
|
|
464614
464725
|
children: [
|
|
464615
464726
|
"currentVersion: ",
|
|
464616
|
-
"1.2.
|
|
464727
|
+
"1.2.1"
|
|
464617
464728
|
]
|
|
464618
464729
|
}, undefined, true, undefined, this);
|
|
464619
464730
|
$2[3] = verbose;
|
|
@@ -468434,7 +468545,7 @@ function useTypeahead({
|
|
|
468434
468545
|
const debouncedFetchSlackChannels = useDebounceCallback(fetchSlackChannels, 150);
|
|
468435
468546
|
const updateSuggestions = import_react227.useCallback(async (value, inputCursorOffset) => {
|
|
468436
468547
|
const effectiveCursorOffset = inputCursorOffset ?? cursorOffsetRef.current;
|
|
468437
|
-
if (suppressSuggestions) {
|
|
468548
|
+
if (suppressSuggestions && !(mode === "prompt" && isCommandInput(value))) {
|
|
468438
468549
|
debouncedFetchFileSuggestions.cancel();
|
|
468439
468550
|
clearSuggestions();
|
|
468440
468551
|
return;
|
|
@@ -472171,7 +472282,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
472171
472282
|
project_dir: getOriginalCwd(),
|
|
472172
472283
|
added_dirs: addedDirs
|
|
472173
472284
|
},
|
|
472174
|
-
version: "1.2.
|
|
472285
|
+
version: "1.2.1",
|
|
472175
472286
|
output_style: {
|
|
472176
472287
|
name: outputStyleName
|
|
472177
472288
|
},
|
|
@@ -479380,6 +479491,9 @@ function CancelRequestHandler(props) {
|
|
|
479380
479491
|
if (abortSignal !== undefined && !abortSignal.aborted) {
|
|
479381
479492
|
logEvent("tengu_cancel", cancelProps);
|
|
479382
479493
|
setToolUseConfirmQueue(() => []);
|
|
479494
|
+
if (hasCommandsInQueue()) {
|
|
479495
|
+
globalStopSignal.set(true);
|
|
479496
|
+
}
|
|
479383
479497
|
onCancel();
|
|
479384
479498
|
return;
|
|
479385
479499
|
}
|
|
@@ -479501,6 +479615,7 @@ var init_useCancelRequest = __esm(() => {
|
|
|
479501
479615
|
init_teammateViewHelpers();
|
|
479502
479616
|
init_LocalAgentTask();
|
|
479503
479617
|
init_messageQueueManager();
|
|
479618
|
+
init_telegramSignals();
|
|
479504
479619
|
init_sdkEventQueue();
|
|
479505
479620
|
import_react260 = __toESM(require_react(), 1);
|
|
479506
479621
|
});
|
|
@@ -483739,7 +483854,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
483739
483854
|
} catch {}
|
|
483740
483855
|
const data = {
|
|
483741
483856
|
trigger,
|
|
483742
|
-
version: "1.2.
|
|
483857
|
+
version: "1.2.1",
|
|
483743
483858
|
platform: process.platform,
|
|
483744
483859
|
transcript,
|
|
483745
483860
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -500204,7 +500319,7 @@ function appendToLog(path17, message) {
|
|
|
500204
500319
|
cwd: getFsImplementation().cwd(),
|
|
500205
500320
|
userType: process.env.USER_TYPE,
|
|
500206
500321
|
sessionId: getSessionId(),
|
|
500207
|
-
version: "1.2.
|
|
500322
|
+
version: "1.2.1"
|
|
500208
500323
|
};
|
|
500209
500324
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
500210
500325
|
}
|
|
@@ -504203,8 +504318,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
504203
504318
|
}
|
|
504204
504319
|
async function checkEnvLessBridgeMinVersion() {
|
|
504205
504320
|
const cfg = await getEnvLessBridgeConfig();
|
|
504206
|
-
if (cfg.min_version && lt("1.2.
|
|
504207
|
-
return `Your version of localclawd (${"1.2.
|
|
504321
|
+
if (cfg.min_version && lt("1.2.1", cfg.min_version)) {
|
|
504322
|
+
return `Your version of localclawd (${"1.2.1"}) is too old for Remote Control.
|
|
504208
504323
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
504209
504324
|
}
|
|
504210
504325
|
return null;
|
|
@@ -504676,7 +504791,7 @@ async function initBridgeCore(params) {
|
|
|
504676
504791
|
const rawApi = createBridgeApiClient({
|
|
504677
504792
|
baseUrl,
|
|
504678
504793
|
getAccessToken,
|
|
504679
|
-
runnerVersion: "1.2.
|
|
504794
|
+
runnerVersion: "1.2.1",
|
|
504680
504795
|
onDebug: logForDebugging,
|
|
504681
504796
|
onAuth401,
|
|
504682
504797
|
getTrustedDeviceToken
|
|
@@ -510395,7 +510510,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
510395
510510
|
setCwd(cwd3);
|
|
510396
510511
|
const server = new Server({
|
|
510397
510512
|
name: "claude/tengu",
|
|
510398
|
-
version: "1.2.
|
|
510513
|
+
version: "1.2.1"
|
|
510399
510514
|
}, {
|
|
510400
510515
|
capabilities: {
|
|
510401
510516
|
tools: {}
|
|
@@ -511476,7 +511591,7 @@ function WelcomeLogo() {
|
|
|
511476
511591
|
dimColor: true,
|
|
511477
511592
|
children: [
|
|
511478
511593
|
"v",
|
|
511479
|
-
"1.2.
|
|
511594
|
+
"1.2.1"
|
|
511480
511595
|
]
|
|
511481
511596
|
}, undefined, true, undefined, this)
|
|
511482
511597
|
]
|
|
@@ -511667,7 +511782,7 @@ __export(exports_update, {
|
|
|
511667
511782
|
});
|
|
511668
511783
|
async function update() {
|
|
511669
511784
|
logEvent("tengu_update_check", {});
|
|
511670
|
-
writeToStdout(`Current version: ${"1.2.
|
|
511785
|
+
writeToStdout(`Current version: ${"1.2.1"}
|
|
511671
511786
|
`);
|
|
511672
511787
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
511673
511788
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -511742,8 +511857,8 @@ async function update() {
|
|
|
511742
511857
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
511743
511858
|
`);
|
|
511744
511859
|
const latest = await getLatestVersion(channel);
|
|
511745
|
-
if (latest && !gte("1.2.
|
|
511746
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511860
|
+
if (latest && !gte("1.2.1", latest)) {
|
|
511861
|
+
writeToStdout(`Update available: ${"1.2.1"} → ${latest}
|
|
511747
511862
|
`);
|
|
511748
511863
|
writeToStdout(`
|
|
511749
511864
|
`);
|
|
@@ -511759,8 +511874,8 @@ async function update() {
|
|
|
511759
511874
|
writeToStdout(`localclawd is managed by winget.
|
|
511760
511875
|
`);
|
|
511761
511876
|
const latest = await getLatestVersion(channel);
|
|
511762
|
-
if (latest && !gte("1.2.
|
|
511763
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511877
|
+
if (latest && !gte("1.2.1", latest)) {
|
|
511878
|
+
writeToStdout(`Update available: ${"1.2.1"} → ${latest}
|
|
511764
511879
|
`);
|
|
511765
511880
|
writeToStdout(`
|
|
511766
511881
|
`);
|
|
@@ -511774,8 +511889,8 @@ async function update() {
|
|
|
511774
511889
|
writeToStdout(`localclawd is managed by apk.
|
|
511775
511890
|
`);
|
|
511776
511891
|
const latest = await getLatestVersion(channel);
|
|
511777
|
-
if (latest && !gte("1.2.
|
|
511778
|
-
writeToStdout(`Update available: ${"1.2.
|
|
511892
|
+
if (latest && !gte("1.2.1", latest)) {
|
|
511893
|
+
writeToStdout(`Update available: ${"1.2.1"} → ${latest}
|
|
511779
511894
|
`);
|
|
511780
511895
|
writeToStdout(`
|
|
511781
511896
|
`);
|
|
@@ -511840,11 +511955,11 @@ async function update() {
|
|
|
511840
511955
|
`);
|
|
511841
511956
|
await gracefulShutdown(1);
|
|
511842
511957
|
}
|
|
511843
|
-
if (result.latestVersion === "1.2.
|
|
511844
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.
|
|
511958
|
+
if (result.latestVersion === "1.2.1") {
|
|
511959
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.1"})`) + `
|
|
511845
511960
|
`);
|
|
511846
511961
|
} else {
|
|
511847
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.2.
|
|
511962
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.2.1"} to version ${result.latestVersion}`) + `
|
|
511848
511963
|
`);
|
|
511849
511964
|
await regenerateCompletionCache();
|
|
511850
511965
|
}
|
|
@@ -511904,12 +512019,12 @@ async function update() {
|
|
|
511904
512019
|
`);
|
|
511905
512020
|
await gracefulShutdown(1);
|
|
511906
512021
|
}
|
|
511907
|
-
if (latestVersion === "1.2.
|
|
511908
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.
|
|
512022
|
+
if (latestVersion === "1.2.1") {
|
|
512023
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.2.1"})`) + `
|
|
511909
512024
|
`);
|
|
511910
512025
|
await gracefulShutdown(0);
|
|
511911
512026
|
}
|
|
511912
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.
|
|
512027
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.1"})
|
|
511913
512028
|
`);
|
|
511914
512029
|
writeToStdout(`Installing update...
|
|
511915
512030
|
`);
|
|
@@ -511954,7 +512069,7 @@ async function update() {
|
|
|
511954
512069
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
511955
512070
|
switch (status2) {
|
|
511956
512071
|
case "success":
|
|
511957
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.2.
|
|
512072
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.2.1"} to version ${latestVersion}`) + `
|
|
511958
512073
|
`);
|
|
511959
512074
|
await regenerateCompletionCache();
|
|
511960
512075
|
break;
|
|
@@ -513196,7 +513311,7 @@ Run with --debug for more details.
|
|
|
513196
513311
|
}
|
|
513197
513312
|
}
|
|
513198
513313
|
logForDiagnosticsNoPII("info", "started", {
|
|
513199
|
-
version: "1.2.
|
|
513314
|
+
version: "1.2.1",
|
|
513200
513315
|
is_native_binary: isInBundledMode()
|
|
513201
513316
|
});
|
|
513202
513317
|
registerCleanup(async () => {
|
|
@@ -513980,7 +514095,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
513980
514095
|
pendingHookMessages
|
|
513981
514096
|
}, renderAndRun);
|
|
513982
514097
|
}
|
|
513983
|
-
}).version("1.2.
|
|
514098
|
+
}).version("1.2.1 (localclawd)", "-v, --version", "Output the version number");
|
|
513984
514099
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
513985
514100
|
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
514101
|
if (canUserConfigureAdvisor()) {
|
|
@@ -514480,7 +514595,7 @@ if (false) {}
|
|
|
514480
514595
|
async function main2() {
|
|
514481
514596
|
const args = process.argv.slice(2);
|
|
514482
514597
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
514483
|
-
console.log(`${"1.2.
|
|
514598
|
+
console.log(`${"1.2.1"} (localclawd)`);
|
|
514484
514599
|
return;
|
|
514485
514600
|
}
|
|
514486
514601
|
const {
|
|
@@ -514563,4 +514678,4 @@ localclawd crashed: ${msg}
|
|
|
514563
514678
|
process.exit(1);
|
|
514564
514679
|
});
|
|
514565
514680
|
|
|
514566
|
-
//# debugId=
|
|
514681
|
+
//# debugId=5E9ABEC662C27B3364756E2164756E21
|