localclawd 1.2.1 → 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.
Files changed (2) hide show
  1. package/dist/cli.mjs +292 -194
  2. 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.1"}`;
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.1"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
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.1"}${suffix}`;
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.1"}.${fingerprint}`;
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.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
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.1",
147023
+ version: "1.2.2",
147024
147024
  versionBase: getVersionBase(),
147025
- buildTime: "2026-04-15T02:12:12.680Z",
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.1";
179504
+ attributes["app.version"] = "1.2.2";
179505
179505
  }
179506
179506
  const oauthAccount = getOauthAccountInfo();
179507
179507
  if (oauthAccount) {
@@ -180402,7 +180402,8 @@ function getEffectiveContextWindowSize(model) {
180402
180402
  }
180403
180403
  function getAutoCompactThreshold(model) {
180404
180404
  const effectiveContextWindow = getEffectiveContextWindowSize(model);
180405
- const autocompactThreshold = effectiveContextWindow - AUTOCOMPACT_BUFFER_TOKENS;
180405
+ const scaledBuffer = Math.min(AUTOCOMPACT_BUFFER_TOKENS, Math.floor(effectiveContextWindow * 0.1));
180406
+ const autocompactThreshold = effectiveContextWindow - scaledBuffer;
180406
180407
  const envPercent = process.env.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE;
180407
180408
  if (envPercent) {
180408
180409
  const parsed = parseFloat(envPercent);
@@ -234010,7 +234011,6 @@ var init_stdio2 = __esm(() => {
234010
234011
  // node_modules/eventsource-parser/dist/stream.js
234011
234012
  var EventSourceParserStream;
234012
234013
  var init_stream = __esm(() => {
234013
- init_dist4();
234014
234014
  init_dist4();
234015
234015
  EventSourceParserStream = class EventSourceParserStream extends TransformStream {
234016
234016
  constructor({ onError, onRetry, onComment } = {}) {
@@ -242293,7 +242293,7 @@ function getInstallationEnv() {
242293
242293
  return;
242294
242294
  }
242295
242295
  function getClaudeCodeVersion() {
242296
- return "1.2.1";
242296
+ return "1.2.2";
242297
242297
  }
242298
242298
  async function getInstalledVSCodeExtensionVersion(command) {
242299
242299
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -247567,7 +247567,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
247567
247567
  const client4 = new Client({
247568
247568
  name: "localclawd",
247569
247569
  title: "localclawd",
247570
- version: "1.2.1",
247570
+ version: "1.2.2",
247571
247571
  description: "local-first AI coding tool",
247572
247572
  websiteUrl: PRODUCT_URL
247573
247573
  }, {
@@ -247909,7 +247909,7 @@ var init_client9 = __esm(() => {
247909
247909
  const client4 = new Client({
247910
247910
  name: "localclawd",
247911
247911
  title: "localclawd",
247912
- version: "1.2.1",
247912
+ version: "1.2.2",
247913
247913
  description: "local-first AI coding tool",
247914
247914
  websiteUrl: PRODUCT_URL
247915
247915
  }, {
@@ -262299,7 +262299,7 @@ function computeFingerprint(messageText, version) {
262299
262299
  }
262300
262300
  function computeFingerprintFromMessages(messages) {
262301
262301
  const firstMessageText = extractFirstMessageText(messages);
262302
- return computeFingerprint(firstMessageText, "1.2.1");
262302
+ return computeFingerprint(firstMessageText, "1.2.2");
262303
262303
  }
262304
262304
  var FINGERPRINT_SALT = "59cf53e54c78";
262305
262305
  var init_fingerprint = () => {};
@@ -262341,7 +262341,7 @@ async function sideQuery(opts) {
262341
262341
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
262342
262342
  }
262343
262343
  const messageText = extractFirstUserMessageText(messages);
262344
- const fingerprint = computeFingerprint(messageText, "1.2.1");
262344
+ const fingerprint = computeFingerprint(messageText, "1.2.2");
262345
262345
  const attributionHeader = getAttributionHeader(fingerprint);
262346
262346
  const systemBlocks = [
262347
262347
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -283065,7 +283065,7 @@ var init_user = __esm(() => {
283065
283065
  deviceId,
283066
283066
  sessionId: getSessionId(),
283067
283067
  email: getEmail(),
283068
- appVersion: "1.2.1",
283068
+ appVersion: "1.2.2",
283069
283069
  platform: getHostPlatformForAnalytics(),
283070
283070
  organizationUuid,
283071
283071
  accountUuid,
@@ -284130,7 +284130,7 @@ async function initializeBetaTracing(resource) {
284130
284130
  });
284131
284131
  logs.setGlobalLoggerProvider(loggerProvider);
284132
284132
  setLoggerProvider(loggerProvider);
284133
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.1");
284133
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.2");
284134
284134
  setEventLogger(eventLogger);
284135
284135
  process.on("beforeExit", async () => {
284136
284136
  await loggerProvider?.forceFlush();
@@ -284170,7 +284170,7 @@ async function initializeTelemetry() {
284170
284170
  const platform2 = getPlatform();
284171
284171
  const baseAttributes = {
284172
284172
  [ATTR_SERVICE_NAME4]: "claude-code",
284173
- [ATTR_SERVICE_VERSION4]: "1.2.1"
284173
+ [ATTR_SERVICE_VERSION4]: "1.2.2"
284174
284174
  };
284175
284175
  if (platform2 === "wsl") {
284176
284176
  const wslVersion = getWslVersion();
@@ -284215,7 +284215,7 @@ async function initializeTelemetry() {
284215
284215
  } catch {}
284216
284216
  };
284217
284217
  registerCleanup(shutdownTelemetry2);
284218
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.1");
284218
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.2");
284219
284219
  }
284220
284220
  const meterProvider = new MeterProvider4({
284221
284221
  resource,
@@ -284235,7 +284235,7 @@ async function initializeTelemetry() {
284235
284235
  });
284236
284236
  logs.setGlobalLoggerProvider(loggerProvider);
284237
284237
  setLoggerProvider(loggerProvider);
284238
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.1");
284238
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.2.2");
284239
284239
  setEventLogger(eventLogger);
284240
284240
  logForDebugging("[3P telemetry] Event logger set successfully");
284241
284241
  process.on("beforeExit", async () => {
@@ -284297,7 +284297,7 @@ Current timeout: ${timeoutMs}ms
284297
284297
  }
284298
284298
  };
284299
284299
  registerCleanup(shutdownTelemetry);
284300
- return meterProvider.getMeter("com.anthropic.claude_code", "1.2.1");
284300
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.2.2");
284301
284301
  }
284302
284302
  async function flushTelemetry() {
284303
284303
  const meterProvider = getMeterProvider();
@@ -285487,7 +285487,7 @@ function detectLinuxGlobPatternWarnings() {
285487
285487
  }
285488
285488
  async function getDoctorDiagnostic() {
285489
285489
  const installationType = await getCurrentInstallationType();
285490
- const version = typeof MACRO !== "undefined" ? "1.2.1" : "unknown";
285490
+ const version = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
285491
285491
  const installationPath = await getInstallationPath();
285492
285492
  const invokedBinary = getInvokedBinary();
285493
285493
  const multipleInstallations = await detectMultipleInstallations();
@@ -286428,8 +286428,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286428
286428
  const maxVersion = await getMaxVersion();
286429
286429
  if (maxVersion && gt(version, maxVersion)) {
286430
286430
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
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`);
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`);
286433
286433
  logEvent("tengu_native_update_skipped_max_version", {
286434
286434
  latency_ms: Date.now() - startTime,
286435
286435
  max_version: maxVersion,
@@ -286440,7 +286440,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
286440
286440
  version = maxVersion;
286441
286441
  }
286442
286442
  }
286443
- if (!forceReinstall && version === "1.2.1" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286443
+ if (!forceReinstall && version === "1.2.2" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
286444
286444
  logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
286445
286445
  logEvent("tengu_native_update_complete", {
286446
286446
  latency_ms: Date.now() - startTime,
@@ -330829,7 +330829,7 @@ function getAnthropicEnvMetadata() {
330829
330829
  function getBuildAgeMinutes() {
330830
330830
  if (false)
330831
330831
  ;
330832
- const buildTime = new Date("2026-04-15T02:12:12.680Z").getTime();
330832
+ const buildTime = new Date("2026-04-18T18:20:09.217Z").getTime();
330833
330833
  if (isNaN(buildTime))
330834
330834
  return;
330835
330835
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -359154,7 +359154,7 @@ function Feedback({
359154
359154
  platform: env3.platform,
359155
359155
  gitRepo: envInfo.isGit,
359156
359156
  terminal: env3.terminal,
359157
- version: "1.2.1",
359157
+ version: "1.2.2",
359158
359158
  transcript: normalizeMessagesForAPI(messages),
359159
359159
  errors: sanitizedErrors,
359160
359160
  lastApiRequest: getLastAPIRequest(),
@@ -359346,7 +359346,7 @@ function Feedback({
359346
359346
  ", ",
359347
359347
  env3.terminal,
359348
359348
  ", v",
359349
- "1.2.1"
359349
+ "1.2.2"
359350
359350
  ]
359351
359351
  }, undefined, true, undefined, this)
359352
359352
  ]
@@ -359452,7 +359452,7 @@ ${sanitizedDescription}
359452
359452
  ` + `**Environment Info**
359453
359453
  ` + `- Platform: ${env3.platform}
359454
359454
  ` + `- Terminal: ${env3.terminal}
359455
- ` + `- Version: ${"1.2.1"}
359455
+ ` + `- Version: ${"1.2.2"}
359456
359456
  ` + `- Feedback ID: ${feedbackId}
359457
359457
  ` + `
359458
359458
  **Errors**
@@ -362080,7 +362080,7 @@ function buildPrimarySection() {
362080
362080
  }, undefined, false, undefined, this);
362081
362081
  return [{
362082
362082
  label: "Version",
362083
- value: "1.2.1"
362083
+ value: "1.2.2"
362084
362084
  }, {
362085
362085
  label: "Session name",
362086
362086
  value: nameValue
@@ -366679,7 +366679,7 @@ function Config({
366679
366679
  }
366680
366680
  }, undefined, false, undefined, this)
366681
366681
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ChannelDowngradeDialog, {
366682
- currentVersion: "1.2.1",
366682
+ currentVersion: "1.2.2",
366683
366683
  onChoice: (choice) => {
366684
366684
  setShowSubmenu(null);
366685
366685
  setTabsHidden(false);
@@ -366691,7 +366691,7 @@ function Config({
366691
366691
  autoUpdatesChannel: "stable"
366692
366692
  };
366693
366693
  if (choice === "stay") {
366694
- newSettings.minimumVersion = "1.2.1";
366694
+ newSettings.minimumVersion = "1.2.2";
366695
366695
  }
366696
366696
  updateSettingsForSource("userSettings", newSettings);
366697
366697
  setSettingsData((prev_27) => ({
@@ -372840,15 +372840,18 @@ var init_directorMemoryOps = __esm(() => {
372840
372840
  });
372841
372841
 
372842
372842
  // src/services/director/directorPrompts.ts
372843
- function buildDirectorTaskPrompt(task, projectContext, round, maxRounds) {
372843
+ function buildDirectorTaskPrompt(task, projectContext, round, maxRounds, medium) {
372844
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`;
372845
372848
  return `[DIRECTOR MODE — Supervised Autonomous Operation — ${roundInfo}]
372846
372849
 
372847
372850
  You are operating under director supervision. The director:
372848
372851
  - Assigned you a specific task
372849
372852
  - Will review your work after each step
372850
372853
  - May re-prompt if work is incomplete
372851
- - Has persistent memory of this project and past tasks
372854
+ - Has persistent memory of this project and past tasks${mediumNote}
372852
372855
 
372853
372856
  ${projectContext}
372854
372857
 
@@ -372972,7 +372975,10 @@ var init_telegramKill = __esm(() => {
372972
372975
  var exports_telegramBot = {};
372973
372976
  __export(exports_telegramBot, {
372974
372977
  validateTelegramToken: () => validateTelegramToken,
372978
+ stopTypingIndicator: () => stopTypingIndicator,
372975
372979
  stopTelegram: () => stopTelegram,
372980
+ startTypingIndicator: () => startTypingIndicator,
372981
+ sendTypingIndicator: () => sendTypingIndicator,
372976
372982
  sendTelegramMessage: () => sendTelegramMessage,
372977
372983
  onTelegramMessage: () => onTelegramMessage,
372978
372984
  isTelegramConfigured: () => isTelegramConfigured,
@@ -373018,6 +373024,25 @@ async function sendTelegramMessage(text) {
373018
373024
  }
373019
373025
  }
373020
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
+ }
373021
373046
  function getPendingTelegramMessage() {
373022
373047
  return _queue.shift() ?? null;
373023
373048
  }
@@ -373152,22 +373177,46 @@ async function handleUpdate(update) {
373152
373177
  if (!text)
373153
373178
  return;
373154
373179
  logForDebugging(`[telegram] Message from ${sender}: ${text.slice(0, 80)}`);
373155
- if (text === "/stop") {
373156
- globalStopSignal.set(true);
373157
- sendTelegramMessage("Stopping current task...");
373158
- return;
373159
- }
373160
- if (text === "/kill") {
373161
- sendTelegramMessage("Killing ALL localclawd instances...").then(async () => {
373162
- const killed = await killAllIncludingSelf();
373163
- sendTelegramMessage(`Killed ${killed} instance(s). Self-terminating.`);
373164
- });
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`);
373165
373213
  return;
373166
373214
  }
373167
373215
  if (isDirectorActive()) {
373168
373216
  _queue.push(text);
373169
373217
  } else {
373170
- sendTelegramMessage(`Starting director mode: ${text.slice(0, 100)}...`);
373218
+ sendTelegramMessage(`Starting director mode...`);
373219
+ sendTypingIndicator();
373171
373220
  try {
373172
373221
  const { enqueue: enqueue2 } = await Promise.resolve().then(() => (init_messageQueueManager(), exports_messageQueueManager));
373173
373222
  enqueue2({ value: `/director ${text}`, mode: "prompt", priority: "now" });
@@ -373203,7 +373252,7 @@ function chunkText(text, maxLen) {
373203
373252
  function sleep5(ms) {
373204
373253
  return new Promise((resolve37) => setTimeout(resolve37, ms));
373205
373254
  }
373206
- var _token = "", _chatId = 0, _polling = false, _lastUpdateId = 0, _queue, _listeners;
373255
+ var _token = "", _chatId = 0, _polling = false, _lastUpdateId = 0, _queue, _listeners, _typingInterval = null;
373207
373256
  var init_telegramBot = __esm(() => {
373208
373257
  init_debug();
373209
373258
  init_telegramSignals();
@@ -373214,6 +373263,20 @@ var init_telegramBot = __esm(() => {
373214
373263
  });
373215
373264
 
373216
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
+ });
373217
373280
  function getDirectorRound() {
373218
373281
  return _round;
373219
373282
  }
@@ -373260,7 +373323,7 @@ async function startDirectorTask(task, projectPath, maxRounds, medium) {
373260
373323
  _startGitRef = await captureGitRef(projectPath);
373261
373324
  startHeartbeat();
373262
373325
  const context7 = getProjectContext(state, project.id);
373263
- const prompt = buildDirectorTaskPrompt(task, context7, _round, _maxRounds);
373326
+ const prompt = buildDirectorTaskPrompt(task, context7, _round, _maxRounds, _notifyMedium);
373264
373327
  logForDebugging(`[director] Starting task in ${project.id}: ${task.slice(0, 80)}`);
373265
373328
  return { prompt, projectId: project.id };
373266
373329
  }
@@ -373588,6 +373651,8 @@ var React58, jsx_dev_runtime195, DEFAULT_MAX_ROUNDS = 20, call19 = async (onDone
373588
373651
  const { prompt } = await startDirectorTask(task, cwd2, DEFAULT_MAX_ROUNDS, medium);
373589
373652
  sendDirectorNotification("Director", `Starting task:
373590
373653
  ${task.slice(0, 200)}`);
373654
+ if (isTelegramActive())
373655
+ startTypingIndicator();
373591
373656
  return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorBanner, {
373592
373657
  round: 1,
373593
373658
  maxRounds: DEFAULT_MAX_ROUNDS,
@@ -373602,6 +373667,8 @@ ${task.slice(0, 200)}`);
373602
373667
  })
373603
373668
  }, undefined, false, undefined, this);
373604
373669
  }
373670
+ if (isTelegramActive())
373671
+ stopTypingIndicator();
373605
373672
  if (globalStopSignal.get()) {
373606
373673
  globalStopSignal.reset();
373607
373674
  const round2 = getDirectorRound();
@@ -373638,6 +373705,8 @@ ${preview}${suffix}`);
373638
373705
  const telegramMsg = getPendingTelegramMessage();
373639
373706
  const result = await reviewAndContinue(lastText, telegramMsg);
373640
373707
  if (result.done) {
373708
+ if (isTelegramActive())
373709
+ stopTypingIndicator();
373641
373710
  const round2 = getDirectorRound();
373642
373711
  const reason = result.reason ?? "completed";
373643
373712
  const changeSummary = await getChangeSummary();
@@ -373656,6 +373725,8 @@ ${changeSummary}` : "";
373656
373725
  }
373657
373726
  const round = getDirectorRound();
373658
373727
  const currentTask = getDirectorTask();
373728
+ if (isTelegramActive())
373729
+ startTypingIndicator();
373659
373730
  return /* @__PURE__ */ jsx_dev_runtime195.jsxDEV(DirectorBanner, {
373660
373731
  round,
373661
373732
  maxRounds: DEFAULT_MAX_ROUNDS,
@@ -373687,9 +373758,7 @@ var init_director2 = __esm(() => {
373687
373758
  type: "local-jsx",
373688
373759
  name: "director",
373689
373760
  aliases: ["dir"],
373690
- description: "Director mode persistent memory, supervised autonomous operation",
373691
- isEnabled: true,
373692
- isHidden: false,
373761
+ description: "Supervised autonomous mode with persistent project memory. Usage: /director <task>",
373693
373762
  source: "builtin",
373694
373763
  load: () => Promise.resolve().then(() => (init_director(), exports_director))
373695
373764
  };
@@ -374653,7 +374722,7 @@ var init_heartbeat2 = __esm(() => {
374653
374722
  type: "local-jsx",
374654
374723
  name: "heartbeat",
374655
374724
  aliases: ["hb"],
374656
- description: "Activate recurring autonomous mode: agent wakes every N minutes without stopping. " + "Only you can stop it (Ctrl+C). /thinkharder is auto-enabled. " + "Usage: /heartbeat <minutes> e.g. /heartbeat 5",
374725
+ description: "Periodic autonomous mode agent re-prompts every N minutes. Usage: /heartbeat 5",
374657
374726
  load: () => Promise.resolve().then(() => (init_heartbeat(), exports_heartbeat))
374658
374727
  };
374659
374728
  heartbeat_default = heartbeat;
@@ -374925,10 +374994,37 @@ var init_ctx2 = __esm(() => {
374925
374994
  ctx_default = ctx;
374926
374995
  });
374927
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
+
374928
375024
  // src/commands/research/research.tsx
374929
375025
  var exports_research = {};
374930
375026
  __export(exports_research, {
374931
- call: () => call25
375027
+ call: () => call26
374932
375028
  });
374933
375029
  function buildResearchPrompt(topic, thinkHarder) {
374934
375030
  const thinkHarderSection = thinkHarder ? `
@@ -375037,7 +375133,7 @@ function ResearchWarning({
375037
375133
  }, undefined, false, undefined, this)
375038
375134
  }, undefined, false, undefined, this);
375039
375135
  }
375040
- var React64, jsx_dev_runtime201, call25 = async (onDone, _context, args) => {
375136
+ var React64, jsx_dev_runtime201, call26 = async (onDone, _context, args) => {
375041
375137
  const rawArgs = args?.trim() ?? "";
375042
375138
  const { ownArgs: topic, nextCmd } = extractChain(rawArgs);
375043
375139
  if (!topic) {
@@ -375844,7 +375940,7 @@ var init_promptEditor = __esm(() => {
375844
375940
  // src/commands/memory/memory.tsx
375845
375941
  var exports_memory = {};
375846
375942
  __export(exports_memory, {
375847
- call: () => call26
375943
+ call: () => call27
375848
375944
  });
375849
375945
  import { mkdir as mkdir30, writeFile as writeFile31 } from "fs/promises";
375850
375946
  function MemoryCommand({
@@ -375924,7 +376020,7 @@ ${editorHint}`, {
375924
376020
  }, undefined, true, undefined, this)
375925
376021
  }, undefined, false, undefined, this);
375926
376022
  }
375927
- var React65, jsx_dev_runtime204, call26 = async (onDone) => {
376023
+ var React65, jsx_dev_runtime204, call27 = async (onDone) => {
375928
376024
  clearMemoryFileCaches();
375929
376025
  await getMemoryFiles();
375930
376026
  return /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(MemoryCommand, {
@@ -376780,7 +376876,7 @@ function Help(t0) {
376780
376876
  let t6;
376781
376877
  if ($2[31] !== tabs) {
376782
376878
  t6 = /* @__PURE__ */ jsx_dev_runtime208.jsxDEV(Tabs, {
376783
- title: `localclawd v${"1.2.1"}`,
376879
+ title: `localclawd v${"1.2.2"}`,
376784
376880
  color: "professionalBlue",
376785
376881
  defaultTab: "general",
376786
376882
  children: tabs
@@ -376886,9 +376982,9 @@ var init_Help = __esm(() => {
376886
376982
  // src/commands/help/help.tsx
376887
376983
  var exports_help = {};
376888
376984
  __export(exports_help, {
376889
- call: () => call27
376985
+ call: () => call28
376890
376986
  });
376891
- var jsx_dev_runtime209, call27 = async (onDone, {
376987
+ var jsx_dev_runtime209, call28 = async (onDone, {
376892
376988
  options: {
376893
376989
  commands
376894
376990
  }
@@ -377095,7 +377191,7 @@ var init_IdeAutoConnectDialog = __esm(() => {
377095
377191
  var exports_ide = {};
377096
377192
  __export(exports_ide, {
377097
377193
  formatWorkspaceFolders: () => formatWorkspaceFolders,
377098
- call: () => call28
377194
+ call: () => call29
377099
377195
  });
377100
377196
  import * as path12 from "path";
377101
377197
  function IDEScreen(t0) {
@@ -377573,7 +377669,7 @@ function InstallOnMount(t0) {
377573
377669
  import_react113.useEffect(t1, t2);
377574
377670
  return null;
377575
377671
  }
377576
- async function call28(onDone, context7, args) {
377672
+ async function call29(onDone, context7, args) {
377577
377673
  logEvent("tengu_ext_ide_command", {});
377578
377674
  const {
377579
377675
  options: {
@@ -378156,11 +378252,11 @@ var init_template = __esm(() => {
378156
378252
  // src/commands/keybindings/keybindings.ts
378157
378253
  var exports_keybindings = {};
378158
378254
  __export(exports_keybindings, {
378159
- call: () => call29
378255
+ call: () => call30
378160
378256
  });
378161
378257
  import { mkdir as mkdir31, writeFile as writeFile32 } from "fs/promises";
378162
378258
  import { dirname as dirname47 } from "path";
378163
- async function call29() {
378259
+ async function call30() {
378164
378260
  if (!isKeybindingCustomizationEnabled()) {
378165
378261
  return {
378166
378262
  type: "text",
@@ -392691,7 +392787,7 @@ var init_PluginSettings = __esm(() => {
392691
392787
  // src/commands/mcp/mcp.tsx
392692
392788
  var exports_mcp = {};
392693
392789
  __export(exports_mcp, {
392694
- call: () => call30
392790
+ call: () => call31
392695
392791
  });
392696
392792
  function MCPToggle(t0) {
392697
392793
  const $2 = c3(7);
@@ -392744,7 +392840,7 @@ function _temp239(c5) {
392744
392840
  function _temp100(s) {
392745
392841
  return s.mcp.clients;
392746
392842
  }
392747
- async function call30(onDone, _context, args) {
392843
+ async function call31(onDone, _context, args) {
392748
392844
  if (args) {
392749
392845
  const parts = args.trim().split(/\s+/);
392750
392846
  if (parts[0] === "no-redirect") {
@@ -393013,7 +393109,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
393013
393109
  return [];
393014
393110
  }
393015
393111
  }
393016
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.1") {
393112
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.2") {
393017
393113
  if (process.env.USER_TYPE === "ant") {
393018
393114
  const changelog = MACRO.VERSION_CHANGELOG;
393019
393115
  if (changelog) {
@@ -393040,7 +393136,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.1") {
393040
393136
  releaseNotes
393041
393137
  };
393042
393138
  }
393043
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.1") {
393139
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.2") {
393044
393140
  if (process.env.USER_TYPE === "ant") {
393045
393141
  const changelog = MACRO.VERSION_CHANGELOG;
393046
393142
  if (changelog) {
@@ -393076,7 +393172,7 @@ var init_releaseNotes = __esm(() => {
393076
393172
  // src/commands/release-notes/release-notes.ts
393077
393173
  var exports_release_notes = {};
393078
393174
  __export(exports_release_notes, {
393079
- call: () => call31
393175
+ call: () => call32
393080
393176
  });
393081
393177
  function formatReleaseNotes(notes) {
393082
393178
  return notes.map(([version, notes2]) => {
@@ -393089,7 +393185,7 @@ ${bulletPoints}`;
393089
393185
 
393090
393186
  `);
393091
393187
  }
393092
- async function call31() {
393188
+ async function call32() {
393093
393189
  let freshNotes = [];
393094
393190
  try {
393095
393191
  const timeoutPromise = new Promise((_2, reject2) => {
@@ -393601,9 +393697,9 @@ var init_createSession = __esm(() => {
393601
393697
  // src/commands/rename/rename.ts
393602
393698
  var exports_rename = {};
393603
393699
  __export(exports_rename, {
393604
- call: () => call32
393700
+ call: () => call33
393605
393701
  });
393606
- async function call32(onDone, context7, args) {
393702
+ async function call33(onDone, context7, args) {
393607
393703
  if (isTeammate()) {
393608
393704
  onDone("Cannot rename: This session is a swarm teammate. Teammate names are set by the team leader.", { display: "system" });
393609
393705
  return null;
@@ -394298,7 +394394,7 @@ function getRecentActivitySync() {
394298
394394
  return cachedActivity;
394299
394395
  }
394300
394396
  function getLogoDisplayData() {
394301
- const version = process.env.DEMO_VERSION ?? "1.2.1";
394397
+ const version = process.env.DEMO_VERSION ?? "1.2.2";
394302
394398
  const serverUrl = getDirectConnectServerUrl();
394303
394399
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
394304
394400
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -395405,7 +395501,7 @@ function Logo() {
395405
395501
  if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
395406
395502
  t2 = () => {
395407
395503
  const currentConfig = getGlobalConfig();
395408
- if (currentConfig.lastReleaseNotesSeen === "1.2.1") {
395504
+ if (currentConfig.lastReleaseNotesSeen === "1.2.2") {
395409
395505
  return;
395410
395506
  }
395411
395507
  saveGlobalConfig(_temp326);
@@ -396064,12 +396160,12 @@ function Logo() {
396064
396160
  return t41;
396065
396161
  }
396066
396162
  function _temp326(current) {
396067
- if (current.lastReleaseNotesSeen === "1.2.1") {
396163
+ if (current.lastReleaseNotesSeen === "1.2.2") {
396068
396164
  return current;
396069
396165
  }
396070
396166
  return {
396071
396167
  ...current,
396072
- lastReleaseNotesSeen: "1.2.1"
396168
+ lastReleaseNotesSeen: "1.2.2"
396073
396169
  };
396074
396170
  }
396075
396171
  function _temp241(s_0) {
@@ -401962,7 +402058,7 @@ var init_crossProjectResume = __esm(() => {
401962
402058
  var exports_resume = {};
401963
402059
  __export(exports_resume, {
401964
402060
  filterResumableSessions: () => filterResumableSessions,
401965
- call: () => call33
402061
+ call: () => call34
401966
402062
  });
401967
402063
  function resumeHelpMessage(result) {
401968
402064
  switch (result.resultType) {
@@ -402147,7 +402243,7 @@ function ResumeCommand({
402147
402243
  function filterResumableSessions(logs2, currentSessionId) {
402148
402244
  return logs2.filter((l) => !l.isSidechain && getSessionIdFromLog(l) !== currentSessionId);
402149
402245
  }
402150
- var React90, jsx_dev_runtime260, call33 = async (onDone, context7, args) => {
402246
+ var React90, jsx_dev_runtime260, call34 = async (onDone, context7, args) => {
402151
402247
  const onResume = async (sessionId, log2, entrypoint) => {
402152
402248
  try {
402153
402249
  await context7.resume?.(sessionId, log2, entrypoint);
@@ -402637,7 +402733,7 @@ var init_UltrareviewOverageDialog = __esm(() => {
402637
402733
  // src/commands/review/ultrareviewCommand.tsx
402638
402734
  var exports_ultrareviewCommand = {};
402639
402735
  __export(exports_ultrareviewCommand, {
402640
- call: () => call34
402736
+ call: () => call35
402641
402737
  });
402642
402738
  function contentBlocksToString(blocks) {
402643
402739
  return blocks.map((b3) => b3.type === "text" ? b3.text : "").filter(Boolean).join(`
@@ -402657,7 +402753,7 @@ async function launchAndDone(args, context7, onDone, billingNote, signal) {
402657
402753
  });
402658
402754
  }
402659
402755
  }
402660
- var jsx_dev_runtime262, call34 = async (onDone, context7, args) => {
402756
+ var jsx_dev_runtime262, call35 = async (onDone, context7, args) => {
402661
402757
  const gate = await checkOverageGate();
402662
402758
  if (gate.kind === "not-enabled") {
402663
402759
  onDone("Free ultrareviews used. This feature requires a cloud subscription.", {
@@ -406983,7 +407079,7 @@ var init_server = __esm(() => {
406983
407079
  // src/commands/session/session.tsx
406984
407080
  var exports_session = {};
406985
407081
  __export(exports_session, {
406986
- call: () => call35
407082
+ call: () => call36
406987
407083
  });
406988
407084
  function SessionInfo(t0) {
406989
407085
  const $2 = c3(19);
@@ -407156,7 +407252,7 @@ function _temp247(e) {
407156
407252
  function _temp119(s) {
407157
407253
  return s.remoteSessionUrl;
407158
407254
  }
407159
- var import_react150, jsx_dev_runtime263, call35 = async (onDone) => {
407255
+ var import_react150, jsx_dev_runtime263, call36 = async (onDone) => {
407160
407256
  return /* @__PURE__ */ jsx_dev_runtime263.jsxDEV(SessionInfo, {
407161
407257
  onDone
407162
407258
  }, undefined, false, undefined, this);
@@ -407512,9 +407608,9 @@ var init_SkillsMenu = __esm(() => {
407512
407608
  // src/commands/skills/skills.tsx
407513
407609
  var exports_skills2 = {};
407514
407610
  __export(exports_skills2, {
407515
- call: () => call36
407611
+ call: () => call37
407516
407612
  });
407517
- async function call36(onDone, context7) {
407613
+ async function call37(onDone, context7) {
407518
407614
  return /* @__PURE__ */ jsx_dev_runtime265.jsxDEV(SkillsMenu, {
407519
407615
  onExit: onDone,
407520
407616
  commands: context7.options.commands
@@ -407541,9 +407637,9 @@ var init_skills3 = __esm(() => {
407541
407637
  // src/commands/status/status.tsx
407542
407638
  var exports_status = {};
407543
407639
  __export(exports_status, {
407544
- call: () => call37
407640
+ call: () => call38
407545
407641
  });
407546
- async function call37(onDone, context7) {
407642
+ async function call38(onDone, context7) {
407547
407643
  return /* @__PURE__ */ jsx_dev_runtime266.jsxDEV(Settings, {
407548
407644
  onClose: onDone,
407549
407645
  context: context7,
@@ -408154,7 +408250,7 @@ ${reasons}`,
408154
408250
  } : prev);
408155
408251
  }
408156
408252
  }
408157
- var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://github.com/chromebookwiz/localclawd", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call38 = async (onDone, context7, args) => {
408253
+ var ULTRAPLAN_TIMEOUT_MS, CCR_TERMS_URL2 = "https://github.com/chromebookwiz/localclawd", _rawPrompt, DEFAULT_INSTRUCTIONS, ULTRAPLAN_INSTRUCTIONS, call39 = async (onDone, context7, args) => {
408158
408254
  const blurb = args.trim();
408159
408255
  if (!blurb) {
408160
408256
  const msg = await launchUltraplan2({
@@ -408215,7 +408311,7 @@ var init_ultraplan = __esm(() => {
408215
408311
  argumentHint: "<prompt>",
408216
408312
  isEnabled: () => false,
408217
408313
  load: () => Promise.resolve({
408218
- call: call38
408314
+ call: call39
408219
408315
  })
408220
408316
  };
408221
408317
  });
@@ -412977,9 +413073,9 @@ var init_BackgroundTasksDialog = __esm(() => {
412977
413073
  // src/commands/tasks/tasks.tsx
412978
413074
  var exports_tasks = {};
412979
413075
  __export(exports_tasks, {
412980
- call: () => call39
413076
+ call: () => call40
412981
413077
  });
412982
- async function call39(onDone, context7) {
413078
+ async function call40(onDone, context7) {
412983
413079
  return /* @__PURE__ */ jsx_dev_runtime277.jsxDEV(BackgroundTasksDialog, {
412984
413080
  toolUseContext: context7,
412985
413081
  onDone
@@ -413270,9 +413366,9 @@ var init_terminalSetup2 = __esm(() => {
413270
413366
  // src/commands/usage/usage.tsx
413271
413367
  var exports_usage = {};
413272
413368
  __export(exports_usage, {
413273
- call: () => call40
413369
+ call: () => call41
413274
413370
  });
413275
- var jsx_dev_runtime278, call40 = async (onDone, context7) => {
413371
+ var jsx_dev_runtime278, call41 = async (onDone, context7) => {
413276
413372
  return /* @__PURE__ */ jsx_dev_runtime278.jsxDEV(Settings, {
413277
413373
  onClose: onDone,
413278
413374
  context: context7,
@@ -413303,7 +413399,7 @@ var init_usage3 = __esm(() => {
413303
413399
  // src/commands/theme/theme.tsx
413304
413400
  var exports_theme = {};
413305
413401
  __export(exports_theme, {
413306
- call: () => call41
413402
+ call: () => call42
413307
413403
  });
413308
413404
  function ThemePickerCommand(t0) {
413309
413405
  const $2 = c3(8);
@@ -413353,7 +413449,7 @@ function ThemePickerCommand(t0) {
413353
413449
  }
413354
413450
  return t3;
413355
413451
  }
413356
- var jsx_dev_runtime279, call41 = async (onDone, _context) => {
413452
+ var jsx_dev_runtime279, call42 = async (onDone, _context) => {
413357
413453
  return /* @__PURE__ */ jsx_dev_runtime279.jsxDEV(ThemePickerCommand, {
413358
413454
  onDone
413359
413455
  }, undefined, false, undefined, this);
@@ -413380,9 +413476,9 @@ var init_theme3 = __esm(() => {
413380
413476
  // src/commands/vim/vim.ts
413381
413477
  var exports_vim = {};
413382
413478
  __export(exports_vim, {
413383
- call: () => call42
413479
+ call: () => call43
413384
413480
  });
413385
- var call42 = async () => {
413481
+ var call43 = async () => {
413386
413482
  const config2 = getGlobalConfig();
413387
413483
  let currentMode = config2.editorMode || "normal";
413388
413484
  if (currentMode === "emacs") {
@@ -413423,7 +413519,7 @@ var init_vim2 = __esm(() => {
413423
413519
  var exports_thinkback = {};
413424
413520
  __export(exports_thinkback, {
413425
413521
  playAnimation: () => playAnimation,
413426
- call: () => call43
413522
+ call: () => call44
413427
413523
  });
413428
413524
  import { execa as execa11 } from "execa";
413429
413525
  import { readFile as readFile43 } from "fs/promises";
@@ -413961,7 +414057,7 @@ function ThinkbackFlow(t0) {
413961
414057
  }
413962
414058
  return t8;
413963
414059
  }
413964
- async function call43(onDone) {
414060
+ async function call44(onDone) {
413965
414061
  return /* @__PURE__ */ jsx_dev_runtime280.jsxDEV(ThinkbackFlow, {
413966
414062
  onDone
413967
414063
  }, undefined, false, undefined, this);
@@ -414006,14 +414102,14 @@ var init_thinkback2 = __esm(() => {
414006
414102
  // src/commands/thinkback-play/thinkback-play.ts
414007
414103
  var exports_thinkback_play = {};
414008
414104
  __export(exports_thinkback_play, {
414009
- call: () => call44
414105
+ call: () => call45
414010
414106
  });
414011
414107
  import { join as join117 } from "path";
414012
414108
  function getPluginId2() {
414013
414109
  const marketplaceName = process.env.USER_TYPE === "ant" ? INTERNAL_MARKETPLACE_NAME : OFFICIAL_MARKETPLACE_NAME;
414014
414110
  return `thinkback@${marketplaceName}`;
414015
414111
  }
414016
- async function call44() {
414112
+ async function call45() {
414017
414113
  const v2Data = loadInstalledPluginsV2();
414018
414114
  const pluginId = getPluginId2();
414019
414115
  const installations = v2Data.plugins[pluginId];
@@ -416501,9 +416597,9 @@ var init_PermissionRuleList = __esm(() => {
416501
416597
  // src/commands/permissions/permissions.tsx
416502
416598
  var exports_permissions = {};
416503
416599
  __export(exports_permissions, {
416504
- call: () => call45
416600
+ call: () => call46
416505
416601
  });
416506
- var jsx_dev_runtime288, call45 = async (onDone, context7) => {
416602
+ var jsx_dev_runtime288, call46 = async (onDone, context7) => {
416507
416603
  return /* @__PURE__ */ jsx_dev_runtime288.jsxDEV(PermissionRuleList, {
416508
416604
  onExit: onDone,
416509
416605
  onRetryDenials: (commands) => {
@@ -416533,7 +416629,7 @@ var init_permissions4 = __esm(() => {
416533
416629
  // src/commands/plan/plan.tsx
416534
416630
  var exports_plan = {};
416535
416631
  __export(exports_plan, {
416536
- call: () => call46
416632
+ call: () => call47
416537
416633
  });
416538
416634
  function PlanDisplay(t0) {
416539
416635
  const $2 = c3(11);
@@ -416621,7 +416717,7 @@ function PlanDisplay(t0) {
416621
416717
  }
416622
416718
  return t5;
416623
416719
  }
416624
- async function call46(onDone, context7, args) {
416720
+ async function call47(onDone, context7, args) {
416625
416721
  const {
416626
416722
  getAppState,
416627
416723
  setAppState
@@ -416763,7 +416859,7 @@ var init_FastIcon = __esm(() => {
416763
416859
  // src/commands/fast/fast.tsx
416764
416860
  var exports_fast = {};
416765
416861
  __export(exports_fast, {
416766
- call: () => call47,
416862
+ call: () => call48,
416767
416863
  FastModePicker: () => FastModePicker
416768
416864
  });
416769
416865
  function applyFastMode(enable, setAppState) {
@@ -417078,7 +417174,7 @@ async function handleFastModeShortcut(enable, getAppState, setAppState) {
417078
417174
  return `Fast mode OFF`;
417079
417175
  }
417080
417176
  }
417081
- async function call47(onDone, context7, args) {
417177
+ async function call48(onDone, context7, args) {
417082
417178
  if (!isFastModeEnabled()) {
417083
417179
  return null;
417084
417180
  }
@@ -417386,9 +417482,9 @@ var init_Passes = __esm(() => {
417386
417482
  // src/commands/passes/passes.tsx
417387
417483
  var exports_passes = {};
417388
417484
  __export(exports_passes, {
417389
- call: () => call48
417485
+ call: () => call49
417390
417486
  });
417391
- async function call48(onDone) {
417487
+ async function call49(onDone) {
417392
417488
  const config2 = getGlobalConfig();
417393
417489
  const isFirstVisit = !config2.hasVisitedPasses;
417394
417490
  if (isFirstVisit) {
@@ -418150,9 +418246,9 @@ var init_Grove = __esm(() => {
418150
418246
  // src/commands/privacy-settings/privacy-settings.tsx
418151
418247
  var exports_privacy_settings = {};
418152
418248
  __export(exports_privacy_settings, {
418153
- call: () => call49
418249
+ call: () => call50
418154
418250
  });
418155
- async function call49(onDone) {
418251
+ async function call50(onDone) {
418156
418252
  const qualified = await isQualifiedForGrove();
418157
418253
  if (!qualified) {
418158
418254
  onDone(FALLBACK_MESSAGE);
@@ -419992,9 +420088,9 @@ var init_HooksConfigMenu = __esm(() => {
419992
420088
  // src/commands/hooks/hooks.tsx
419993
420089
  var exports_hooks = {};
419994
420090
  __export(exports_hooks, {
419995
- call: () => call50
420091
+ call: () => call51
419996
420092
  });
419997
- var jsx_dev_runtime301, call50 = async (onDone, context7) => {
420093
+ var jsx_dev_runtime301, call51 = async (onDone, context7) => {
419998
420094
  logEvent("tengu_hooks_command", {});
419999
420095
  const appState = context7.getAppState();
420000
420096
  const permissionContext = appState.toolPermissionContext;
@@ -420026,10 +420122,10 @@ var init_hooks3 = __esm(() => {
420026
420122
  // src/commands/files/files.ts
420027
420123
  var exports_files2 = {};
420028
420124
  __export(exports_files2, {
420029
- call: () => call51
420125
+ call: () => call52
420030
420126
  });
420031
420127
  import { relative as relative26 } from "path";
420032
- async function call51(_args, context7) {
420128
+ async function call52(_args, context7) {
420033
420129
  const files = context7.readFileState ? cacheKeys(context7.readFileState) : [];
420034
420130
  if (files.length === 0) {
420035
420131
  return { type: "text", value: "No files in context" };
@@ -420062,7 +420158,7 @@ var init_files4 = __esm(() => {
420062
420158
  var exports_branch = {};
420063
420159
  __export(exports_branch, {
420064
420160
  deriveFirstPrompt: () => deriveFirstPrompt,
420065
- call: () => call52
420161
+ call: () => call53
420066
420162
  });
420067
420163
  import { randomUUID as randomUUID27 } from "crypto";
420068
420164
  import { mkdir as mkdir33, readFile as readFile44, writeFile as writeFile36 } from "fs/promises";
@@ -420168,7 +420264,7 @@ async function getUniqueForkName(baseName) {
420168
420264
  }
420169
420265
  return `${baseName} (Branch ${nextNumber})`;
420170
420266
  }
420171
- async function call52(onDone, context7, args) {
420267
+ async function call53(onDone, context7, args) {
420172
420268
  const customTitle = args?.trim() || undefined;
420173
420269
  const originalSessionId = getSessionId();
420174
420270
  try {
@@ -426183,9 +426279,9 @@ var init_AgentsMenu = __esm(() => {
426183
426279
  // src/commands/agents/agents.tsx
426184
426280
  var exports_agents = {};
426185
426281
  __export(exports_agents, {
426186
- call: () => call53
426282
+ call: () => call54
426187
426283
  });
426188
- async function call53(onDone, context7) {
426284
+ async function call54(onDone, context7) {
426189
426285
  const appState = context7.getAppState();
426190
426286
  const permissionContext = appState.toolPermissionContext;
426191
426287
  const tools = getTools(permissionContext);
@@ -426216,9 +426312,9 @@ var init_agents2 = __esm(() => {
426216
426312
  // src/commands/plugin/plugin.tsx
426217
426313
  var exports_plugin = {};
426218
426314
  __export(exports_plugin, {
426219
- call: () => call54
426315
+ call: () => call55
426220
426316
  });
426221
- async function call54(onDone, _context, args) {
426317
+ async function call55(onDone, _context, args) {
426222
426318
  return /* @__PURE__ */ jsx_dev_runtime327.jsxDEV(PluginSettings, {
426223
426319
  onComplete: onDone,
426224
426320
  args
@@ -426383,12 +426479,12 @@ var init_refresh = __esm(() => {
426383
426479
  // src/commands/reload-plugins/reload-plugins.ts
426384
426480
  var exports_reload_plugins = {};
426385
426481
  __export(exports_reload_plugins, {
426386
- call: () => call55
426482
+ call: () => call56
426387
426483
  });
426388
426484
  function n(count3, noun) {
426389
426485
  return `${count3} ${plural(count3, noun)}`;
426390
426486
  }
426391
- var call55 = async (_args, context7) => {
426487
+ var call56 = async (_args, context7) => {
426392
426488
  if (false) {}
426393
426489
  const r = await refreshActivePlugins(context7.setAppState);
426394
426490
  const parts = [
@@ -426431,9 +426527,9 @@ var init_reload_plugins2 = __esm(() => {
426431
426527
  // src/commands/rewind/rewind.ts
426432
426528
  var exports_rewind = {};
426433
426529
  __export(exports_rewind, {
426434
- call: () => call56
426530
+ call: () => call57
426435
426531
  });
426436
- async function call56(_args, context7) {
426532
+ async function call57(_args, context7) {
426437
426533
  if (context7.openMessageSelector) {
426438
426534
  context7.openMessageSelector();
426439
426535
  }
@@ -426548,7 +426644,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
426548
426644
  smapsRollup,
426549
426645
  platform: process.platform,
426550
426646
  nodeVersion: process.version,
426551
- ccVersion: "1.2.1"
426647
+ ccVersion: "1.2.2"
426552
426648
  };
426553
426649
  }
426554
426650
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -426618,9 +426714,9 @@ var init_heapDumpService = __esm(() => {
426618
426714
  // src/commands/heapdump/heapdump.ts
426619
426715
  var exports_heapdump = {};
426620
426716
  __export(exports_heapdump, {
426621
- call: () => call57
426717
+ call: () => call58
426622
426718
  });
426623
- async function call57() {
426719
+ async function call58() {
426624
426720
  const result = await performHeapDump();
426625
426721
  if (!result.success) {
426626
426722
  return {
@@ -426991,7 +427087,7 @@ var USAGE = `/bridge-kick <subcommand>
426991
427087
  reconnect-session fail next POST /bridge/reconnect fails
426992
427088
  heartbeat <status> next heartbeat throws BridgeFatalError(status)
426993
427089
  reconnect call reconnectEnvironmentWithSession directly
426994
- status print bridge state`, call58 = async (args) => {
427090
+ status print bridge state`, call59 = async (args) => {
426995
427091
  const h = getBridgeDebugHandle();
426996
427092
  if (!h) {
426997
427093
  return {
@@ -427124,16 +427220,16 @@ var init_bridge_kick = __esm(() => {
427124
427220
  description: "Inject bridge failure states for manual recovery testing",
427125
427221
  isEnabled: () => process.env.USER_TYPE === "ant",
427126
427222
  supportsNonInteractive: false,
427127
- load: () => Promise.resolve({ call: call58 })
427223
+ load: () => Promise.resolve({ call: call59 })
427128
427224
  };
427129
427225
  bridge_kick_default = bridgeKick;
427130
427226
  });
427131
427227
 
427132
427228
  // src/commands/version.ts
427133
- var call59 = async () => {
427229
+ var call60 = async () => {
427134
427230
  return {
427135
427231
  type: "text",
427136
- value: `${"1.2.1"} (built ${"2026-04-15T02:12:12.680Z"})`
427232
+ value: `${"1.2.2"} (built ${"2026-04-18T18:20:09.217Z"})`
427137
427233
  };
427138
427234
  }, version, version_default;
427139
427235
  var init_version = __esm(() => {
@@ -427143,7 +427239,7 @@ var init_version = __esm(() => {
427143
427239
  description: "Print the version this session is running (not what autoupdate downloaded)",
427144
427240
  isEnabled: () => process.env.USER_TYPE === "ant",
427145
427241
  supportsNonInteractive: true,
427146
- load: () => Promise.resolve({ call: call59 })
427242
+ load: () => Promise.resolve({ call: call60 })
427147
427243
  };
427148
427244
  version_default = version;
427149
427245
  });
@@ -428299,10 +428395,10 @@ var init_SandboxSettings = __esm(() => {
428299
428395
  // src/commands/sandbox-toggle/sandbox-toggle.tsx
428300
428396
  var exports_sandbox_toggle = {};
428301
428397
  __export(exports_sandbox_toggle, {
428302
- call: () => call60
428398
+ call: () => call61
428303
428399
  });
428304
428400
  import { relative as relative27 } from "path";
428305
- async function call60(onDone, _context, args) {
428401
+ async function call61(onDone, _context, args) {
428306
428402
  const settings = getSettings_DEPRECATED();
428307
428403
  const themeName = settings.theme || "light";
428308
428404
  const platform3 = getPlatform();
@@ -428407,7 +428503,7 @@ var init_sandbox_toggle2 = __esm(() => {
428407
428503
  });
428408
428504
 
428409
428505
  // src/commands/advisor.ts
428410
- var call61 = async (args, context7) => {
428506
+ var call62 = async (args, context7) => {
428411
428507
  const arg = args.trim().toLowerCase();
428412
428508
  const baseModel = parseUserSpecifiedModel(context7.getAppState().mainLoopModel ?? getDefaultMainLoopModelSetting());
428413
428509
  if (!arg) {
@@ -428493,7 +428589,7 @@ var init_advisor2 = __esm(() => {
428493
428589
  return !canUserConfigureAdvisor();
428494
428590
  },
428495
428591
  supportsNonInteractive: true,
428496
- load: () => Promise.resolve({ call: call61 })
428592
+ load: () => Promise.resolve({ call: call62 })
428497
428593
  };
428498
428594
  advisor_default = advisor;
428499
428595
  });
@@ -428905,12 +429001,12 @@ var init_ExitFlow = __esm(() => {
428905
429001
  // src/commands/exit/exit.tsx
428906
429002
  var exports_exit = {};
428907
429003
  __export(exports_exit, {
428908
- call: () => call62
429004
+ call: () => call63
428909
429005
  });
428910
429006
  function getRandomGoodbyeMessage2() {
428911
429007
  return sample_default(GOODBYE_MESSAGES2) ?? "Goodbye!";
428912
429008
  }
428913
- async function call62(onDone) {
429009
+ async function call63(onDone) {
428914
429010
  if (false) {}
428915
429011
  const showWorktree = getCurrentWorktreeSession() !== null;
428916
429012
  if (showWorktree) {
@@ -429204,7 +429300,7 @@ var exports_export = {};
429204
429300
  __export(exports_export, {
429205
429301
  sanitizeFilename: () => sanitizeFilename,
429206
429302
  extractFirstPrompt: () => extractFirstPrompt,
429207
- call: () => call63
429303
+ call: () => call64
429208
429304
  });
429209
429305
  import { join as join122 } from "path";
429210
429306
  function formatTimestamp(date2) {
@@ -429245,7 +429341,7 @@ async function exportWithReactRenderer(context7) {
429245
429341
  const tools = context7.options.tools || [];
429246
429342
  return renderMessagesToPlainText(context7.messages, tools);
429247
429343
  }
429248
- async function call63(onDone, context7, args) {
429344
+ async function call64(onDone, context7, args) {
429249
429345
  const content = await exportWithReactRenderer(context7);
429250
429346
  const filename = args.trim();
429251
429347
  if (filename) {
@@ -429305,7 +429401,7 @@ var init_export2 = __esm(() => {
429305
429401
  // src/commands/model/model.tsx
429306
429402
  var exports_model2 = {};
429307
429403
  __export(exports_model2, {
429308
- call: () => call64
429404
+ call: () => call65
429309
429405
  });
429310
429406
  function ModelPickerWrapper(t0) {
429311
429407
  const $2 = c3(17);
@@ -429553,7 +429649,7 @@ function renderModelLabel(model) {
429553
429649
  const rendered = renderDefaultModelSetting(model ?? getDefaultMainLoopModelSetting());
429554
429650
  return model === null ? `${rendered} (default)` : rendered;
429555
429651
  }
429556
- var React109, jsx_dev_runtime339, call64 = async (onDone, _context, args) => {
429652
+ var React109, jsx_dev_runtime339, call65 = async (onDone, _context, args) => {
429557
429653
  args = args?.trim() || "";
429558
429654
  if (COMMON_INFO_ARGS.includes(args)) {
429559
429655
  logEvent("tengu_model_command_inline_help", {
@@ -429620,7 +429716,7 @@ var init_model3 = __esm(() => {
429620
429716
  // src/commands/tag/tag.tsx
429621
429717
  var exports_tag = {};
429622
429718
  __export(exports_tag, {
429623
- call: () => call65
429719
+ call: () => call66
429624
429720
  });
429625
429721
  function ConfirmRemoveTag(t0) {
429626
429722
  const $2 = c3(11);
@@ -429844,7 +429940,7 @@ Examples:
429844
429940
  React110.useEffect(t1, t2);
429845
429941
  return null;
429846
429942
  }
429847
- async function call65(onDone, _context, args) {
429943
+ async function call66(onDone, _context, args) {
429848
429944
  args = args?.trim() || "";
429849
429945
  if (COMMON_INFO_ARGS.includes(args) || COMMON_HELP_ARGS.includes(args)) {
429850
429946
  return /* @__PURE__ */ jsx_dev_runtime340.jsxDEV(ShowHelp, {
@@ -429891,9 +429987,9 @@ var init_tag2 = __esm(() => {
429891
429987
  // src/commands/output-style/output-style.tsx
429892
429988
  var exports_output_style = {};
429893
429989
  __export(exports_output_style, {
429894
- call: () => call66
429990
+ call: () => call67
429895
429991
  });
429896
- async function call66(onDone) {
429992
+ async function call67(onDone) {
429897
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.", {
429898
429994
  display: "system"
429899
429995
  });
@@ -429915,7 +430011,7 @@ var init_output_style = __esm(() => {
429915
430011
  // src/commands/provider/provider.tsx
429916
430012
  var exports_provider = {};
429917
430013
  __export(exports_provider, {
429918
- call: () => call67
430014
+ call: () => call68
429919
430015
  });
429920
430016
  function formatProviderSavedMessage(config2) {
429921
430017
  const providerLabel = getLocalLLMProviderLabel(config2.provider);
@@ -429929,7 +430025,7 @@ function formatProviderSavedMessage(config2) {
429929
430025
  ].join(`
429930
430026
  `);
429931
430027
  }
429932
- var jsx_dev_runtime341, call67 = async (onDone) => {
430028
+ var jsx_dev_runtime341, call68 = async (onDone) => {
429933
430029
  const config2 = getGlobalConfig();
429934
430030
  function handleComplete(nextConfig) {
429935
430031
  saveGlobalConfig((current) => ({
@@ -430485,9 +430581,9 @@ var init_RemoteEnvironmentDialog = __esm(() => {
430485
430581
  // src/commands/remote-env/remote-env.tsx
430486
430582
  var exports_remote_env = {};
430487
430583
  __export(exports_remote_env, {
430488
- call: () => call68
430584
+ call: () => call69
430489
430585
  });
430490
- async function call68(onDone) {
430586
+ async function call69(onDone) {
430491
430587
  return /* @__PURE__ */ jsx_dev_runtime343.jsxDEV(RemoteEnvironmentDialog, {
430492
430588
  onDone
430493
430589
  }, undefined, false, undefined, this);
@@ -430567,7 +430663,7 @@ var exports_effort = {};
430567
430663
  __export(exports_effort, {
430568
430664
  showCurrentEffort: () => showCurrentEffort,
430569
430665
  executeEffort: () => executeEffort,
430570
- call: () => call69
430666
+ call: () => call70
430571
430667
  });
430572
430668
  function setEffortValue(effortValue) {
430573
430669
  const persistable = toPersistableEffort(effortValue);
@@ -430718,7 +430814,7 @@ function ApplyEffortAndClose(t0) {
430718
430814
  React111.useEffect(t1, t2);
430719
430815
  return null;
430720
430816
  }
430721
- async function call69(onDone, _context, args) {
430817
+ async function call70(onDone, _context, args) {
430722
430818
  args = args?.trim() || "";
430723
430819
  if (COMMON_HELP_ARGS2.includes(args)) {
430724
430820
  onDone(`Usage: /effort [low|medium|high|max|auto]
@@ -433550,9 +433646,9 @@ var init_Stats = __esm(() => {
433550
433646
  // src/commands/stats/stats.tsx
433551
433647
  var exports_stats = {};
433552
433648
  __export(exports_stats, {
433553
- call: () => call70
433649
+ call: () => call71
433554
433650
  });
433555
- var jsx_dev_runtime346, call70 = async (onDone) => {
433651
+ var jsx_dev_runtime346, call71 = async (onDone) => {
433556
433652
  return /* @__PURE__ */ jsx_dev_runtime346.jsxDEV(Stats2, {
433557
433653
  onClose: onDone
433558
433654
  }, undefined, false, undefined, this);
@@ -435077,7 +435173,7 @@ function generateHtmlReport(data, insights) {
435077
435173
  </html>`;
435078
435174
  }
435079
435175
  function buildExportData(data, insights, facets, remoteStats) {
435080
- const version2 = typeof MACRO !== "undefined" ? "1.2.1" : "unknown";
435176
+ const version2 = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
435081
435177
  const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
435082
435178
  const facets_summary = {
435083
435179
  total: facets.size,
@@ -436024,6 +436120,7 @@ var init_commands2 = __esm(() => {
436024
436120
  init_heartbeat2();
436025
436121
  init_sysprompt2();
436026
436122
  init_ctx2();
436123
+ init_contextsize_index();
436027
436124
  init_research2();
436028
436125
  init_thinkharder2();
436029
436126
  init_thinknormal_index();
@@ -436159,6 +436256,7 @@ var init_commands2 = __esm(() => {
436159
436256
  copy_default,
436160
436257
  context6,
436161
436258
  contextNonInteractive,
436259
+ contextsize_index_default,
436162
436260
  cost_default,
436163
436261
  diff_default,
436164
436262
  director_default,
@@ -439223,7 +439321,7 @@ var init_sessionStorage = __esm(() => {
439223
439321
  init_settings2();
439224
439322
  init_slowOperations();
439225
439323
  init_uuid();
439226
- VERSION6 = typeof MACRO !== "undefined" ? "1.2.1" : "unknown";
439324
+ VERSION6 = typeof MACRO !== "undefined" ? "1.2.2" : "unknown";
439227
439325
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
439228
439326
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
439229
439327
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -440425,7 +440523,7 @@ var init_filesystem = __esm(() => {
440425
440523
  });
440426
440524
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
440427
440525
  const nonce = randomBytes19(16).toString("hex");
440428
- return join129(getClaudeTempDir(), "bundled-skills", "1.2.1", nonce);
440526
+ return join129(getClaudeTempDir(), "bundled-skills", "1.2.2", nonce);
440429
440527
  });
440430
440528
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
440431
440529
  });
@@ -447641,9 +447739,9 @@ var require_extra_typings = __commonJS((exports, module) => {
447641
447739
  });
447642
447740
 
447643
447741
  // node_modules/@commander-js/extra-typings/esm.mjs
447644
- var import__3, program, createCommand, createArgument, createOption, CommanderError, InvalidArgumentError, InvalidOptionArgumentError, Command, Argument, Option, Help2;
447742
+ var import__2, program, createCommand, createArgument, createOption, CommanderError, InvalidArgumentError, InvalidOptionArgumentError, Command, Argument, Option, Help2;
447645
447743
  var init_esm3 = __esm(() => {
447646
- import__3 = __toESM(require_extra_typings(), 1);
447744
+ import__2 = __toESM(require_extra_typings(), 1);
447647
447745
  ({
447648
447746
  program,
447649
447747
  createCommand,
@@ -447656,7 +447754,7 @@ var init_esm3 = __esm(() => {
447656
447754
  Argument,
447657
447755
  Option,
447658
447756
  Help: Help2
447659
- } = import__3.default);
447757
+ } = import__2.default);
447660
447758
  });
447661
447759
 
447662
447760
  // src/utils/apiPreconnect.ts
@@ -449710,7 +449808,7 @@ function buildSystemInitMessage(inputs) {
449710
449808
  slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
449711
449809
  apiKeySource: getAnthropicApiKeyWithSource().source,
449712
449810
  betas: getSdkBetas(),
449713
- claude_code_version: "1.2.1",
449811
+ claude_code_version: "1.2.2",
449714
449812
  output_style: outputStyle2,
449715
449813
  agents: inputs.agents.map((agent) => agent.agentType),
449716
449814
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -464289,7 +464387,7 @@ var init_useVoiceEnabled = __esm(() => {
464289
464387
  function getSemverPart(version2) {
464290
464388
  return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
464291
464389
  }
464292
- function useUpdateNotification(updatedVersion, initialVersion = "1.2.1") {
464390
+ function useUpdateNotification(updatedVersion, initialVersion = "1.2.2") {
464293
464391
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
464294
464392
  if (!updatedVersion) {
464295
464393
  return null;
@@ -464329,7 +464427,7 @@ function AutoUpdater({
464329
464427
  return;
464330
464428
  }
464331
464429
  if (false) {}
464332
- const currentVersion = "1.2.1";
464430
+ const currentVersion = "1.2.2";
464333
464431
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
464334
464432
  let latestVersion = await getLatestVersion(channel);
464335
464433
  const isDisabled = isAutoUpdaterDisabled();
@@ -464540,12 +464638,12 @@ function NativeAutoUpdater({
464540
464638
  logEvent("tengu_native_auto_updater_start", {});
464541
464639
  try {
464542
464640
  const maxVersion = await getMaxVersion();
464543
- if (maxVersion && gt("1.2.1", maxVersion)) {
464641
+ if (maxVersion && gt("1.2.2", maxVersion)) {
464544
464642
  const msg = await getMaxVersionMessage();
464545
464643
  setMaxVersionIssue(msg ?? "affects your version");
464546
464644
  }
464547
464645
  const result = await installLatest(channel);
464548
- const currentVersion = "1.2.1";
464646
+ const currentVersion = "1.2.2";
464549
464647
  const latencyMs = Date.now() - startTime;
464550
464648
  if (result.lockFailed) {
464551
464649
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -464680,17 +464778,17 @@ function PackageManagerAutoUpdater(t0) {
464680
464778
  const maxVersion = await getMaxVersion();
464681
464779
  if (maxVersion && latest && gt(latest, maxVersion)) {
464682
464780
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
464683
- if (gte("1.2.1", maxVersion)) {
464684
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
464781
+ if (gte("1.2.2", maxVersion)) {
464782
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.2"} is already at or above maxVersion ${maxVersion}, skipping update`);
464685
464783
  setUpdateAvailable(false);
464686
464784
  return;
464687
464785
  }
464688
464786
  latest = maxVersion;
464689
464787
  }
464690
- const hasUpdate = latest && !gte("1.2.1", latest) && !shouldSkipVersion(latest);
464788
+ const hasUpdate = latest && !gte("1.2.2", latest) && !shouldSkipVersion(latest);
464691
464789
  setUpdateAvailable(!!hasUpdate);
464692
464790
  if (hasUpdate) {
464693
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.1"} -> ${latest}`);
464791
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.2"} -> ${latest}`);
464694
464792
  }
464695
464793
  };
464696
464794
  $2[0] = t1;
@@ -464724,7 +464822,7 @@ function PackageManagerAutoUpdater(t0) {
464724
464822
  wrap: "truncate",
464725
464823
  children: [
464726
464824
  "currentVersion: ",
464727
- "1.2.1"
464825
+ "1.2.2"
464728
464826
  ]
464729
464827
  }, undefined, true, undefined, this);
464730
464828
  $2[3] = verbose;
@@ -472282,7 +472380,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
472282
472380
  project_dir: getOriginalCwd(),
472283
472381
  added_dirs: addedDirs
472284
472382
  },
472285
- version: "1.2.1",
472383
+ version: "1.2.2",
472286
472384
  output_style: {
472287
472385
  name: outputStyleName
472288
472386
  },
@@ -483854,7 +483952,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
483854
483952
  } catch {}
483855
483953
  const data = {
483856
483954
  trigger,
483857
- version: "1.2.1",
483955
+ version: "1.2.2",
483858
483956
  platform: process.platform,
483859
483957
  transcript,
483860
483958
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -500319,7 +500417,7 @@ function appendToLog(path17, message) {
500319
500417
  cwd: getFsImplementation().cwd(),
500320
500418
  userType: process.env.USER_TYPE,
500321
500419
  sessionId: getSessionId(),
500322
- version: "1.2.1"
500420
+ version: "1.2.2"
500323
500421
  };
500324
500422
  getLogWriter(path17).write(messageWithTimestamp);
500325
500423
  }
@@ -504318,8 +504416,8 @@ async function getEnvLessBridgeConfig() {
504318
504416
  }
504319
504417
  async function checkEnvLessBridgeMinVersion() {
504320
504418
  const cfg = await getEnvLessBridgeConfig();
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.
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.
504323
504421
  Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
504324
504422
  }
504325
504423
  return null;
@@ -504791,7 +504889,7 @@ async function initBridgeCore(params) {
504791
504889
  const rawApi = createBridgeApiClient({
504792
504890
  baseUrl,
504793
504891
  getAccessToken,
504794
- runnerVersion: "1.2.1",
504892
+ runnerVersion: "1.2.2",
504795
504893
  onDebug: logForDebugging,
504796
504894
  onAuth401,
504797
504895
  getTrustedDeviceToken
@@ -510510,7 +510608,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
510510
510608
  setCwd(cwd3);
510511
510609
  const server = new Server({
510512
510610
  name: "claude/tengu",
510513
- version: "1.2.1"
510611
+ version: "1.2.2"
510514
510612
  }, {
510515
510613
  capabilities: {
510516
510614
  tools: {}
@@ -511591,7 +511689,7 @@ function WelcomeLogo() {
511591
511689
  dimColor: true,
511592
511690
  children: [
511593
511691
  "v",
511594
- "1.2.1"
511692
+ "1.2.2"
511595
511693
  ]
511596
511694
  }, undefined, true, undefined, this)
511597
511695
  ]
@@ -511782,7 +511880,7 @@ __export(exports_update, {
511782
511880
  });
511783
511881
  async function update() {
511784
511882
  logEvent("tengu_update_check", {});
511785
- writeToStdout(`Current version: ${"1.2.1"}
511883
+ writeToStdout(`Current version: ${"1.2.2"}
511786
511884
  `);
511787
511885
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
511788
511886
  writeToStdout(`Checking for updates to ${channel} version...
@@ -511857,8 +511955,8 @@ async function update() {
511857
511955
  writeToStdout(`localclawd is managed by Homebrew.
511858
511956
  `);
511859
511957
  const latest = await getLatestVersion(channel);
511860
- if (latest && !gte("1.2.1", latest)) {
511861
- writeToStdout(`Update available: ${"1.2.1"} → ${latest}
511958
+ if (latest && !gte("1.2.2", latest)) {
511959
+ writeToStdout(`Update available: ${"1.2.2"} → ${latest}
511862
511960
  `);
511863
511961
  writeToStdout(`
511864
511962
  `);
@@ -511874,8 +511972,8 @@ async function update() {
511874
511972
  writeToStdout(`localclawd is managed by winget.
511875
511973
  `);
511876
511974
  const latest = await getLatestVersion(channel);
511877
- if (latest && !gte("1.2.1", latest)) {
511878
- writeToStdout(`Update available: ${"1.2.1"} → ${latest}
511975
+ if (latest && !gte("1.2.2", latest)) {
511976
+ writeToStdout(`Update available: ${"1.2.2"} → ${latest}
511879
511977
  `);
511880
511978
  writeToStdout(`
511881
511979
  `);
@@ -511889,8 +511987,8 @@ async function update() {
511889
511987
  writeToStdout(`localclawd is managed by apk.
511890
511988
  `);
511891
511989
  const latest = await getLatestVersion(channel);
511892
- if (latest && !gte("1.2.1", latest)) {
511893
- writeToStdout(`Update available: ${"1.2.1"} → ${latest}
511990
+ if (latest && !gte("1.2.2", latest)) {
511991
+ writeToStdout(`Update available: ${"1.2.2"} → ${latest}
511894
511992
  `);
511895
511993
  writeToStdout(`
511896
511994
  `);
@@ -511955,11 +512053,11 @@ async function update() {
511955
512053
  `);
511956
512054
  await gracefulShutdown(1);
511957
512055
  }
511958
- if (result.latestVersion === "1.2.1") {
511959
- writeToStdout(source_default.green(`localclawd is up to date (${"1.2.1"})`) + `
512056
+ if (result.latestVersion === "1.2.2") {
512057
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.2.2"})`) + `
511960
512058
  `);
511961
512059
  } else {
511962
- writeToStdout(source_default.green(`Successfully updated from ${"1.2.1"} to version ${result.latestVersion}`) + `
512060
+ writeToStdout(source_default.green(`Successfully updated from ${"1.2.2"} to version ${result.latestVersion}`) + `
511963
512061
  `);
511964
512062
  await regenerateCompletionCache();
511965
512063
  }
@@ -512019,12 +512117,12 @@ async function update() {
512019
512117
  `);
512020
512118
  await gracefulShutdown(1);
512021
512119
  }
512022
- if (latestVersion === "1.2.1") {
512023
- writeToStdout(source_default.green(`localclawd is up to date (${"1.2.1"})`) + `
512120
+ if (latestVersion === "1.2.2") {
512121
+ writeToStdout(source_default.green(`localclawd is up to date (${"1.2.2"})`) + `
512024
512122
  `);
512025
512123
  await gracefulShutdown(0);
512026
512124
  }
512027
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.1"})
512125
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.2"})
512028
512126
  `);
512029
512127
  writeToStdout(`Installing update...
512030
512128
  `);
@@ -512069,7 +512167,7 @@ async function update() {
512069
512167
  logForDebugging(`update: Installation status: ${status2}`);
512070
512168
  switch (status2) {
512071
512169
  case "success":
512072
- writeToStdout(source_default.green(`Successfully updated from ${"1.2.1"} to version ${latestVersion}`) + `
512170
+ writeToStdout(source_default.green(`Successfully updated from ${"1.2.2"} to version ${latestVersion}`) + `
512073
512171
  `);
512074
512172
  await regenerateCompletionCache();
512075
512173
  break;
@@ -513311,7 +513409,7 @@ Run with --debug for more details.
513311
513409
  }
513312
513410
  }
513313
513411
  logForDiagnosticsNoPII("info", "started", {
513314
- version: "1.2.1",
513412
+ version: "1.2.2",
513315
513413
  is_native_binary: isInBundledMode()
513316
513414
  });
513317
513415
  registerCleanup(async () => {
@@ -514095,7 +514193,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
514095
514193
  pendingHookMessages
514096
514194
  }, renderAndRun);
514097
514195
  }
514098
- }).version("1.2.1 (localclawd)", "-v, --version", "Output the version number");
514196
+ }).version("1.2.2 (localclawd)", "-v, --version", "Output the version number");
514099
514197
  program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
514100
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.");
514101
514199
  if (canUserConfigureAdvisor()) {
@@ -514595,7 +514693,7 @@ if (false) {}
514595
514693
  async function main2() {
514596
514694
  const args = process.argv.slice(2);
514597
514695
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
514598
- console.log(`${"1.2.1"} (localclawd)`);
514696
+ console.log(`${"1.2.2"} (localclawd)`);
514599
514697
  return;
514600
514698
  }
514601
514699
  const {
@@ -514678,4 +514776,4 @@ localclawd crashed: ${msg}
514678
514776
  process.exit(1);
514679
514777
  });
514680
514778
 
514681
- //# debugId=5E9ABEC662C27B3364756E2164756E21
514779
+ //# debugId=38E1293AFF56160C64756E2164756E21