@rayu-dev/rayu-cli 1.4.474 → 1.4.475

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 +218 -119
  2. package/package.json +1 -1
package/dist/rayu.js CHANGED
@@ -148992,7 +148992,7 @@ var init_isEqual = __esm(() => {
148992
148992
 
148993
148993
  // src/utils/userAgent.ts
148994
148994
  function getRayuUserAgent() {
148995
- return `rayu/${"1.4.474"}`;
148995
+ return `rayu/${"1.4.475"}`;
148996
148996
  }
148997
148997
  var getClaudeCodeUserAgent;
148998
148998
  var init_userAgent = __esm(() => {
@@ -149018,7 +149018,7 @@ function getUserAgent() {
149018
149018
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
149019
149019
  const workload = getWorkload();
149020
149020
  const workloadSuffix = workload ? `, workload/${workload}` : "";
149021
- return `rayu/${"1.4.474"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149021
+ return `rayu/${"1.4.475"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149022
149022
  }
149023
149023
  function getMCPUserAgent() {
149024
149024
  const parts = [];
@@ -149032,7 +149032,7 @@ function getMCPUserAgent() {
149032
149032
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
149033
149033
  }
149034
149034
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
149035
- return `rayu/${"1.4.474"}${suffix}`;
149035
+ return `rayu/${"1.4.475"}${suffix}`;
149036
149036
  }
149037
149037
  function getWebFetchUserAgent() {
149038
149038
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -200387,6 +200387,12 @@ var init_theme = __esm(() => {
200387
200387
  ];
200388
200388
  THEME_SETTINGS = ["auto", ...THEME_NAMES];
200389
200389
  lightTheme = {
200390
+ toolExecute: "rgb(176,122,0)",
200391
+ toolRead: "rgb(34,134,80)",
200392
+ toolSearch: "rgb(0,132,150)",
200393
+ toolEdit: "rgb(196,90,20)",
200394
+ toolWeb: "rgb(124,58,205)",
200395
+ toolTask: "rgb(37,99,235)",
200390
200396
  autoAccept: "rgb(135,0,255)",
200391
200397
  bashBorder: "rgb(255,0,135)",
200392
200398
  brand: "rgb(45,140,80)",
@@ -200459,6 +200465,12 @@ var init_theme = __esm(() => {
200459
200465
  rainbow_violet_shimmer: "rgb(230,180,210)"
200460
200466
  };
200461
200467
  lightAnsiTheme = {
200468
+ toolExecute: "ansi:yellow",
200469
+ toolRead: "ansi:green",
200470
+ toolSearch: "ansi:cyan",
200471
+ toolEdit: "ansi:red",
200472
+ toolWeb: "ansi:magenta",
200473
+ toolTask: "ansi:blue",
200462
200474
  autoAccept: "ansi:magenta",
200463
200475
  bashBorder: "ansi:magenta",
200464
200476
  brand: "ansi:greenBright",
@@ -200531,6 +200543,12 @@ var init_theme = __esm(() => {
200531
200543
  rainbow_violet_shimmer: "ansi:magentaBright"
200532
200544
  };
200533
200545
  darkAnsiTheme = {
200546
+ toolExecute: "ansi:yellowBright",
200547
+ toolRead: "ansi:greenBright",
200548
+ toolSearch: "ansi:cyanBright",
200549
+ toolEdit: "ansi:redBright",
200550
+ toolWeb: "ansi:magentaBright",
200551
+ toolTask: "ansi:blueBright",
200534
200552
  autoAccept: "ansi:magentaBright",
200535
200553
  bashBorder: "ansi:magentaBright",
200536
200554
  brand: "ansi:greenBright",
@@ -200603,6 +200621,12 @@ var init_theme = __esm(() => {
200603
200621
  rainbow_violet_shimmer: "ansi:magentaBright"
200604
200622
  };
200605
200623
  lightDaltonizedTheme = {
200624
+ toolExecute: "rgb(150,110,0)",
200625
+ toolRead: "rgb(0,140,140)",
200626
+ toolSearch: "rgb(0,102,204)",
200627
+ toolEdit: "rgb(204,102,0)",
200628
+ toolWeb: "rgb(128,0,128)",
200629
+ toolTask: "rgb(199,42,140)",
200606
200630
  autoAccept: "rgb(135,0,255)",
200607
200631
  bashBorder: "rgb(0,102,204)",
200608
200632
  brand: "rgb(0,153,136)",
@@ -200675,6 +200699,12 @@ var init_theme = __esm(() => {
200675
200699
  rainbow_violet_shimmer: "rgb(230,180,210)"
200676
200700
  };
200677
200701
  darkTheme = {
200702
+ toolExecute: "rgb(255,199,89)",
200703
+ toolRead: "rgb(94,201,138)",
200704
+ toolSearch: "rgb(86,194,214)",
200705
+ toolEdit: "rgb(240,150,90)",
200706
+ toolWeb: "rgb(197,160,255)",
200707
+ toolTask: "rgb(122,162,247)",
200678
200708
  autoAccept: "rgb(175,135,255)",
200679
200709
  bashBorder: "rgb(253,93,177)",
200680
200710
  brand: "rgb(70,190,130)",
@@ -200747,6 +200777,12 @@ var init_theme = __esm(() => {
200747
200777
  rainbow_violet_shimmer: "rgb(230,180,210)"
200748
200778
  };
200749
200779
  darkDaltonizedTheme = {
200780
+ toolExecute: "rgb(240,220,90)",
200781
+ toolRead: "rgb(102,204,204)",
200782
+ toolSearch: "rgb(102,178,255)",
200783
+ toolEdit: "rgb(255,178,102)",
200784
+ toolWeb: "rgb(178,102,255)",
200785
+ toolTask: "rgb(255,153,204)",
200750
200786
  autoAccept: "rgb(175,135,255)",
200751
200787
  bashBorder: "rgb(51,153,255)",
200752
200788
  brand: "rgb(0,180,150)",
@@ -205364,7 +205400,7 @@ function getAttributionHeader(fingerprint) {
205364
205400
  if (!isAttributionHeaderEnabled()) {
205365
205401
  return "";
205366
205402
  }
205367
- const version2 = `${"1.4.474"}.${fingerprint}`;
205403
+ const version2 = `${"1.4.475"}.${fingerprint}`;
205368
205404
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
205369
205405
  const cch = "";
205370
205406
  const workload = getWorkload();
@@ -259333,7 +259369,7 @@ var init_metadata = __esm(() => {
259333
259369
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
259334
259370
  WHITESPACE_REGEX = /\s+/;
259335
259371
  getVersionBase = memoize_default(() => {
259336
- const match = "1.4.474".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259372
+ const match = "1.4.475".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259337
259373
  return match ? match[0] : undefined;
259338
259374
  });
259339
259375
  buildEnvContext = memoize_default(async () => {
@@ -259372,7 +259408,7 @@ var init_metadata = __esm(() => {
259372
259408
  },
259373
259409
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
259374
259410
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
259375
- version: "1.4.474",
259411
+ version: "1.4.475",
259376
259412
  versionBase: getVersionBase(),
259377
259413
  buildTime: "",
259378
259414
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
@@ -291388,7 +291424,7 @@ function getTelemetryAttributes() {
291388
291424
  attributes["session.id"] = sessionId;
291389
291425
  }
291390
291426
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
291391
- attributes["app.version"] = "1.4.474";
291427
+ attributes["app.version"] = "1.4.475";
291392
291428
  }
291393
291429
  const oauthAccount = getOauthAccountInfo();
291394
291430
  if (oauthAccount) {
@@ -401745,7 +401781,7 @@ function getInstallationEnv() {
401745
401781
  return;
401746
401782
  }
401747
401783
  function getClaudeCodeVersion() {
401748
- return "1.4.474";
401784
+ return "1.4.475";
401749
401785
  }
401750
401786
  async function getInstalledVSCodeExtensionVersion(command) {
401751
401787
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -406983,7 +407019,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
406983
407019
  const client3 = new Client({
406984
407020
  name: "claude-code",
406985
407021
  title: "RAYU",
406986
- version: "1.4.474",
407022
+ version: "1.4.475",
406987
407023
  description: "Anthropic's agentic coding tool",
406988
407024
  websiteUrl: PRODUCT_URL
406989
407025
  }, {
@@ -407300,7 +407336,7 @@ var init_client7 = __esm(() => {
407300
407336
  const client3 = new Client({
407301
407337
  name: "claude-code",
407302
407338
  title: "RAYU",
407303
- version: "1.4.474",
407339
+ version: "1.4.475",
407304
407340
  description: "Anthropic's agentic coding tool",
407305
407341
  websiteUrl: PRODUCT_URL
407306
407342
  }, {
@@ -422119,7 +422155,7 @@ function computeFingerprint(messageText, version2) {
422119
422155
  }
422120
422156
  function computeFingerprintFromMessages(messages) {
422121
422157
  const firstMessageText = extractFirstMessageText(messages);
422122
- return computeFingerprint(firstMessageText, "1.4.474");
422158
+ return computeFingerprint(firstMessageText, "1.4.475");
422123
422159
  }
422124
422160
  var FINGERPRINT_SALT = "59cf53e54c78";
422125
422161
  var init_fingerprint = () => {};
@@ -422161,7 +422197,7 @@ async function sideQuery(opts) {
422161
422197
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
422162
422198
  }
422163
422199
  const messageText = extractFirstUserMessageText(messages);
422164
- const fingerprint = computeFingerprint(messageText, "1.4.474");
422200
+ const fingerprint = computeFingerprint(messageText, "1.4.475");
422165
422201
  const attributionHeader = getAttributionHeader(fingerprint);
422166
422202
  const systemBlocks = [
422167
422203
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -424824,6 +424860,63 @@ var init_classifierApprovalsHook = __esm(() => {
424824
424860
  import_react51 = __toESM(require_react(), 1);
424825
424861
  });
424826
424862
 
424863
+ // src/utils/toolColors.ts
424864
+ function getToolNameColor(toolName2) {
424865
+ if (!toolName2)
424866
+ return;
424867
+ if (EXECUTE_TOOLS.has(toolName2))
424868
+ return "toolExecute";
424869
+ if (READ_TOOLS2.has(toolName2))
424870
+ return "toolRead";
424871
+ if (SEARCH_TOOLS2.has(toolName2))
424872
+ return "toolSearch";
424873
+ if (EDIT_TOOLS.has(toolName2))
424874
+ return "toolEdit";
424875
+ if (WEB_TOOLS.has(toolName2))
424876
+ return "toolWeb";
424877
+ if (TASK_TOOLS.has(toolName2))
424878
+ return "toolTask";
424879
+ return;
424880
+ }
424881
+ var EXECUTE_TOOLS, READ_TOOLS2, SEARCH_TOOLS2, EDIT_TOOLS, WEB_TOOLS, TASK_TOOLS;
424882
+ var init_toolColors = __esm(() => {
424883
+ EXECUTE_TOOLS = new Set(["Bash", "PowerShell", "REPL"]);
424884
+ READ_TOOLS2 = new Set(["Read", "LSP"]);
424885
+ SEARCH_TOOLS2 = new Set([
424886
+ "Grep",
424887
+ "Glob",
424888
+ "WebSearch",
424889
+ "ToolSearch",
424890
+ "ListMcpResourcesTool"
424891
+ ]);
424892
+ EDIT_TOOLS = new Set([
424893
+ "Edit",
424894
+ "Write",
424895
+ "NotebookEdit",
424896
+ "TodoWrite"
424897
+ ]);
424898
+ WEB_TOOLS = new Set([
424899
+ "WebFetch",
424900
+ "GenerateImage",
424901
+ "GenerateVideo"
424902
+ ]);
424903
+ TASK_TOOLS = new Set([
424904
+ "Agent",
424905
+ "Task",
424906
+ "TaskCreate",
424907
+ "TaskGet",
424908
+ "TaskUpdate",
424909
+ "TaskList",
424910
+ "TaskOutput",
424911
+ "TaskStop",
424912
+ "TeamCreate",
424913
+ "TeamDelete",
424914
+ "SendMessage",
424915
+ "Skill",
424916
+ "InstallSkill"
424917
+ ]);
424918
+ });
424919
+
424827
424920
  // src/components/SentryErrorBoundary.ts
424828
424921
  var React23, SentryErrorBoundary;
424829
424922
  var init_SentryErrorBoundary = __esm(() => {
@@ -425178,7 +425271,7 @@ function AssistantToolUseMessage(t0) {
425178
425271
  } else {
425179
425272
  t7 = $3[37];
425180
425273
  }
425181
- const t8 = userFacingToolNameBackgroundColor ? "inverseText" : undefined;
425274
+ const t8 = userFacingToolNameBackgroundColor ? "inverseText" : getToolNameColor(tool_0.name);
425182
425275
  let t9;
425183
425276
  if ($3[38] !== t8 || $3[39] !== userFacingToolName || $3[40] !== userFacingToolNameBackgroundColor) {
425184
425277
  t9 = /* @__PURE__ */ jsx_runtime73.jsx(ThemedBox_default, {
@@ -425410,6 +425503,7 @@ var init_AssistantToolUseMessage = __esm(() => {
425410
425503
  init_Tool();
425411
425504
  init_classifierApprovalsHook();
425412
425505
  init_log2();
425506
+ init_toolColors();
425413
425507
  init_MessageResponse();
425414
425508
  init_messageActions();
425415
425509
  init_SentryErrorBoundary();
@@ -433703,6 +433797,7 @@ function UserToolSuccessMessage({
433703
433797
  isTranscriptMode
433704
433798
  }) {
433705
433799
  const [theme] = useTheme();
433800
+ const outerHoverColor = React31.useContext(TextHoverColorContext);
433706
433801
  const isBriefOnly = false;
433707
433802
  const [classifierRule] = React31.useState(() => getClassifierApproval(toolUseID));
433708
433803
  const [yoloReason] = React31.useState(() => getYoloClassifierApproval(toolUseID));
@@ -433730,7 +433825,8 @@ function UserToolSuccessMessage({
433730
433825
  return null;
433731
433826
  }
433732
433827
  const rendersAsAssistantText = tool.userFacingName(undefined) === "";
433733
- return /* @__PURE__ */ jsx_runtime105.jsxs(ThemedBox_default, {
433828
+ const toolColor = rendersAsAssistantText ? undefined : getToolNameColor(tool.name);
433829
+ const resultBody = /* @__PURE__ */ jsx_runtime105.jsxs(ThemedBox_default, {
433734
433830
  flexDirection: "column",
433735
433831
  children: [
433736
433832
  /* @__PURE__ */ jsx_runtime105.jsxs(ThemedBox_default, {
@@ -433753,6 +433849,10 @@ function UserToolSuccessMessage({
433753
433849
  })
433754
433850
  ]
433755
433851
  });
433852
+ return toolColor ? /* @__PURE__ */ jsx_runtime105.jsx(TextHoverColorContext.Provider, {
433853
+ value: outerHoverColor ?? toolColor,
433854
+ children: resultBody
433855
+ }) : resultBody;
433756
433856
  }
433757
433857
  var React31, jsx_runtime105;
433758
433858
  var init_UserToolSuccessMessage = __esm(() => {
@@ -433762,6 +433862,8 @@ var init_UserToolSuccessMessage = __esm(() => {
433762
433862
  init_Tool();
433763
433863
  init_classifierApprovals();
433764
433864
  init_MessageResponse();
433865
+ init_ThemedText();
433866
+ init_toolColors();
433765
433867
  init_HookProgressMessage();
433766
433868
  React31 = __toESM(require_react(), 1);
433767
433869
  jsx_runtime105 = __toESM(require_jsx_runtime(), 1);
@@ -454537,10 +454639,9 @@ function isPreapprovedHost(hostname3, pathname) {
454537
454639
  var PREAPPROVED_HOSTS, HOSTNAME_ONLY, PATH_PREFIXES;
454538
454640
  var init_preapproved = __esm(() => {
454539
454641
  PREAPPROVED_HOSTS = new Set([
454540
- "platform.claude.com",
454541
- "code.claude.com",
454642
+ "rayucode.com",
454643
+ "github.com/Choeng-Rayu",
454542
454644
  "modelcontextprotocol.io",
454543
- "github.com/anthropics",
454544
454645
  "agentskills.io",
454545
454646
  "docs.python.org",
454546
454647
  "en.cppreference.com",
@@ -471268,6 +471369,7 @@ __export(exports_utils2, {
471268
471369
  isPermittedRedirect: () => isPermittedRedirect,
471269
471370
  getWithPermittedRedirects: () => getWithPermittedRedirects,
471270
471371
  getURLMarkdownContent: () => getURLMarkdownContent,
471372
+ formatWebFetchModelError: () => formatWebFetchModelError,
471271
471373
  clearWebFetchCache: () => clearWebFetchCache,
471272
471374
  checkDomainBlocklist: () => checkDomainBlocklist,
471273
471375
  applyPromptToMarkdown: () => applyPromptToMarkdown,
@@ -471312,26 +471414,7 @@ function validateURL(url3) {
471312
471414
  return true;
471313
471415
  }
471314
471416
  async function checkDomainBlocklist(domain2) {
471315
- if (DOMAIN_CHECK_CACHE.has(domain2)) {
471316
- return { status: "allowed" };
471317
- }
471318
- try {
471319
- const response = await axios_default.get(`https://api.anthropic.com/api/web/domain_info?domain=${encodeURIComponent(domain2)}`, { timeout: DOMAIN_CHECK_TIMEOUT_MS });
471320
- if (response.status === 200) {
471321
- if (response.data.can_fetch === true) {
471322
- DOMAIN_CHECK_CACHE.set(domain2, true);
471323
- return { status: "allowed" };
471324
- }
471325
- return { status: "blocked" };
471326
- }
471327
- return {
471328
- status: "check_failed",
471329
- error: new Error(`Domain check returned status ${response.status}`)
471330
- };
471331
- } catch (e2) {
471332
- logError2(e2);
471333
- return { status: "check_failed", error: e2 };
471334
- }
471417
+ return { status: "allowed" };
471335
471418
  }
471336
471419
  function isPermittedRedirect(originalUrl, redirectUrl) {
471337
471420
  try {
@@ -471482,24 +471565,40 @@ async function getURLMarkdownContent(url3, abortController) {
471482
471565
  URL_CACHE.set(url3, entry, { size: Math.max(1, contentBytes) });
471483
471566
  return entry;
471484
471567
  }
471568
+ function formatWebFetchModelError(error54, model) {
471569
+ const modelPart = model && !/claude/i.test(model) ? ` ("${model}")` : "";
471570
+ return `The page was fetched successfully, but the WebFetch model${modelPart} ` + `could not summarize it — the model is not available on your current ` + `provider/plan.
471571
+
471572
+ Tell the user to run /webfetch_model and choose a small, available model from their provider (a small/instant model is enough for page summaries), then retry this fetch.`;
471573
+ }
471485
471574
  async function applyPromptToMarkdown(prompt, markdownContent, signal, isNonInteractiveSession, isPreapprovedDomain) {
471486
471575
  const truncatedContent = markdownContent.length > MAX_MARKDOWN_LENGTH ? markdownContent.slice(0, MAX_MARKDOWN_LENGTH) + `
471487
471576
 
471488
471577
  [Content truncated due to length...]` : markdownContent;
471489
471578
  const modelPrompt = makeSecondaryModelPrompt(truncatedContent, prompt, isPreapprovedDomain);
471490
- const assistantMessage = await queryHaiku({
471491
- systemPrompt: asSystemPrompt([]),
471492
- userPrompt: modelPrompt,
471493
- signal,
471494
- model: getWebFetchModel(),
471495
- options: {
471496
- querySource: "web_fetch_apply",
471497
- agents: [],
471498
- isNonInteractiveSession,
471499
- hasAppendSystemPrompt: false,
471500
- mcpTools: []
471579
+ const webFetchModel = getWebFetchModel();
471580
+ let assistantMessage;
471581
+ try {
471582
+ assistantMessage = await queryHaiku({
471583
+ systemPrompt: asSystemPrompt([]),
471584
+ userPrompt: modelPrompt,
471585
+ signal,
471586
+ model: webFetchModel,
471587
+ options: {
471588
+ querySource: "web_fetch_apply",
471589
+ agents: [],
471590
+ isNonInteractiveSession,
471591
+ hasAppendSystemPrompt: false,
471592
+ mcpTools: []
471593
+ }
471594
+ });
471595
+ } catch (e2) {
471596
+ if (signal.aborted) {
471597
+ throw new AbortError;
471501
471598
  }
471502
- });
471599
+ logError2(e2);
471600
+ return formatWebFetchModelError(e2, webFetchModel);
471601
+ }
471503
471602
  if (signal.aborted) {
471504
471603
  throw new AbortError;
471505
471604
  }
@@ -471512,7 +471611,7 @@ async function applyPromptToMarkdown(prompt, markdownContent, signal, isNonInter
471512
471611
  }
471513
471612
  return "No response from model";
471514
471613
  }
471515
- var DomainBlockedError, DomainCheckFailedError, EgressBlockedError, CACHE_TTL_MS, MAX_CACHE_SIZE_BYTES, URL_CACHE, DOMAIN_CHECK_CACHE, turndownServicePromise, MAX_URL_LENGTH = 2000, MAX_HTTP_CONTENT_LENGTH = 10485760, FETCH_TIMEOUT_MS2 = 60000, DOMAIN_CHECK_TIMEOUT_MS = 1e4, MAX_REDIRECTS = 10, MAX_MARKDOWN_LENGTH = 1e5;
471614
+ var DomainBlockedError, DomainCheckFailedError, EgressBlockedError, CACHE_TTL_MS, MAX_CACHE_SIZE_BYTES, URL_CACHE, DOMAIN_CHECK_CACHE, turndownServicePromise, MAX_URL_LENGTH = 2000, MAX_HTTP_CONTENT_LENGTH = 10485760, FETCH_TIMEOUT_MS2 = 60000, MAX_REDIRECTS = 10, MAX_MARKDOWN_LENGTH = 1e5;
471516
471615
  var init_utils13 = __esm(() => {
471517
471616
  init_axios2();
471518
471617
  init_index_min();
@@ -471533,7 +471632,7 @@ var init_utils13 = __esm(() => {
471533
471632
  };
471534
471633
  DomainCheckFailedError = class DomainCheckFailedError extends Error {
471535
471634
  constructor(domain2) {
471536
- super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies blocking claude.ai.`);
471635
+ super(`Unable to verify if domain ${domain2} is safe to fetch. This may be due to network restrictions or enterprise security policies.`);
471537
471636
  this.name = "DomainCheckFailedError";
471538
471637
  }
471539
471638
  };
@@ -471615,9 +471714,9 @@ var init_WebFetchTool = __esm(() => {
471615
471714
  const { url: url3 } = input;
471616
471715
  try {
471617
471716
  const hostname3 = new URL(url3).hostname;
471618
- return `Claude wants to fetch content from ${hostname3}`;
471717
+ return `Rayu wants to fetch content from ${hostname3}`;
471619
471718
  } catch {
471620
- return `Claude wants to fetch content from this URL`;
471719
+ return `Rayu wants to fetch content from this URL`;
471621
471720
  }
471622
471721
  },
471623
471722
  userFacingName() {
@@ -471673,7 +471772,7 @@ var init_WebFetchTool = __esm(() => {
471673
471772
  if (askRule) {
471674
471773
  return {
471675
471774
  behavior: "ask",
471676
- message: `Claude requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
471775
+ message: `Rayu requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
471677
471776
  decisionReason: {
471678
471777
  type: "rule",
471679
471778
  rule: askRule
@@ -471694,7 +471793,7 @@ var init_WebFetchTool = __esm(() => {
471694
471793
  }
471695
471794
  return {
471696
471795
  behavior: "ask",
471697
- message: `Claude requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
471796
+ message: `Rayu requested permissions to use ${WebFetchTool.name}, but you haven't granted it yet.`,
471698
471797
  suggestions: buildSuggestions(ruleContent)
471699
471798
  };
471700
471799
  },
@@ -521504,9 +521603,9 @@ async function assertMinVersion() {
521504
521603
  if (false) {}
521505
521604
  try {
521506
521605
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
521507
- if (versionConfig.minVersion && lt("1.4.474", versionConfig.minVersion)) {
521606
+ if (versionConfig.minVersion && lt("1.4.475", versionConfig.minVersion)) {
521508
521607
  console.error(`
521509
- It looks like your version of RAYU (${"1.4.474"}) needs an update.
521608
+ It looks like your version of RAYU (${"1.4.475"}) needs an update.
521510
521609
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
521511
521610
 
521512
521611
  To update, please run:
@@ -521732,7 +521831,7 @@ async function installGlobalPackage(specificVersion) {
521732
521831
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
521733
521832
  logEvent("tengu_auto_updater_lock_contention", {
521734
521833
  pid: process.pid,
521735
- currentVersion: "1.4.474"
521834
+ currentVersion: "1.4.475"
521736
521835
  });
521737
521836
  return "in_progress";
521738
521837
  }
@@ -521741,7 +521840,7 @@ async function installGlobalPackage(specificVersion) {
521741
521840
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
521742
521841
  logError2(new Error("Windows NPM detected in WSL environment"));
521743
521842
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
521744
- currentVersion: "1.4.474"
521843
+ currentVersion: "1.4.475"
521745
521844
  });
521746
521845
  console.error(`
521747
521846
  Error: Windows NPM detected in WSL
@@ -522269,7 +522368,7 @@ function detectLinuxGlobPatternWarnings() {
522269
522368
  }
522270
522369
  async function getDoctorDiagnostic() {
522271
522370
  const installationType = await getCurrentInstallationType();
522272
- const version2 = typeof MACRO !== "undefined" ? "1.4.474" : "unknown";
522371
+ const version2 = typeof MACRO !== "undefined" ? "1.4.475" : "unknown";
522273
522372
  const installationPath = await getInstallationPath();
522274
522373
  const invokedBinary = getInvokedBinary();
522275
522374
  const multipleInstallations = await detectMultipleInstallations();
@@ -523060,8 +523159,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523060
523159
  const maxVersion = await getMaxVersion();
523061
523160
  if (maxVersion && gt(version2, maxVersion)) {
523062
523161
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
523063
- if (gte("1.4.474", maxVersion)) {
523064
- logForDebugging(`Native installer: current version ${"1.4.474"} is already at or above maxVersion ${maxVersion}, skipping update`);
523162
+ if (gte("1.4.475", maxVersion)) {
523163
+ logForDebugging(`Native installer: current version ${"1.4.475"} is already at or above maxVersion ${maxVersion}, skipping update`);
523065
523164
  logEvent("tengu_native_update_skipped_max_version", {
523066
523165
  latency_ms: Date.now() - startTime2,
523067
523166
  max_version: maxVersion,
@@ -523072,7 +523171,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523072
523171
  version2 = maxVersion;
523073
523172
  }
523074
523173
  }
523075
- if (!forceReinstall && version2 === "1.4.474" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523174
+ if (!forceReinstall && version2 === "1.4.475" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523076
523175
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
523077
523176
  logEvent("tengu_native_update_complete", {
523078
523177
  latency_ms: Date.now() - startTime2,
@@ -524280,7 +524379,7 @@ function buildPrimarySection() {
524280
524379
  });
524281
524380
  return [{
524282
524381
  label: "Version",
524283
- value: "1.4.474"
524382
+ value: "1.4.475"
524284
524383
  }, {
524285
524384
  label: "Session name",
524286
524385
  value: nameValue
@@ -527951,7 +528050,7 @@ function Config({
527951
528050
  }
527952
528051
  })
527953
528052
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime168.jsx(ChannelDowngradeDialog, {
527954
- currentVersion: "1.4.474",
528053
+ currentVersion: "1.4.475",
527955
528054
  onChoice: (choice) => {
527956
528055
  setShowSubmenu(null);
527957
528056
  setTabsHidden(false);
@@ -527963,7 +528062,7 @@ function Config({
527963
528062
  autoUpdatesChannel: "stable"
527964
528063
  };
527965
528064
  if (choice === "stay") {
527966
- newSettings.minimumVersion = "1.4.474";
528065
+ newSettings.minimumVersion = "1.4.475";
527967
528066
  }
527968
528067
  updateSettingsForSource("userSettings", newSettings);
527969
528068
  setSettingsData((prev_27) => ({
@@ -536024,7 +536123,7 @@ function HelpV2(t0) {
536024
536123
  let t6;
536025
536124
  if ($3[31] !== tabs) {
536026
536125
  t6 = /* @__PURE__ */ jsx_runtime195.jsx(Tabs, {
536027
- title: `Rayu-CLI v${"1.4.474"}`,
536126
+ title: `Rayu-CLI v${"1.4.475"}`,
536028
536127
  color: "professionalBlue",
536029
536128
  defaultTab: "general",
536030
536129
  children: tabs
@@ -556107,7 +556206,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
556107
556206
  }
556108
556207
  return [];
556109
556208
  }
556110
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.474") {
556209
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.475") {
556111
556210
  if (false) {}
556112
556211
  const cachedChangelog = await getStoredChangelog();
556113
556212
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -556120,7 +556219,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.474")
556120
556219
  releaseNotes
556121
556220
  };
556122
556221
  }
556123
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.474") {
556222
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.475") {
556124
556223
  if (false) {}
556125
556224
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
556126
556225
  return {
@@ -556248,7 +556347,7 @@ function getRecentActivitySync() {
556248
556347
  return cachedActivity;
556249
556348
  }
556250
556349
  function getLogoDisplayData() {
556251
- const version2 = process.env.DEMO_VERSION ?? "1.4.474";
556350
+ const version2 = process.env.DEMO_VERSION ?? "1.4.475";
556252
556351
  const serverUrl = getDirectConnectServerUrl();
556253
556352
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
556254
556353
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -557413,7 +557512,7 @@ function LogoV2() {
557413
557512
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
557414
557513
  t2 = () => {
557415
557514
  const currentConfig = getGlobalConfig();
557416
- if (currentConfig.lastReleaseNotesSeen === "1.4.474") {
557515
+ if (currentConfig.lastReleaseNotesSeen === "1.4.475") {
557417
557516
  return;
557418
557517
  }
557419
557518
  saveGlobalConfig(_temp327);
@@ -557892,7 +557991,7 @@ function LogoV2() {
557892
557991
  t24 = $3[61];
557893
557992
  }
557894
557993
  const _latestNpm = getCachedLatestNpmVersionSync();
557895
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.474") ? [createUpdateAvailableFeed("1.4.474", _latestNpm)] : [];
557994
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.475") ? [createUpdateAvailableFeed("1.4.475", _latestNpm)] : [];
557896
557995
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_runtime236.jsx(FeedColumn, {
557897
557996
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
557898
557997
  maxWidth: rightWidth
@@ -558092,12 +558191,12 @@ function LogoV2() {
558092
558191
  return t41;
558093
558192
  }
558094
558193
  function _temp327(current) {
558095
- if (current.lastReleaseNotesSeen === "1.4.474") {
558194
+ if (current.lastReleaseNotesSeen === "1.4.475") {
558096
558195
  return current;
558097
558196
  }
558098
558197
  return {
558099
558198
  ...current,
558100
- lastReleaseNotesSeen: "1.4.474"
558199
+ lastReleaseNotesSeen: "1.4.475"
558101
558200
  };
558102
558201
  }
558103
558202
  function _temp241(s_0) {
@@ -583096,7 +583195,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
583096
583195
  smapsRollup,
583097
583196
  platform: process.platform,
583098
583197
  nodeVersion: process.version,
583099
- ccVersion: "1.4.474"
583198
+ ccVersion: "1.4.475"
583100
583199
  };
583101
583200
  }
583102
583201
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -583618,7 +583717,7 @@ var init_bridge_kick = __esm(() => {
583618
583717
  var call50 = async () => {
583619
583718
  return {
583620
583719
  type: "text",
583621
- value: "1.4.474"
583720
+ value: "1.4.475"
583622
583721
  };
583623
583722
  }, version2, version_default;
583624
583723
  var init_version = __esm(() => {
@@ -594114,7 +594213,7 @@ function generateHtmlReport(data, insights) {
594114
594213
  </html>`;
594115
594214
  }
594116
594215
  function buildExportData(data, insights, facets, remoteStats) {
594117
- const version3 = typeof MACRO !== "undefined" ? "1.4.474" : "unknown";
594216
+ const version3 = typeof MACRO !== "undefined" ? "1.4.475" : "unknown";
594118
594217
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
594119
594218
  const facets_summary = {
594120
594219
  total: facets.size,
@@ -598028,7 +598127,7 @@ var init_sessionStorage = __esm(() => {
598028
598127
  init_settings2();
598029
598128
  init_slowOperations();
598030
598129
  init_uuid();
598031
- VERSION6 = typeof MACRO !== "undefined" ? "1.4.474" : "unknown";
598130
+ VERSION6 = typeof MACRO !== "undefined" ? "1.4.475" : "unknown";
598032
598131
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
598033
598132
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
598034
598133
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -599246,7 +599345,7 @@ var init_filesystem = __esm(() => {
599246
599345
  });
599247
599346
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
599248
599347
  const nonce = randomBytes19(16).toString("hex");
599249
- return join153(getClaudeTempDir(), "bundled-skills", "1.4.474", nonce);
599348
+ return join153(getClaudeTempDir(), "bundled-skills", "1.4.475", nonce);
599250
599349
  });
599251
599350
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
599252
599351
  });
@@ -604416,7 +604515,7 @@ __export(exports_update, {
604416
604515
  update: () => update
604417
604516
  });
604418
604517
  async function update() {
604419
- writeToStdout(`Current version: ${"1.4.474"}
604518
+ writeToStdout(`Current version: ${"1.4.475"}
604420
604519
  `);
604421
604520
  const isBundled = isInBundledMode();
604422
604521
  if (isBundled) {
@@ -604447,13 +604546,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
604447
604546
  process.exit(1);
604448
604547
  return;
604449
604548
  }
604450
- if (latestVersion === "1.4.474") {
604549
+ if (latestVersion === "1.4.475") {
604451
604550
  writeToStdout(source_default.green(`
604452
- Rayu CLI is up to date (${"1.4.474"})
604551
+ Rayu CLI is up to date (${"1.4.475"})
604453
604552
  `));
604454
604553
  process.exit(0);
604455
604554
  }
604456
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.474"})
604555
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.475"})
604457
604556
  `);
604458
604557
  writeToStdout(`Installing update...
604459
604558
 
@@ -604520,14 +604619,14 @@ async function updateNativeBinary() {
604520
604619
  } catch {
604521
604620
  latestVersion = "";
604522
604621
  }
604523
- if (latestVersion && latestVersion === "1.4.474") {
604622
+ if (latestVersion && latestVersion === "1.4.475") {
604524
604623
  writeToStdout(source_default.green(`
604525
- Rayu CLI is up to date (1.4.474)
604624
+ Rayu CLI is up to date (1.4.475)
604526
604625
  `));
604527
604626
  process.exit(0);
604528
604627
  }
604529
604628
  if (latestVersion) {
604530
- writeToStdout(`New version available: ${latestVersion} (current: 1.4.474)
604629
+ writeToStdout(`New version available: ${latestVersion} (current: 1.4.475)
604531
604630
  `);
604532
604631
  }
604533
604632
  writeToStdout(`Downloading and installing update...
@@ -604542,13 +604641,13 @@ Rayu CLI is up to date (1.4.474)
604542
604641
  return;
604543
604642
  }
604544
604643
  writeToStdout(source_default.green(`
604545
- Rayu CLI is up to date (1.4.474)
604644
+ Rayu CLI is up to date (1.4.475)
604546
604645
  `));
604547
604646
  process.exit(0);
604548
604647
  }
604549
604648
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
604550
604649
  writeToStdout(source_default.green(`
604551
- Successfully updated from 1.4.474 to ${updatedTo}
604650
+ Successfully updated from 1.4.475 to ${updatedTo}
604552
604651
  `));
604553
604652
  writeToStdout(`Restart your terminal to use the new version.
604554
604653
  `);
@@ -604613,7 +604712,7 @@ async function removeDataDir(dir) {
604613
604712
  async function uninstall(args = []) {
604614
604713
  const yes = args.includes("--yes") || args.includes("-y");
604615
604714
  const keepData = args.includes("--keep-data");
604616
- writeToStdout(`Uninstalling Rayu CLI (${"1.4.474"})...
604715
+ writeToStdout(`Uninstalling Rayu CLI (${"1.4.475"})...
604617
604716
  `);
604618
604717
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
604619
604718
 
@@ -604647,7 +604746,7 @@ This looks like a permissions error on npm's global install
604647
604746
  return;
604648
604747
  }
604649
604748
  writeToStdout(source_default.green(`
604650
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.474"}
604749
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.475"}
604651
604750
  `));
604652
604751
  const configDir = getRayuConfigHomeDir();
604653
604752
  const dataExists = existsSync28(configDir);
@@ -604730,7 +604829,7 @@ function showFirstRunWelcome() {
604730
604829
  `);
604731
604830
  try {
604732
604831
  mkdirSync16(getRayuConfigHomeDir(), { recursive: true });
604733
- writeFileSync18(markerPath(), "1.4.474", "utf8");
604832
+ writeFileSync18(markerPath(), "1.4.475", "utf8");
604734
604833
  } catch {}
604735
604834
  }
604736
604835
  var init_firstRun = __esm(() => {
@@ -620916,7 +621015,7 @@ async function initializeBetaTracing(resource) {
620916
621015
  });
620917
621016
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
620918
621017
  setLoggerProvider(loggerProvider);
620919
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.474");
621018
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.475");
620920
621019
  setEventLogger(eventLogger);
620921
621020
  process.on("beforeExit", async () => {
620922
621021
  await loggerProvider?.forceFlush();
@@ -620956,7 +621055,7 @@ async function initializeTelemetry() {
620956
621055
  const platform4 = getPlatform();
620957
621056
  const baseAttributes = {
620958
621057
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
620959
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.474"
621058
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.475"
620960
621059
  };
620961
621060
  if (platform4 === "wsl") {
620962
621061
  const wslVersion = getWslVersion();
@@ -621001,7 +621100,7 @@ async function initializeTelemetry() {
621001
621100
  } catch {}
621002
621101
  };
621003
621102
  registerCleanup(shutdownTelemetry2);
621004
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.474");
621103
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.475");
621005
621104
  }
621006
621105
  const meterProvider = new import_sdk_metrics2.MeterProvider({
621007
621106
  resource,
@@ -621021,7 +621120,7 @@ async function initializeTelemetry() {
621021
621120
  });
621022
621121
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
621023
621122
  setLoggerProvider(loggerProvider);
621024
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.474");
621123
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.475");
621025
621124
  setEventLogger(eventLogger);
621026
621125
  logForDebugging("[3P telemetry] Event logger set successfully");
621027
621126
  process.on("beforeExit", async () => {
@@ -621083,7 +621182,7 @@ Current timeout: ${timeoutMs}ms
621083
621182
  }
621084
621183
  };
621085
621184
  registerCleanup(shutdownTelemetry);
621086
- return meterProvider.getMeter("com.anthropic.claude_code", "1.4.474");
621185
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.4.475");
621087
621186
  }
621088
621187
  async function flushTelemetry() {
621089
621188
  const meterProvider = getMeterProvider();
@@ -622585,7 +622684,7 @@ function buildSystemInitMessage(inputs) {
622585
622684
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
622586
622685
  apiKeySource: getAnthropicApiKeyWithSource().source,
622587
622686
  betas: getSdkBetas(),
622588
- claude_code_version: "1.4.474",
622687
+ claude_code_version: "1.4.475",
622589
622688
  output_style: outputStyle2,
622590
622689
  agents: inputs.agents.map((agent) => agent.agentType),
622591
622690
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -638916,7 +639015,7 @@ var init_useVoiceEnabled = __esm(() => {
638916
639015
  function getSemverPart(version3) {
638917
639016
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
638918
639017
  }
638919
- function useUpdateNotification(updatedVersion, initialVersion = "1.4.474") {
639018
+ function useUpdateNotification(updatedVersion, initialVersion = "1.4.475") {
638920
639019
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
638921
639020
  if (!updatedVersion) {
638922
639021
  return null;
@@ -638956,7 +639055,7 @@ function AutoUpdater({
638956
639055
  return;
638957
639056
  }
638958
639057
  if (false) {}
638959
- const currentVersion = "1.4.474";
639058
+ const currentVersion = "1.4.475";
638960
639059
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
638961
639060
  let latestVersion = await getLatestVersion(channel2);
638962
639061
  const isDisabled = isAutoUpdaterDisabled();
@@ -639169,12 +639268,12 @@ function NativeAutoUpdater({
639169
639268
  logEvent("tengu_native_auto_updater_start", {});
639170
639269
  try {
639171
639270
  const maxVersion = await getMaxVersion();
639172
- if (maxVersion && gt("1.4.474", maxVersion)) {
639271
+ if (maxVersion && gt("1.4.475", maxVersion)) {
639173
639272
  const msg = await getMaxVersionMessage();
639174
639273
  setMaxVersionIssue(msg ?? "affects your version");
639175
639274
  }
639176
639275
  const result = await installLatest(channel2);
639177
- const currentVersion = "1.4.474";
639276
+ const currentVersion = "1.4.475";
639178
639277
  const latencyMs = Date.now() - startTime2;
639179
639278
  if (result.lockFailed) {
639180
639279
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -639311,17 +639410,17 @@ function PackageManagerAutoUpdater(t0) {
639311
639410
  const maxVersion = await getMaxVersion();
639312
639411
  if (maxVersion && latest && gt(latest, maxVersion)) {
639313
639412
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
639314
- if (gte("1.4.474", maxVersion)) {
639315
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.474"} is already at or above maxVersion ${maxVersion}, skipping update`);
639413
+ if (gte("1.4.475", maxVersion)) {
639414
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.475"} is already at or above maxVersion ${maxVersion}, skipping update`);
639316
639415
  setUpdateAvailable(false);
639317
639416
  return;
639318
639417
  }
639319
639418
  latest = maxVersion;
639320
639419
  }
639321
- const hasUpdate = latest && !gte("1.4.474", latest) && !shouldSkipVersion(latest);
639420
+ const hasUpdate = latest && !gte("1.4.475", latest) && !shouldSkipVersion(latest);
639322
639421
  setUpdateAvailable(!!hasUpdate);
639323
639422
  if (hasUpdate) {
639324
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.474"} -> ${latest}`);
639423
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.475"} -> ${latest}`);
639325
639424
  }
639326
639425
  };
639327
639426
  $3[0] = t1;
@@ -639355,7 +639454,7 @@ function PackageManagerAutoUpdater(t0) {
639355
639454
  wrap: "truncate",
639356
639455
  children: [
639357
639456
  "currentVersion: ",
639358
- "1.4.474"
639457
+ "1.4.475"
639359
639458
  ]
639360
639459
  });
639361
639460
  $3[3] = verbose;
@@ -647519,7 +647618,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
647519
647618
  project_dir: getOriginalCwd(),
647520
647619
  added_dirs: addedDirs
647521
647620
  },
647522
- version: "1.4.474",
647621
+ version: "1.4.475",
647523
647622
  output_style: {
647524
647623
  name: outputStyleName
647525
647624
  },
@@ -649698,7 +649797,7 @@ var init_user = __esm(() => {
649698
649797
  deviceId,
649699
649798
  sessionId: getSessionId(),
649700
649799
  email: getEmail(),
649701
- appVersion: "1.4.474",
649800
+ appVersion: "1.4.475",
649702
649801
  platform: getHostPlatformForAnalytics(),
649703
649802
  organizationUuid,
649704
649803
  accountUuid,
@@ -659137,7 +659236,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
659137
659236
  } catch {}
659138
659237
  const data = {
659139
659238
  trigger,
659140
- version: "1.4.474",
659239
+ version: "1.4.475",
659141
659240
  platform: process.platform,
659142
659241
  transcript,
659143
659242
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -671105,7 +671204,7 @@ function WelcomeV2() {
671105
671204
  dimColor: true,
671106
671205
  children: [
671107
671206
  "v",
671108
- "1.4.474"
671207
+ "1.4.475"
671109
671208
  ]
671110
671209
  })
671111
671210
  ]
@@ -672112,7 +672211,7 @@ function completeOnboarding() {
672112
672211
  saveGlobalConfig((current) => ({
672113
672212
  ...current,
672114
672213
  hasCompletedOnboarding: true,
672115
- lastOnboardingVersion: "1.4.474"
672214
+ lastOnboardingVersion: "1.4.475"
672116
672215
  }));
672117
672216
  }
672118
672217
  function showDialog(root2, renderer) {
@@ -677045,7 +677144,7 @@ function appendToLog(path29, message) {
677045
677144
  cwd: getFsImplementation().cwd(),
677046
677145
  userType: "external",
677047
677146
  sessionId: getSessionId(),
677048
- version: "1.4.474"
677147
+ version: "1.4.475"
677049
677148
  };
677050
677149
  getLogWriter(path29).write(messageWithTimestamp);
677051
677150
  }
@@ -681150,8 +681249,8 @@ async function getEnvLessBridgeConfig() {
681150
681249
  }
681151
681250
  async function checkEnvLessBridgeMinVersion() {
681152
681251
  const cfg = await getEnvLessBridgeConfig();
681153
- if (cfg.min_version && lt("1.4.474", cfg.min_version)) {
681154
- return `Your version of RAYU (${"1.4.474"}) is too old for Remote Control.
681252
+ if (cfg.min_version && lt("1.4.475", cfg.min_version)) {
681253
+ return `Your version of RAYU (${"1.4.475"}) is too old for Remote Control.
681155
681254
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
681156
681255
  }
681157
681256
  return null;
@@ -681624,7 +681723,7 @@ async function initBridgeCore(params) {
681624
681723
  const rawApi = createBridgeApiClient({
681625
681724
  baseUrl,
681626
681725
  getAccessToken,
681627
- runnerVersion: "1.4.474",
681726
+ runnerVersion: "1.4.475",
681628
681727
  onDebug: logForDebugging,
681629
681728
  onAuth401,
681630
681729
  getTrustedDeviceToken
@@ -686979,7 +687078,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
686979
687078
  setCwd(cwd3);
686980
687079
  const server = new Server({
686981
687080
  name: "claude/tengu",
686982
- version: "1.4.474"
687081
+ version: "1.4.475"
686983
687082
  }, {
686984
687083
  capabilities: {
686985
687084
  tools: {}
@@ -689508,7 +689607,7 @@ ${customInstructions}` : customInstructions;
689508
689607
  }
689509
689608
  }
689510
689609
  logForDiagnosticsNoPII("info", "started", {
689511
- version: "1.4.474",
689610
+ version: "1.4.475",
689512
689611
  is_native_binary: isInBundledMode()
689513
689612
  });
689514
689613
  registerCleanup(async () => {
@@ -690227,7 +690326,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
690227
690326
  pendingHookMessages
690228
690327
  }, renderAndRun);
690229
690328
  }
690230
- }).version(`1.4.474 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
690329
+ }).version(`1.4.475 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
690231
690330
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
690232
690331
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
690233
690332
  if (canUserConfigureAdvisor()) {
@@ -690687,7 +690786,7 @@ if (false) {}
690687
690786
  async function main2() {
690688
690787
  const args = process.argv.slice(2);
690689
690788
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
690690
- console.log(`${"1.4.474"} (Rayu-CLI)`);
690789
+ console.log(`${"1.4.475"} (Rayu-CLI)`);
690691
690790
  return;
690692
690791
  }
690693
690792
  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.474",
3
+ "version": "1.4.475",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {