@rayu-dev/rayu-cli 1.4.480 → 1.4.482

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/rayu.js +150 -95
  2. package/package.json +1 -1
package/dist/rayu.js CHANGED
@@ -149022,7 +149022,7 @@ var init_isEqual = __esm(() => {
149022
149022
 
149023
149023
  // src/utils/userAgent.ts
149024
149024
  function getRayuUserAgent() {
149025
- return `rayu/${"1.4.480"}`;
149025
+ return `rayu/${"1.4.482"}`;
149026
149026
  }
149027
149027
  var getClaudeCodeUserAgent;
149028
149028
  var init_userAgent = __esm(() => {
@@ -149048,7 +149048,7 @@ function getUserAgent() {
149048
149048
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
149049
149049
  const workload = getWorkload();
149050
149050
  const workloadSuffix = workload ? `, workload/${workload}` : "";
149051
- return `rayu/${"1.4.480"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149051
+ return `rayu/${"1.4.482"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149052
149052
  }
149053
149053
  function getMCPUserAgent() {
149054
149054
  const parts = [];
@@ -149062,7 +149062,7 @@ function getMCPUserAgent() {
149062
149062
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
149063
149063
  }
149064
149064
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
149065
- return `rayu/${"1.4.480"}${suffix}`;
149065
+ return `rayu/${"1.4.482"}${suffix}`;
149066
149066
  }
149067
149067
  function getWebFetchUserAgent() {
149068
149068
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -205506,7 +205506,7 @@ function getAttributionHeader(fingerprint) {
205506
205506
  if (!isAttributionHeaderEnabled()) {
205507
205507
  return "";
205508
205508
  }
205509
- const version2 = `${"1.4.480"}.${fingerprint}`;
205509
+ const version2 = `${"1.4.482"}.${fingerprint}`;
205510
205510
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
205511
205511
  const cch = "";
205512
205512
  const workload = getWorkload();
@@ -259477,7 +259477,7 @@ var init_metadata = __esm(() => {
259477
259477
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
259478
259478
  WHITESPACE_REGEX = /\s+/;
259479
259479
  getVersionBase = memoize_default(() => {
259480
- const match = "1.4.480".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259480
+ const match = "1.4.482".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259481
259481
  return match ? match[0] : undefined;
259482
259482
  });
259483
259483
  buildEnvContext = memoize_default(async () => {
@@ -259516,7 +259516,7 @@ var init_metadata = __esm(() => {
259516
259516
  },
259517
259517
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
259518
259518
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
259519
- version: "1.4.480",
259519
+ version: "1.4.482",
259520
259520
  versionBase: getVersionBase(),
259521
259521
  buildTime: "",
259522
259522
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
@@ -291632,7 +291632,7 @@ function getTelemetryAttributes() {
291632
291632
  attributes["session.id"] = sessionId;
291633
291633
  }
291634
291634
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
291635
- attributes["app.version"] = "1.4.480";
291635
+ attributes["app.version"] = "1.4.482";
291636
291636
  }
291637
291637
  const oauthAccount = getOauthAccountInfo();
291638
291638
  if (oauthAccount) {
@@ -401989,7 +401989,7 @@ function getInstallationEnv() {
401989
401989
  return;
401990
401990
  }
401991
401991
  function getClaudeCodeVersion() {
401992
- return "1.4.480";
401992
+ return "1.4.482";
401993
401993
  }
401994
401994
  async function getInstalledVSCodeExtensionVersion(command) {
401995
401995
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -407227,7 +407227,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
407227
407227
  const client3 = new Client({
407228
407228
  name: "claude-code",
407229
407229
  title: "RAYU",
407230
- version: "1.4.480",
407230
+ version: "1.4.482",
407231
407231
  description: "Anthropic's agentic coding tool",
407232
407232
  websiteUrl: PRODUCT_URL
407233
407233
  }, {
@@ -407544,7 +407544,7 @@ var init_client7 = __esm(() => {
407544
407544
  const client3 = new Client({
407545
407545
  name: "claude-code",
407546
407546
  title: "RAYU",
407547
- version: "1.4.480",
407547
+ version: "1.4.482",
407548
407548
  description: "Anthropic's agentic coding tool",
407549
407549
  websiteUrl: PRODUCT_URL
407550
407550
  }, {
@@ -422363,7 +422363,7 @@ function computeFingerprint(messageText, version2) {
422363
422363
  }
422364
422364
  function computeFingerprintFromMessages(messages) {
422365
422365
  const firstMessageText = extractFirstMessageText(messages);
422366
- return computeFingerprint(firstMessageText, "1.4.480");
422366
+ return computeFingerprint(firstMessageText, "1.4.482");
422367
422367
  }
422368
422368
  var FINGERPRINT_SALT = "59cf53e54c78";
422369
422369
  var init_fingerprint = () => {};
@@ -422405,7 +422405,7 @@ async function sideQuery(opts) {
422405
422405
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
422406
422406
  }
422407
422407
  const messageText = extractFirstUserMessageText(messages);
422408
- const fingerprint = computeFingerprint(messageText, "1.4.480");
422408
+ const fingerprint = computeFingerprint(messageText, "1.4.482");
422409
422409
  const attributionHeader = getAttributionHeader(fingerprint);
422410
422410
  const systemBlocks = [
422411
422411
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -521928,9 +521928,9 @@ async function assertMinVersion() {
521928
521928
  if (false) {}
521929
521929
  try {
521930
521930
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
521931
- if (versionConfig.minVersion && lt("1.4.480", versionConfig.minVersion)) {
521931
+ if (versionConfig.minVersion && lt("1.4.482", versionConfig.minVersion)) {
521932
521932
  console.error(`
521933
- It looks like your version of RAYU (${"1.4.480"}) needs an update.
521933
+ It looks like your version of RAYU (${"1.4.482"}) needs an update.
521934
521934
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
521935
521935
 
521936
521936
  To update, please run:
@@ -522156,7 +522156,7 @@ async function installGlobalPackage(specificVersion) {
522156
522156
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
522157
522157
  logEvent("tengu_auto_updater_lock_contention", {
522158
522158
  pid: process.pid,
522159
- currentVersion: "1.4.480"
522159
+ currentVersion: "1.4.482"
522160
522160
  });
522161
522161
  return "in_progress";
522162
522162
  }
@@ -522165,7 +522165,7 @@ async function installGlobalPackage(specificVersion) {
522165
522165
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
522166
522166
  logError2(new Error("Windows NPM detected in WSL environment"));
522167
522167
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
522168
- currentVersion: "1.4.480"
522168
+ currentVersion: "1.4.482"
522169
522169
  });
522170
522170
  console.error(`
522171
522171
  Error: Windows NPM detected in WSL
@@ -522693,7 +522693,7 @@ function detectLinuxGlobPatternWarnings() {
522693
522693
  }
522694
522694
  async function getDoctorDiagnostic() {
522695
522695
  const installationType = await getCurrentInstallationType();
522696
- const version2 = typeof MACRO !== "undefined" ? "1.4.480" : "unknown";
522696
+ const version2 = typeof MACRO !== "undefined" ? "1.4.482" : "unknown";
522697
522697
  const installationPath = await getInstallationPath();
522698
522698
  const invokedBinary = getInvokedBinary();
522699
522699
  const multipleInstallations = await detectMultipleInstallations();
@@ -523488,8 +523488,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523488
523488
  const maxVersion = await getMaxVersion();
523489
523489
  if (maxVersion && gt(version2, maxVersion)) {
523490
523490
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
523491
- if (gte("1.4.480", maxVersion)) {
523492
- logForDebugging(`Native installer: current version ${"1.4.480"} is already at or above maxVersion ${maxVersion}, skipping update`);
523491
+ if (gte("1.4.482", maxVersion)) {
523492
+ logForDebugging(`Native installer: current version ${"1.4.482"} is already at or above maxVersion ${maxVersion}, skipping update`);
523493
523493
  logEvent("tengu_native_update_skipped_max_version", {
523494
523494
  latency_ms: Date.now() - startTime2,
523495
523495
  max_version: maxVersion,
@@ -523500,7 +523500,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523500
523500
  version2 = maxVersion;
523501
523501
  }
523502
523502
  }
523503
- if (!forceReinstall && version2 === "1.4.480" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523503
+ if (!forceReinstall && version2 === "1.4.482" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523504
523504
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
523505
523505
  logEvent("tengu_native_update_complete", {
523506
523506
  latency_ms: Date.now() - startTime2,
@@ -524708,7 +524708,7 @@ function buildPrimarySection() {
524708
524708
  });
524709
524709
  return [{
524710
524710
  label: "Version",
524711
- value: "1.4.480"
524711
+ value: "1.4.482"
524712
524712
  }, {
524713
524713
  label: "Session name",
524714
524714
  value: nameValue
@@ -528379,7 +528379,7 @@ function Config({
528379
528379
  }
528380
528380
  })
528381
528381
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime168.jsx(ChannelDowngradeDialog, {
528382
- currentVersion: "1.4.480",
528382
+ currentVersion: "1.4.482",
528383
528383
  onChoice: (choice) => {
528384
528384
  setShowSubmenu(null);
528385
528385
  setTabsHidden(false);
@@ -528391,7 +528391,7 @@ function Config({
528391
528391
  autoUpdatesChannel: "stable"
528392
528392
  };
528393
528393
  if (choice === "stay") {
528394
- newSettings.minimumVersion = "1.4.480";
528394
+ newSettings.minimumVersion = "1.4.482";
528395
528395
  }
528396
528396
  updateSettingsForSource("userSettings", newSettings);
528397
528397
  setSettingsData((prev_27) => ({
@@ -536452,7 +536452,7 @@ function HelpV2(t0) {
536452
536452
  let t6;
536453
536453
  if ($3[31] !== tabs) {
536454
536454
  t6 = /* @__PURE__ */ jsx_runtime195.jsx(Tabs, {
536455
- title: `Rayu-CLI v${"1.4.480"}`,
536455
+ title: `Rayu-CLI v${"1.4.482"}`,
536456
536456
  color: "professionalBlue",
536457
536457
  defaultTab: "general",
536458
536458
  children: tabs
@@ -554650,6 +554650,11 @@ function consumePendingToken(token, chatId, username) {
554650
554650
  writeTelegramConfig(next);
554651
554651
  return next;
554652
554652
  }
554653
+ function telegramTransportKey() {
554654
+ const cfg = readTelegramConfig();
554655
+ const mode = getTelegramMode();
554656
+ return mode === "hosted" ? `hosted:${cfg.linkedBotUsername ?? "shared"}` : `byo:${getBotToken()?.split(":")[0] ?? "none"}`;
554657
+ }
554653
554658
  function unlink18() {
554654
554659
  const next = { ...readTelegramConfig() };
554655
554660
  delete next.linkedChatId;
@@ -554986,6 +554991,14 @@ __export(exports_telegram_bot, {
554986
554991
  call: () => call20
554987
554992
  });
554988
554993
  import { randomUUID as randomUUID29 } from "crypto";
554994
+ function activateBridge(setAppState) {
554995
+ const key2 = telegramTransportKey();
554996
+ setAppState((prev) => ({
554997
+ ...prev,
554998
+ telegramBridgeActive: true,
554999
+ telegramTransportKey: key2
555000
+ }));
555001
+ }
554989
555002
  function useKeyPress(target, handler) {
554990
555003
  use_input_default((input) => {
554991
555004
  if (input.trim().toLowerCase() === target)
@@ -555070,7 +555083,7 @@ function HostedStep({
555070
555083
  } else if (pairing?.botUsername) {
555071
555084
  setLinkedBotUsername(pairing.botUsername);
555072
555085
  }
555073
- setAppState((prev) => ({ ...prev, telegramBridgeActive: true }));
555086
+ activateBridge(setAppState);
555074
555087
  onDone();
555075
555088
  });
555076
555089
  }, 1500);
@@ -555466,7 +555479,7 @@ function LinkStep({
555466
555479
  useEscapeToCancel(onCancel);
555467
555480
  import_react132.useEffect(() => {
555468
555481
  saveBotToken(token);
555469
- setAppState((prev) => ({ ...prev, telegramBridgeActive: true }));
555482
+ activateBridge(setAppState);
555470
555483
  setPendingToken(pairToken, TOKEN_TTL_MS);
555471
555484
  getBotUsername(token).then(async (name) => {
555472
555485
  setBotUsername(name);
@@ -555763,7 +555776,7 @@ function TelegramBotConnect({ onDone }) {
555763
555776
  const [screen, setScreen] = import_react132.useState(() => readTelegramConfig().linkedChatId === undefined ? "choose" : "verify");
555764
555777
  const [unlinking, setUnlinking] = import_react132.useState(false);
555765
555778
  const reconnect = import_react132.useCallback(() => {
555766
- setAppState((prev) => ({ ...prev, telegramBridgeActive: true }));
555779
+ activateBridge(setAppState);
555767
555780
  onDone();
555768
555781
  }, [onDone, setAppState]);
555769
555782
  const repair = import_react132.useCallback(() => {
@@ -555866,7 +555879,7 @@ var exports_disconnect = {};
555866
555879
  __export(exports_disconnect, {
555867
555880
  call: () => call21
555868
555881
  });
555869
- async function call21() {
555882
+ var call21 = async (_args, context2) => {
555870
555883
  const config5 = readTelegramConfig();
555871
555884
  if (!config5.linkedChatId) {
555872
555885
  return { type: "text", value: "Telegram bot is not currently linked." };
@@ -555880,12 +555893,18 @@ async function call21() {
555880
555893
  } else {
555881
555894
  const token = getBotToken();
555882
555895
  if (token) {
555883
- sendMessage3(token, config5.linkedChatId, "\uD83D\uDD0C CLI disconnected. Run `/telegram-bot` to link again.").catch(() => {});
555896
+ await sendMessage3(token, config5.linkedChatId, "\uD83D\uDD0C CLI disconnected. Run `/telegram-bot` to link again in your rayu cli session.").catch(() => {});
555884
555897
  }
555885
555898
  }
555886
555899
  unlink18();
555900
+ context2.setAppState((prev) => ({
555901
+ ...prev,
555902
+ telegramBridgeActive: false,
555903
+ telegramTransportKey: undefined,
555904
+ telegramPermissionCallbacks: undefined
555905
+ }));
555887
555906
  return { type: "text", value: `Disconnected Telegram bot (was linked to ${username}).` };
555888
- }
555907
+ };
555889
555908
  var init_disconnect = __esm(() => {
555890
555909
  init_telegramConfig();
555891
555910
  init_telegramApi();
@@ -557346,7 +557365,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
557346
557365
  }
557347
557366
  return [];
557348
557367
  }
557349
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.480") {
557368
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.482") {
557350
557369
  if (false) {}
557351
557370
  const cachedChangelog = await getStoredChangelog();
557352
557371
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -557359,7 +557378,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.480")
557359
557378
  releaseNotes
557360
557379
  };
557361
557380
  }
557362
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.480") {
557381
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.482") {
557363
557382
  if (false) {}
557364
557383
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
557365
557384
  return {
@@ -557487,7 +557506,7 @@ function getRecentActivitySync() {
557487
557506
  return cachedActivity;
557488
557507
  }
557489
557508
  function getLogoDisplayData() {
557490
- const version2 = process.env.DEMO_VERSION ?? "1.4.480";
557509
+ const version2 = process.env.DEMO_VERSION ?? "1.4.482";
557491
557510
  const serverUrl = getDirectConnectServerUrl();
557492
557511
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
557493
557512
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -558652,7 +558671,7 @@ function LogoV2() {
558652
558671
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
558653
558672
  t2 = () => {
558654
558673
  const currentConfig = getGlobalConfig();
558655
- if (currentConfig.lastReleaseNotesSeen === "1.4.480") {
558674
+ if (currentConfig.lastReleaseNotesSeen === "1.4.482") {
558656
558675
  return;
558657
558676
  }
558658
558677
  saveGlobalConfig(_temp327);
@@ -559131,7 +559150,7 @@ function LogoV2() {
559131
559150
  t24 = $3[61];
559132
559151
  }
559133
559152
  const _latestNpm = getCachedLatestNpmVersionSync();
559134
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.480") ? [createUpdateAvailableFeed("1.4.480", _latestNpm)] : [];
559153
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.482") ? [createUpdateAvailableFeed("1.4.482", _latestNpm)] : [];
559135
559154
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_runtime236.jsx(FeedColumn, {
559136
559155
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
559137
559156
  maxWidth: rightWidth
@@ -559331,12 +559350,12 @@ function LogoV2() {
559331
559350
  return t41;
559332
559351
  }
559333
559352
  function _temp327(current) {
559334
- if (current.lastReleaseNotesSeen === "1.4.480") {
559353
+ if (current.lastReleaseNotesSeen === "1.4.482") {
559335
559354
  return current;
559336
559355
  }
559337
559356
  return {
559338
559357
  ...current,
559339
- lastReleaseNotesSeen: "1.4.480"
559358
+ lastReleaseNotesSeen: "1.4.482"
559340
559359
  };
559341
559360
  }
559342
559361
  function _temp241(s_0) {
@@ -584335,7 +584354,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
584335
584354
  smapsRollup,
584336
584355
  platform: process.platform,
584337
584356
  nodeVersion: process.version,
584338
- ccVersion: "1.4.480"
584357
+ ccVersion: "1.4.482"
584339
584358
  };
584340
584359
  }
584341
584360
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -584857,7 +584876,7 @@ var init_bridge_kick = __esm(() => {
584857
584876
  var call50 = async () => {
584858
584877
  return {
584859
584878
  type: "text",
584860
- value: "1.4.480"
584879
+ value: "1.4.482"
584861
584880
  };
584862
584881
  }, version2, version_default;
584863
584882
  var init_version = __esm(() => {
@@ -595353,7 +595372,7 @@ function generateHtmlReport(data, insights) {
595353
595372
  </html>`;
595354
595373
  }
595355
595374
  function buildExportData(data, insights, facets, remoteStats) {
595356
- const version3 = typeof MACRO !== "undefined" ? "1.4.480" : "unknown";
595375
+ const version3 = typeof MACRO !== "undefined" ? "1.4.482" : "unknown";
595357
595376
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
595358
595377
  const facets_summary = {
595359
595378
  total: facets.size,
@@ -599267,7 +599286,7 @@ var init_sessionStorage = __esm(() => {
599267
599286
  init_settings2();
599268
599287
  init_slowOperations();
599269
599288
  init_uuid();
599270
- VERSION6 = typeof MACRO !== "undefined" ? "1.4.480" : "unknown";
599289
+ VERSION6 = typeof MACRO !== "undefined" ? "1.4.482" : "unknown";
599271
599290
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
599272
599291
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
599273
599292
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -600485,7 +600504,7 @@ var init_filesystem = __esm(() => {
600485
600504
  });
600486
600505
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
600487
600506
  const nonce = randomBytes19(16).toString("hex");
600488
- return join153(getClaudeTempDir(), "bundled-skills", "1.4.480", nonce);
600507
+ return join153(getClaudeTempDir(), "bundled-skills", "1.4.482", nonce);
600489
600508
  });
600490
600509
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
600491
600510
  });
@@ -605753,7 +605772,7 @@ __export(exports_update, {
605753
605772
  update: () => update
605754
605773
  });
605755
605774
  async function update() {
605756
- writeToStdout(`Current version: ${"1.4.480"}
605775
+ writeToStdout(`Current version: ${"1.4.482"}
605757
605776
  `);
605758
605777
  const isBundled = isInBundledMode();
605759
605778
  if (isBundled) {
@@ -605784,13 +605803,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
605784
605803
  process.exit(1);
605785
605804
  return;
605786
605805
  }
605787
- if (latestVersion === "1.4.480") {
605806
+ if (latestVersion === "1.4.482") {
605788
605807
  writeToStdout(source_default.green(`
605789
- Rayu CLI is up to date (${"1.4.480"})
605808
+ Rayu CLI is up to date (${"1.4.482"})
605790
605809
  `));
605791
605810
  process.exit(0);
605792
605811
  }
605793
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.480"})
605812
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.482"})
605794
605813
  `);
605795
605814
  writeToStdout(`Installing update...
605796
605815
 
@@ -605847,14 +605866,14 @@ async function updateNativeBinary() {
605847
605866
  } catch {
605848
605867
  latestVersion = "";
605849
605868
  }
605850
- if (latestVersion && latestVersion === "1.4.480") {
605869
+ if (latestVersion && latestVersion === "1.4.482") {
605851
605870
  writeToStdout(source_default.green(`
605852
- Rayu CLI is up to date (1.4.480)
605871
+ Rayu CLI is up to date (1.4.482)
605853
605872
  `));
605854
605873
  process.exit(0);
605855
605874
  }
605856
605875
  if (latestVersion) {
605857
- writeToStdout(`New version available: ${latestVersion} (current: 1.4.480)
605876
+ writeToStdout(`New version available: ${latestVersion} (current: 1.4.482)
605858
605877
  `);
605859
605878
  }
605860
605879
  writeToStdout(`Downloading and installing update...
@@ -605869,13 +605888,13 @@ Rayu CLI is up to date (1.4.480)
605869
605888
  return;
605870
605889
  }
605871
605890
  writeToStdout(source_default.green(`
605872
- Rayu CLI is up to date (1.4.480)
605891
+ Rayu CLI is up to date (1.4.482)
605873
605892
  `));
605874
605893
  process.exit(0);
605875
605894
  }
605876
605895
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
605877
605896
  writeToStdout(source_default.green(`
605878
- Successfully updated from 1.4.480 to ${updatedTo}
605897
+ Successfully updated from 1.4.482 to ${updatedTo}
605879
605898
  `));
605880
605899
  writeToStdout(`Restart your terminal to use the new version.
605881
605900
  `);
@@ -605940,7 +605959,7 @@ async function removeDataDir(dir) {
605940
605959
  async function uninstall(args = []) {
605941
605960
  const yes = args.includes("--yes") || args.includes("-y");
605942
605961
  const keepData = args.includes("--keep-data");
605943
- writeToStdout(`Uninstalling Rayu CLI (${"1.4.480"})...
605962
+ writeToStdout(`Uninstalling Rayu CLI (${"1.4.482"})...
605944
605963
  `);
605945
605964
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
605946
605965
 
@@ -605961,7 +605980,7 @@ Failed to uninstall ${"@rayu-dev/rayu-cli"}
605961
605980
  return;
605962
605981
  }
605963
605982
  writeToStdout(source_default.green(`
605964
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.480"}
605983
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.482"}
605965
605984
  `));
605966
605985
  const configDir = getRayuConfigHomeDir();
605967
605986
  const dataExists = existsSync28(configDir);
@@ -606044,7 +606063,7 @@ function showFirstRunWelcome() {
606044
606063
  `);
606045
606064
  try {
606046
606065
  mkdirSync16(getRayuConfigHomeDir(), { recursive: true });
606047
- writeFileSync19(markerPath(), "1.4.480", "utf8");
606066
+ writeFileSync19(markerPath(), "1.4.482", "utf8");
606048
606067
  } catch {}
606049
606068
  }
606050
606069
  var init_firstRun = __esm(() => {
@@ -622230,7 +622249,7 @@ async function initializeBetaTracing(resource) {
622230
622249
  });
622231
622250
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
622232
622251
  setLoggerProvider(loggerProvider);
622233
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.480");
622252
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.482");
622234
622253
  setEventLogger(eventLogger);
622235
622254
  process.on("beforeExit", async () => {
622236
622255
  await loggerProvider?.forceFlush();
@@ -622270,7 +622289,7 @@ async function initializeTelemetry() {
622270
622289
  const platform4 = getPlatform();
622271
622290
  const baseAttributes = {
622272
622291
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
622273
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.480"
622292
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.482"
622274
622293
  };
622275
622294
  if (platform4 === "wsl") {
622276
622295
  const wslVersion = getWslVersion();
@@ -622315,7 +622334,7 @@ async function initializeTelemetry() {
622315
622334
  } catch {}
622316
622335
  };
622317
622336
  registerCleanup(shutdownTelemetry2);
622318
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.480");
622337
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.482");
622319
622338
  }
622320
622339
  const meterProvider = new import_sdk_metrics2.MeterProvider({
622321
622340
  resource,
@@ -622335,7 +622354,7 @@ async function initializeTelemetry() {
622335
622354
  });
622336
622355
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
622337
622356
  setLoggerProvider(loggerProvider);
622338
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.480");
622357
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.482");
622339
622358
  setEventLogger(eventLogger);
622340
622359
  logForDebugging("[3P telemetry] Event logger set successfully");
622341
622360
  process.on("beforeExit", async () => {
@@ -622397,7 +622416,7 @@ Current timeout: ${timeoutMs}ms
622397
622416
  }
622398
622417
  };
622399
622418
  registerCleanup(shutdownTelemetry);
622400
- return meterProvider.getMeter("com.anthropic.claude_code", "1.4.480");
622419
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.4.482");
622401
622420
  }
622402
622421
  async function flushTelemetry() {
622403
622422
  const meterProvider = getMeterProvider();
@@ -623899,7 +623918,7 @@ function buildSystemInitMessage(inputs) {
623899
623918
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
623900
623919
  apiKeySource: getAnthropicApiKeyWithSource().source,
623901
623920
  betas: getSdkBetas(),
623902
- claude_code_version: "1.4.480",
623921
+ claude_code_version: "1.4.482",
623903
623922
  output_style: outputStyle2,
623904
623923
  agents: inputs.agents.map((agent) => agent.agentType),
623905
623924
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -624786,9 +624805,36 @@ function linkedChatId() {
624786
624805
  function parseCommand3(text2) {
624787
624806
  const trimmed = text2.trim();
624788
624807
  const space = trimmed.indexOf(" ");
624789
- if (space === -1)
624790
- return { cmd: trimmed, arg: "" };
624791
- return { cmd: trimmed.slice(0, space), arg: trimmed.slice(space + 1).trim() };
624808
+ const rawCmd = space === -1 ? trimmed : trimmed.slice(0, space);
624809
+ const arg = space === -1 ? "" : trimmed.slice(space + 1).trim();
624810
+ const cmd = rawCmd.startsWith("/") ? rawCmd.split("@")[0] ?? rawCmd : rawCmd;
624811
+ return { cmd, arg };
624812
+ }
624813
+ function toTelegramCommandName(name) {
624814
+ return name.replace(/-/g, "_").replace(/[^a-z0-9_]/gi, "").toLowerCase().slice(0, 32);
624815
+ }
624816
+ function buildTelegramCommandAliases(names) {
624817
+ const aliases = new Map;
624818
+ for (const name of names) {
624819
+ const safe = toTelegramCommandName(name);
624820
+ if (safe && safe !== name && !aliases.has(safe))
624821
+ aliases.set(safe, name);
624822
+ }
624823
+ return aliases;
624824
+ }
624825
+ function loadCommandAliases() {
624826
+ if (!commandAliasesPromise) {
624827
+ commandAliasesPromise = (async () => {
624828
+ try {
624829
+ const { getCommands: getCommands2 } = await Promise.resolve().then(() => (init_commands2(), exports_commands));
624830
+ const { getCwd: getCwd4 } = await Promise.resolve().then(() => (init_cwd(), exports_cwd));
624831
+ return buildTelegramCommandAliases((await getCommands2(getCwd4())).map((c4) => c4.name));
624832
+ } catch {
624833
+ return new Map;
624834
+ }
624835
+ })();
624836
+ }
624837
+ return commandAliasesPromise;
624792
624838
  }
624793
624839
  function extractImages(message) {
624794
624840
  const content = message.message?.content;
@@ -624937,7 +624983,7 @@ async function handleUpdate(update2, options) {
624937
624983
  Send any message to drive the CLI. Use /disconnect to unlink.
624938
624984
 
624939
624985
  Tip: Use /connect to set up your AI provider.`);
624940
- } else {
624986
+ } else if (chatId === linkedChatId()) {} else {
624941
624987
  await sendMessage3(options.token, chatId, "❌ Invalid or expired token.");
624942
624988
  }
624943
624989
  return;
@@ -624971,14 +625017,15 @@ Tip: Use /connect to set up your AI provider.`);
624971
625017
  return;
624972
625018
  }
624973
625019
  if (text2.startsWith("/")) {
624974
- const cmdName = cmd.slice(1);
625020
+ const typed = cmd.slice(1).toLowerCase();
625021
+ const cmdName = (await loadCommandAliases()).get(typed) ?? typed;
624975
625022
  if (TELEGRAM_BLOCKED_COMMANDS.has(cmdName)) {
624976
- await sendMessage3(options.token, chatId, `⚠️ \`${cmd}\` requires the terminal UI and cannot be used from Telegram.
625023
+ await sendMessage3(options.token, chatId, `⚠️ \`/${cmdName}\` requires the terminal UI and cannot be used from Telegram.
624977
625024
 
624978
625025
  Please run it directly in rayu-cli.`);
624979
625026
  return;
624980
625027
  }
624981
- enqueue({ value: text2, mode: "prompt" });
625028
+ enqueue({ value: arg ? `/${cmdName} ${arg}` : `/${cmdName}`, mode: "prompt" });
624982
625029
  return;
624983
625030
  }
624984
625031
  enqueue({ value: text2, mode: "prompt" });
@@ -624995,7 +625042,7 @@ async function registerCommandsWithTelegram(token) {
624995
625042
  { command: "disconnect", description: "Unlink this Telegram chat from the CLI" }
624996
625043
  ];
624997
625044
  const fromCli = allCommands.filter((cmd) => !cmd.isHidden).map((cmd) => ({
624998
- command: cmd.name.replace(/-/g, "_").replace(/[^a-z0-9_]/gi, "").toLowerCase().slice(0, 32),
625045
+ command: toTelegramCommandName(cmd.name),
624999
625046
  description: (cmd.description || cmd.name).slice(0, 256)
625000
625047
  })).filter((c4) => c4.command.length >= 1);
625001
625048
  const builtinNames = new Set(builtins.map((b3) => b3.command));
@@ -625140,6 +625187,7 @@ function initTelegramBridge(options) {
625140
625187
  sendChatAction: (chatId, action2) => sendChatAction(options.token, chatId, action2 ?? "typing")
625141
625188
  };
625142
625189
  registerCommandsWithTelegram(options.token);
625190
+ loadCommandAliases();
625143
625191
  const poll = async () => {
625144
625192
  while (running) {
625145
625193
  const updates = await getUpdates(options.token, offset);
@@ -625242,7 +625290,7 @@ function initTelegramBridge(options) {
625242
625290
  }
625243
625291
  };
625244
625292
  }
625245
- var TELEGRAM_BLOCKED_COMMANDS, HEARTBEAT_INTERVAL_MS2 = 1e4, HEARTBEAT_STALE_MS = 30000, _exitListenerRegistered = false;
625293
+ var commandAliasesPromise = null, TELEGRAM_BLOCKED_COMMANDS, HEARTBEAT_INTERVAL_MS2 = 1e4, HEARTBEAT_STALE_MS = 30000, _exitListenerRegistered = false;
625246
625294
  var init_telegramBridge = __esm(() => {
625247
625295
  init_envUtils();
625248
625296
  init_formatActivity();
@@ -625358,29 +625406,36 @@ function useTelegramBridge(messages) {
625358
625406
  const inTurnRef = import_react187.useRef(false);
625359
625407
  const setAppState = useSetAppState();
625360
625408
  const bridgeActive = useAppState((s2) => s2.telegramBridgeActive);
625409
+ const transportKey = useAppState((s2) => s2.telegramTransportKey);
625361
625410
  import_react187.useEffect(() => {
625362
625411
  if (!bridgeActive)
625363
625412
  return;
625364
625413
  const mode = getTelegramMode();
625365
625414
  let token;
625366
625415
  if (mode === "hosted") {
625367
- if (!hasRayuSession())
625416
+ if (!hasRayuSession()) {
625417
+ setAppState((prev) => ({ ...prev, telegramBridgeActive: false }));
625368
625418
  return;
625419
+ }
625369
625420
  setHostedRouter(createHostedRouter());
625370
625421
  token = "hosted";
625371
625422
  } else {
625372
625423
  const byo = getBotToken();
625373
- if (!byo)
625424
+ if (!byo) {
625425
+ setAppState((prev) => ({ ...prev, telegramBridgeActive: false }));
625374
625426
  return;
625427
+ }
625375
625428
  setHostedRouter(null);
625376
625429
  token = byo;
625377
625430
  }
625378
625431
  const handle = initTelegramBridge({ token });
625379
625432
  handleRef.current = handle;
625380
625433
  setAppState((prev) => ({ ...prev, telegramPermissionCallbacks: handle.permissionCallbacks }));
625434
+ const builtTransport = telegramTransportKey();
625381
625435
  return () => {
625382
625436
  handle.endTurn();
625383
625437
  const chatId = readTelegramConfig().linkedChatId;
625438
+ const isHandoff = telegramTransportKey() !== builtTransport;
625384
625439
  const notice = chatId !== undefined ? sendMessage3(token, chatId, "\uD83D\uDD0C Session closed — rayu-cli disconnected.").catch(() => {}) : Promise.resolve();
625385
625440
  handle.stop();
625386
625441
  notice.finally(() => setHostedRouter(null));
@@ -625390,10 +625445,10 @@ function useTelegramBridge(messages) {
625390
625445
  setAppState((prev) => ({
625391
625446
  ...prev,
625392
625447
  telegramPermissionCallbacks: undefined,
625393
- telegramBridgeActive: false
625448
+ ...isHandoff ? {} : { telegramBridgeActive: false }
625394
625449
  }));
625395
625450
  };
625396
- }, [bridgeActive, setAppState]);
625451
+ }, [bridgeActive, transportKey, setAppState]);
625397
625452
  import_react187.useEffect(() => {
625398
625453
  const handle = handleRef.current;
625399
625454
  if (!handle || handle.isNoOp)
@@ -640273,7 +640328,7 @@ var init_useVoiceEnabled = __esm(() => {
640273
640328
  function getSemverPart(version3) {
640274
640329
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
640275
640330
  }
640276
- function useUpdateNotification(updatedVersion, initialVersion = "1.4.480") {
640331
+ function useUpdateNotification(updatedVersion, initialVersion = "1.4.482") {
640277
640332
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
640278
640333
  if (!updatedVersion) {
640279
640334
  return null;
@@ -640313,7 +640368,7 @@ function AutoUpdater({
640313
640368
  return;
640314
640369
  }
640315
640370
  if (false) {}
640316
- const currentVersion = "1.4.480";
640371
+ const currentVersion = "1.4.482";
640317
640372
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
640318
640373
  let latestVersion = await getLatestVersion(channel2);
640319
640374
  const isDisabled = isAutoUpdaterDisabled();
@@ -640526,12 +640581,12 @@ function NativeAutoUpdater({
640526
640581
  logEvent("tengu_native_auto_updater_start", {});
640527
640582
  try {
640528
640583
  const maxVersion = await getMaxVersion();
640529
- if (maxVersion && gt("1.4.480", maxVersion)) {
640584
+ if (maxVersion && gt("1.4.482", maxVersion)) {
640530
640585
  const msg = await getMaxVersionMessage();
640531
640586
  setMaxVersionIssue(msg ?? "affects your version");
640532
640587
  }
640533
640588
  const result = await installLatest(channel2);
640534
- const currentVersion = "1.4.480";
640589
+ const currentVersion = "1.4.482";
640535
640590
  const latencyMs = Date.now() - startTime2;
640536
640591
  if (result.lockFailed) {
640537
640592
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640668,17 +640723,17 @@ function PackageManagerAutoUpdater(t0) {
640668
640723
  const maxVersion = await getMaxVersion();
640669
640724
  if (maxVersion && latest && gt(latest, maxVersion)) {
640670
640725
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640671
- if (gte("1.4.480", maxVersion)) {
640672
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.480"} is already at or above maxVersion ${maxVersion}, skipping update`);
640726
+ if (gte("1.4.482", maxVersion)) {
640727
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.482"} is already at or above maxVersion ${maxVersion}, skipping update`);
640673
640728
  setUpdateAvailable(false);
640674
640729
  return;
640675
640730
  }
640676
640731
  latest = maxVersion;
640677
640732
  }
640678
- const hasUpdate = latest && !gte("1.4.480", latest) && !shouldSkipVersion(latest);
640733
+ const hasUpdate = latest && !gte("1.4.482", latest) && !shouldSkipVersion(latest);
640679
640734
  setUpdateAvailable(!!hasUpdate);
640680
640735
  if (hasUpdate) {
640681
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.480"} -> ${latest}`);
640736
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.482"} -> ${latest}`);
640682
640737
  }
640683
640738
  };
640684
640739
  $3[0] = t1;
@@ -640712,7 +640767,7 @@ function PackageManagerAutoUpdater(t0) {
640712
640767
  wrap: "truncate",
640713
640768
  children: [
640714
640769
  "currentVersion: ",
640715
- "1.4.480"
640770
+ "1.4.482"
640716
640771
  ]
640717
640772
  });
640718
640773
  $3[3] = verbose;
@@ -648876,7 +648931,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
648876
648931
  project_dir: getOriginalCwd(),
648877
648932
  added_dirs: addedDirs
648878
648933
  },
648879
- version: "1.4.480",
648934
+ version: "1.4.482",
648880
648935
  output_style: {
648881
648936
  name: outputStyleName
648882
648937
  },
@@ -651055,7 +651110,7 @@ var init_user = __esm(() => {
651055
651110
  deviceId,
651056
651111
  sessionId: getSessionId(),
651057
651112
  email: getEmail(),
651058
- appVersion: "1.4.480",
651113
+ appVersion: "1.4.482",
651059
651114
  platform: getHostPlatformForAnalytics(),
651060
651115
  organizationUuid,
651061
651116
  accountUuid,
@@ -660494,7 +660549,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
660494
660549
  } catch {}
660495
660550
  const data = {
660496
660551
  trigger,
660497
- version: "1.4.480",
660552
+ version: "1.4.482",
660498
660553
  platform: process.platform,
660499
660554
  transcript,
660500
660555
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -672463,7 +672518,7 @@ function WelcomeV2() {
672463
672518
  dimColor: true,
672464
672519
  children: [
672465
672520
  "v",
672466
- "1.4.480"
672521
+ "1.4.482"
672467
672522
  ]
672468
672523
  })
672469
672524
  ]
@@ -673470,7 +673525,7 @@ function completeOnboarding() {
673470
673525
  saveGlobalConfig((current) => ({
673471
673526
  ...current,
673472
673527
  hasCompletedOnboarding: true,
673473
- lastOnboardingVersion: "1.4.480"
673528
+ lastOnboardingVersion: "1.4.482"
673474
673529
  }));
673475
673530
  }
673476
673531
  function showDialog(root2, renderer) {
@@ -678403,7 +678458,7 @@ function appendToLog(path29, message) {
678403
678458
  cwd: getFsImplementation().cwd(),
678404
678459
  userType: "external",
678405
678460
  sessionId: getSessionId(),
678406
- version: "1.4.480"
678461
+ version: "1.4.482"
678407
678462
  };
678408
678463
  getLogWriter(path29).write(messageWithTimestamp);
678409
678464
  }
@@ -682508,8 +682563,8 @@ async function getEnvLessBridgeConfig() {
682508
682563
  }
682509
682564
  async function checkEnvLessBridgeMinVersion() {
682510
682565
  const cfg = await getEnvLessBridgeConfig();
682511
- if (cfg.min_version && lt("1.4.480", cfg.min_version)) {
682512
- return `Your version of RAYU (${"1.4.480"}) is too old for Remote Control.
682566
+ if (cfg.min_version && lt("1.4.482", cfg.min_version)) {
682567
+ return `Your version of RAYU (${"1.4.482"}) is too old for Remote Control.
682513
682568
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
682514
682569
  }
682515
682570
  return null;
@@ -682982,7 +683037,7 @@ async function initBridgeCore(params) {
682982
683037
  const rawApi = createBridgeApiClient({
682983
683038
  baseUrl,
682984
683039
  getAccessToken,
682985
- runnerVersion: "1.4.480",
683040
+ runnerVersion: "1.4.482",
682986
683041
  onDebug: logForDebugging,
682987
683042
  onAuth401,
682988
683043
  getTrustedDeviceToken
@@ -688337,7 +688392,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
688337
688392
  setCwd(cwd3);
688338
688393
  const server = new Server({
688339
688394
  name: "claude/tengu",
688340
- version: "1.4.480"
688395
+ version: "1.4.482"
688341
688396
  }, {
688342
688397
  capabilities: {
688343
688398
  tools: {}
@@ -690866,7 +690921,7 @@ ${customInstructions}` : customInstructions;
690866
690921
  }
690867
690922
  }
690868
690923
  logForDiagnosticsNoPII("info", "started", {
690869
- version: "1.4.480",
690924
+ version: "1.4.482",
690870
690925
  is_native_binary: isInBundledMode()
690871
690926
  });
690872
690927
  registerCleanup(async () => {
@@ -691585,7 +691640,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
691585
691640
  pendingHookMessages
691586
691641
  }, renderAndRun);
691587
691642
  }
691588
- }).version(`1.4.480 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
691643
+ }).version(`1.4.482 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
691589
691644
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
691590
691645
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
691591
691646
  if (canUserConfigureAdvisor()) {
@@ -692045,7 +692100,7 @@ if (false) {}
692045
692100
  async function main2() {
692046
692101
  const args = process.argv.slice(2);
692047
692102
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
692048
- console.log(`${"1.4.480"} (Rayu-CLI)`);
692103
+ console.log(`${"1.4.482"} (Rayu-CLI)`);
692049
692104
  return;
692050
692105
  }
692051
692106
  if (!isEnvTruthy(process.env.CLAUDE_CODE_DISABLE_TERMINAL_TITLE)) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.4.480",
3
+ "version": "1.4.482",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {