@rayu-dev/rayu-cli 1.4.477 → 1.4.478

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/rayu.js CHANGED
@@ -149022,7 +149022,7 @@ var init_isEqual = __esm(() => {
149022
149022
 
149023
149023
  // src/utils/userAgent.ts
149024
149024
  function getRayuUserAgent() {
149025
- return `rayu/${"1.4.477"}`;
149025
+ return `rayu/${"1.4.478"}`;
149026
149026
  }
149027
149027
  var getClaudeCodeUserAgent;
149028
149028
  var init_userAgent = __esm(() => {
@@ -149048,7 +149048,7 @@ function getUserAgent() {
149048
149048
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
149049
149049
  const workload = getWorkload();
149050
149050
  const workloadSuffix = workload ? `, workload/${workload}` : "";
149051
- return `rayu/${"1.4.477"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149051
+ return `rayu/${"1.4.478"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
149052
149052
  }
149053
149053
  function getMCPUserAgent() {
149054
149054
  const parts = [];
@@ -149062,7 +149062,7 @@ function getMCPUserAgent() {
149062
149062
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
149063
149063
  }
149064
149064
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
149065
- return `rayu/${"1.4.477"}${suffix}`;
149065
+ return `rayu/${"1.4.478"}${suffix}`;
149066
149066
  }
149067
149067
  function getWebFetchUserAgent() {
149068
149068
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -205506,7 +205506,7 @@ function getAttributionHeader(fingerprint) {
205506
205506
  if (!isAttributionHeaderEnabled()) {
205507
205507
  return "";
205508
205508
  }
205509
- const version2 = `${"1.4.477"}.${fingerprint}`;
205509
+ const version2 = `${"1.4.478"}.${fingerprint}`;
205510
205510
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
205511
205511
  const cch = "";
205512
205512
  const workload = getWorkload();
@@ -259477,7 +259477,7 @@ var init_metadata = __esm(() => {
259477
259477
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
259478
259478
  WHITESPACE_REGEX = /\s+/;
259479
259479
  getVersionBase = memoize_default(() => {
259480
- const match = "1.4.477".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259480
+ const match = "1.4.478".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
259481
259481
  return match ? match[0] : undefined;
259482
259482
  });
259483
259483
  buildEnvContext = memoize_default(async () => {
@@ -259516,7 +259516,7 @@ var init_metadata = __esm(() => {
259516
259516
  },
259517
259517
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
259518
259518
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
259519
- version: "1.4.477",
259519
+ version: "1.4.478",
259520
259520
  versionBase: getVersionBase(),
259521
259521
  buildTime: "",
259522
259522
  deploymentEnvironment: env3.detectDeploymentEnvironment(),
@@ -291632,7 +291632,7 @@ function getTelemetryAttributes() {
291632
291632
  attributes["session.id"] = sessionId;
291633
291633
  }
291634
291634
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
291635
- attributes["app.version"] = "1.4.477";
291635
+ attributes["app.version"] = "1.4.478";
291636
291636
  }
291637
291637
  const oauthAccount = getOauthAccountInfo();
291638
291638
  if (oauthAccount) {
@@ -401989,7 +401989,7 @@ function getInstallationEnv() {
401989
401989
  return;
401990
401990
  }
401991
401991
  function getClaudeCodeVersion() {
401992
- return "1.4.477";
401992
+ return "1.4.478";
401993
401993
  }
401994
401994
  async function getInstalledVSCodeExtensionVersion(command) {
401995
401995
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -407227,7 +407227,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
407227
407227
  const client3 = new Client({
407228
407228
  name: "claude-code",
407229
407229
  title: "RAYU",
407230
- version: "1.4.477",
407230
+ version: "1.4.478",
407231
407231
  description: "Anthropic's agentic coding tool",
407232
407232
  websiteUrl: PRODUCT_URL
407233
407233
  }, {
@@ -407544,7 +407544,7 @@ var init_client7 = __esm(() => {
407544
407544
  const client3 = new Client({
407545
407545
  name: "claude-code",
407546
407546
  title: "RAYU",
407547
- version: "1.4.477",
407547
+ version: "1.4.478",
407548
407548
  description: "Anthropic's agentic coding tool",
407549
407549
  websiteUrl: PRODUCT_URL
407550
407550
  }, {
@@ -422363,7 +422363,7 @@ function computeFingerprint(messageText, version2) {
422363
422363
  }
422364
422364
  function computeFingerprintFromMessages(messages) {
422365
422365
  const firstMessageText = extractFirstMessageText(messages);
422366
- return computeFingerprint(firstMessageText, "1.4.477");
422366
+ return computeFingerprint(firstMessageText, "1.4.478");
422367
422367
  }
422368
422368
  var FINGERPRINT_SALT = "59cf53e54c78";
422369
422369
  var init_fingerprint = () => {};
@@ -422405,7 +422405,7 @@ async function sideQuery(opts) {
422405
422405
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
422406
422406
  }
422407
422407
  const messageText = extractFirstUserMessageText(messages);
422408
- const fingerprint = computeFingerprint(messageText, "1.4.477");
422408
+ const fingerprint = computeFingerprint(messageText, "1.4.478");
422409
422409
  const attributionHeader = getAttributionHeader(fingerprint);
422410
422410
  const systemBlocks = [
422411
422411
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -510321,6 +510321,66 @@ async function logContextMetrics(mcpConfigs, toolPermissionContext) {
510321
510321
  non_mcp_tools_tokens: nonMcpToolsTokens
510322
510322
  });
510323
510323
  }
510324
+ function firstNonEmptyString(o2, keys2) {
510325
+ for (const k2 of keys2) {
510326
+ const v2 = o2[k2];
510327
+ if (typeof v2 === "string" && v2.trim().length > 0)
510328
+ return v2;
510329
+ }
510330
+ return;
510331
+ }
510332
+ function deriveAskQuestionHeader(question, maxWidth) {
510333
+ const cleaned = question.replace(/[?.!\s]+$/g, "").trim();
510334
+ if (cleaned.length <= maxWidth)
510335
+ return cleaned || "Question";
510336
+ let out = "";
510337
+ for (const word of cleaned.split(/\s+/)) {
510338
+ if ((out ? out.length + 1 : 0) + word.length > maxWidth)
510339
+ break;
510340
+ out = out ? `${out} ${word}` : word;
510341
+ }
510342
+ return out || cleaned.slice(0, maxWidth);
510343
+ }
510344
+ function coerceAskUserQuestionInput(input) {
510345
+ if (!Array.isArray(input.questions))
510346
+ return input;
510347
+ const questions = input.questions.map((rawQ) => {
510348
+ const q2 = typeof rawQ === "string" ? { question: rawQ } : rawQ && typeof rawQ === "object" ? { ...rawQ } : rawQ;
510349
+ if (!q2 || typeof q2 !== "object")
510350
+ return rawQ;
510351
+ const question = firstNonEmptyString(q2, ASK_Q_TEXT_KEYS);
510352
+ if (question !== undefined)
510353
+ q2.question = question;
510354
+ let header = firstNonEmptyString(q2, ASK_Q_HEADER_KEYS);
510355
+ if (header === undefined && question !== undefined) {
510356
+ header = deriveAskQuestionHeader(question, ASK_USER_QUESTION_TOOL_CHIP_WIDTH);
510357
+ }
510358
+ if (header !== undefined)
510359
+ q2.header = header;
510360
+ const rawOptions = Array.isArray(q2.options) ? q2.options : Array.isArray(q2.choices) ? q2.choices : undefined;
510361
+ if (Array.isArray(rawOptions)) {
510362
+ q2.options = rawOptions.map((rawOpt) => {
510363
+ if (typeof rawOpt === "string") {
510364
+ return { label: rawOpt, description: rawOpt };
510365
+ }
510366
+ if (!rawOpt || typeof rawOpt !== "object")
510367
+ return rawOpt;
510368
+ const opt = { ...rawOpt };
510369
+ const label = firstNonEmptyString(opt, ASK_OPT_LABEL_KEYS);
510370
+ const description = firstNonEmptyString(opt, ASK_OPT_DESC_KEYS);
510371
+ const finalLabel = label ?? description;
510372
+ const finalDescription = description ?? label;
510373
+ if (finalLabel !== undefined)
510374
+ opt.label = finalLabel;
510375
+ if (finalDescription !== undefined)
510376
+ opt.description = finalDescription;
510377
+ return opt;
510378
+ });
510379
+ }
510380
+ return q2;
510381
+ });
510382
+ return { ...input, questions };
510383
+ }
510324
510384
  function normalizeToolInput(tool, input, agentId) {
510325
510385
  switch (tool.name) {
510326
510386
  case EXIT_PLAN_MODE_V2_TOOL_NAME: {
@@ -510390,6 +510450,9 @@ function normalizeToolInput(tool, input, agentId) {
510390
510450
  timeout: timeout ?? 30000
510391
510451
  };
510392
510452
  }
510453
+ case ASK_USER_QUESTION_TOOL_NAME: {
510454
+ return coerceAskUserQuestionInput(input);
510455
+ }
510393
510456
  default:
510394
510457
  return input;
510395
510458
  }
@@ -510414,7 +510477,7 @@ function normalizeToolInputForAPI(tool, input) {
510414
510477
  return input;
510415
510478
  }
510416
510479
  }
510417
- var SWARM_FIELDS_BY_TOOL, loggedStrip = false;
510480
+ var SWARM_FIELDS_BY_TOOL, loggedStrip = false, ASK_Q_TEXT_KEYS, ASK_Q_HEADER_KEYS, ASK_OPT_LABEL_KEYS, ASK_OPT_DESC_KEYS;
510418
510481
  var init_api3 = __esm(() => {
510419
510482
  init_prompts3();
510420
510483
  init_context2();
@@ -510429,6 +510492,7 @@ var init_api3 = __esm(() => {
510429
510492
  init_system();
510430
510493
  init_tokenEstimation();
510431
510494
  init_constants2();
510495
+ init_prompt7();
510432
510496
  init_agentSwarmsEnabled();
510433
510497
  init_betas2();
510434
510498
  init_cwd();
@@ -510448,6 +510512,26 @@ var init_api3 = __esm(() => {
510448
510512
  [EXIT_PLAN_MODE_V2_TOOL_NAME]: ["launchSwarm", "teammateCount"],
510449
510513
  [AGENT_TOOL_NAME]: ["name", "team_name", "mode"]
510450
510514
  };
510515
+ ASK_Q_TEXT_KEYS = ["question", "q", "prompt", "query", "text", "title"];
510516
+ ASK_Q_HEADER_KEYS = ["header", "label", "tag", "category", "topic", "title"];
510517
+ ASK_OPT_LABEL_KEYS = [
510518
+ "label",
510519
+ "title",
510520
+ "text",
510521
+ "name",
510522
+ "value",
510523
+ "option",
510524
+ "choice"
510525
+ ];
510526
+ ASK_OPT_DESC_KEYS = [
510527
+ "description",
510528
+ "desc",
510529
+ "detail",
510530
+ "details",
510531
+ "explanation",
510532
+ "subtitle",
510533
+ "summary"
510534
+ ];
510451
510535
  });
510452
510536
 
510453
510537
  // src/services/compact/apiMicrocompact.ts
@@ -521836,9 +521920,9 @@ async function assertMinVersion() {
521836
521920
  if (false) {}
521837
521921
  try {
521838
521922
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
521839
- if (versionConfig.minVersion && lt("1.4.477", versionConfig.minVersion)) {
521923
+ if (versionConfig.minVersion && lt("1.4.478", versionConfig.minVersion)) {
521840
521924
  console.error(`
521841
- It looks like your version of RAYU (${"1.4.477"}) needs an update.
521925
+ It looks like your version of RAYU (${"1.4.478"}) needs an update.
521842
521926
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
521843
521927
 
521844
521928
  To update, please run:
@@ -522064,7 +522148,7 @@ async function installGlobalPackage(specificVersion) {
522064
522148
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
522065
522149
  logEvent("tengu_auto_updater_lock_contention", {
522066
522150
  pid: process.pid,
522067
- currentVersion: "1.4.477"
522151
+ currentVersion: "1.4.478"
522068
522152
  });
522069
522153
  return "in_progress";
522070
522154
  }
@@ -522073,7 +522157,7 @@ async function installGlobalPackage(specificVersion) {
522073
522157
  if (!env3.isRunningWithBun() && env3.isNpmFromWindowsPath()) {
522074
522158
  logError2(new Error("Windows NPM detected in WSL environment"));
522075
522159
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
522076
- currentVersion: "1.4.477"
522160
+ currentVersion: "1.4.478"
522077
522161
  });
522078
522162
  console.error(`
522079
522163
  Error: Windows NPM detected in WSL
@@ -522601,7 +522685,7 @@ function detectLinuxGlobPatternWarnings() {
522601
522685
  }
522602
522686
  async function getDoctorDiagnostic() {
522603
522687
  const installationType = await getCurrentInstallationType();
522604
- const version2 = typeof MACRO !== "undefined" ? "1.4.477" : "unknown";
522688
+ const version2 = typeof MACRO !== "undefined" ? "1.4.478" : "unknown";
522605
522689
  const installationPath = await getInstallationPath();
522606
522690
  const invokedBinary = getInvokedBinary();
522607
522691
  const multipleInstallations = await detectMultipleInstallations();
@@ -523392,8 +523476,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523392
523476
  const maxVersion = await getMaxVersion();
523393
523477
  if (maxVersion && gt(version2, maxVersion)) {
523394
523478
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
523395
- if (gte("1.4.477", maxVersion)) {
523396
- logForDebugging(`Native installer: current version ${"1.4.477"} is already at or above maxVersion ${maxVersion}, skipping update`);
523479
+ if (gte("1.4.478", maxVersion)) {
523480
+ logForDebugging(`Native installer: current version ${"1.4.478"} is already at or above maxVersion ${maxVersion}, skipping update`);
523397
523481
  logEvent("tengu_native_update_skipped_max_version", {
523398
523482
  latency_ms: Date.now() - startTime2,
523399
523483
  max_version: maxVersion,
@@ -523404,7 +523488,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
523404
523488
  version2 = maxVersion;
523405
523489
  }
523406
523490
  }
523407
- if (!forceReinstall && version2 === "1.4.477" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523491
+ if (!forceReinstall && version2 === "1.4.478" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
523408
523492
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
523409
523493
  logEvent("tengu_native_update_complete", {
523410
523494
  latency_ms: Date.now() - startTime2,
@@ -524612,7 +524696,7 @@ function buildPrimarySection() {
524612
524696
  });
524613
524697
  return [{
524614
524698
  label: "Version",
524615
- value: "1.4.477"
524699
+ value: "1.4.478"
524616
524700
  }, {
524617
524701
  label: "Session name",
524618
524702
  value: nameValue
@@ -528283,7 +528367,7 @@ function Config({
528283
528367
  }
528284
528368
  })
528285
528369
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime168.jsx(ChannelDowngradeDialog, {
528286
- currentVersion: "1.4.477",
528370
+ currentVersion: "1.4.478",
528287
528371
  onChoice: (choice) => {
528288
528372
  setShowSubmenu(null);
528289
528373
  setTabsHidden(false);
@@ -528295,7 +528379,7 @@ function Config({
528295
528379
  autoUpdatesChannel: "stable"
528296
528380
  };
528297
528381
  if (choice === "stay") {
528298
- newSettings.minimumVersion = "1.4.477";
528382
+ newSettings.minimumVersion = "1.4.478";
528299
528383
  }
528300
528384
  updateSettingsForSource("userSettings", newSettings);
528301
528385
  setSettingsData((prev_27) => ({
@@ -536356,7 +536440,7 @@ function HelpV2(t0) {
536356
536440
  let t6;
536357
536441
  if ($3[31] !== tabs) {
536358
536442
  t6 = /* @__PURE__ */ jsx_runtime195.jsx(Tabs, {
536359
- title: `Rayu-CLI v${"1.4.477"}`,
536443
+ title: `Rayu-CLI v${"1.4.478"}`,
536360
536444
  color: "professionalBlue",
536361
536445
  defaultTab: "general",
536362
536446
  children: tabs
@@ -556934,7 +557018,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
556934
557018
  }
556935
557019
  return [];
556936
557020
  }
556937
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.477") {
557021
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.478") {
556938
557022
  if (false) {}
556939
557023
  const cachedChangelog = await getStoredChangelog();
556940
557024
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -556947,7 +557031,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.477")
556947
557031
  releaseNotes
556948
557032
  };
556949
557033
  }
556950
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.477") {
557034
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.478") {
556951
557035
  if (false) {}
556952
557036
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
556953
557037
  return {
@@ -557075,7 +557159,7 @@ function getRecentActivitySync() {
557075
557159
  return cachedActivity;
557076
557160
  }
557077
557161
  function getLogoDisplayData() {
557078
- const version2 = process.env.DEMO_VERSION ?? "1.4.477";
557162
+ const version2 = process.env.DEMO_VERSION ?? "1.4.478";
557079
557163
  const serverUrl = getDirectConnectServerUrl();
557080
557164
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
557081
557165
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -558240,7 +558324,7 @@ function LogoV2() {
558240
558324
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
558241
558325
  t2 = () => {
558242
558326
  const currentConfig = getGlobalConfig();
558243
- if (currentConfig.lastReleaseNotesSeen === "1.4.477") {
558327
+ if (currentConfig.lastReleaseNotesSeen === "1.4.478") {
558244
558328
  return;
558245
558329
  }
558246
558330
  saveGlobalConfig(_temp327);
@@ -558719,7 +558803,7 @@ function LogoV2() {
558719
558803
  t24 = $3[61];
558720
558804
  }
558721
558805
  const _latestNpm = getCachedLatestNpmVersionSync();
558722
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.477") ? [createUpdateAvailableFeed("1.4.477", _latestNpm)] : [];
558806
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.4.478") ? [createUpdateAvailableFeed("1.4.478", _latestNpm)] : [];
558723
558807
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_runtime236.jsx(FeedColumn, {
558724
558808
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
558725
558809
  maxWidth: rightWidth
@@ -558919,12 +559003,12 @@ function LogoV2() {
558919
559003
  return t41;
558920
559004
  }
558921
559005
  function _temp327(current) {
558922
- if (current.lastReleaseNotesSeen === "1.4.477") {
559006
+ if (current.lastReleaseNotesSeen === "1.4.478") {
558923
559007
  return current;
558924
559008
  }
558925
559009
  return {
558926
559010
  ...current,
558927
- lastReleaseNotesSeen: "1.4.477"
559011
+ lastReleaseNotesSeen: "1.4.478"
558928
559012
  };
558929
559013
  }
558930
559014
  function _temp241(s_0) {
@@ -583923,7 +584007,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
583923
584007
  smapsRollup,
583924
584008
  platform: process.platform,
583925
584009
  nodeVersion: process.version,
583926
- ccVersion: "1.4.477"
584010
+ ccVersion: "1.4.478"
583927
584011
  };
583928
584012
  }
583929
584013
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -584445,7 +584529,7 @@ var init_bridge_kick = __esm(() => {
584445
584529
  var call50 = async () => {
584446
584530
  return {
584447
584531
  type: "text",
584448
- value: "1.4.477"
584532
+ value: "1.4.478"
584449
584533
  };
584450
584534
  }, version2, version_default;
584451
584535
  var init_version = __esm(() => {
@@ -594941,7 +595025,7 @@ function generateHtmlReport(data, insights) {
594941
595025
  </html>`;
594942
595026
  }
594943
595027
  function buildExportData(data, insights, facets, remoteStats) {
594944
- const version3 = typeof MACRO !== "undefined" ? "1.4.477" : "unknown";
595028
+ const version3 = typeof MACRO !== "undefined" ? "1.4.478" : "unknown";
594945
595029
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
594946
595030
  const facets_summary = {
594947
595031
  total: facets.size,
@@ -598855,7 +598939,7 @@ var init_sessionStorage = __esm(() => {
598855
598939
  init_settings2();
598856
598940
  init_slowOperations();
598857
598941
  init_uuid();
598858
- VERSION6 = typeof MACRO !== "undefined" ? "1.4.477" : "unknown";
598942
+ VERSION6 = typeof MACRO !== "undefined" ? "1.4.478" : "unknown";
598859
598943
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
598860
598944
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
598861
598945
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -600073,7 +600157,7 @@ var init_filesystem = __esm(() => {
600073
600157
  });
600074
600158
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
600075
600159
  const nonce = randomBytes19(16).toString("hex");
600076
- return join153(getClaudeTempDir(), "bundled-skills", "1.4.477", nonce);
600160
+ return join153(getClaudeTempDir(), "bundled-skills", "1.4.478", nonce);
600077
600161
  });
600078
600162
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
600079
600163
  });
@@ -605243,7 +605327,7 @@ __export(exports_update, {
605243
605327
  update: () => update
605244
605328
  });
605245
605329
  async function update() {
605246
- writeToStdout(`Current version: ${"1.4.477"}
605330
+ writeToStdout(`Current version: ${"1.4.478"}
605247
605331
  `);
605248
605332
  const isBundled = isInBundledMode();
605249
605333
  if (isBundled) {
@@ -605274,13 +605358,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
605274
605358
  process.exit(1);
605275
605359
  return;
605276
605360
  }
605277
- if (latestVersion === "1.4.477") {
605361
+ if (latestVersion === "1.4.478") {
605278
605362
  writeToStdout(source_default.green(`
605279
- Rayu CLI is up to date (${"1.4.477"})
605363
+ Rayu CLI is up to date (${"1.4.478"})
605280
605364
  `));
605281
605365
  process.exit(0);
605282
605366
  }
605283
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.477"})
605367
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.478"})
605284
605368
  `);
605285
605369
  writeToStdout(`Installing update...
605286
605370
 
@@ -605347,14 +605431,14 @@ async function updateNativeBinary() {
605347
605431
  } catch {
605348
605432
  latestVersion = "";
605349
605433
  }
605350
- if (latestVersion && latestVersion === "1.4.477") {
605434
+ if (latestVersion && latestVersion === "1.4.478") {
605351
605435
  writeToStdout(source_default.green(`
605352
- Rayu CLI is up to date (1.4.477)
605436
+ Rayu CLI is up to date (1.4.478)
605353
605437
  `));
605354
605438
  process.exit(0);
605355
605439
  }
605356
605440
  if (latestVersion) {
605357
- writeToStdout(`New version available: ${latestVersion} (current: 1.4.477)
605441
+ writeToStdout(`New version available: ${latestVersion} (current: 1.4.478)
605358
605442
  `);
605359
605443
  }
605360
605444
  writeToStdout(`Downloading and installing update...
@@ -605369,13 +605453,13 @@ Rayu CLI is up to date (1.4.477)
605369
605453
  return;
605370
605454
  }
605371
605455
  writeToStdout(source_default.green(`
605372
- Rayu CLI is up to date (1.4.477)
605456
+ Rayu CLI is up to date (1.4.478)
605373
605457
  `));
605374
605458
  process.exit(0);
605375
605459
  }
605376
605460
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
605377
605461
  writeToStdout(source_default.green(`
605378
- Successfully updated from 1.4.477 to ${updatedTo}
605462
+ Successfully updated from 1.4.478 to ${updatedTo}
605379
605463
  `));
605380
605464
  writeToStdout(`Restart your terminal to use the new version.
605381
605465
  `);
@@ -605440,7 +605524,7 @@ async function removeDataDir(dir) {
605440
605524
  async function uninstall(args = []) {
605441
605525
  const yes = args.includes("--yes") || args.includes("-y");
605442
605526
  const keepData = args.includes("--keep-data");
605443
- writeToStdout(`Uninstalling Rayu CLI (${"1.4.477"})...
605527
+ writeToStdout(`Uninstalling Rayu CLI (${"1.4.478"})...
605444
605528
  `);
605445
605529
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
605446
605530
 
@@ -605474,7 +605558,7 @@ This looks like a permissions error on npm's global install
605474
605558
  return;
605475
605559
  }
605476
605560
  writeToStdout(source_default.green(`
605477
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.477"}
605561
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.4.478"}
605478
605562
  `));
605479
605563
  const configDir = getRayuConfigHomeDir();
605480
605564
  const dataExists = existsSync28(configDir);
@@ -605557,7 +605641,7 @@ function showFirstRunWelcome() {
605557
605641
  `);
605558
605642
  try {
605559
605643
  mkdirSync16(getRayuConfigHomeDir(), { recursive: true });
605560
- writeFileSync18(markerPath(), "1.4.477", "utf8");
605644
+ writeFileSync18(markerPath(), "1.4.478", "utf8");
605561
605645
  } catch {}
605562
605646
  }
605563
605647
  var init_firstRun = __esm(() => {
@@ -621743,7 +621827,7 @@ async function initializeBetaTracing(resource) {
621743
621827
  });
621744
621828
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
621745
621829
  setLoggerProvider(loggerProvider);
621746
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.477");
621830
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.478");
621747
621831
  setEventLogger(eventLogger);
621748
621832
  process.on("beforeExit", async () => {
621749
621833
  await loggerProvider?.forceFlush();
@@ -621783,7 +621867,7 @@ async function initializeTelemetry() {
621783
621867
  const platform4 = getPlatform();
621784
621868
  const baseAttributes = {
621785
621869
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "claude-code",
621786
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.477"
621870
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.4.478"
621787
621871
  };
621788
621872
  if (platform4 === "wsl") {
621789
621873
  const wslVersion = getWslVersion();
@@ -621828,7 +621912,7 @@ async function initializeTelemetry() {
621828
621912
  } catch {}
621829
621913
  };
621830
621914
  registerCleanup(shutdownTelemetry2);
621831
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.477");
621915
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.478");
621832
621916
  }
621833
621917
  const meterProvider = new import_sdk_metrics2.MeterProvider({
621834
621918
  resource,
@@ -621848,7 +621932,7 @@ async function initializeTelemetry() {
621848
621932
  });
621849
621933
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
621850
621934
  setLoggerProvider(loggerProvider);
621851
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.477");
621935
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.4.478");
621852
621936
  setEventLogger(eventLogger);
621853
621937
  logForDebugging("[3P telemetry] Event logger set successfully");
621854
621938
  process.on("beforeExit", async () => {
@@ -621910,7 +621994,7 @@ Current timeout: ${timeoutMs}ms
621910
621994
  }
621911
621995
  };
621912
621996
  registerCleanup(shutdownTelemetry);
621913
- return meterProvider.getMeter("com.anthropic.claude_code", "1.4.477");
621997
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.4.478");
621914
621998
  }
621915
621999
  async function flushTelemetry() {
621916
622000
  const meterProvider = getMeterProvider();
@@ -623412,7 +623496,7 @@ function buildSystemInitMessage(inputs) {
623412
623496
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
623413
623497
  apiKeySource: getAnthropicApiKeyWithSource().source,
623414
623498
  betas: getSdkBetas(),
623415
- claude_code_version: "1.4.477",
623499
+ claude_code_version: "1.4.478",
623416
623500
  output_style: outputStyle2,
623417
623501
  agents: inputs.agents.map((agent) => agent.agentType),
623418
623502
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -639786,7 +639870,7 @@ var init_useVoiceEnabled = __esm(() => {
639786
639870
  function getSemverPart(version3) {
639787
639871
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
639788
639872
  }
639789
- function useUpdateNotification(updatedVersion, initialVersion = "1.4.477") {
639873
+ function useUpdateNotification(updatedVersion, initialVersion = "1.4.478") {
639790
639874
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
639791
639875
  if (!updatedVersion) {
639792
639876
  return null;
@@ -639826,7 +639910,7 @@ function AutoUpdater({
639826
639910
  return;
639827
639911
  }
639828
639912
  if (false) {}
639829
- const currentVersion = "1.4.477";
639913
+ const currentVersion = "1.4.478";
639830
639914
  const channel2 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
639831
639915
  let latestVersion = await getLatestVersion(channel2);
639832
639916
  const isDisabled = isAutoUpdaterDisabled();
@@ -640039,12 +640123,12 @@ function NativeAutoUpdater({
640039
640123
  logEvent("tengu_native_auto_updater_start", {});
640040
640124
  try {
640041
640125
  const maxVersion = await getMaxVersion();
640042
- if (maxVersion && gt("1.4.477", maxVersion)) {
640126
+ if (maxVersion && gt("1.4.478", maxVersion)) {
640043
640127
  const msg = await getMaxVersionMessage();
640044
640128
  setMaxVersionIssue(msg ?? "affects your version");
640045
640129
  }
640046
640130
  const result = await installLatest(channel2);
640047
- const currentVersion = "1.4.477";
640131
+ const currentVersion = "1.4.478";
640048
640132
  const latencyMs = Date.now() - startTime2;
640049
640133
  if (result.lockFailed) {
640050
640134
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -640181,17 +640265,17 @@ function PackageManagerAutoUpdater(t0) {
640181
640265
  const maxVersion = await getMaxVersion();
640182
640266
  if (maxVersion && latest && gt(latest, maxVersion)) {
640183
640267
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
640184
- if (gte("1.4.477", maxVersion)) {
640185
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.477"} is already at or above maxVersion ${maxVersion}, skipping update`);
640268
+ if (gte("1.4.478", maxVersion)) {
640269
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.478"} is already at or above maxVersion ${maxVersion}, skipping update`);
640186
640270
  setUpdateAvailable(false);
640187
640271
  return;
640188
640272
  }
640189
640273
  latest = maxVersion;
640190
640274
  }
640191
- const hasUpdate = latest && !gte("1.4.477", latest) && !shouldSkipVersion(latest);
640275
+ const hasUpdate = latest && !gte("1.4.478", latest) && !shouldSkipVersion(latest);
640192
640276
  setUpdateAvailable(!!hasUpdate);
640193
640277
  if (hasUpdate) {
640194
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.477"} -> ${latest}`);
640278
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.478"} -> ${latest}`);
640195
640279
  }
640196
640280
  };
640197
640281
  $3[0] = t1;
@@ -640225,7 +640309,7 @@ function PackageManagerAutoUpdater(t0) {
640225
640309
  wrap: "truncate",
640226
640310
  children: [
640227
640311
  "currentVersion: ",
640228
- "1.4.477"
640312
+ "1.4.478"
640229
640313
  ]
640230
640314
  });
640231
640315
  $3[3] = verbose;
@@ -648389,7 +648473,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
648389
648473
  project_dir: getOriginalCwd(),
648390
648474
  added_dirs: addedDirs
648391
648475
  },
648392
- version: "1.4.477",
648476
+ version: "1.4.478",
648393
648477
  output_style: {
648394
648478
  name: outputStyleName
648395
648479
  },
@@ -650568,7 +650652,7 @@ var init_user = __esm(() => {
650568
650652
  deviceId,
650569
650653
  sessionId: getSessionId(),
650570
650654
  email: getEmail(),
650571
- appVersion: "1.4.477",
650655
+ appVersion: "1.4.478",
650572
650656
  platform: getHostPlatformForAnalytics(),
650573
650657
  organizationUuid,
650574
650658
  accountUuid,
@@ -660007,7 +660091,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
660007
660091
  } catch {}
660008
660092
  const data = {
660009
660093
  trigger,
660010
- version: "1.4.477",
660094
+ version: "1.4.478",
660011
660095
  platform: process.platform,
660012
660096
  transcript,
660013
660097
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -671976,7 +672060,7 @@ function WelcomeV2() {
671976
672060
  dimColor: true,
671977
672061
  children: [
671978
672062
  "v",
671979
- "1.4.477"
672063
+ "1.4.478"
671980
672064
  ]
671981
672065
  })
671982
672066
  ]
@@ -672983,7 +673067,7 @@ function completeOnboarding() {
672983
673067
  saveGlobalConfig((current) => ({
672984
673068
  ...current,
672985
673069
  hasCompletedOnboarding: true,
672986
- lastOnboardingVersion: "1.4.477"
673070
+ lastOnboardingVersion: "1.4.478"
672987
673071
  }));
672988
673072
  }
672989
673073
  function showDialog(root2, renderer) {
@@ -677916,7 +678000,7 @@ function appendToLog(path29, message) {
677916
678000
  cwd: getFsImplementation().cwd(),
677917
678001
  userType: "external",
677918
678002
  sessionId: getSessionId(),
677919
- version: "1.4.477"
678003
+ version: "1.4.478"
677920
678004
  };
677921
678005
  getLogWriter(path29).write(messageWithTimestamp);
677922
678006
  }
@@ -682021,8 +682105,8 @@ async function getEnvLessBridgeConfig() {
682021
682105
  }
682022
682106
  async function checkEnvLessBridgeMinVersion() {
682023
682107
  const cfg = await getEnvLessBridgeConfig();
682024
- if (cfg.min_version && lt("1.4.477", cfg.min_version)) {
682025
- return `Your version of RAYU (${"1.4.477"}) is too old for Remote Control.
682108
+ if (cfg.min_version && lt("1.4.478", cfg.min_version)) {
682109
+ return `Your version of RAYU (${"1.4.478"}) is too old for Remote Control.
682026
682110
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
682027
682111
  }
682028
682112
  return null;
@@ -682495,7 +682579,7 @@ async function initBridgeCore(params) {
682495
682579
  const rawApi = createBridgeApiClient({
682496
682580
  baseUrl,
682497
682581
  getAccessToken,
682498
- runnerVersion: "1.4.477",
682582
+ runnerVersion: "1.4.478",
682499
682583
  onDebug: logForDebugging,
682500
682584
  onAuth401,
682501
682585
  getTrustedDeviceToken
@@ -687850,7 +687934,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
687850
687934
  setCwd(cwd3);
687851
687935
  const server = new Server({
687852
687936
  name: "claude/tengu",
687853
- version: "1.4.477"
687937
+ version: "1.4.478"
687854
687938
  }, {
687855
687939
  capabilities: {
687856
687940
  tools: {}
@@ -690379,7 +690463,7 @@ ${customInstructions}` : customInstructions;
690379
690463
  }
690380
690464
  }
690381
690465
  logForDiagnosticsNoPII("info", "started", {
690382
- version: "1.4.477",
690466
+ version: "1.4.478",
690383
690467
  is_native_binary: isInBundledMode()
690384
690468
  });
690385
690469
  registerCleanup(async () => {
@@ -691098,7 +691182,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
691098
691182
  pendingHookMessages
691099
691183
  }, renderAndRun);
691100
691184
  }
691101
- }).version(`1.4.477 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
691185
+ }).version(`1.4.478 (${PRODUCT_NAME})`, "-v, --version", "Output the version number");
691102
691186
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
691103
691187
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
691104
691188
  if (canUserConfigureAdvisor()) {
@@ -691558,7 +691642,7 @@ if (false) {}
691558
691642
  async function main2() {
691559
691643
  const args = process.argv.slice(2);
691560
691644
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
691561
- console.log(`${"1.4.477"} (Rayu-CLI)`);
691645
+ console.log(`${"1.4.478"} (Rayu-CLI)`);
691562
691646
  return;
691563
691647
  }
691564
691648
  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.477",
3
+ "version": "1.4.478",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -23,9 +23,9 @@ const message = [
23
23
  ' Docs & issues: https://github.com/Choeng-Rayu/rayu-cli',
24
24
  '',
25
25
  'Whats new?:',
26
- ' - We Have restructure the rayu subagents, and added a new one for asset generation!',
27
- ' - Add new agent callaborator agent that can call other agents as tools, and manage the conversation between them.',
28
- ' - Try it by /collaborator_swarm and also /collaborator_model in the agent playground!',
26
+ ' - Improve the ask user question tool for all LLMs providers.',
27
+ ' - Fix the Gateway upstream error.',
28
+ ' - Fix the bug for plan credit calculation.',
29
29
  '',
30
30
  ].join('\n') + '\n';
31
31