@rayu-dev/rayu-cli 1.2.12 → 1.2.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rayu.js CHANGED
@@ -147460,7 +147460,7 @@ var init_auth = __esm(() => {
147460
147460
 
147461
147461
  // src/utils/userAgent.ts
147462
147462
  function getRayuUserAgent() {
147463
- return `rayu/${"1.1.12"}`;
147463
+ return `rayu/${"1.2.12"}`;
147464
147464
  }
147465
147465
  var getClaudeCodeUserAgent;
147466
147466
  var init_userAgent = __esm(() => {
@@ -147486,7 +147486,7 @@ function getUserAgent() {
147486
147486
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
147487
147487
  const workload = getWorkload();
147488
147488
  const workloadSuffix = workload ? `, workload/${workload}` : "";
147489
- return `rayu/${"1.1.12"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
147489
+ return `rayu/${"1.2.12"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
147490
147490
  }
147491
147491
  function getMCPUserAgent() {
147492
147492
  const parts = [];
@@ -147500,7 +147500,7 @@ function getMCPUserAgent() {
147500
147500
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
147501
147501
  }
147502
147502
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
147503
- return `rayu/${"1.1.12"}${suffix}`;
147503
+ return `rayu/${"1.2.12"}${suffix}`;
147504
147504
  }
147505
147505
  function getWebFetchUserAgent() {
147506
147506
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -147639,7 +147639,7 @@ var init_user = __esm(() => {
147639
147639
  deviceId,
147640
147640
  sessionId: getSessionId(),
147641
147641
  email: getEmail(),
147642
- appVersion: "1.1.12",
147642
+ appVersion: "1.2.12",
147643
147643
  platform: getHostPlatformForAnalytics(),
147644
147644
  organizationUuid,
147645
147645
  accountUuid,
@@ -180449,7 +180449,7 @@ var init_metadata = __esm(() => {
180449
180449
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
180450
180450
  WHITESPACE_REGEX = /\s+/;
180451
180451
  getVersionBase = memoize_default(() => {
180452
- const match = "1.1.12".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
180452
+ const match = "1.2.12".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
180453
180453
  return match ? match[0] : undefined;
180454
180454
  });
180455
180455
  buildEnvContext = memoize_default(async () => {
@@ -180488,7 +180488,7 @@ var init_metadata = __esm(() => {
180488
180488
  },
180489
180489
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
180490
180490
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
180491
- version: "1.1.12",
180491
+ version: "1.2.12",
180492
180492
  versionBase: getVersionBase(),
180493
180493
  buildTime: "",
180494
180494
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
@@ -181102,7 +181102,7 @@ function initialize1PEventLogging() {
181102
181102
  const platform2 = getPlatform();
181103
181103
  const attributes = {
181104
181104
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
181105
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.12"
181105
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.2.12"
181106
181106
  };
181107
181107
  if (platform2 === "wsl") {
181108
181108
  const wslVersion = getWslVersion();
@@ -181129,7 +181129,7 @@ function initialize1PEventLogging() {
181129
181129
  })
181130
181130
  ]
181131
181131
  });
181132
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.1.12");
181132
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.2.12");
181133
181133
  }
181134
181134
  async function reinitialize1PEventLoggingIfConfigChanged() {
181135
181135
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -217042,7 +217042,7 @@ function getAttributionHeader(fingerprint) {
217042
217042
  if (!isAttributionHeaderEnabled()) {
217043
217043
  return "";
217044
217044
  }
217045
- const version2 = `${"1.1.12"}.${fingerprint}`;
217045
+ const version2 = `${"1.2.12"}.${fingerprint}`;
217046
217046
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
217047
217047
  const cch = "";
217048
217048
  const workload = getWorkload();
@@ -301136,7 +301136,7 @@ function getTelemetryAttributes() {
301136
301136
  attributes["session.id"] = sessionId;
301137
301137
  }
301138
301138
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
301139
- attributes["app.version"] = "1.1.12";
301139
+ attributes["app.version"] = "1.2.12";
301140
301140
  }
301141
301141
  const oauthAccount = getOauthAccountInfo();
301142
301142
  if (oauthAccount) {
@@ -411573,7 +411573,7 @@ function getInstallationEnv() {
411573
411573
  return;
411574
411574
  }
411575
411575
  function getClaudeCodeVersion() {
411576
- return "1.1.12";
411576
+ return "1.2.12";
411577
411577
  }
411578
411578
  async function getInstalledVSCodeExtensionVersion(command) {
411579
411579
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -416811,7 +416811,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
416811
416811
  const client3 = new Client({
416812
416812
  name: "claude-code",
416813
416813
  title: "RAYU",
416814
- version: "1.1.12",
416814
+ version: "1.2.12",
416815
416815
  description: "Anthropic's agentic coding tool",
416816
416816
  websiteUrl: PRODUCT_URL
416817
416817
  }, {
@@ -417128,7 +417128,7 @@ var init_client7 = __esm(() => {
417128
417128
  const client3 = new Client({
417129
417129
  name: "claude-code",
417130
417130
  title: "RAYU",
417131
- version: "1.1.12",
417131
+ version: "1.2.12",
417132
417132
  description: "Anthropic's agentic coding tool",
417133
417133
  websiteUrl: PRODUCT_URL
417134
417134
  }, {
@@ -431914,7 +431914,7 @@ function computeFingerprint(messageText, version2) {
431914
431914
  }
431915
431915
  function computeFingerprintFromMessages(messages) {
431916
431916
  const firstMessageText = extractFirstMessageText(messages);
431917
- return computeFingerprint(firstMessageText, "1.1.12");
431917
+ return computeFingerprint(firstMessageText, "1.2.12");
431918
431918
  }
431919
431919
  var FINGERPRINT_SALT = "59cf53e54c78";
431920
431920
  var init_fingerprint = () => {};
@@ -431956,7 +431956,7 @@ async function sideQuery(opts) {
431956
431956
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
431957
431957
  }
431958
431958
  const messageText = extractFirstUserMessageText(messages);
431959
- const fingerprint = computeFingerprint(messageText, "1.1.12");
431959
+ const fingerprint = computeFingerprint(messageText, "1.2.12");
431960
431960
  const attributionHeader = getAttributionHeader(fingerprint);
431961
431961
  const systemBlocks = [
431962
431962
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -526448,7 +526448,7 @@ function Feedback({
526448
526448
  platform: env4.platform,
526449
526449
  gitRepo: envInfo.isGit,
526450
526450
  terminal: env4.terminal,
526451
- version: "1.1.12",
526451
+ version: "1.2.12",
526452
526452
  transcript: normalizeMessagesForAPI(messages),
526453
526453
  errors: sanitizedErrors,
526454
526454
  lastApiRequest: getLastAPIRequest(),
@@ -526640,7 +526640,7 @@ function Feedback({
526640
526640
  ", ",
526641
526641
  env4.terminal,
526642
526642
  ", v",
526643
- "1.1.12"
526643
+ "1.2.12"
526644
526644
  ]
526645
526645
  }, undefined, true, undefined, this)
526646
526646
  ]
@@ -526746,7 +526746,7 @@ ${sanitizedDescription}
526746
526746
  ` + `**Environment Info**
526747
526747
  ` + `- Platform: ${env4.platform}
526748
526748
  ` + `- Terminal: ${env4.terminal}
526749
- ` + `- Version: ${"1.1.12"}
526749
+ ` + `- Version: ${"1.2.12"}
526750
526750
  ` + `- Feedback ID: ${feedbackId}
526751
526751
  ` + `
526752
526752
  **Errors**
@@ -529532,9 +529532,9 @@ async function assertMinVersion() {
529532
529532
  if (false) {}
529533
529533
  try {
529534
529534
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
529535
- if (versionConfig.minVersion && lt("1.1.12", versionConfig.minVersion)) {
529535
+ if (versionConfig.minVersion && lt("1.2.12", versionConfig.minVersion)) {
529536
529536
  console.error(`
529537
- It looks like your version of RAYU (${"1.1.12"}) needs an update.
529537
+ It looks like your version of RAYU (${"1.2.12"}) needs an update.
529538
529538
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
529539
529539
 
529540
529540
  To update, please run:
@@ -529746,7 +529746,7 @@ async function installGlobalPackage(specificVersion) {
529746
529746
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
529747
529747
  logEvent("tengu_auto_updater_lock_contention", {
529748
529748
  pid: process.pid,
529749
- currentVersion: "1.1.12"
529749
+ currentVersion: "1.2.12"
529750
529750
  });
529751
529751
  return "in_progress";
529752
529752
  }
@@ -529755,7 +529755,7 @@ async function installGlobalPackage(specificVersion) {
529755
529755
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
529756
529756
  logError2(new Error("Windows NPM detected in WSL environment"));
529757
529757
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
529758
- currentVersion: "1.1.12"
529758
+ currentVersion: "1.2.12"
529759
529759
  });
529760
529760
  console.error(`
529761
529761
  Error: Windows NPM detected in WSL
@@ -530290,7 +530290,7 @@ function detectLinuxGlobPatternWarnings() {
530290
530290
  }
530291
530291
  async function getDoctorDiagnostic() {
530292
530292
  const installationType = await getCurrentInstallationType();
530293
- const version2 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
530293
+ const version2 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
530294
530294
  const installationPath = await getInstallationPath();
530295
530295
  const invokedBinary = getInvokedBinary();
530296
530296
  const multipleInstallations = await detectMultipleInstallations();
@@ -531114,8 +531114,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
531114
531114
  const maxVersion = await getMaxVersion();
531115
531115
  if (maxVersion && gt(version2, maxVersion)) {
531116
531116
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
531117
- if (gte("1.1.12", maxVersion)) {
531118
- logForDebugging(`Native installer: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
531117
+ if (gte("1.2.12", maxVersion)) {
531118
+ logForDebugging(`Native installer: current version ${"1.2.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
531119
531119
  logEvent("tengu_native_update_skipped_max_version", {
531120
531120
  latency_ms: Date.now() - startTime,
531121
531121
  max_version: maxVersion,
@@ -531126,7 +531126,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
531126
531126
  version2 = maxVersion;
531127
531127
  }
531128
531128
  }
531129
- if (!forceReinstall && version2 === "1.1.12" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
531129
+ if (!forceReinstall && version2 === "1.2.12" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
531130
531130
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
531131
531131
  logEvent("tengu_native_update_complete", {
531132
531132
  latency_ms: Date.now() - startTime,
@@ -531917,6 +531917,16 @@ var init_installer = __esm(() => {
531917
531917
  });
531918
531918
 
531919
531919
  // src/utils/nativeInstaller/index.ts
531920
+ var exports_nativeInstaller = {};
531921
+ __export(exports_nativeInstaller, {
531922
+ removeInstalledSymlink: () => removeInstalledSymlink,
531923
+ lockCurrentVersion: () => lockCurrentVersion,
531924
+ installLatest: () => installLatest,
531925
+ cleanupShellAliases: () => cleanupShellAliases,
531926
+ cleanupOldVersions: () => cleanupOldVersions,
531927
+ cleanupNpmInstallations: () => cleanupNpmInstallations,
531928
+ checkInstall: () => checkInstall
531929
+ });
531920
531930
  var init_nativeInstaller = __esm(() => {
531921
531931
  init_installer();
531922
531932
  });
@@ -532312,7 +532322,7 @@ function buildPrimarySection() {
532312
532322
  }, undefined, false, undefined, this);
532313
532323
  return [{
532314
532324
  label: "Version",
532315
- value: "1.1.12"
532325
+ value: "1.2.12"
532316
532326
  }, {
532317
532327
  label: "Session name",
532318
532328
  value: nameValue
@@ -536003,7 +536013,7 @@ function Config({
536003
536013
  }
536004
536014
  }, undefined, false, undefined, this)
536005
536015
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
536006
- currentVersion: "1.1.12",
536016
+ currentVersion: "1.2.12",
536007
536017
  onChoice: (choice) => {
536008
536018
  setShowSubmenu(null);
536009
536019
  setTabsHidden(false);
@@ -536015,7 +536025,7 @@ function Config({
536015
536025
  autoUpdatesChannel: "stable"
536016
536026
  };
536017
536027
  if (choice === "stay") {
536018
- newSettings.minimumVersion = "1.1.12";
536028
+ newSettings.minimumVersion = "1.2.12";
536019
536029
  }
536020
536030
  updateSettingsForSource("userSettings", newSettings);
536021
536031
  setSettingsData((prev_27) => ({
@@ -544075,7 +544085,7 @@ function HelpV2(t0) {
544075
544085
  let t6;
544076
544086
  if ($3[31] !== tabs) {
544077
544087
  t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
544078
- title: `Rayu-CLI v${"1.1.12"}`,
544088
+ title: `Rayu-CLI v${"1.2.12"}`,
544079
544089
  color: "professionalBlue",
544080
544090
  defaultTab: "general",
544081
544091
  children: tabs
@@ -562797,7 +562807,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
562797
562807
  return [];
562798
562808
  }
562799
562809
  }
562800
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12") {
562810
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.2.12") {
562801
562811
  if (false) {}
562802
562812
  const cachedChangelog = await getStoredChangelog();
562803
562813
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -562810,7 +562820,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.12")
562810
562820
  releaseNotes
562811
562821
  };
562812
562822
  }
562813
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.12") {
562823
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.2.12") {
562814
562824
  if (false) {}
562815
562825
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
562816
562826
  return {
@@ -564073,7 +564083,7 @@ function getRecentActivitySync() {
564073
564083
  return cachedActivity;
564074
564084
  }
564075
564085
  function getLogoDisplayData() {
564076
- const version2 = process.env.DEMO_VERSION ?? "1.1.12";
564086
+ const version2 = process.env.DEMO_VERSION ?? "1.2.12";
564077
564087
  const serverUrl = getDirectConnectServerUrl();
564078
564088
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
564079
564089
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -565354,7 +565364,7 @@ function LogoV2() {
565354
565364
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
565355
565365
  t2 = () => {
565356
565366
  const currentConfig = getGlobalConfig();
565357
- if (currentConfig.lastReleaseNotesSeen === "1.1.12") {
565367
+ if (currentConfig.lastReleaseNotesSeen === "1.2.12") {
565358
565368
  return;
565359
565369
  }
565360
565370
  saveGlobalConfig(_temp327);
@@ -566030,12 +566040,12 @@ function LogoV2() {
566030
566040
  return t41;
566031
566041
  }
566032
566042
  function _temp327(current) {
566033
- if (current.lastReleaseNotesSeen === "1.1.12") {
566043
+ if (current.lastReleaseNotesSeen === "1.2.12") {
566034
566044
  return current;
566035
566045
  }
566036
566046
  return {
566037
566047
  ...current,
566038
- lastReleaseNotesSeen: "1.1.12"
566048
+ lastReleaseNotesSeen: "1.2.12"
566039
566049
  };
566040
566050
  }
566041
566051
  function _temp241(s_0) {
@@ -590700,7 +590710,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
590700
590710
  smapsRollup,
590701
590711
  platform: process.platform,
590702
590712
  nodeVersion: process.version,
590703
- ccVersion: "1.1.12"
590713
+ ccVersion: "1.2.12"
590704
590714
  };
590705
590715
  }
590706
590716
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -591228,7 +591238,7 @@ var init_bridge_kick = __esm(() => {
591228
591238
  var call48 = async () => {
591229
591239
  return {
591230
591240
  type: "text",
591231
- value: "1.1.12"
591241
+ value: "1.2.12"
591232
591242
  };
591233
591243
  }, version2, version_default;
591234
591244
  var init_version = __esm(() => {
@@ -599522,7 +599532,7 @@ function generateHtmlReport(data, insights) {
599522
599532
  </html>`;
599523
599533
  }
599524
599534
  function buildExportData(data, insights, facets, remoteStats) {
599525
- const version3 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
599535
+ const version3 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
599526
599536
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
599527
599537
  const facets_summary = {
599528
599538
  total: facets.size,
@@ -603450,7 +603460,7 @@ var init_sessionStorage = __esm(() => {
603450
603460
  init_settings2();
603451
603461
  init_slowOperations();
603452
603462
  init_uuid();
603453
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.12" : "unknown";
603463
+ VERSION6 = typeof MACRO !== "undefined" ? "1.2.12" : "unknown";
603454
603464
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
603455
603465
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
603456
603466
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -604669,7 +604679,7 @@ var init_filesystem = __esm(() => {
604669
604679
  });
604670
604680
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
604671
604681
  const nonce = randomBytes18(16).toString("hex");
604672
- return join146(getClaudeTempDir(), "bundled-skills", "1.1.12", nonce);
604682
+ return join146(getClaudeTempDir(), "bundled-skills", "1.2.12", nonce);
604673
604683
  });
604674
604684
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
604675
604685
  });
@@ -609784,8 +609794,16 @@ __export(exports_update, {
609784
609794
  import { execFileSync as execFileSync3 } from "node:child_process";
609785
609795
  import { homedir as homedir32 } from "os";
609786
609796
  async function update() {
609787
- writeToStdout(`Current version: ${"1.1.12"}
609797
+ writeToStdout(`Current version: ${"1.2.12"}
609788
609798
  `);
609799
+ const isBundled = isInBundledMode();
609800
+ if (isBundled) {
609801
+ await updateNativeBinary();
609802
+ } else {
609803
+ await updateNpmPackage();
609804
+ }
609805
+ }
609806
+ async function updateNpmPackage() {
609789
609807
  writeToStdout(`Checking for updates...
609790
609808
  `);
609791
609809
  let latestVersion;
@@ -609802,13 +609820,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
609802
609820
  process.exit(1);
609803
609821
  return;
609804
609822
  }
609805
- if (latestVersion === "1.1.12") {
609823
+ if (latestVersion === "1.2.12") {
609806
609824
  writeToStdout(source_default.green(`
609807
- Rayu CLI is up to date (${"1.1.12"})
609825
+ Rayu CLI is up to date (${"1.2.12"})
609808
609826
  `));
609809
609827
  process.exit(0);
609810
609828
  }
609811
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.12"})
609829
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.2.12"})
609812
609830
  `);
609813
609831
  writeToStdout(`Installing update...
609814
609832
 
@@ -609832,10 +609850,67 @@ Try manually:
609832
609850
  return;
609833
609851
  }
609834
609852
  writeToStdout(source_default.green(`
609835
- Successfully updated from ${"1.1.12"} to ${latestVersion}
609853
+ Successfully updated from ${"1.2.12"} to ${latestVersion}
609836
609854
  `));
609837
609855
  process.exit(0);
609838
609856
  }
609857
+ async function updateNativeBinary() {
609858
+ writeToStdout(`Checking for updates...
609859
+ `);
609860
+ const { installLatest: installLatest2 } = await Promise.resolve().then(() => (init_nativeInstaller(), exports_nativeInstaller));
609861
+ let latestVersion;
609862
+ try {
609863
+ latestVersion = execFileSync3("npm", ["view", "@rayu-dev/rayu-cli@latest", "version", "--prefer-online"], { encoding: "utf8", timeout: 15000, cwd: homedir32(), stdio: ["pipe", "pipe", "pipe"] }).trim();
609864
+ } catch {
609865
+ latestVersion = "";
609866
+ }
609867
+ if (latestVersion && latestVersion === "1.2.12") {
609868
+ writeToStdout(source_default.green(`
609869
+ Rayu CLI is up to date (1.2.12)
609870
+ `));
609871
+ process.exit(0);
609872
+ }
609873
+ if (latestVersion) {
609874
+ writeToStdout(`New version available: ${latestVersion} (current: 1.2.12)
609875
+ `);
609876
+ }
609877
+ writeToStdout(`Downloading and installing update...
609878
+ `);
609879
+ try {
609880
+ const result = await installLatest2("latest", true);
609881
+ if (!result.wasUpdated) {
609882
+ if (result.lockFailed) {
609883
+ process.stderr.write(source_default.yellow(`Another update is already in progress. Try again later.
609884
+ `));
609885
+ process.exit(1);
609886
+ return;
609887
+ }
609888
+ writeToStdout(source_default.green(`
609889
+ Rayu CLI is up to date (1.2.12)
609890
+ `));
609891
+ process.exit(0);
609892
+ }
609893
+ const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
609894
+ writeToStdout(source_default.green(`
609895
+ Successfully updated from 1.2.12 to ${updatedTo}
609896
+ `));
609897
+ writeToStdout(`Restart your terminal to use the new version.
609898
+ `);
609899
+ process.exit(0);
609900
+ } catch (err2) {
609901
+ process.stderr.write(source_default.red(`
609902
+ Failed to install update
609903
+ `));
609904
+ process.stderr.write(`Error: ${err2 instanceof Error ? err2.message : String(err2)}
609905
+ `);
609906
+ process.stderr.write(`
609907
+ Try manually:
609908
+ `);
609909
+ process.stderr.write(source_default.bold(` npm install -g @rayu-dev/rayu-cli@latest
609910
+ `));
609911
+ process.exit(1);
609912
+ }
609913
+ }
609839
609914
  var init_update = __esm(() => {
609840
609915
  init_source();
609841
609916
  });
@@ -609848,7 +609923,7 @@ __export(exports_uninstall, {
609848
609923
  import { execFileSync as execFileSync4 } from "node:child_process";
609849
609924
  import { homedir as homedir33 } from "os";
609850
609925
  async function uninstall() {
609851
- writeToStdout(`Uninstalling Rayu CLI (${"1.1.12"})...
609926
+ writeToStdout(`Uninstalling Rayu CLI (${"1.2.12"})...
609852
609927
  `);
609853
609928
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
609854
609929
 
@@ -609871,7 +609946,7 @@ Try running manually:
609871
609946
  process.exit(1);
609872
609947
  }
609873
609948
  writeToStdout(source_default.green(`
609874
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.1.12"}
609949
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.2.12"}
609875
609950
  `));
609876
609951
  writeToStdout(`Thanks for using Rayu CLI!
609877
609952
  `);
@@ -609923,7 +609998,7 @@ function showFirstRunWelcome() {
609923
609998
  `);
609924
609999
  try {
609925
610000
  mkdirSync11(getRayuConfigHomeDir(), { recursive: true });
609926
- writeFileSync13(markerPath(), "1.1.12", "utf8");
610001
+ writeFileSync13(markerPath(), "1.2.12", "utf8");
609927
610002
  } catch {}
609928
610003
  }
609929
610004
  var init_firstRun = __esm(() => {
@@ -621766,7 +621841,7 @@ async function initializeBetaTracing(resource) {
621766
621841
  });
621767
621842
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
621768
621843
  setLoggerProvider(loggerProvider);
621769
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
621844
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.2.12");
621770
621845
  setEventLogger(eventLogger);
621771
621846
  process.on("beforeExit", async () => {
621772
621847
  await loggerProvider?.forceFlush();
@@ -621806,7 +621881,7 @@ async function initializeTelemetry() {
621806
621881
  const platform4 = getPlatform();
621807
621882
  const baseAttributes = {
621808
621883
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
621809
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.12"
621884
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.2.12"
621810
621885
  };
621811
621886
  if (platform4 === "wsl") {
621812
621887
  const wslVersion = getWslVersion();
@@ -621851,7 +621926,7 @@ async function initializeTelemetry() {
621851
621926
  } catch {}
621852
621927
  };
621853
621928
  registerCleanup(shutdownTelemetry2);
621854
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.12");
621929
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.2.12");
621855
621930
  }
621856
621931
  const meterProvider = new import_sdk_metrics2.MeterProvider({
621857
621932
  resource,
@@ -621871,7 +621946,7 @@ async function initializeTelemetry() {
621871
621946
  });
621872
621947
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
621873
621948
  setLoggerProvider(loggerProvider);
621874
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.12");
621949
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.2.12");
621875
621950
  setEventLogger(eventLogger);
621876
621951
  logForDebugging("[3P telemetry] Event logger set successfully");
621877
621952
  process.on("beforeExit", async () => {
@@ -621933,7 +622008,7 @@ Current timeout: ${timeoutMs}ms
621933
622008
  }
621934
622009
  };
621935
622010
  registerCleanup(shutdownTelemetry);
621936
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.12");
622011
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.2.12");
621937
622012
  }
621938
622013
  async function flushTelemetry() {
621939
622014
  const meterProvider = getMeterProvider();
@@ -623446,7 +623521,7 @@ function buildSystemInitMessage(inputs) {
623446
623521
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
623447
623522
  apiKeySource: getAnthropicApiKeyWithSource().source,
623448
623523
  betas: getSdkBetas(),
623449
- claude_code_version: "1.1.12",
623524
+ claude_code_version: "1.2.12",
623450
623525
  output_style: outputStyle2,
623451
623526
  agents: inputs.agents.map((agent) => agent.agentType),
623452
623527
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -639655,7 +639730,7 @@ var init_useVoiceEnabled = __esm(() => {
639655
639730
  function getSemverPart(version3) {
639656
639731
  return `${import_semver11.major(version3, { loose: true })}.${import_semver11.minor(version3, { loose: true })}.${import_semver11.patch(version3, { loose: true })}`;
639657
639732
  }
639658
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.12") {
639733
+ function useUpdateNotification(updatedVersion, initialVersion = "1.2.12") {
639659
639734
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
639660
639735
  if (!updatedVersion) {
639661
639736
  return null;
@@ -639695,7 +639770,7 @@ function AutoUpdater({
639695
639770
  return;
639696
639771
  }
639697
639772
  if (false) {}
639698
- const currentVersion = "1.1.12";
639773
+ const currentVersion = "1.2.12";
639699
639774
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
639700
639775
  let latestVersion = await getLatestVersion(channel);
639701
639776
  const isDisabled = isAutoUpdaterDisabled();
@@ -639908,12 +639983,12 @@ function NativeAutoUpdater({
639908
639983
  logEvent("tengu_native_auto_updater_start", {});
639909
639984
  try {
639910
639985
  const maxVersion = await getMaxVersion();
639911
- if (maxVersion && gt("1.1.12", maxVersion)) {
639986
+ if (maxVersion && gt("1.2.12", maxVersion)) {
639912
639987
  const msg = await getMaxVersionMessage();
639913
639988
  setMaxVersionIssue(msg ?? "affects your version");
639914
639989
  }
639915
639990
  const result = await installLatest(channel);
639916
- const currentVersion = "1.1.12";
639991
+ const currentVersion = "1.2.12";
639917
639992
  const latencyMs = Date.now() - startTime;
639918
639993
  if (result.lockFailed) {
639919
639994
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640050,17 +640125,17 @@ function PackageManagerAutoUpdater(t0) {
640050
640125
  const maxVersion = await getMaxVersion();
640051
640126
  if (maxVersion && latest && gt(latest, maxVersion)) {
640052
640127
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640053
- if (gte("1.1.12", maxVersion)) {
640054
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
640128
+ if (gte("1.2.12", maxVersion)) {
640129
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.2.12"} is already at or above maxVersion ${maxVersion}, skipping update`);
640055
640130
  setUpdateAvailable(false);
640056
640131
  return;
640057
640132
  }
640058
640133
  latest = maxVersion;
640059
640134
  }
640060
- const hasUpdate = latest && !gte("1.1.12", latest) && !shouldSkipVersion(latest);
640135
+ const hasUpdate = latest && !gte("1.2.12", latest) && !shouldSkipVersion(latest);
640061
640136
  setUpdateAvailable(!!hasUpdate);
640062
640137
  if (hasUpdate) {
640063
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.12"} -> ${latest}`);
640138
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.2.12"} -> ${latest}`);
640064
640139
  }
640065
640140
  };
640066
640141
  $3[0] = t1;
@@ -640094,7 +640169,7 @@ function PackageManagerAutoUpdater(t0) {
640094
640169
  wrap: "truncate",
640095
640170
  children: [
640096
640171
  "currentVersion: ",
640097
- "1.1.12"
640172
+ "1.2.12"
640098
640173
  ]
640099
640174
  }, undefined, true, undefined, this);
640100
640175
  $3[3] = verbose;
@@ -648260,7 +648335,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
648260
648335
  project_dir: getOriginalCwd(),
648261
648336
  added_dirs: addedDirs
648262
648337
  },
648263
- version: "1.1.12",
648338
+ version: "1.2.12",
648264
648339
  output_style: {
648265
648340
  name: outputStyleName
648266
648341
  },
@@ -659629,7 +659704,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
659629
659704
  } catch {}
659630
659705
  const data = {
659631
659706
  trigger,
659632
- version: "1.1.12",
659707
+ version: "1.2.12",
659633
659708
  platform: process.platform,
659634
659709
  transcript,
659635
659710
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -671680,7 +671755,7 @@ function WelcomeV2() {
671680
671755
  dimColor: true,
671681
671756
  children: [
671682
671757
  "v",
671683
- "1.1.12"
671758
+ "1.2.12"
671684
671759
  ]
671685
671760
  }, undefined, true, undefined, this)
671686
671761
  ]
@@ -673397,7 +673472,7 @@ function completeOnboarding() {
673397
673472
  saveGlobalConfig((current) => ({
673398
673473
  ...current,
673399
673474
  hasCompletedOnboarding: true,
673400
- lastOnboardingVersion: "1.1.12"
673475
+ lastOnboardingVersion: "1.2.12"
673401
673476
  }));
673402
673477
  }
673403
673478
  function showDialog(root2, renderer) {
@@ -677697,7 +677772,7 @@ function appendToLog(path30, message) {
677697
677772
  cwd: getFsImplementation().cwd(),
677698
677773
  userType: "external",
677699
677774
  sessionId: getSessionId(),
677700
- version: "1.1.12"
677775
+ version: "1.2.12"
677701
677776
  };
677702
677777
  getLogWriter(path30).write(messageWithTimestamp);
677703
677778
  }
@@ -681801,8 +681876,8 @@ async function getEnvLessBridgeConfig() {
681801
681876
  }
681802
681877
  async function checkEnvLessBridgeMinVersion() {
681803
681878
  const cfg = await getEnvLessBridgeConfig();
681804
- if (cfg.min_version && lt("1.1.12", cfg.min_version)) {
681805
- return `Your version of RAYU (${"1.1.12"}) is too old for Remote Control.
681879
+ if (cfg.min_version && lt("1.2.12", cfg.min_version)) {
681880
+ return `Your version of RAYU (${"1.2.12"}) is too old for Remote Control.
681806
681881
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
681807
681882
  }
681808
681883
  return null;
@@ -682276,7 +682351,7 @@ async function initBridgeCore(params) {
682276
682351
  const rawApi = createBridgeApiClient({
682277
682352
  baseUrl,
682278
682353
  getAccessToken,
682279
- runnerVersion: "1.1.12",
682354
+ runnerVersion: "1.2.12",
682280
682355
  onDebug: logForDebugging,
682281
682356
  onAuth401,
682282
682357
  getTrustedDeviceToken
@@ -687638,7 +687713,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
687638
687713
  setCwd(cwd3);
687639
687714
  const server = new Server({
687640
687715
  name: "claude/tengu",
687641
- version: "1.1.12"
687716
+ version: "1.2.12"
687642
687717
  }, {
687643
687718
  capabilities: {
687644
687719
  tools: {}
@@ -690164,7 +690239,7 @@ ${customInstructions}` : customInstructions;
690164
690239
  }
690165
690240
  }
690166
690241
  logForDiagnosticsNoPII("info", "started", {
690167
- version: "1.1.12",
690242
+ version: "1.2.12",
690168
690243
  is_native_binary: isInBundledMode()
690169
690244
  });
690170
690245
  registerCleanup(async () => {
@@ -690882,7 +690957,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
690882
690957
  pendingHookMessages
690883
690958
  }, renderAndRun);
690884
690959
  }
690885
- }).version("1.1.12 (Rayu-CLI)", "-v, --version", "Output the version number");
690960
+ }).version("1.2.12 (Rayu-CLI)", "-v, --version", "Output the version number");
690886
690961
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
690887
690962
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
690888
690963
  if (canUserConfigureAdvisor()) {
@@ -691348,7 +691423,7 @@ if (false) {}
691348
691423
  async function main2() {
691349
691424
  const args = process.argv.slice(2);
691350
691425
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
691351
- console.log(`${"1.1.12"} (Rayu-CLI)`);
691426
+ console.log(`${"1.2.12"} (Rayu-CLI)`);
691352
691427
  return;
691353
691428
  }
691354
691429
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.2.12",
3
+ "version": "1.2.13",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -33,16 +33,26 @@ function writeMarker() {
33
33
  } catch (_) {}
34
34
  }
35
35
 
36
- // npm v7+ pipes lifecycle script stdout/stderr, so we open /dev/tty directly
37
- // to write straight to the user's terminal (proven to work with PTY parent).
36
+ // npm v7+ pipes lifecycle script stdout/stderr, so we open the terminal
37
+ // device directly to write straight to the user's terminal.
38
+ // On Unix: /dev/tty, on Windows: CON
39
+ const isWindows = process.platform === 'win32';
40
+ const ttyDevice = isWindows ? 'CON' : '/dev/tty';
41
+
38
42
  try {
39
- const fd = fs.openSync('/dev/tty', 'w');
43
+ const fd = fs.openSync(ttyDevice, 'w');
40
44
  fs.writeSync(fd, message);
41
45
  fs.closeSync(fd);
42
46
  // Postinstall showed the message — mark as done so binary skips it
43
47
  writeMarker();
44
48
  } catch (_) {
45
- // No controlling terminal (CI, Docker, Windows) — fall through.
46
- // The binary will show the message on the user's first rayu run instead.
47
- process.stdout.write(message);
49
+ // No controlling terminal (CI, Docker, headless) — fall through.
50
+ // Write to stdout as best-effort, and still write the marker so the
51
+ // binary doesn't try to show it again in a non-interactive context.
52
+ try {
53
+ process.stdout.write(message);
54
+ } catch (_e) {
55
+ // stdout may be closed in some CI environments
56
+ }
57
+ writeMarker();
48
58
  }