@rayu-dev/rayu-cli 1.3.127 → 1.3.227

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 +128 -105
  2. package/package.json +1 -1
package/dist/rayu.js CHANGED
@@ -147982,7 +147982,7 @@ var init_auth = __esm(() => {
147982
147982
 
147983
147983
  // src/utils/userAgent.ts
147984
147984
  function getRayuUserAgent() {
147985
- return `rayu/${"1.3.127"}`;
147985
+ return `rayu/${"1.3.227"}`;
147986
147986
  }
147987
147987
  var getClaudeCodeUserAgent;
147988
147988
  var init_userAgent = __esm(() => {
@@ -148008,7 +148008,7 @@ function getUserAgent() {
148008
148008
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
148009
148009
  const workload = getWorkload();
148010
148010
  const workloadSuffix = workload ? `, workload/${workload}` : "";
148011
- return `rayu/${"1.3.127"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148011
+ return `rayu/${"1.3.227"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148012
148012
  }
148013
148013
  function getMCPUserAgent() {
148014
148014
  const parts = [];
@@ -148022,7 +148022,7 @@ function getMCPUserAgent() {
148022
148022
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
148023
148023
  }
148024
148024
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
148025
- return `rayu/${"1.3.127"}${suffix}`;
148025
+ return `rayu/${"1.3.227"}${suffix}`;
148026
148026
  }
148027
148027
  function getWebFetchUserAgent() {
148028
148028
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -148145,7 +148145,7 @@ var init_user = __esm(() => {
148145
148145
  deviceId,
148146
148146
  sessionId: getSessionId(),
148147
148147
  email: getEmail(),
148148
- appVersion: "1.3.127",
148148
+ appVersion: "1.3.227",
148149
148149
  platform: getHostPlatformForAnalytics(),
148150
148150
  organizationUuid,
148151
148151
  accountUuid,
@@ -181215,7 +181215,7 @@ var init_metadata = __esm(() => {
181215
181215
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
181216
181216
  WHITESPACE_REGEX = /\s+/;
181217
181217
  getVersionBase = memoize_default(() => {
181218
- const match = "1.3.127".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
181218
+ const match = "1.3.227".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
181219
181219
  return match ? match[0] : undefined;
181220
181220
  });
181221
181221
  buildEnvContext = memoize_default(async () => {
@@ -181254,7 +181254,7 @@ var init_metadata = __esm(() => {
181254
181254
  },
181255
181255
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
181256
181256
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
181257
- version: "1.3.127",
181257
+ version: "1.3.227",
181258
181258
  versionBase: getVersionBase(),
181259
181259
  buildTime: "",
181260
181260
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
@@ -181868,7 +181868,7 @@ function initialize1PEventLogging() {
181868
181868
  const platform2 = getPlatform();
181869
181869
  const attributes = {
181870
181870
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
181871
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.127"
181871
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.227"
181872
181872
  };
181873
181873
  if (platform2 === "wsl") {
181874
181874
  const wslVersion = getWslVersion();
@@ -181895,7 +181895,7 @@ function initialize1PEventLogging() {
181895
181895
  })
181896
181896
  ]
181897
181897
  });
181898
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.127");
181898
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.227");
181899
181899
  }
181900
181900
  async function reinitialize1PEventLoggingIfConfigChanged() {
181901
181901
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -217811,7 +217811,7 @@ function getAttributionHeader(fingerprint) {
217811
217811
  if (!isAttributionHeaderEnabled()) {
217812
217812
  return "";
217813
217813
  }
217814
- const version2 = `${"1.3.127"}.${fingerprint}`;
217814
+ const version2 = `${"1.3.227"}.${fingerprint}`;
217815
217815
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
217816
217816
  const cch = "";
217817
217817
  const workload = getWorkload();
@@ -268660,7 +268660,7 @@ ${grepGuidance}
268660
268660
 
268661
268661
  NOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:
268662
268662
  - Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations
268663
- - Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files
268663
+ - Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files — plan them upfront and batch them in one message (~3–5 at a time); parallel is ~3–5x faster than one-at-a-time.
268664
268664
 
268665
268665
  Complete the user's search request efficiently and report your findings clearly.`;
268666
268666
  }
@@ -268703,6 +268703,7 @@ var SHARED_PREFIX = `You are an agent for the official CLI powered by Choeng Ray
268703
268703
 
268704
268704
  Guidelines:
268705
268705
  - For file searches: search broadly when you don't know where something lives. Use Read when you know the specific file path.
268706
+ - Work in PARALLEL: plan the lookups you need upfront, then batch independent reads/greps/searches into a SINGLE message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster than one-at-a-time. Go sequential only when one result determines the next.
268706
268707
  - For analysis: Start broad and narrow down. Use multiple search strategies if the first doesn't yield results.
268707
268708
  - Be thorough: Check multiple locations, consider different naming conventions, look for related files.
268708
268709
  - NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one.
@@ -268719,7 +268720,7 @@ var init_generalPurposeAgent = __esm(() => {
268719
268720
  });
268720
268721
 
268721
268722
  // src/tools/AgentTool/built-in/subagents/common.ts
268722
- var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
268723
+ var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Keep going until the job is fully done. Work in PARALLEL where steps are independent: batch your reads/greps/searches into a single message (multiple tool calls, ~3–5 at a time — parallel is ~3–5x faster than one-at-a-time); go sequential only when one call genuinely needs another's output. Report high-signal results only (the output + the few facts that matter, not a play-by-play). Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
268723
268724
 
268724
268725
  // src/tools/AgentTool/built-in/subagents/asset-generation.ts
268725
268726
  function getAssetGenSystemPrompt() {
@@ -268799,7 +268800,7 @@ ${SKILL_SEEKING}
268799
268800
  ## Your job (from the task packet)
268800
268801
  - Take the Fix List (each item: file, line, issue, fix) and apply exactly those corrections — change the wrong hex code, adjust the padding, add the missing animation/handler, fix the logic bug, etc.
268801
268802
  - Make the SMALLEST change that resolves each item; do not refactor or gold-plate beyond the listed fixes.
268802
- - After editing, verify where cheap (build/lint/tests) that the fixes hold and didn't break anything.
268803
+ - After editing, RE-VERIFY: run the relevant build/lint/tests to confirm the fixes hold and didn't break anything. Do not report a fix as done if it's unverified.
268803
268804
 
268804
268805
  ## Output
268805
268806
  Report, per fix item: the file changed, what you changed, and pass/fail of any verification. List any item you could NOT fix and why (do not silently skip).`;
@@ -268891,7 +268892,7 @@ ${SKILL_SEEKING}
268891
268892
 
268892
268893
  ## Your job
268893
268894
  1. Understand the objective and constraints from the task packet.
268894
- 2. Research deeply and in PARALLEL: dispatch the Explore and general-purpose subagents (in a single message, multiple Agent calls) to map the existing code, conventions, integration points, and risks. For a brand-new project, research the relevant stack/best-practices instead.
268895
+ 2. Research deeply and IN PARALLEL: dispatch multiple Explore/general-purpose subagents in a SINGLE message (multiple Agent calls, ~3–5 max — never one at a time; parallel is ~3–5x faster) to map the existing code, conventions, integration points, and risks concurrently. For a brand-new project, research the relevant stack/best-practices the same way. Time-box this: gather just enough to commit confidently, then STOP researching and decide — do not over-research.
268895
268896
  3. Think hard before answering — reason through multiple viable approaches and their trade-offs (complexity, risk, blast radius, reversibility), then commit to ONE and justify it briefly. Be decisive; no hedging.
268896
268897
  4. Produce a concrete plan.
268897
268898
 
@@ -269426,9 +269427,18 @@ function buildCollaboratorPrompt(s2) {
269426
269427
  owns,
269427
269428
  "",
269428
269429
  "## How you work",
269429
- "- You implement AND iterate: write real, production-ready code/config in your domain, verify it (build/lint/tests), and refine until it meets the brief. You have the full toolset; request permission for sensitive actions through the normal permission flow.",
269430
+ "- You implement AND iterate: write real, production-ready code/config in your domain and refine until it meets the brief. You have the full toolset; request permission for sensitive actions through the normal permission flow.",
269431
+ "- Work in PARALLEL where independent: batch reads/greps and independent edits into one message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster. Go sequential only on a true dependency.",
269430
269432
  `- Seek relevant INSTALLED skills (via the Skill tool) that improve your output — ${s2.skillHint}. Skills are installed by the user via /install-skill or /find-skill; if none are installed, proceed without one.`,
269431
269433
  "- You may use MCP servers and dispatch the Tier-3 subagents (e.g. asset-generation, review, fix, linter) for atomic jobs — the same subagents the orchestrator uses.",
269434
+ "- Be autonomous: keep going until your piece is complete; state assumptions and continue rather than stopping for approval unless genuinely blocked.",
269435
+ "",
269436
+ "## Quality bar",
269437
+ "- Code must run immediately: include all imports, dependencies, and wiring. Use clear, descriptive names and explicit types on public APIs; prefer guard clauses/early returns; match the existing project style and conventions.",
269438
+ "- No linter errors. If your domain is UI (frontend/mobile), deliver a modern, polished interface with strong UX and accessibility — not just a rough layout.",
269439
+ "",
269440
+ "## Verify before reporting done",
269441
+ "- Run the relevant build/lint/tests for your changes and FIX failures before handing back. Never report a change as done if it is unverified or breaks the build.",
269432
269442
  "",
269433
269443
  "## Authority",
269434
269444
  authority,
@@ -302406,7 +302416,7 @@ function getTelemetryAttributes() {
302406
302416
  attributes["session.id"] = sessionId;
302407
302417
  }
302408
302418
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
302409
- attributes["app.version"] = "1.3.127";
302419
+ attributes["app.version"] = "1.3.227";
302410
302420
  }
302411
302421
  const oauthAccount = getOauthAccountInfo();
302412
302422
  if (oauthAccount) {
@@ -412764,7 +412774,7 @@ function getInstallationEnv() {
412764
412774
  return;
412765
412775
  }
412766
412776
  function getClaudeCodeVersion() {
412767
- return "1.3.127";
412777
+ return "1.3.227";
412768
412778
  }
412769
412779
  async function getInstalledVSCodeExtensionVersion(command) {
412770
412780
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -418002,7 +418012,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
418002
418012
  const client4 = new Client({
418003
418013
  name: "claude-code",
418004
418014
  title: "RAYU",
418005
- version: "1.3.127",
418015
+ version: "1.3.227",
418006
418016
  description: "Anthropic's agentic coding tool",
418007
418017
  websiteUrl: PRODUCT_URL
418008
418018
  }, {
@@ -418319,7 +418329,7 @@ var init_client7 = __esm(() => {
418319
418329
  const client4 = new Client({
418320
418330
  name: "claude-code",
418321
418331
  title: "RAYU",
418322
- version: "1.3.127",
418332
+ version: "1.3.227",
418323
418333
  description: "Anthropic's agentic coding tool",
418324
418334
  websiteUrl: PRODUCT_URL
418325
418335
  }, {
@@ -433120,7 +433130,7 @@ function computeFingerprint(messageText, version2) {
433120
433130
  }
433121
433131
  function computeFingerprintFromMessages(messages) {
433122
433132
  const firstMessageText = extractFirstMessageText(messages);
433123
- return computeFingerprint(firstMessageText, "1.3.127");
433133
+ return computeFingerprint(firstMessageText, "1.3.227");
433124
433134
  }
433125
433135
  var FINGERPRINT_SALT = "59cf53e54c78";
433126
433136
  var init_fingerprint = () => {};
@@ -433162,7 +433172,7 @@ async function sideQuery(opts) {
433162
433172
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
433163
433173
  }
433164
433174
  const messageText = extractFirstUserMessageText(messages);
433165
- const fingerprint = computeFingerprint(messageText, "1.3.127");
433175
+ const fingerprint = computeFingerprint(messageText, "1.3.227");
433166
433176
  const attributionHeader = getAttributionHeader(fingerprint);
433167
433177
  const systemBlocks = [
433168
433178
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -528127,7 +528137,7 @@ function Feedback({
528127
528137
  platform: env4.platform,
528128
528138
  gitRepo: envInfo.isGit,
528129
528139
  terminal: env4.terminal,
528130
- version: "1.3.127",
528140
+ version: "1.3.227",
528131
528141
  transcript: normalizeMessagesForAPI(messages),
528132
528142
  errors: sanitizedErrors,
528133
528143
  lastApiRequest: getLastAPIRequest(),
@@ -528319,7 +528329,7 @@ function Feedback({
528319
528329
  ", ",
528320
528330
  env4.terminal,
528321
528331
  ", v",
528322
- "1.3.127"
528332
+ "1.3.227"
528323
528333
  ]
528324
528334
  }, undefined, true, undefined, this)
528325
528335
  ]
@@ -528425,7 +528435,7 @@ ${sanitizedDescription}
528425
528435
  ` + `**Environment Info**
528426
528436
  ` + `- Platform: ${env4.platform}
528427
528437
  ` + `- Terminal: ${env4.terminal}
528428
- ` + `- Version: ${"1.3.127"}
528438
+ ` + `- Version: ${"1.3.227"}
528429
528439
  ` + `- Feedback ID: ${feedbackId}
528430
528440
  ` + `
528431
528441
  **Errors**
@@ -531264,9 +531274,9 @@ async function assertMinVersion() {
531264
531274
  if (false) {}
531265
531275
  try {
531266
531276
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
531267
- if (versionConfig.minVersion && lt("1.3.127", versionConfig.minVersion)) {
531277
+ if (versionConfig.minVersion && lt("1.3.227", versionConfig.minVersion)) {
531268
531278
  console.error(`
531269
- It looks like your version of RAYU (${"1.3.127"}) needs an update.
531279
+ It looks like your version of RAYU (${"1.3.227"}) needs an update.
531270
531280
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
531271
531281
 
531272
531282
  To update, please run:
@@ -531492,7 +531502,7 @@ async function installGlobalPackage(specificVersion) {
531492
531502
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
531493
531503
  logEvent("tengu_auto_updater_lock_contention", {
531494
531504
  pid: process.pid,
531495
- currentVersion: "1.3.127"
531505
+ currentVersion: "1.3.227"
531496
531506
  });
531497
531507
  return "in_progress";
531498
531508
  }
@@ -531501,7 +531511,7 @@ async function installGlobalPackage(specificVersion) {
531501
531511
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
531502
531512
  logError2(new Error("Windows NPM detected in WSL environment"));
531503
531513
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
531504
- currentVersion: "1.3.127"
531514
+ currentVersion: "1.3.227"
531505
531515
  });
531506
531516
  console.error(`
531507
531517
  Error: Windows NPM detected in WSL
@@ -532037,7 +532047,7 @@ function detectLinuxGlobPatternWarnings() {
532037
532047
  }
532038
532048
  async function getDoctorDiagnostic() {
532039
532049
  const installationType = await getCurrentInstallationType();
532040
- const version2 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
532050
+ const version2 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
532041
532051
  const installationPath = await getInstallationPath();
532042
532052
  const invokedBinary = getInvokedBinary();
532043
532053
  const multipleInstallations = await detectMultipleInstallations();
@@ -532832,8 +532842,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
532832
532842
  const maxVersion = await getMaxVersion();
532833
532843
  if (maxVersion && gt(version2, maxVersion)) {
532834
532844
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
532835
- if (gte("1.3.127", maxVersion)) {
532836
- logForDebugging(`Native installer: current version ${"1.3.127"} is already at or above maxVersion ${maxVersion}, skipping update`);
532845
+ if (gte("1.3.227", maxVersion)) {
532846
+ logForDebugging(`Native installer: current version ${"1.3.227"} is already at or above maxVersion ${maxVersion}, skipping update`);
532837
532847
  logEvent("tengu_native_update_skipped_max_version", {
532838
532848
  latency_ms: Date.now() - startTime,
532839
532849
  max_version: maxVersion,
@@ -532844,7 +532854,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
532844
532854
  version2 = maxVersion;
532845
532855
  }
532846
532856
  }
532847
- if (!forceReinstall && version2 === "1.3.127" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
532857
+ if (!forceReinstall && version2 === "1.3.227" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
532848
532858
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
532849
532859
  logEvent("tengu_native_update_complete", {
532850
532860
  latency_ms: Date.now() - startTime,
@@ -534040,7 +534050,7 @@ function buildPrimarySection() {
534040
534050
  }, undefined, false, undefined, this);
534041
534051
  return [{
534042
534052
  label: "Version",
534043
- value: "1.3.127"
534053
+ value: "1.3.227"
534044
534054
  }, {
534045
534055
  label: "Session name",
534046
534056
  value: nameValue
@@ -537731,7 +537741,7 @@ function Config({
537731
537741
  }
537732
537742
  }, undefined, false, undefined, this)
537733
537743
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
537734
- currentVersion: "1.3.127",
537744
+ currentVersion: "1.3.227",
537735
537745
  onChoice: (choice) => {
537736
537746
  setShowSubmenu(null);
537737
537747
  setTabsHidden(false);
@@ -537743,7 +537753,7 @@ function Config({
537743
537753
  autoUpdatesChannel: "stable"
537744
537754
  };
537745
537755
  if (choice === "stay") {
537746
- newSettings.minimumVersion = "1.3.127";
537756
+ newSettings.minimumVersion = "1.3.227";
537747
537757
  }
537748
537758
  updateSettingsForSource("userSettings", newSettings);
537749
537759
  setSettingsData((prev_27) => ({
@@ -544970,6 +544980,14 @@ var init_memory2 = __esm(() => {
544970
544980
  memory_default = memory;
544971
544981
  });
544972
544982
 
544983
+ // src/types/command.ts
544984
+ function getCommandName(cmd) {
544985
+ return cmd.userFacingName?.() ?? cmd.name;
544986
+ }
544987
+ function isCommandEnabled(cmd) {
544988
+ return cmd.isEnabled?.() ?? true;
544989
+ }
544990
+
544973
544991
  // src/components/HelpV2/Commands.tsx
544974
544992
  function Commands(t0) {
544975
544993
  const $3 = import_compiler_runtime151.c(14);
@@ -544993,7 +545011,7 @@ function Commands(t0) {
544993
545011
  let t22;
544994
545012
  if ($3[3] !== maxWidth) {
544995
545013
  t22 = (cmd_0) => ({
544996
- label: `/${cmd_0.name}`,
545014
+ label: `/${cmd_0.name}${cmd_0.argumentHint ? ` ${cmd_0.argumentHint}` : ""}`,
544997
545015
  value: cmd_0.name,
544998
545016
  description: truncate(formatDescriptionWithSource(cmd_0), maxWidth, true)
544999
545017
  });
@@ -545706,7 +545724,7 @@ function HelpV2(t0) {
545706
545724
  let t3;
545707
545725
  if ($3[3] !== commands) {
545708
545726
  const builtinNames = builtInCommandNames();
545709
- builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden);
545727
+ builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden && isCommandEnabled(cmd));
545710
545728
  let t42;
545711
545729
  if ($3[7] === Symbol.for("react.memo_cache_sentinel")) {
545712
545730
  t42 = [];
@@ -545715,7 +545733,7 @@ function HelpV2(t0) {
545715
545733
  t42 = $3[7];
545716
545734
  }
545717
545735
  antOnlyCommands = t42;
545718
- t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden);
545736
+ t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden && isCommandEnabled(cmd_2));
545719
545737
  $3[3] = commands;
545720
545738
  $3[4] = antOnlyCommands;
545721
545739
  $3[5] = builtinCommands;
@@ -545797,7 +545815,7 @@ function HelpV2(t0) {
545797
545815
  let t6;
545798
545816
  if ($3[31] !== tabs) {
545799
545817
  t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
545800
- title: `Rayu-CLI v${"1.3.127"}`,
545818
+ title: `Rayu-CLI v${"1.3.227"}`,
545801
545819
  color: "professionalBlue",
545802
545820
  defaultTab: "general",
545803
545821
  children: tabs
@@ -547180,18 +547198,30 @@ ${task}` : "Coordinate the swarm for the current task / the plan just produced i
547180
547198
  return [
547181
547199
  {
547182
547200
  type: "text",
547183
- text: `You are now the ORCHESTRATOR (Tier 1) for this task. You coordinate; you do NOT do the domain implementation yourself — you delegate it to the Collaborators and dispatch one-shot Subagents. Own the plan and the shared project state.
547201
+ text: `The user explicitly invoked /collaborator_swarm. You are now the ORCHESTRATOR (Tier 1) and you MUST stay in this role for the entire task.
547184
547202
 
547185
547203
  ${taskLine}
547186
547204
 
547205
+ ## Your role: PURE ORCHESTRATOR — you do NOT write code
547206
+ In this mode you NEVER write or edit code, run build/implementation commands, or do domain work yourself. Your job is ONLY to:
547207
+ - ANALYZE the real project and requirements — read code to understand it, and discuss & plan WITH the \`PA\` subagent to reach a clear, grounded plan/architecture.
547208
+ - DECOMPOSE and ASSIGN the work to the right Collaborators (implementers) and Subagents (one-shot helpers).
547209
+ - CHECK and verify their results (via the \`review\` subagent and by reading their outputs) and integrate them.
547210
+ HARD RULE: if a Collaborator or Subagent stalls, errors, or doesn't respond, you RESUME it (SendMessage), re-dispatch it, or escalate to the user — you do NOT take over and implement it yourself. Never silently become the coder, even if it seems faster.
547211
+ Keep going until the task is fully resolved; state assumptions and continue — don't stop for approval unless genuinely blocked. (If the task is actually trivial, say so and suggest the user just ask normally instead of the swarm — but if you proceed here, you proceed as orchestrator: delegating and verifying, not coding.)
547212
+
547187
547213
  ## The three tiers
547188
547214
  - **You (Orchestrator)** — plan, research, own SharedContext, coordinate, integrate.
547189
547215
  - **Collaborators (Tier 2)** — semi-persistent domain implementers you delegate to: \`frontend\`, \`backend\` (incl. database), \`mobile\`, \`security\`, \`deploy\`. Spawn each as a NAMED BACKGROUND agent (run_in_background:true, stable lowercase name) so you can resume it with SendMessage instead of respawning. They have full tools and may use installed skills + dispatch subagents.
547190
547216
  - **Subagents (Tier 3)** — ephemeral one-shot helpers ANYONE can call: \`PA\` (deep plan/research), \`design\` (Design PRD), \`global-setup\` (scaffold), \`asset-generation\`, \`review\` (audit → Fix List), \`fix\` (apply Fix List), \`linter\`, plus \`Explore\` and \`general-purpose\` (research).
547191
547217
 
547218
+ ## DEFAULT TO PARALLEL (the single most important rule)
547219
+ Parallel execution is ~3–5x faster than sequential. Unless one call genuinely needs another's output, dispatch independent agents/tools TOGETHER in ONE assistant message (multiple Agent calls), not one-per-message. Plan all the calls you'll need upfront, then fire them together. Cap each batch at ~3–5 calls to avoid timeouts. Sequential is the exception, allowed ONLY on a true dependency. One-per-message dispatch is the #1 cause of slow swarm runs — avoid it.
547220
+
547192
547221
  ## How to run the swarm
547193
- 1. **Plan & research first.** Build the full picture before delegating: dispatch \`PA\`/\`Explore\`/\`general-purpose\` subagents (in a SINGLE message, multiple Agent calls) to research the codebase/requirements. For UI work, produce a \`design\` PRD. For a new project, run \`global-setup\` to scaffold. Write the shared brief to \`.rayu/swarm/shared.json\` (goal/stack/flow/constraints/needs) — it is injected into every collaborator, so keep it tight (< ~500 tokens). Set "needs" to ONLY the domains this task requires.
547194
- 2. **Delegate in PARALLEL WAVES.** Decide which collaborators each wave needs, then dispatch all collaborators with no unmet dependency TOGETHER — in ONE assistant message containing MULTIPLE Agent tool calls. NEVER send them one-per-message (that serializes the swarm and is the #1 cause of slow runs). Typical waves:
547222
+ 1. **Plan & research first — in parallel.** Build the full picture before delegating: dispatch \`PA\` and/or several \`Explore\`/\`general-purpose\` subagents (in a SINGLE message, multiple Agent calls, 3–5 max) to research the codebase/requirements concurrently. For UI work, produce a \`design\` PRD. For a new project, run \`global-setup\` to scaffold. Write the shared brief to \`.rayu/swarm/shared.json\` (goal/stack/flow/constraints/needs) — it is injected into every collaborator, so keep it tight (< ~500 tokens). Set "needs" to ONLY the domains this task requires.
547223
+ - **Overlap where safe:** kick off work that doesn't depend on the final plan (e.g. \`global-setup\` scaffold, \`asset-generation\`) IN PARALLEL with planning rather than strictly after it.
547224
+ 2. **Delegate in PARALLEL WAVES.** Decide which collaborators each wave needs, then dispatch all collaborators with no unmet dependency TOGETHER — in ONE assistant message containing MULTIPLE Agent tool calls. NEVER send them one-per-message. Typical waves:
547195
547225
  - Wave 1: \`backend\` (API + data layer) + \`security\` (auth/RBAC design) — together.
547196
547226
  - Wave 2: \`frontend\` and/or \`mobile\` (integrate against backend contracts) — together.
547197
547227
  - Wave 3: \`deploy\` (package & ship) — last.
@@ -547202,18 +547232,19 @@ ${taskLine}
547202
547232
  \`\`\`
547203
547233
  3. **Coordinate via SharedContext, not by re-typing.** Each collaborator reads the shared brief + its dependency sections and writes its own \`.rayu/swarm/<domain>.md\`. Give each collaborator only its task + any brand-new decision not yet in the artifact. The swarm state lives under \`.rayu/swarm/\` — always use that exact path, NEVER a \`.claude/\` directory.
547204
547234
  4. **Resume, don't respawn.** For a follow-up in a domain that already ran, SendMessage to that collaborator's name with the new task; spawn fresh only for an unrelated new domain.
547205
- 5. **Audit & fix.** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review if needed.
547235
+ 5. **Audit & fix (verification gate).** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review until clean. Do NOT report the work complete until the build/tests pass and the review→fix loop is clean.
547206
547236
  6. **Ship.** When fixes are confirmed, the \`deploy\` collaborator runs the production build and deploys.
547207
547237
 
547208
547238
  ## Rules
547209
547239
  - Do NOT use TaskCreate / task-list tools to coordinate the swarm — track the waves inline in your messages; the collaborator/subagent dispatches ARE the units of work.
547210
547240
  - Security and the chosen architecture are authoritative — collaborators build within them.
547211
547241
  - Maximize parallelism within each wave; respect dependencies across waves.
547242
+ - Be autonomous: keep going until done; only pause if truly blocked. Report concisely and high-signal — don't narrate every step.
547212
547243
 
547213
547244
  ## Finish
547214
- Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user.
547245
+ Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user — only after the verification gate (build/tests pass, review→fix clean).
547215
547246
 
547216
- Begin by stating your plan/research step and the Wave 1 parallel dispatch.`
547247
+ Begin by stating your analysis/plan step (read the project and discuss with the \`PA\` subagent), then your Wave 1 parallel dispatch.`
547217
547248
  }
547218
547249
  ];
547219
547250
  }
@@ -565755,7 +565786,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
565755
565786
  }
565756
565787
  return [];
565757
565788
  }
565758
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.127") {
565789
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.227") {
565759
565790
  if (false) {}
565760
565791
  const cachedChangelog = await getStoredChangelog();
565761
565792
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -565768,7 +565799,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.127")
565768
565799
  releaseNotes
565769
565800
  };
565770
565801
  }
565771
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.127") {
565802
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.227") {
565772
565803
  if (false) {}
565773
565804
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
565774
565805
  return {
@@ -565896,7 +565927,7 @@ function getRecentActivitySync() {
565896
565927
  return cachedActivity;
565897
565928
  }
565898
565929
  function getLogoDisplayData() {
565899
- const version2 = process.env.DEMO_VERSION ?? "1.3.127";
565930
+ const version2 = process.env.DEMO_VERSION ?? "1.3.227";
565900
565931
  const serverUrl = getDirectConnectServerUrl();
565901
565932
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
565902
565933
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -567188,7 +567219,7 @@ function LogoV2() {
567188
567219
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
567189
567220
  t2 = () => {
567190
567221
  const currentConfig = getGlobalConfig();
567191
- if (currentConfig.lastReleaseNotesSeen === "1.3.127") {
567222
+ if (currentConfig.lastReleaseNotesSeen === "1.3.227") {
567192
567223
  return;
567193
567224
  }
567194
567225
  saveGlobalConfig(_temp327);
@@ -567666,7 +567697,7 @@ function LogoV2() {
567666
567697
  t24 = $3[61];
567667
567698
  }
567668
567699
  const _latestNpm = getCachedLatestNpmVersionSync();
567669
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.127") ? [createUpdateAvailableFeed("1.3.127", _latestNpm)] : [];
567700
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.227") ? [createUpdateAvailableFeed("1.3.227", _latestNpm)] : [];
567670
567701
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(FeedColumn, {
567671
567702
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
567672
567703
  maxWidth: rightWidth
@@ -567866,12 +567897,12 @@ function LogoV2() {
567866
567897
  return t41;
567867
567898
  }
567868
567899
  function _temp327(current) {
567869
- if (current.lastReleaseNotesSeen === "1.3.127") {
567900
+ if (current.lastReleaseNotesSeen === "1.3.227") {
567870
567901
  return current;
567871
567902
  }
567872
567903
  return {
567873
567904
  ...current,
567874
- lastReleaseNotesSeen: "1.3.127"
567905
+ lastReleaseNotesSeen: "1.3.227"
567875
567906
  };
567876
567907
  }
567877
567908
  function _temp241(s_0) {
@@ -592662,7 +592693,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
592662
592693
  smapsRollup,
592663
592694
  platform: process.platform,
592664
592695
  nodeVersion: process.version,
592665
- ccVersion: "1.3.127"
592696
+ ccVersion: "1.3.227"
592666
592697
  };
592667
592698
  }
592668
592699
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -593184,7 +593215,7 @@ var init_bridge_kick = __esm(() => {
593184
593215
  var call47 = async () => {
593185
593216
  return {
593186
593217
  type: "text",
593187
- value: "1.3.127"
593218
+ value: "1.3.227"
593188
593219
  };
593189
593220
  }, version2, version_default;
593190
593221
  var init_version = __esm(() => {
@@ -600594,14 +600625,6 @@ var init_stats3 = __esm(() => {
600594
600625
  stats_default = stats2;
600595
600626
  });
600596
600627
 
600597
- // src/types/command.ts
600598
- function getCommandName(cmd) {
600599
- return cmd.userFacingName?.() ?? cmd.name;
600600
- }
600601
- function isCommandEnabled(cmd) {
600602
- return cmd.isEnabled?.() ?? true;
600603
- }
600604
-
600605
600628
  // src/commands/insights.ts
600606
600629
  var exports_insights = {};
600607
600630
  __export(exports_insights, {
@@ -602072,7 +602095,7 @@ function generateHtmlReport(data, insights) {
602072
602095
  </html>`;
602073
602096
  }
602074
602097
  function buildExportData(data, insights, facets, remoteStats) {
602075
- const version3 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
602098
+ const version3 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
602076
602099
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
602077
602100
  const facets_summary = {
602078
602101
  total: facets.size,
@@ -605972,7 +605995,7 @@ var init_sessionStorage = __esm(() => {
605972
605995
  init_settings2();
605973
605996
  init_slowOperations();
605974
605997
  init_uuid();
605975
- VERSION6 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
605998
+ VERSION6 = typeof MACRO !== "undefined" ? "1.3.227" : "unknown";
605976
605999
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
605977
606000
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
605978
606001
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -607193,7 +607216,7 @@ var init_filesystem = __esm(() => {
607193
607216
  });
607194
607217
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
607195
607218
  const nonce = randomBytes18(16).toString("hex");
607196
- return join150(getClaudeTempDir(), "bundled-skills", "1.3.127", nonce);
607219
+ return join150(getClaudeTempDir(), "bundled-skills", "1.3.227", nonce);
607197
607220
  });
607198
607221
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
607199
607222
  });
@@ -612308,7 +612331,7 @@ __export(exports_update, {
612308
612331
  import { execFileSync as execFileSync3 } from "node:child_process";
612309
612332
  import { homedir as homedir33 } from "os";
612310
612333
  async function update() {
612311
- writeToStdout(`Current version: ${"1.3.127"}
612334
+ writeToStdout(`Current version: ${"1.3.227"}
612312
612335
  `);
612313
612336
  const isBundled = isInBundledMode();
612314
612337
  if (isBundled) {
@@ -612334,13 +612357,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
612334
612357
  process.exit(1);
612335
612358
  return;
612336
612359
  }
612337
- if (latestVersion === "1.3.127") {
612360
+ if (latestVersion === "1.3.227") {
612338
612361
  writeToStdout(source_default.green(`
612339
- Rayu CLI is up to date (${"1.3.127"})
612362
+ Rayu CLI is up to date (${"1.3.227"})
612340
612363
  `));
612341
612364
  process.exit(0);
612342
612365
  }
612343
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.127"})
612366
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.227"})
612344
612367
  `);
612345
612368
  writeToStdout(`Installing update...
612346
612369
 
@@ -612364,7 +612387,7 @@ Try manually:
612364
612387
  return;
612365
612388
  }
612366
612389
  writeToStdout(source_default.green(`
612367
- Successfully updated from ${"1.3.127"} to ${latestVersion}
612390
+ Successfully updated from ${"1.3.227"} to ${latestVersion}
612368
612391
  `));
612369
612392
  process.exit(0);
612370
612393
  }
@@ -612378,14 +612401,14 @@ async function updateNativeBinary() {
612378
612401
  } catch {
612379
612402
  latestVersion = "";
612380
612403
  }
612381
- if (latestVersion && latestVersion === "1.3.127") {
612404
+ if (latestVersion && latestVersion === "1.3.227") {
612382
612405
  writeToStdout(source_default.green(`
612383
- Rayu CLI is up to date (1.3.127)
612406
+ Rayu CLI is up to date (1.3.227)
612384
612407
  `));
612385
612408
  process.exit(0);
612386
612409
  }
612387
612410
  if (latestVersion) {
612388
- writeToStdout(`New version available: ${latestVersion} (current: 1.3.127)
612411
+ writeToStdout(`New version available: ${latestVersion} (current: 1.3.227)
612389
612412
  `);
612390
612413
  }
612391
612414
  writeToStdout(`Downloading and installing update...
@@ -612400,13 +612423,13 @@ Rayu CLI is up to date (1.3.127)
612400
612423
  return;
612401
612424
  }
612402
612425
  writeToStdout(source_default.green(`
612403
- Rayu CLI is up to date (1.3.127)
612426
+ Rayu CLI is up to date (1.3.227)
612404
612427
  `));
612405
612428
  process.exit(0);
612406
612429
  }
612407
612430
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
612408
612431
  writeToStdout(source_default.green(`
612409
- Successfully updated from 1.3.127 to ${updatedTo}
612432
+ Successfully updated from 1.3.227 to ${updatedTo}
612410
612433
  `));
612411
612434
  writeToStdout(`Restart your terminal to use the new version.
612412
612435
  `);
@@ -612437,7 +612460,7 @@ __export(exports_uninstall, {
612437
612460
  import { execFileSync as execFileSync4 } from "node:child_process";
612438
612461
  import { homedir as homedir34 } from "os";
612439
612462
  async function uninstall() {
612440
- writeToStdout(`Uninstalling Rayu CLI (${"1.3.127"})...
612463
+ writeToStdout(`Uninstalling Rayu CLI (${"1.3.227"})...
612441
612464
  `);
612442
612465
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
612443
612466
 
@@ -612460,7 +612483,7 @@ Try running manually:
612460
612483
  process.exit(1);
612461
612484
  }
612462
612485
  writeToStdout(source_default.green(`
612463
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.127"}
612486
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.227"}
612464
612487
  `));
612465
612488
  writeToStdout(`Thanks for using Rayu CLI!
612466
612489
  `);
@@ -612512,7 +612535,7 @@ function showFirstRunWelcome() {
612512
612535
  `);
612513
612536
  try {
612514
612537
  mkdirSync13(getRayuConfigHomeDir(), { recursive: true });
612515
- writeFileSync15(markerPath(), "1.3.127", "utf8");
612538
+ writeFileSync15(markerPath(), "1.3.227", "utf8");
612516
612539
  } catch {}
612517
612540
  }
612518
612541
  var init_firstRun = __esm(() => {
@@ -624355,7 +624378,7 @@ async function initializeBetaTracing(resource) {
624355
624378
  });
624356
624379
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
624357
624380
  setLoggerProvider(loggerProvider);
624358
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.127");
624381
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.227");
624359
624382
  setEventLogger(eventLogger);
624360
624383
  process.on("beforeExit", async () => {
624361
624384
  await loggerProvider?.forceFlush();
@@ -624395,7 +624418,7 @@ async function initializeTelemetry() {
624395
624418
  const platform4 = getPlatform();
624396
624419
  const baseAttributes = {
624397
624420
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
624398
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.127"
624421
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.227"
624399
624422
  };
624400
624423
  if (platform4 === "wsl") {
624401
624424
  const wslVersion = getWslVersion();
@@ -624440,7 +624463,7 @@ async function initializeTelemetry() {
624440
624463
  } catch {}
624441
624464
  };
624442
624465
  registerCleanup(shutdownTelemetry2);
624443
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.127");
624466
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.227");
624444
624467
  }
624445
624468
  const meterProvider = new import_sdk_metrics2.MeterProvider({
624446
624469
  resource,
@@ -624460,7 +624483,7 @@ async function initializeTelemetry() {
624460
624483
  });
624461
624484
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
624462
624485
  setLoggerProvider(loggerProvider);
624463
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.127");
624486
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.227");
624464
624487
  setEventLogger(eventLogger);
624465
624488
  logForDebugging("[3P telemetry] Event logger set successfully");
624466
624489
  process.on("beforeExit", async () => {
@@ -624522,7 +624545,7 @@ Current timeout: ${timeoutMs}ms
624522
624545
  }
624523
624546
  };
624524
624547
  registerCleanup(shutdownTelemetry);
624525
- return meterProvider.getMeter("com.anthropic.claude_code", "1.3.127");
624548
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.3.227");
624526
624549
  }
624527
624550
  async function flushTelemetry() {
624528
624551
  const meterProvider = getMeterProvider();
@@ -626035,7 +626058,7 @@ function buildSystemInitMessage(inputs) {
626035
626058
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
626036
626059
  apiKeySource: getAnthropicApiKeyWithSource().source,
626037
626060
  betas: getSdkBetas(),
626038
- claude_code_version: "1.3.127",
626061
+ claude_code_version: "1.3.227",
626039
626062
  output_style: outputStyle2,
626040
626063
  agents: inputs.agents.map((agent) => agent.agentType),
626041
626064
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -642244,7 +642267,7 @@ var init_useVoiceEnabled = __esm(() => {
642244
642267
  function getSemverPart(version3) {
642245
642268
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
642246
642269
  }
642247
- function useUpdateNotification(updatedVersion, initialVersion = "1.3.127") {
642270
+ function useUpdateNotification(updatedVersion, initialVersion = "1.3.227") {
642248
642271
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react218.useState(() => getSemverPart(initialVersion));
642249
642272
  if (!updatedVersion) {
642250
642273
  return null;
@@ -642284,7 +642307,7 @@ function AutoUpdater({
642284
642307
  return;
642285
642308
  }
642286
642309
  if (false) {}
642287
- const currentVersion = "1.3.127";
642310
+ const currentVersion = "1.3.227";
642288
642311
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
642289
642312
  let latestVersion = await getLatestVersion(channel);
642290
642313
  const isDisabled = isAutoUpdaterDisabled();
@@ -642497,12 +642520,12 @@ function NativeAutoUpdater({
642497
642520
  logEvent("tengu_native_auto_updater_start", {});
642498
642521
  try {
642499
642522
  const maxVersion = await getMaxVersion();
642500
- if (maxVersion && gt("1.3.127", maxVersion)) {
642523
+ if (maxVersion && gt("1.3.227", maxVersion)) {
642501
642524
  const msg = await getMaxVersionMessage();
642502
642525
  setMaxVersionIssue(msg ?? "affects your version");
642503
642526
  }
642504
642527
  const result = await installLatest(channel);
642505
- const currentVersion = "1.3.127";
642528
+ const currentVersion = "1.3.227";
642506
642529
  const latencyMs = Date.now() - startTime;
642507
642530
  if (result.lockFailed) {
642508
642531
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -642639,17 +642662,17 @@ function PackageManagerAutoUpdater(t0) {
642639
642662
  const maxVersion = await getMaxVersion();
642640
642663
  if (maxVersion && latest && gt(latest, maxVersion)) {
642641
642664
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
642642
- if (gte("1.3.127", maxVersion)) {
642643
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.127"} is already at or above maxVersion ${maxVersion}, skipping update`);
642665
+ if (gte("1.3.227", maxVersion)) {
642666
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.227"} is already at or above maxVersion ${maxVersion}, skipping update`);
642644
642667
  setUpdateAvailable(false);
642645
642668
  return;
642646
642669
  }
642647
642670
  latest = maxVersion;
642648
642671
  }
642649
- const hasUpdate = latest && !gte("1.3.127", latest) && !shouldSkipVersion(latest);
642672
+ const hasUpdate = latest && !gte("1.3.227", latest) && !shouldSkipVersion(latest);
642650
642673
  setUpdateAvailable(!!hasUpdate);
642651
642674
  if (hasUpdate) {
642652
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.127"} -> ${latest}`);
642675
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.227"} -> ${latest}`);
642653
642676
  }
642654
642677
  };
642655
642678
  $3[0] = t1;
@@ -642683,7 +642706,7 @@ function PackageManagerAutoUpdater(t0) {
642683
642706
  wrap: "truncate",
642684
642707
  children: [
642685
642708
  "currentVersion: ",
642686
- "1.3.127"
642709
+ "1.3.227"
642687
642710
  ]
642688
642711
  }, undefined, true, undefined, this);
642689
642712
  $3[3] = verbose;
@@ -650849,7 +650872,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
650849
650872
  project_dir: getOriginalCwd(),
650850
650873
  added_dirs: addedDirs
650851
650874
  },
650852
- version: "1.3.127",
650875
+ version: "1.3.227",
650853
650876
  output_style: {
650854
650877
  name: outputStyleName
650855
650878
  },
@@ -662219,7 +662242,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
662219
662242
  } catch {}
662220
662243
  const data = {
662221
662244
  trigger,
662222
- version: "1.3.127",
662245
+ version: "1.3.227",
662223
662246
  platform: process.platform,
662224
662247
  transcript,
662225
662248
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -664575,7 +664598,7 @@ var init_tipRegistry = __esm(() => {
664575
664598
  },
664576
664599
  {
664577
664600
  id: "enter-to-steer-in-relatime",
664578
- content: async () => "Send messages to Claude while it works to steer Claude in real-time",
664601
+ content: async () => "Send messages to RAYU while it works to steer Rayu in real-time",
664579
664602
  cooldownSessions: 20,
664580
664603
  isRelevant: async () => true
664581
664604
  },
@@ -674268,7 +674291,7 @@ function WelcomeV2() {
674268
674291
  dimColor: true,
674269
674292
  children: [
674270
674293
  "v",
674271
- "1.3.127"
674294
+ "1.3.227"
674272
674295
  ]
674273
674296
  }, undefined, true, undefined, this)
674274
674297
  ]
@@ -675985,7 +676008,7 @@ function completeOnboarding() {
675985
676008
  saveGlobalConfig((current) => ({
675986
676009
  ...current,
675987
676010
  hasCompletedOnboarding: true,
675988
- lastOnboardingVersion: "1.3.127"
676011
+ lastOnboardingVersion: "1.3.227"
675989
676012
  }));
675990
676013
  }
675991
676014
  function showDialog(root2, renderer) {
@@ -680285,7 +680308,7 @@ function appendToLog(path30, message) {
680285
680308
  cwd: getFsImplementation().cwd(),
680286
680309
  userType: "external",
680287
680310
  sessionId: getSessionId(),
680288
- version: "1.3.127"
680311
+ version: "1.3.227"
680289
680312
  };
680290
680313
  getLogWriter(path30).write(messageWithTimestamp);
680291
680314
  }
@@ -684393,8 +684416,8 @@ async function getEnvLessBridgeConfig() {
684393
684416
  }
684394
684417
  async function checkEnvLessBridgeMinVersion() {
684395
684418
  const cfg = await getEnvLessBridgeConfig();
684396
- if (cfg.min_version && lt("1.3.127", cfg.min_version)) {
684397
- return `Your version of RAYU (${"1.3.127"}) is too old for Remote Control.
684419
+ if (cfg.min_version && lt("1.3.227", cfg.min_version)) {
684420
+ return `Your version of RAYU (${"1.3.227"}) is too old for Remote Control.
684398
684421
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
684399
684422
  }
684400
684423
  return null;
@@ -684868,7 +684891,7 @@ async function initBridgeCore(params) {
684868
684891
  const rawApi = createBridgeApiClient({
684869
684892
  baseUrl,
684870
684893
  getAccessToken,
684871
- runnerVersion: "1.3.127",
684894
+ runnerVersion: "1.3.227",
684872
684895
  onDebug: logForDebugging,
684873
684896
  onAuth401,
684874
684897
  getTrustedDeviceToken
@@ -690230,7 +690253,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
690230
690253
  setCwd(cwd3);
690231
690254
  const server = new Server({
690232
690255
  name: "claude/tengu",
690233
- version: "1.3.127"
690256
+ version: "1.3.227"
690234
690257
  }, {
690235
690258
  capabilities: {
690236
690259
  tools: {}
@@ -692756,7 +692779,7 @@ ${customInstructions}` : customInstructions;
692756
692779
  }
692757
692780
  }
692758
692781
  logForDiagnosticsNoPII("info", "started", {
692759
- version: "1.3.127",
692782
+ version: "1.3.227",
692760
692783
  is_native_binary: isInBundledMode()
692761
692784
  });
692762
692785
  registerCleanup(async () => {
@@ -693474,7 +693497,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
693474
693497
  pendingHookMessages
693475
693498
  }, renderAndRun);
693476
693499
  }
693477
- }).version("1.3.127 (Rayu-CLI)", "-v, --version", "Output the version number");
693500
+ }).version("1.3.227 (Rayu-CLI)", "-v, --version", "Output the version number");
693478
693501
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
693479
693502
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
693480
693503
  if (canUserConfigureAdvisor()) {
@@ -693940,7 +693963,7 @@ if (false) {}
693940
693963
  async function main2() {
693941
693964
  const args = process.argv.slice(2);
693942
693965
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
693943
- console.log(`${"1.3.127"} (Rayu-CLI)`);
693966
+ console.log(`${"1.3.227"} (Rayu-CLI)`);
693944
693967
  return;
693945
693968
  }
693946
693969
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.3.127",
3
+ "version": "1.3.227",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {