@rayu-dev/rayu-cli 1.1.5 → 1.1.7

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
@@ -208302,7 +208302,7 @@ var init_auth2 = __esm(() => {
208302
208302
 
208303
208303
  // src/utils/userAgent.ts
208304
208304
  function getClaudeCodeUserAgent() {
208305
- return `claude-code/${"1.1.5"}`;
208305
+ return `claude-code/${"1.1.7"}`;
208306
208306
  }
208307
208307
 
208308
208308
  // src/utils/workloadContext.ts
@@ -208324,7 +208324,7 @@ function getUserAgent() {
208324
208324
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
208325
208325
  const workload = getWorkload();
208326
208326
  const workloadSuffix = workload ? `, workload/${workload}` : "";
208327
- return `claude-cli/${"1.1.5"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
208327
+ return `claude-cli/${"1.1.7"} (${"external"}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
208328
208328
  }
208329
208329
  function getMCPUserAgent() {
208330
208330
  const parts = [];
@@ -208338,7 +208338,7 @@ function getMCPUserAgent() {
208338
208338
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
208339
208339
  }
208340
208340
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
208341
- return `claude-code/${"1.1.5"}${suffix}`;
208341
+ return `claude-code/${"1.1.7"}${suffix}`;
208342
208342
  }
208343
208343
  function getWebFetchUserAgent() {
208344
208344
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -208476,7 +208476,7 @@ var init_user = __esm(() => {
208476
208476
  deviceId,
208477
208477
  sessionId: getSessionId(),
208478
208478
  email: getEmail(),
208479
- appVersion: "1.1.5",
208479
+ appVersion: "1.1.7",
208480
208480
  platform: getHostPlatformForAnalytics(),
208481
208481
  organizationUuid,
208482
208482
  accountUuid,
@@ -216397,7 +216397,7 @@ var init_metadata = __esm(() => {
216397
216397
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
216398
216398
  WHITESPACE_REGEX = /\s+/;
216399
216399
  getVersionBase = memoize_default(() => {
216400
- const match = "1.1.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
216400
+ const match = "1.1.7".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
216401
216401
  return match ? match[0] : undefined;
216402
216402
  });
216403
216403
  buildEnvContext = memoize_default(async () => {
@@ -216437,7 +216437,7 @@ var init_metadata = __esm(() => {
216437
216437
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
216438
216438
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
216439
216439
  isClaudeAiAuth: isClaudeAISubscriber(),
216440
- version: "1.1.5",
216440
+ version: "1.1.7",
216441
216441
  versionBase: getVersionBase(),
216442
216442
  buildTime: "",
216443
216443
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
@@ -217057,7 +217057,7 @@ function initialize1PEventLogging() {
217057
217057
  const platform3 = getPlatform();
217058
217058
  const attributes = {
217059
217059
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
217060
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.5"
217060
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.1.7"
217061
217061
  };
217062
217062
  if (platform3 === "wsl") {
217063
217063
  const wslVersion = getWslVersion();
@@ -217084,7 +217084,7 @@ function initialize1PEventLogging() {
217084
217084
  })
217085
217085
  ]
217086
217086
  });
217087
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "1.1.5");
217087
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "1.1.7");
217088
217088
  }
217089
217089
  async function reinitialize1PEventLoggingIfConfigChanged() {
217090
217090
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -218918,7 +218918,7 @@ function getAttributionHeader(fingerprint) {
218918
218918
  if (!isAttributionHeaderEnabled()) {
218919
218919
  return "";
218920
218920
  }
218921
- const version5 = `${"1.1.5"}.${fingerprint}`;
218921
+ const version5 = `${"1.1.7"}.${fingerprint}`;
218922
218922
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
218923
218923
  const cch = "";
218924
218924
  const workload = getWorkload();
@@ -398449,7 +398449,7 @@ function getTelemetryAttributes() {
398449
398449
  attributes["session.id"] = sessionId;
398450
398450
  }
398451
398451
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
398452
- attributes["app.version"] = "1.1.5";
398452
+ attributes["app.version"] = "1.1.7";
398453
398453
  }
398454
398454
  const oauthAccount = getOauthAccountInfo();
398455
398455
  if (oauthAccount) {
@@ -429775,7 +429775,7 @@ function getInstallationEnv() {
429775
429775
  return;
429776
429776
  }
429777
429777
  function getClaudeCodeVersion() {
429778
- return "1.1.5";
429778
+ return "1.1.7";
429779
429779
  }
429780
429780
  async function getInstalledVSCodeExtensionVersion(command) {
429781
429781
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -435340,7 +435340,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
435340
435340
  const client5 = new Client({
435341
435341
  name: "claude-code",
435342
435342
  title: "RAYU",
435343
- version: "1.1.5",
435343
+ version: "1.1.7",
435344
435344
  description: "Anthropic's agentic coding tool",
435345
435345
  websiteUrl: PRODUCT_URL
435346
435346
  }, {
@@ -435694,7 +435694,7 @@ var init_client10 = __esm(() => {
435694
435694
  const client5 = new Client({
435695
435695
  name: "claude-code",
435696
435696
  title: "RAYU",
435697
- version: "1.1.5",
435697
+ version: "1.1.7",
435698
435698
  description: "Anthropic's agentic coding tool",
435699
435699
  websiteUrl: PRODUCT_URL
435700
435700
  }, {
@@ -453749,7 +453749,7 @@ async function initializeBetaTracing(resource) {
453749
453749
  });
453750
453750
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
453751
453751
  setLoggerProvider(loggerProvider);
453752
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.5");
453752
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.7");
453753
453753
  setEventLogger(eventLogger);
453754
453754
  process.on("beforeExit", async () => {
453755
453755
  await loggerProvider?.forceFlush();
@@ -453789,7 +453789,7 @@ async function initializeTelemetry() {
453789
453789
  const platform5 = getPlatform();
453790
453790
  const baseAttributes = {
453791
453791
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
453792
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.5"
453792
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.1.7"
453793
453793
  };
453794
453794
  if (platform5 === "wsl") {
453795
453795
  const wslVersion = getWslVersion();
@@ -453834,7 +453834,7 @@ async function initializeTelemetry() {
453834
453834
  } catch {}
453835
453835
  };
453836
453836
  registerCleanup(shutdownTelemetry2);
453837
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.5");
453837
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.7");
453838
453838
  }
453839
453839
  const meterProvider = new import_sdk_metrics2.MeterProvider({
453840
453840
  resource,
@@ -453854,7 +453854,7 @@ async function initializeTelemetry() {
453854
453854
  });
453855
453855
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
453856
453856
  setLoggerProvider(loggerProvider);
453857
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.5");
453857
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.1.7");
453858
453858
  setEventLogger(eventLogger);
453859
453859
  logForDebugging("[3P telemetry] Event logger set successfully");
453860
453860
  process.on("beforeExit", async () => {
@@ -453916,7 +453916,7 @@ Current timeout: ${timeoutMs}ms
453916
453916
  }
453917
453917
  };
453918
453918
  registerCleanup(shutdownTelemetry);
453919
- return meterProvider.getMeter("com.anthropic.claude_code", "1.1.5");
453919
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.1.7");
453920
453920
  }
453921
453921
  async function flushTelemetry() {
453922
453922
  const meterProvider = getMeterProvider();
@@ -454584,9 +454584,9 @@ async function assertMinVersion() {
454584
454584
  if (false) {}
454585
454585
  try {
454586
454586
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
454587
- if (versionConfig.minVersion && lt("1.1.5", versionConfig.minVersion)) {
454587
+ if (versionConfig.minVersion && lt("1.1.7", versionConfig.minVersion)) {
454588
454588
  console.error(`
454589
- It looks like your version of RAYU (${"1.1.5"}) needs an update.
454589
+ It looks like your version of RAYU (${"1.1.7"}) needs an update.
454590
454590
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
454591
454591
 
454592
454592
  To update, please run:
@@ -454798,7 +454798,7 @@ async function installGlobalPackage(specificVersion) {
454798
454798
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
454799
454799
  logEvent("tengu_auto_updater_lock_contention", {
454800
454800
  pid: process.pid,
454801
- currentVersion: "1.1.5"
454801
+ currentVersion: "1.1.7"
454802
454802
  });
454803
454803
  return "in_progress";
454804
454804
  }
@@ -454807,7 +454807,7 @@ async function installGlobalPackage(specificVersion) {
454807
454807
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
454808
454808
  logError2(new Error("Windows NPM detected in WSL environment"));
454809
454809
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
454810
- currentVersion: "1.1.5"
454810
+ currentVersion: "1.1.7"
454811
454811
  });
454812
454812
  console.error(`
454813
454813
  Error: Windows NPM detected in WSL
@@ -455342,7 +455342,7 @@ function detectLinuxGlobPatternWarnings() {
455342
455342
  }
455343
455343
  async function getDoctorDiagnostic() {
455344
455344
  const installationType = await getCurrentInstallationType();
455345
- const version5 = typeof MACRO !== "undefined" ? "1.1.5" : "unknown";
455345
+ const version5 = typeof MACRO !== "undefined" ? "1.1.7" : "unknown";
455346
455346
  const installationPath = await getInstallationPath();
455347
455347
  const invokedBinary = getInvokedBinary();
455348
455348
  const multipleInstallations = await detectMultipleInstallations();
@@ -456166,8 +456166,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
456166
456166
  const maxVersion = await getMaxVersion();
456167
456167
  if (maxVersion && gt(version5, maxVersion)) {
456168
456168
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version5} to ${maxVersion}`);
456169
- if (gte("1.1.5", maxVersion)) {
456170
- logForDebugging(`Native installer: current version ${"1.1.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
456169
+ if (gte("1.1.7", maxVersion)) {
456170
+ logForDebugging(`Native installer: current version ${"1.1.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
456171
456171
  logEvent("tengu_native_update_skipped_max_version", {
456172
456172
  latency_ms: Date.now() - startTime,
456173
456173
  max_version: maxVersion,
@@ -456178,7 +456178,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
456178
456178
  version5 = maxVersion;
456179
456179
  }
456180
456180
  }
456181
- if (!forceReinstall && version5 === "1.1.5" && await versionIsAvailable(version5) && await isPossibleClaudeBinary(executablePath)) {
456181
+ if (!forceReinstall && version5 === "1.1.7" && await versionIsAvailable(version5) && await isPossibleClaudeBinary(executablePath)) {
456182
456182
  logForDebugging(`Found ${version5} at ${executablePath}, skipping install`);
456183
456183
  logEvent("tengu_native_update_complete", {
456184
456184
  latency_ms: Date.now() - startTime,
@@ -570004,7 +570004,7 @@ function Feedback({
570004
570004
  platform: env4.platform,
570005
570005
  gitRepo: envInfo.isGit,
570006
570006
  terminal: env4.terminal,
570007
- version: "1.1.5",
570007
+ version: "1.1.7",
570008
570008
  transcript: normalizeMessagesForAPI(messages),
570009
570009
  errors: sanitizedErrors,
570010
570010
  lastApiRequest: getLastAPIRequest(),
@@ -570196,7 +570196,7 @@ function Feedback({
570196
570196
  ", ",
570197
570197
  env4.terminal,
570198
570198
  ", v",
570199
- "1.1.5"
570199
+ "1.1.7"
570200
570200
  ]
570201
570201
  }, undefined, true, undefined, this)
570202
570202
  ]
@@ -570302,7 +570302,7 @@ ${sanitizedDescription}
570302
570302
  ` + `**Environment Info**
570303
570303
  ` + `- Platform: ${env4.platform}
570304
570304
  ` + `- Terminal: ${env4.terminal}
570305
- ` + `- Version: ${"1.1.5"}
570305
+ ` + `- Version: ${"1.1.7"}
570306
570306
  ` + `- Feedback ID: ${feedbackId}
570307
570307
  ` + `
570308
570308
  **Errors**
@@ -573402,7 +573402,7 @@ function buildPrimarySection() {
573402
573402
  }, undefined, false, undefined, this);
573403
573403
  return [{
573404
573404
  label: "Version",
573405
- value: "1.1.5"
573405
+ value: "1.1.7"
573406
573406
  }, {
573407
573407
  label: "Session name",
573408
573408
  value: nameValue
@@ -574885,7 +574885,7 @@ function ClaudeMdExternalIncludesDialog(t0) {
574885
574885
  "Important: Only use RAYU with files you trust. Accessing untrusted files may pose security risks",
574886
574886
  " ",
574887
574887
  /* @__PURE__ */ jsx_dev_runtime177.jsxDEV(Link, {
574888
- url: "https://code.claude.com/docs/en/security"
574888
+ url: "https://github.com/Choeng-Rayu/rayu-cli"
574889
574889
  }, undefined, false, undefined, this),
574890
574890
  " "
574891
574891
  ]
@@ -577153,7 +577153,7 @@ function Config({
577153
577153
  }
577154
577154
  }, undefined, false, undefined, this)
577155
577155
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime182.jsxDEV(ChannelDowngradeDialog, {
577156
- currentVersion: "1.1.5",
577156
+ currentVersion: "1.1.7",
577157
577157
  onChoice: (choice) => {
577158
577158
  setShowSubmenu(null);
577159
577159
  setTabsHidden(false);
@@ -577165,7 +577165,7 @@ function Config({
577165
577165
  autoUpdatesChannel: "stable"
577166
577166
  };
577167
577167
  if (choice === "stay") {
577168
- newSettings.minimumVersion = "1.1.5";
577168
+ newSettings.minimumVersion = "1.1.7";
577169
577169
  }
577170
577170
  updateSettingsForSource("userSettings", newSettings);
577171
577171
  setSettingsData((prev_27) => ({
@@ -585166,7 +585166,7 @@ function HelpV2(t0) {
585166
585166
  let t6;
585167
585167
  if ($3[31] !== tabs) {
585168
585168
  t6 = /* @__PURE__ */ jsx_dev_runtime209.jsxDEV(Tabs, {
585169
- title: `Rayu-CLI v${"1.1.5"}`,
585169
+ title: `Rayu-CLI v${"1.1.7"}`,
585170
585170
  color: "professionalBlue",
585171
585171
  defaultTab: "general",
585172
585172
  children: tabs
@@ -607979,7 +607979,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
607979
607979
  return [];
607980
607980
  }
607981
607981
  }
607982
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.5") {
607982
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.7") {
607983
607983
  if (false) {}
607984
607984
  const cachedChangelog = await getStoredChangelog();
607985
607985
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -607992,7 +607992,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.5") {
607992
607992
  releaseNotes
607993
607993
  };
607994
607994
  }
607995
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.5") {
607995
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.7") {
607996
607996
  if (false) {}
607997
607997
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
607998
607998
  return {
@@ -609178,7 +609178,7 @@ function getRecentActivitySync() {
609178
609178
  return cachedActivity;
609179
609179
  }
609180
609180
  function getLogoDisplayData() {
609181
- const version5 = process.env.DEMO_VERSION ?? "1.1.5";
609181
+ const version5 = process.env.DEMO_VERSION ?? "1.1.7";
609182
609182
  const serverUrl = getDirectConnectServerUrl();
609183
609183
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
609184
609184
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -610431,7 +610431,7 @@ function LogoV2() {
610431
610431
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
610432
610432
  t2 = () => {
610433
610433
  const currentConfig = getGlobalConfig();
610434
- if (currentConfig.lastReleaseNotesSeen === "1.1.5") {
610434
+ if (currentConfig.lastReleaseNotesSeen === "1.1.7") {
610435
610435
  return;
610436
610436
  }
610437
610437
  saveGlobalConfig(_temp328);
@@ -611107,12 +611107,12 @@ function LogoV2() {
611107
611107
  return t41;
611108
611108
  }
611109
611109
  function _temp328(current) {
611110
- if (current.lastReleaseNotesSeen === "1.1.5") {
611110
+ if (current.lastReleaseNotesSeen === "1.1.7") {
611111
611111
  return current;
611112
611112
  }
611113
611113
  return {
611114
611114
  ...current,
611115
- lastReleaseNotesSeen: "1.1.5"
611115
+ lastReleaseNotesSeen: "1.1.7"
611116
611116
  };
611117
611117
  }
611118
611118
  function _temp243(s_0) {
@@ -637503,7 +637503,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
637503
637503
  smapsRollup,
637504
637504
  platform: process.platform,
637505
637505
  nodeVersion: process.version,
637506
- ccVersion: "1.1.5"
637506
+ ccVersion: "1.1.7"
637507
637507
  };
637508
637508
  }
637509
637509
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -638031,7 +638031,7 @@ var init_bridge_kick = __esm(() => {
638031
638031
  var call59 = async () => {
638032
638032
  return {
638033
638033
  type: "text",
638034
- value: "1.1.5"
638034
+ value: "1.1.7"
638035
638035
  };
638036
638036
  }, version5, version_default;
638037
638037
  var init_version = __esm(() => {
@@ -647425,7 +647425,7 @@ function generateHtmlReport(data, insights) {
647425
647425
  </html>`;
647426
647426
  }
647427
647427
  function buildExportData(data, insights, facets, remoteStats) {
647428
- const version6 = typeof MACRO !== "undefined" ? "1.1.5" : "unknown";
647428
+ const version6 = typeof MACRO !== "undefined" ? "1.1.7" : "unknown";
647429
647429
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
647430
647430
  const facets_summary = {
647431
647431
  total: facets.size,
@@ -651409,7 +651409,7 @@ var init_sessionStorage = __esm(() => {
651409
651409
  init_settings2();
651410
651410
  init_slowOperations();
651411
651411
  init_uuid();
651412
- VERSION6 = typeof MACRO !== "undefined" ? "1.1.5" : "unknown";
651412
+ VERSION6 = typeof MACRO !== "undefined" ? "1.1.7" : "unknown";
651413
651413
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
651414
651414
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
651415
651415
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -652630,7 +652630,7 @@ var init_filesystem = __esm(() => {
652630
652630
  });
652631
652631
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
652632
652632
  const nonce = randomBytes19(16).toString("hex");
652633
- return join150(getClaudeTempDir(), "bundled-skills", "1.1.5", nonce);
652633
+ return join150(getClaudeTempDir(), "bundled-skills", "1.1.7", nonce);
652634
652634
  });
652635
652635
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
652636
652636
  });
@@ -658119,7 +658119,7 @@ function getFunctionResultClearingSection(model) {
658119
658119
 
658120
658120
  Old tool results will be automatically cleared from context to free up space. The ${config5.keepRecent} most recent results are always kept.`;
658121
658121
  }
658122
- var getCachedMCConfigForFRC = null, DISCOVER_SKILLS_TOOL_NAME = null, SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__", FRONTIER_MODEL_NAME = "Claude Opus 4.6", CLAUDE_4_5_OR_4_6_MODEL_IDS, DEFAULT_AGENT_PROMPT = `You are an agent for the official CLI powered by Choeng Rayu. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings — the caller will relay this to the user, so it only needs the essentials.`, SUMMARIZE_TOOL_RESULTS_SECTION = `When working with tool results, write down any important information you might need later in your response, as the original tool result may be cleared later.`;
658122
+ var getCachedMCConfigForFRC = null, DISCOVER_SKILLS_TOOL_NAME = null, SYSTEM_PROMPT_DYNAMIC_BOUNDARY = "__SYSTEM_PROMPT_DYNAMIC_BOUNDARY__", CLAUDE_4_5_OR_4_6_MODEL_IDS, DEFAULT_AGENT_PROMPT = `You are an agent for the official CLI powered by Choeng Rayu. Given the user's message, you should use the tools available to complete the task. Complete the task fully—don't gold-plate, but don't leave it half-done. When you complete the task, respond with a concise report covering what was done and any key findings — the caller will relay this to the user, so it only needs the essentials.`, SUMMARIZE_TOOL_RESULTS_SECTION = `When working with tool results, write down any important information you might need later in your response, as the original tool result may be cleared later.`;
658123
658123
  var init_prompts4 = __esm(() => {
658124
658124
  init_env();
658125
658125
  init_git();
@@ -658603,7 +658603,7 @@ function computeFingerprint(messageText, version6) {
658603
658603
  }
658604
658604
  function computeFingerprintFromMessages(messages) {
658605
658605
  const firstMessageText = extractFirstMessageText(messages);
658606
- return computeFingerprint(firstMessageText, "1.1.5");
658606
+ return computeFingerprint(firstMessageText, "1.1.7");
658607
658607
  }
658608
658608
  var FINGERPRINT_SALT = "59cf53e54c78";
658609
658609
  var init_fingerprint = () => {};
@@ -660445,7 +660445,7 @@ async function sideQuery(opts) {
660445
660445
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
660446
660446
  }
660447
660447
  const messageText = extractFirstUserMessageText(messages);
660448
- const fingerprint = computeFingerprint(messageText, "1.1.5");
660448
+ const fingerprint = computeFingerprint(messageText, "1.1.7");
660449
660449
  const attributionHeader = getAttributionHeader(fingerprint);
660450
660450
  const systemBlocks = [
660451
660451
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -664968,7 +664968,7 @@ function buildSystemInitMessage(inputs) {
664968
664968
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
664969
664969
  apiKeySource: getAnthropicApiKeyWithSource().source,
664970
664970
  betas: getSdkBetas(),
664971
- claude_code_version: "1.1.5",
664971
+ claude_code_version: "1.1.7",
664972
664972
  output_style: outputStyle2,
664973
664973
  agents: inputs.agents.map((agent) => agent.agentType),
664974
664974
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -680751,7 +680751,7 @@ var init_useVoiceEnabled = __esm(() => {
680751
680751
  function getSemverPart(version6) {
680752
680752
  return `${import_semver13.major(version6, { loose: true })}.${import_semver13.minor(version6, { loose: true })}.${import_semver13.patch(version6, { loose: true })}`;
680753
680753
  }
680754
- function useUpdateNotification(updatedVersion, initialVersion = "1.1.5") {
680754
+ function useUpdateNotification(updatedVersion, initialVersion = "1.1.7") {
680755
680755
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react231.useState(() => getSemverPart(initialVersion));
680756
680756
  if (!updatedVersion) {
680757
680757
  return null;
@@ -680791,7 +680791,7 @@ function AutoUpdater({
680791
680791
  return;
680792
680792
  }
680793
680793
  if (false) {}
680794
- const currentVersion = "1.1.5";
680794
+ const currentVersion = "1.1.7";
680795
680795
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
680796
680796
  let latestVersion = await getLatestVersion(channel);
680797
680797
  const isDisabled = isAutoUpdaterDisabled();
@@ -681004,12 +681004,12 @@ function NativeAutoUpdater({
681004
681004
  logEvent("tengu_native_auto_updater_start", {});
681005
681005
  try {
681006
681006
  const maxVersion = await getMaxVersion();
681007
- if (maxVersion && gt("1.1.5", maxVersion)) {
681007
+ if (maxVersion && gt("1.1.7", maxVersion)) {
681008
681008
  const msg = await getMaxVersionMessage();
681009
681009
  setMaxVersionIssue(msg ?? "affects your version");
681010
681010
  }
681011
681011
  const result = await installLatest(channel);
681012
- const currentVersion = "1.1.5";
681012
+ const currentVersion = "1.1.7";
681013
681013
  const latencyMs = Date.now() - startTime;
681014
681014
  if (result.lockFailed) {
681015
681015
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -681146,17 +681146,17 @@ function PackageManagerAutoUpdater(t0) {
681146
681146
  const maxVersion = await getMaxVersion();
681147
681147
  if (maxVersion && latest && gt(latest, maxVersion)) {
681148
681148
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
681149
- if (gte("1.1.5", maxVersion)) {
681150
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
681149
+ if (gte("1.1.7", maxVersion)) {
681150
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.7"} is already at or above maxVersion ${maxVersion}, skipping update`);
681151
681151
  setUpdateAvailable(false);
681152
681152
  return;
681153
681153
  }
681154
681154
  latest = maxVersion;
681155
681155
  }
681156
- const hasUpdate = latest && !gte("1.1.5", latest) && !shouldSkipVersion(latest);
681156
+ const hasUpdate = latest && !gte("1.1.7", latest) && !shouldSkipVersion(latest);
681157
681157
  setUpdateAvailable(!!hasUpdate);
681158
681158
  if (hasUpdate) {
681159
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.5"} -> ${latest}`);
681159
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.7"} -> ${latest}`);
681160
681160
  }
681161
681161
  };
681162
681162
  $3[0] = t1;
@@ -681190,7 +681190,7 @@ function PackageManagerAutoUpdater(t0) {
681190
681190
  wrap: "truncate",
681191
681191
  children: [
681192
681192
  "currentVersion: ",
681193
- "1.1.5"
681193
+ "1.1.7"
681194
681194
  ]
681195
681195
  }, undefined, true, undefined, this);
681196
681196
  $3[3] = verbose;
@@ -689351,7 +689351,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
689351
689351
  project_dir: getOriginalCwd(),
689352
689352
  added_dirs: addedDirs
689353
689353
  },
689354
- version: "1.1.5",
689354
+ version: "1.1.7",
689355
689355
  output_style: {
689356
689356
  name: outputStyleName
689357
689357
  },
@@ -700725,7 +700725,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
700725
700725
  } catch {}
700726
700726
  const data = {
700727
700727
  trigger,
700728
- version: "1.1.5",
700728
+ version: "1.1.7",
700729
700729
  platform: process.platform,
700730
700730
  transcript,
700731
700731
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -712699,7 +712699,7 @@ function WelcomeV2() {
712699
712699
  dimColor: true,
712700
712700
  children: [
712701
712701
  "v",
712702
- "1.1.5"
712702
+ "1.1.7"
712703
712703
  ]
712704
712704
  }, undefined, true, undefined, this)
712705
712705
  ]
@@ -713540,7 +713540,7 @@ function TrustDialog(t0) {
713540
713540
  t19 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
713541
713541
  dimColor: true,
713542
713542
  children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Link, {
713543
- url: "https://code.claude.com/docs/en/security",
713543
+ url: "https://github.com/Choeng-Rayu/rayu-cli",
713544
713544
  children: "Security guide"
713545
713545
  }, undefined, false, undefined, this)
713546
713546
  }, undefined, false, undefined, this);
@@ -713725,7 +713725,7 @@ function BypassPermissionsModeDialog(t0) {
713725
713725
  children: "By proceeding, you accept all responsibility for actions taken while running in Bypass Permissions mode."
713726
713726
  }, undefined, false, undefined, this),
713727
713727
  /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(Link, {
713728
- url: "https://code.claude.com/docs/en/security"
713728
+ url: "https://github.com/Choeng-Rayu/rayu-cli"
713729
713729
  }, undefined, false, undefined, this)
713730
713730
  ]
713731
713731
  }, undefined, true, undefined, this);
@@ -713976,7 +713976,7 @@ function completeOnboarding() {
713976
713976
  saveGlobalConfig((current) => ({
713977
713977
  ...current,
713978
713978
  hasCompletedOnboarding: true,
713979
- lastOnboardingVersion: "1.1.5"
713979
+ lastOnboardingVersion: "1.1.7"
713980
713980
  }));
713981
713981
  }
713982
713982
  function showDialog(root2, renderer) {
@@ -718729,7 +718729,7 @@ function appendToLog(path32, message) {
718729
718729
  cwd: getFsImplementation().cwd(),
718730
718730
  userType: "external",
718731
718731
  sessionId: getSessionId(),
718732
- version: "1.1.5"
718732
+ version: "1.1.7"
718733
718733
  };
718734
718734
  getLogWriter(path32).write(messageWithTimestamp);
718735
718735
  }
@@ -722688,8 +722688,8 @@ async function getEnvLessBridgeConfig() {
722688
722688
  }
722689
722689
  async function checkEnvLessBridgeMinVersion() {
722690
722690
  const cfg = await getEnvLessBridgeConfig();
722691
- if (cfg.min_version && lt("1.1.5", cfg.min_version)) {
722692
- return `Your version of RAYU (${"1.1.5"}) is too old for Remote Control.
722691
+ if (cfg.min_version && lt("1.1.7", cfg.min_version)) {
722692
+ return `Your version of RAYU (${"1.1.7"}) is too old for Remote Control.
722693
722693
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
722694
722694
  }
722695
722695
  return null;
@@ -723163,7 +723163,7 @@ async function initBridgeCore(params) {
723163
723163
  const rawApi = createBridgeApiClient({
723164
723164
  baseUrl,
723165
723165
  getAccessToken,
723166
- runnerVersion: "1.1.5",
723166
+ runnerVersion: "1.1.7",
723167
723167
  onDebug: logForDebugging,
723168
723168
  onAuth401,
723169
723169
  getTrustedDeviceToken
@@ -728795,7 +728795,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
728795
728795
  setCwd(cwd3);
728796
728796
  const server = new Server({
728797
728797
  name: "claude/tengu",
728798
- version: "1.1.5"
728798
+ version: "1.1.7"
728799
728799
  }, {
728800
728800
  capabilities: {
728801
728801
  tools: {}
@@ -730406,7 +730406,7 @@ __export(exports_update, {
730406
730406
  });
730407
730407
  async function update() {
730408
730408
  logEvent("tengu_update_check", {});
730409
- writeToStdout(`Current version: ${"1.1.5"}
730409
+ writeToStdout(`Current version: ${"1.1.7"}
730410
730410
  `);
730411
730411
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
730412
730412
  writeToStdout(`Checking for updates to ${channel} version...
@@ -730481,8 +730481,8 @@ async function update() {
730481
730481
  writeToStdout(`Claude is managed by Homebrew.
730482
730482
  `);
730483
730483
  const latest = await getLatestVersion(channel);
730484
- if (latest && !gte("1.1.5", latest)) {
730485
- writeToStdout(`Update available: ${"1.1.5"} → ${latest}
730484
+ if (latest && !gte("1.1.7", latest)) {
730485
+ writeToStdout(`Update available: ${"1.1.7"} → ${latest}
730486
730486
  `);
730487
730487
  writeToStdout(`
730488
730488
  `);
@@ -730498,8 +730498,8 @@ async function update() {
730498
730498
  writeToStdout(`Claude is managed by winget.
730499
730499
  `);
730500
730500
  const latest = await getLatestVersion(channel);
730501
- if (latest && !gte("1.1.5", latest)) {
730502
- writeToStdout(`Update available: ${"1.1.5"} → ${latest}
730501
+ if (latest && !gte("1.1.7", latest)) {
730502
+ writeToStdout(`Update available: ${"1.1.7"} → ${latest}
730503
730503
  `);
730504
730504
  writeToStdout(`
730505
730505
  `);
@@ -730515,8 +730515,8 @@ async function update() {
730515
730515
  writeToStdout(`Claude is managed by apk.
730516
730516
  `);
730517
730517
  const latest = await getLatestVersion(channel);
730518
- if (latest && !gte("1.1.5", latest)) {
730519
- writeToStdout(`Update available: ${"1.1.5"} → ${latest}
730518
+ if (latest && !gte("1.1.7", latest)) {
730519
+ writeToStdout(`Update available: ${"1.1.7"} → ${latest}
730520
730520
  `);
730521
730521
  writeToStdout(`
730522
730522
  `);
@@ -730581,11 +730581,11 @@ async function update() {
730581
730581
  `);
730582
730582
  await gracefulShutdown(1);
730583
730583
  }
730584
- if (result.latestVersion === "1.1.5") {
730585
- writeToStdout(source_default.green(`RAYU is up to date (${"1.1.5"})`) + `
730584
+ if (result.latestVersion === "1.1.7") {
730585
+ writeToStdout(source_default.green(`RAYU is up to date (${"1.1.7"})`) + `
730586
730586
  `);
730587
730587
  } else {
730588
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.5"} to version ${result.latestVersion}`) + `
730588
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.7"} to version ${result.latestVersion}`) + `
730589
730589
  `);
730590
730590
  await regenerateCompletionCache();
730591
730591
  }
@@ -730645,12 +730645,12 @@ async function update() {
730645
730645
  `);
730646
730646
  await gracefulShutdown(1);
730647
730647
  }
730648
- if (latestVersion === "1.1.5") {
730649
- writeToStdout(source_default.green(`RAYU is up to date (${"1.1.5"})`) + `
730648
+ if (latestVersion === "1.1.7") {
730649
+ writeToStdout(source_default.green(`RAYU is up to date (${"1.1.7"})`) + `
730650
730650
  `);
730651
730651
  await gracefulShutdown(0);
730652
730652
  }
730653
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.5"})
730653
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.7"})
730654
730654
  `);
730655
730655
  writeToStdout(`Installing update...
730656
730656
  `);
@@ -730695,7 +730695,7 @@ async function update() {
730695
730695
  logForDebugging(`update: Installation status: ${status2}`);
730696
730696
  switch (status2) {
730697
730697
  case "success":
730698
- writeToStdout(source_default.green(`Successfully updated from ${"1.1.5"} to version ${latestVersion}`) + `
730698
+ writeToStdout(source_default.green(`Successfully updated from ${"1.1.7"} to version ${latestVersion}`) + `
730699
730699
  `);
730700
730700
  await regenerateCompletionCache();
730701
730701
  break;
@@ -730761,7 +730761,7 @@ __export(exports_uninstall, {
730761
730761
  });
730762
730762
  import { homedir as homedir43 } from "os";
730763
730763
  async function uninstall() {
730764
- writeToStdout(`Uninstalling Rayu CLI (${"1.1.5"})...
730764
+ writeToStdout(`Uninstalling Rayu CLI (${"1.1.7"})...
730765
730765
  `);
730766
730766
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
730767
730767
 
@@ -730786,7 +730786,7 @@ Try running manually:
730786
730786
  await gracefulShutdown(1);
730787
730787
  return;
730788
730788
  }
730789
- writeToStdout(source_default.green(`Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.1.5"}
730789
+ writeToStdout(source_default.green(`Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.1.7"}
730790
730790
  `));
730791
730791
  writeToStdout(`Thanks for using Rayu CLI!
730792
730792
  `);
@@ -731983,7 +731983,7 @@ ${customInstructions}` : customInstructions;
731983
731983
  }
731984
731984
  }
731985
731985
  logForDiagnosticsNoPII("info", "started", {
731986
- version: "1.1.5",
731986
+ version: "1.1.7",
731987
731987
  is_native_binary: isInBundledMode()
731988
731988
  });
731989
731989
  registerCleanup(async () => {
@@ -732768,7 +732768,7 @@ Usage: claude --remote "your task description"`, () => gracefulShutdown(1));
732768
732768
  pendingHookMessages
732769
732769
  }, renderAndRun);
732770
732770
  }
732771
- }).version("1.1.5 (Rayu-CLI)", "-v, --version", "Output the version number");
732771
+ }).version("1.1.7 (Rayu-CLI)", "-v, --version", "Output the version number");
732772
732772
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
732773
732773
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
732774
732774
  if (canUserConfigureAdvisor()) {
@@ -733289,7 +733289,7 @@ if (false) {}
733289
733289
  async function main2() {
733290
733290
  const args = process.argv.slice(2);
733291
733291
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
733292
- console.log(`${"1.1.5"} (Rayu-CLI)`);
733292
+ console.log(`${"1.1.7"} (Rayu-CLI)`);
733293
733293
  return;
733294
733294
  }
733295
733295
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.1.5",
3
+ "version": "1.1.7",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,11 +1,8 @@
1
1
  'use strict';
2
2
 
3
- // Only show post-install message for global installs
4
- if (process.env.npm_config_global !== 'true') {
5
- process.exit(0);
6
- }
3
+ const fs = require('fs');
7
4
 
8
- const lines = [
5
+ const message = [
9
6
  '',
10
7
  ' +--------------------------------------------------+',
11
8
  ' | |',
@@ -23,6 +20,15 @@ const lines = [
23
20
  '',
24
21
  ' Docs & issues: https://github.com/Choeng-Rayu/rayu-cli',
25
22
  '',
26
- ];
23
+ ].join('\n') + '\n';
27
24
 
28
- process.stdout.write(lines.join('\n') + '\n');
25
+ // npm v7+ buffers lifecycle script stdoutwrite directly to /dev/tty
26
+ // so the message always appears in the user's terminal
27
+ try {
28
+ const tty = fs.openSync('/dev/tty', 'w');
29
+ fs.writeSync(tty, message);
30
+ fs.closeSync(tty);
31
+ } catch (_) {
32
+ // /dev/tty unavailable (Windows, CI) — fall back to stdout
33
+ process.stdout.write(message);
34
+ }
@@ -1,12 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const { execSync } = require('child_process');
4
- const readline = require('readline');
5
-
6
- // Skip prompt in non-interactive environments (CI, pipes, scripts)
7
- if (!process.stdin.isTTY) {
8
- process.exit(0);
9
- }
4
+ const fs = require('fs');
10
5
 
11
6
  // Check if rayu is already installed
12
7
  let currentVersion = null;
@@ -26,24 +21,39 @@ if (!currentVersion) {
26
21
  process.exit(0);
27
22
  }
28
23
 
29
- // Already installed prompt user before replacing
30
- const rl = readline.createInterface({
31
- input: process.stdin,
32
- output: process.stdout,
33
- });
34
-
35
- process.stdout.write('\n');
36
- rl.question(
37
- ` Rayu CLI v${currentVersion} is already installed.\n` +
38
- ` Replace with the latest version? Your config will not be changed. [y/N] `,
39
- (answer) => {
40
- rl.close();
41
- if (answer.trim().toLowerCase() === 'y') {
42
- process.stdout.write('\n Installing latest version...\n\n');
43
- process.exit(0);
44
- } else {
45
- process.stdout.write('\n Keeping current version. No changes made.\n\n');
46
- process.exit(1);
47
- }
48
- },
24
+ // npm redirects stdin away from the terminal when running lifecycle scripts,
25
+ // so process.stdin.isTTY is always false. Open /dev/tty directly to get
26
+ // real interactive input from the user.
27
+ let ttyFd;
28
+ try {
29
+ ttyFd = fs.openSync('/dev/tty', 'r+');
30
+ } catch (_) {
31
+ // Non-interactive environment (CI, pipes, Windows) — proceed with install
32
+ process.exit(0);
33
+ }
34
+
35
+ process.stdout.write(
36
+ '\n Rayu CLI v' + currentVersion + ' is already installed.\n' +
37
+ ' Replace with the latest version? Your config will not be changed. [y/N] '
49
38
  );
39
+
40
+ // Read answer synchronously directly from the terminal
41
+ const buf = Buffer.alloc(256);
42
+ let bytesRead = 0;
43
+ try {
44
+ bytesRead = fs.readSync(ttyFd, buf, 0, buf.length, null);
45
+ } catch (_) {
46
+ fs.closeSync(ttyFd);
47
+ process.exit(0);
48
+ }
49
+ fs.closeSync(ttyFd);
50
+
51
+ const answer = buf.slice(0, bytesRead).toString().trim();
52
+
53
+ if (answer.toLowerCase() === 'y') {
54
+ process.stdout.write(' Installing latest version...\n\n');
55
+ process.exit(0);
56
+ } else {
57
+ process.stdout.write(' Keeping current version. No changes made.\n\n');
58
+ process.exit(1);
59
+ }