@rayu-dev/rayu-cli 1.3.430 → 1.3.432

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 +302 -366
  2. package/package.json +1 -1
package/dist/rayu.js CHANGED
@@ -19429,6 +19429,106 @@ var init_rayuDiagnostics = __esm(() => {
19429
19429
  init_envUtils();
19430
19430
  });
19431
19431
 
19432
+ // src/services/api/kiro/kiroModels.ts
19433
+ var exports_kiroModels = {};
19434
+ __export(exports_kiroModels, {
19435
+ resolveKiroModel: () => resolveKiroModel,
19436
+ listKiroModels: () => listKiroModels,
19437
+ KIRO_THINKING_SUFFIX: () => KIRO_THINKING_SUFFIX,
19438
+ KIRO_THINKING_CONTEXT_WINDOW: () => KIRO_THINKING_CONTEXT_WINDOW,
19439
+ KIRO_DEFAULT_MODEL: () => KIRO_DEFAULT_MODEL,
19440
+ KIRO_DEFAULT_CONTEXT_WINDOW: () => KIRO_DEFAULT_CONTEXT_WINDOW,
19441
+ KIRO_DEFAULT_ANTHROPIC_MODEL: () => KIRO_DEFAULT_ANTHROPIC_MODEL
19442
+ });
19443
+ function resolveKiroModel(model, context1M = false) {
19444
+ let matchedWindowSize = 0;
19445
+ let matchedKiro1M = "";
19446
+ let matchedAnthropic = "";
19447
+ let matched = false;
19448
+ let kiroModel = "";
19449
+ let thinking = false;
19450
+ for (const m of MODEL_MAP_ORDERED) {
19451
+ if (model === m.anthropic || model === m.kiro) {
19452
+ kiroModel = m.kiro;
19453
+ matchedKiro1M = m.kiro1m ?? "";
19454
+ matchedWindowSize = m.contextWindowSize ?? 0;
19455
+ matchedAnthropic = m.anthropic;
19456
+ matched = true;
19457
+ break;
19458
+ }
19459
+ }
19460
+ if (!matched && model.endsWith(KIRO_THINKING_SUFFIX)) {
19461
+ const before = model.slice(0, -KIRO_THINKING_SUFFIX.length);
19462
+ model = before;
19463
+ thinking = true;
19464
+ for (const m of MODEL_MAP_ORDERED) {
19465
+ if (model === m.anthropic || model === m.kiro) {
19466
+ kiroModel = m.kiro;
19467
+ matchedKiro1M = m.kiro1m ?? "";
19468
+ matchedWindowSize = m.contextWindowSize ?? 0;
19469
+ matchedAnthropic = m.anthropic;
19470
+ matched = true;
19471
+ break;
19472
+ }
19473
+ }
19474
+ }
19475
+ if (context1M)
19476
+ thinking = true;
19477
+ let anthropicModel;
19478
+ if (!matched) {
19479
+ if (model.startsWith("claude-")) {
19480
+ kiroModel = model;
19481
+ anthropicModel = model;
19482
+ } else {
19483
+ kiroModel = KIRO_DEFAULT_MODEL;
19484
+ anthropicModel = KIRO_DEFAULT_ANTHROPIC_MODEL;
19485
+ }
19486
+ } else {
19487
+ anthropicModel = matchedAnthropic;
19488
+ }
19489
+ let contextWindowSize;
19490
+ if (matchedKiro1M === kiroModel && matchedKiro1M !== "") {
19491
+ contextWindowSize = KIRO_THINKING_CONTEXT_WINDOW;
19492
+ } else if (thinking && matchedKiro1M !== "") {
19493
+ kiroModel = matchedKiro1M;
19494
+ contextWindowSize = KIRO_THINKING_CONTEXT_WINDOW;
19495
+ } else if (matchedWindowSize > 0) {
19496
+ contextWindowSize = matchedWindowSize;
19497
+ } else {
19498
+ contextWindowSize = KIRO_DEFAULT_CONTEXT_WINDOW;
19499
+ }
19500
+ if (contextWindowSize === KIRO_THINKING_CONTEXT_WINDOW && !anthropicModel.endsWith(KIRO_THINKING_SUFFIX)) {
19501
+ anthropicModel += KIRO_THINKING_SUFFIX;
19502
+ }
19503
+ return { kiroModel, thinking, contextWindowSize, anthropicModel };
19504
+ }
19505
+ function listKiroModels() {
19506
+ const seen = new Set;
19507
+ const result = [];
19508
+ for (const m of MODEL_MAP_ORDERED) {
19509
+ if (!seen.has(m.kiro)) {
19510
+ seen.add(m.kiro);
19511
+ result.push(m.kiro);
19512
+ }
19513
+ }
19514
+ return result;
19515
+ }
19516
+ var KIRO_THINKING_SUFFIX = "[1m]", KIRO_DEFAULT_CONTEXT_WINDOW = 200000, KIRO_THINKING_CONTEXT_WINDOW = 1e6, KIRO_DEFAULT_MODEL = "claude-sonnet-4.6", KIRO_DEFAULT_ANTHROPIC_MODEL = "claude-sonnet-4-6", MODEL_MAP_ORDERED;
19517
+ var init_kiroModels = __esm(() => {
19518
+ MODEL_MAP_ORDERED = [
19519
+ { anthropic: "claude-opus-4-8[1m]", kiro: "claude-opus-4.8", kiro1m: "claude-opus-4.8" },
19520
+ { anthropic: "claude-opus-4-8", kiro: "claude-opus-4.8", kiro1m: "claude-opus-4.8" },
19521
+ { anthropic: "claude-opus-4-7[1m]", kiro: "claude-opus-4.7", kiro1m: "claude-opus-4.7" },
19522
+ { anthropic: "claude-opus-4-6[1m]", kiro: "claude-opus-4.6", kiro1m: "claude-opus-4.6" },
19523
+ { anthropic: "claude-opus-4-7", kiro: "claude-opus-4.7", kiro1m: "claude-opus-4.7" },
19524
+ { anthropic: "claude-sonnet-4-6", kiro: "claude-sonnet-4.6", kiro1m: "claude-sonnet-4.6" },
19525
+ { anthropic: "claude-sonnet-4.5", kiro: "claude-sonnet-4.5", kiro1m: "claude-sonnet-4.5" },
19526
+ { anthropic: "claude-opus-4-6", kiro: "claude-opus-4.6", kiro1m: "claude-opus-4.6" },
19527
+ { anthropic: "claude-opus-4.5", kiro: "claude-opus-4.5" },
19528
+ { anthropic: "claude-haiku-4.5", kiro: "claude-haiku-4.5" }
19529
+ ];
19530
+ });
19531
+
19432
19532
  // node_modules/extend/index.js
19433
19533
  var require_extend = __commonJS((exports, module) => {
19434
19534
  var hasOwn = Object.prototype.hasOwnProperty;
@@ -36114,106 +36214,6 @@ var init_rayuProviders = __esm(() => {
36114
36214
  };
36115
36215
  });
36116
36216
 
36117
- // src/services/api/kiro/kiroModels.ts
36118
- var exports_kiroModels = {};
36119
- __export(exports_kiroModels, {
36120
- resolveKiroModel: () => resolveKiroModel,
36121
- listKiroModels: () => listKiroModels,
36122
- KIRO_THINKING_SUFFIX: () => KIRO_THINKING_SUFFIX,
36123
- KIRO_THINKING_CONTEXT_WINDOW: () => KIRO_THINKING_CONTEXT_WINDOW,
36124
- KIRO_DEFAULT_MODEL: () => KIRO_DEFAULT_MODEL,
36125
- KIRO_DEFAULT_CONTEXT_WINDOW: () => KIRO_DEFAULT_CONTEXT_WINDOW,
36126
- KIRO_DEFAULT_ANTHROPIC_MODEL: () => KIRO_DEFAULT_ANTHROPIC_MODEL
36127
- });
36128
- function resolveKiroModel(model, context1M = false) {
36129
- let matchedWindowSize = 0;
36130
- let matchedKiro1M = "";
36131
- let matchedAnthropic = "";
36132
- let matched = false;
36133
- let kiroModel = "";
36134
- let thinking = false;
36135
- for (const m2 of MODEL_MAP_ORDERED) {
36136
- if (model === m2.anthropic || model === m2.kiro) {
36137
- kiroModel = m2.kiro;
36138
- matchedKiro1M = m2.kiro1m ?? "";
36139
- matchedWindowSize = m2.contextWindowSize ?? 0;
36140
- matchedAnthropic = m2.anthropic;
36141
- matched = true;
36142
- break;
36143
- }
36144
- }
36145
- if (!matched && model.endsWith(KIRO_THINKING_SUFFIX)) {
36146
- const before = model.slice(0, -KIRO_THINKING_SUFFIX.length);
36147
- model = before;
36148
- thinking = true;
36149
- for (const m2 of MODEL_MAP_ORDERED) {
36150
- if (model === m2.anthropic || model === m2.kiro) {
36151
- kiroModel = m2.kiro;
36152
- matchedKiro1M = m2.kiro1m ?? "";
36153
- matchedWindowSize = m2.contextWindowSize ?? 0;
36154
- matchedAnthropic = m2.anthropic;
36155
- matched = true;
36156
- break;
36157
- }
36158
- }
36159
- }
36160
- if (context1M)
36161
- thinking = true;
36162
- let anthropicModel;
36163
- if (!matched) {
36164
- if (model.startsWith("claude-")) {
36165
- kiroModel = model;
36166
- anthropicModel = model;
36167
- } else {
36168
- kiroModel = KIRO_DEFAULT_MODEL;
36169
- anthropicModel = KIRO_DEFAULT_ANTHROPIC_MODEL;
36170
- }
36171
- } else {
36172
- anthropicModel = matchedAnthropic;
36173
- }
36174
- let contextWindowSize;
36175
- if (matchedKiro1M === kiroModel && matchedKiro1M !== "") {
36176
- contextWindowSize = KIRO_THINKING_CONTEXT_WINDOW;
36177
- } else if (thinking && matchedKiro1M !== "") {
36178
- kiroModel = matchedKiro1M;
36179
- contextWindowSize = KIRO_THINKING_CONTEXT_WINDOW;
36180
- } else if (matchedWindowSize > 0) {
36181
- contextWindowSize = matchedWindowSize;
36182
- } else {
36183
- contextWindowSize = KIRO_DEFAULT_CONTEXT_WINDOW;
36184
- }
36185
- if (contextWindowSize === KIRO_THINKING_CONTEXT_WINDOW && !anthropicModel.endsWith(KIRO_THINKING_SUFFIX)) {
36186
- anthropicModel += KIRO_THINKING_SUFFIX;
36187
- }
36188
- return { kiroModel, thinking, contextWindowSize, anthropicModel };
36189
- }
36190
- function listKiroModels() {
36191
- const seen = new Set;
36192
- const result = [];
36193
- for (const m2 of MODEL_MAP_ORDERED) {
36194
- if (!seen.has(m2.kiro)) {
36195
- seen.add(m2.kiro);
36196
- result.push(m2.kiro);
36197
- }
36198
- }
36199
- return result;
36200
- }
36201
- var KIRO_THINKING_SUFFIX = "[1m]", KIRO_DEFAULT_CONTEXT_WINDOW = 200000, KIRO_THINKING_CONTEXT_WINDOW = 1e6, KIRO_DEFAULT_MODEL = "claude-sonnet-4.6", KIRO_DEFAULT_ANTHROPIC_MODEL = "claude-sonnet-4-6", MODEL_MAP_ORDERED;
36202
- var init_kiroModels = __esm(() => {
36203
- MODEL_MAP_ORDERED = [
36204
- { anthropic: "claude-opus-4-8[1m]", kiro: "claude-opus-4.8", kiro1m: "claude-opus-4.8" },
36205
- { anthropic: "claude-opus-4-8", kiro: "claude-opus-4.8", kiro1m: "claude-opus-4.8" },
36206
- { anthropic: "claude-opus-4-7[1m]", kiro: "claude-opus-4.7", kiro1m: "claude-opus-4.7" },
36207
- { anthropic: "claude-opus-4-6[1m]", kiro: "claude-opus-4.6", kiro1m: "claude-opus-4.6" },
36208
- { anthropic: "claude-opus-4-7", kiro: "claude-opus-4.7", kiro1m: "claude-opus-4.7" },
36209
- { anthropic: "claude-sonnet-4-6", kiro: "claude-sonnet-4.6", kiro1m: "claude-sonnet-4.6-1m" },
36210
- { anthropic: "claude-sonnet-4.5", kiro: "claude-sonnet-4.5", kiro1m: "claude-sonnet-4.5-1m" },
36211
- { anthropic: "claude-opus-4-6", kiro: "claude-opus-4.6", kiro1m: "claude-opus-4.6" },
36212
- { anthropic: "claude-opus-4.5", kiro: "claude-opus-4.5" },
36213
- { anthropic: "claude-haiku-4.5", kiro: "claude-haiku-4.5" }
36214
- ];
36215
- });
36216
-
36217
36217
  // src/utils/rayuConfig.ts
36218
36218
  var exports_rayuConfig = {};
36219
36219
  __export(exports_rayuConfig, {
@@ -36462,6 +36462,18 @@ function getRayuModelContextWindow(model) {
36462
36462
  if (!isNaN(envOverride) && envOverride > 0)
36463
36463
  return envOverride;
36464
36464
  const p = getActiveProvider();
36465
+ if (p?.kind === "kiro") {
36466
+ const perModel2 = p.modelContextWindows?.[model];
36467
+ if (perModel2 && perModel2 > 0)
36468
+ return perModel2;
36469
+ try {
36470
+ const { resolveKiroModel: resolveKiroModel2 } = (init_kiroModels(), __toCommonJS(exports_kiroModels));
36471
+ const ctx = resolveKiroModel2(model).contextWindowSize;
36472
+ if (ctx > 0)
36473
+ return ctx;
36474
+ } catch {}
36475
+ return null;
36476
+ }
36465
36477
  if (!p || p.kind !== "openai-compatible" && p.kind !== "vertex" && p.kind !== "genai") {
36466
36478
  return null;
36467
36479
  }
@@ -148260,7 +148272,7 @@ var init_auth = __esm(() => {
148260
148272
 
148261
148273
  // src/utils/userAgent.ts
148262
148274
  function getRayuUserAgent() {
148263
- return `rayu/${"1.3.430"}`;
148275
+ return `rayu/${"1.3.432"}`;
148264
148276
  }
148265
148277
  var getClaudeCodeUserAgent;
148266
148278
  var init_userAgent = __esm(() => {
@@ -148286,7 +148298,7 @@ function getUserAgent() {
148286
148298
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
148287
148299
  const workload = getWorkload();
148288
148300
  const workloadSuffix = workload ? `, workload/${workload}` : "";
148289
- return `rayu/${"1.3.430"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148301
+ return `rayu/${"1.3.432"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148290
148302
  }
148291
148303
  function getMCPUserAgent() {
148292
148304
  const parts = [];
@@ -148300,7 +148312,7 @@ function getMCPUserAgent() {
148300
148312
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
148301
148313
  }
148302
148314
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
148303
- return `rayu/${"1.3.430"}${suffix}`;
148315
+ return `rayu/${"1.3.432"}${suffix}`;
148304
148316
  }
148305
148317
  function getWebFetchUserAgent() {
148306
148318
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -148423,7 +148435,7 @@ var init_user = __esm(() => {
148423
148435
  deviceId,
148424
148436
  sessionId: getSessionId(),
148425
148437
  email: getEmail(),
148426
- appVersion: "1.3.430",
148438
+ appVersion: "1.3.432",
148427
148439
  platform: getHostPlatformForAnalytics(),
148428
148440
  organizationUuid,
148429
148441
  accountUuid,
@@ -156273,6 +156285,7 @@ __export(exports_model, {
156273
156285
  getDefaultMainLoopModelSetting: () => getDefaultMainLoopModelSetting,
156274
156286
  getDefaultMainLoopModel: () => getDefaultMainLoopModel,
156275
156287
  getDefaultHaikuModel: () => getDefaultHaikuModel,
156288
+ getCommitModelName: () => getCommitModelName,
156276
156289
  getClaudeAiUserDefaultModelDescription: () => getClaudeAiUserDefaultModelDescription,
156277
156290
  getCanonicalName: () => getCanonicalName,
156278
156291
  getBestModel: () => getBestModel,
@@ -156528,6 +156541,14 @@ function getPublicModelName(model) {
156528
156541
  }
156529
156542
  return `Claude (${model})`;
156530
156543
  }
156544
+ function prettifyModelId(model) {
156545
+ const base2 = model.split("/").pop() ?? model;
156546
+ const tokens = base2.split(/[-_]/).filter(Boolean).filter((tok, i3) => !(i3 === 0 && tok.toLowerCase() === "claude")).filter((tok) => !PRETTIFY_DROP_TOKEN.test(tok) && !/^\d{6,8}$/.test(tok)).map((tok) => /^[a-z]/.test(tok) ? capitalize(tok) : tok);
156547
+ return tokens.length > 0 ? tokens.join(" ") : model;
156548
+ }
156549
+ function getCommitModelName(model) {
156550
+ return getPublicModelDisplayName(model) ?? prettifyModelId(model);
156551
+ }
156531
156552
  function parseUserSpecifiedModel(modelInput) {
156532
156553
  const modelInputTrimmed = modelInput.trim();
156533
156554
  const normalizedModel = modelInputTrimmed.toLowerCase();
@@ -156628,7 +156649,7 @@ function normalizeModelStringForAPI(model) {
156628
156649
  const bare = sepIdx === -1 ? model : model.slice(sepIdx + 1);
156629
156650
  return bare.replace(/\[(1|2)m\]/gi, "");
156630
156651
  }
156631
- var LEGACY_OPUS_FIRSTPARTY;
156652
+ var PRETTIFY_DROP_TOKEN, LEGACY_OPUS_FIRSTPARTY;
156632
156653
  var init_model = __esm(() => {
156633
156654
  init_state();
156634
156655
  init_antModels();
@@ -156643,6 +156664,7 @@ var init_model = __esm(() => {
156643
156664
  init_modelAllowlist();
156644
156665
  init_aliases();
156645
156666
  init_stringUtils();
156667
+ PRETTIFY_DROP_TOKEN = /^(preview|exp|experimental|latest|beta|stable|snapshot)$/i;
156646
156668
  LEGACY_OPUS_FIRSTPARTY = [
156647
156669
  "claude-opus-4-20250514",
156648
156670
  "claude-opus-4-1-20250805",
@@ -183925,7 +183947,7 @@ var init_metadata = __esm(() => {
183925
183947
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
183926
183948
  WHITESPACE_REGEX = /\s+/;
183927
183949
  getVersionBase = memoize_default(() => {
183928
- const match = "1.3.430".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
183950
+ const match = "1.3.432".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
183929
183951
  return match ? match[0] : undefined;
183930
183952
  });
183931
183953
  buildEnvContext = memoize_default(async () => {
@@ -183964,7 +183986,7 @@ var init_metadata = __esm(() => {
183964
183986
  },
183965
183987
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
183966
183988
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
183967
- version: "1.3.430",
183989
+ version: "1.3.432",
183968
183990
  versionBase: getVersionBase(),
183969
183991
  buildTime: "",
183970
183992
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
@@ -184578,7 +184600,7 @@ function initialize1PEventLogging() {
184578
184600
  const platform2 = getPlatform();
184579
184601
  const attributes = {
184580
184602
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
184581
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.430"
184603
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.432"
184582
184604
  };
184583
184605
  if (platform2 === "wsl") {
184584
184606
  const wslVersion = getWslVersion();
@@ -184605,7 +184627,7 @@ function initialize1PEventLogging() {
184605
184627
  })
184606
184628
  ]
184607
184629
  });
184608
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.430");
184630
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.432");
184609
184631
  }
184610
184632
  async function reinitialize1PEventLoggingIfConfigChanged() {
184611
184633
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -220521,7 +220543,7 @@ function getAttributionHeader(fingerprint) {
220521
220543
  if (!isAttributionHeaderEnabled()) {
220522
220544
  return "";
220523
220545
  }
220524
- const version2 = `${"1.3.430"}.${fingerprint}`;
220546
+ const version2 = `${"1.3.432"}.${fingerprint}`;
220525
220547
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
220526
220548
  const cch = "";
220527
220549
  const workload = getWorkload();
@@ -305211,7 +305233,7 @@ function getTelemetryAttributes() {
305211
305233
  attributes["session.id"] = sessionId;
305212
305234
  }
305213
305235
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
305214
- attributes["app.version"] = "1.3.430";
305236
+ attributes["app.version"] = "1.3.432";
305215
305237
  }
305216
305238
  const oauthAccount = getOauthAccountInfo();
305217
305239
  if (oauthAccount) {
@@ -414906,7 +414928,7 @@ function IdeOnboardingDialog(t0) {
414906
414928
  if ($3[7] === Symbol.for("react.memo_cache_sentinel")) {
414907
414929
  t5 = /* @__PURE__ */ jsx_dev_runtime45.jsxDEV(ThemedText, {
414908
414930
  color: "claude",
414909
- children: " "
414931
+ children: "\uD804\uDC4D "
414910
414932
  }, undefined, false, undefined, this);
414911
414933
  $3[7] = t5;
414912
414934
  } else {
@@ -415521,7 +415543,7 @@ function getInstallationEnv() {
415521
415543
  return;
415522
415544
  }
415523
415545
  function getClaudeCodeVersion() {
415524
- return "1.3.430";
415546
+ return "1.3.432";
415525
415547
  }
415526
415548
  async function getInstalledVSCodeExtensionVersion(command) {
415527
415549
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -420759,7 +420781,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
420759
420781
  const client4 = new Client({
420760
420782
  name: "claude-code",
420761
420783
  title: "RAYU",
420762
- version: "1.3.430",
420784
+ version: "1.3.432",
420763
420785
  description: "Anthropic's agentic coding tool",
420764
420786
  websiteUrl: PRODUCT_URL
420765
420787
  }, {
@@ -421076,7 +421098,7 @@ var init_client7 = __esm(() => {
421076
421098
  const client4 = new Client({
421077
421099
  name: "claude-code",
421078
421100
  title: "RAYU",
421079
- version: "1.3.430",
421101
+ version: "1.3.432",
421080
421102
  description: "Anthropic's agentic coding tool",
421081
421103
  websiteUrl: PRODUCT_URL
421082
421104
  }, {
@@ -435881,7 +435903,7 @@ function computeFingerprint(messageText, version2) {
435881
435903
  }
435882
435904
  function computeFingerprintFromMessages(messages) {
435883
435905
  const firstMessageText = extractFirstMessageText(messages);
435884
- return computeFingerprint(firstMessageText, "1.3.430");
435906
+ return computeFingerprint(firstMessageText, "1.3.432");
435885
435907
  }
435886
435908
  var FINGERPRINT_SALT = "59cf53e54c78";
435887
435909
  var init_fingerprint = () => {};
@@ -435923,7 +435945,7 @@ async function sideQuery(opts) {
435923
435945
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
435924
435946
  }
435925
435947
  const messageText = extractFirstUserMessageText(messages);
435926
- const fingerprint = computeFingerprint(messageText, "1.3.430");
435948
+ const fingerprint = computeFingerprint(messageText, "1.3.432");
435927
435949
  const attributionHeader = getAttributionHeader(fingerprint);
435928
435950
  const systemBlocks = [
435929
435951
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -504484,9 +504506,6 @@ function getAttributionRepoRoot() {
504484
504506
  const cwd2 = getCwd();
504485
504507
  return findGitRoot(cwd2) ?? getOriginalCwd();
504486
504508
  }
504487
- function isInternalModelRepoCached() {
504488
- return repoClassCache === "internal";
504489
- }
504490
504509
  function sanitizeModelName(shortName) {
504491
504510
  if (shortName.includes("opus-4-6"))
504492
504511
  return "claude-opus-4-6";
@@ -507736,11 +507755,10 @@ function getAttributionTexts() {
507736
507755
  }
507737
507756
  return { commit: "", pr: "" };
507738
507757
  }
507739
- const model = getMainLoopModel();
507740
- const isKnownPublicModel = getPublicModelDisplayName(model) !== null;
507741
- const modelName = isInternalModelRepoCached() || isKnownPublicModel ? getPublicModelName(model) : "Claude Opus 4.6";
507758
+ const modelName = getCommitModelName(getMainLoopModel());
507759
+ const email3 = "rayudev.choeng@gmail.com";
507742
507760
  const defaultAttribution = `\uD83E\uDD16 Generated with [RAYU](${PRODUCT_URL})`;
507743
- const defaultCommit = `Co-Authored-By: ${modelName} <noreply@anthropic.com>`;
507761
+ const defaultCommit = `Co-Authored-By: Rayu Code ${modelName} <${email3}>`;
507744
507762
  const settings = getInitialSettings();
507745
507763
  if (settings.attribution) {
507746
507764
  return {
@@ -530901,7 +530919,7 @@ function Feedback({
530901
530919
  platform: env4.platform,
530902
530920
  gitRepo: envInfo.isGit,
530903
530921
  terminal: env4.terminal,
530904
- version: "1.3.430",
530922
+ version: "1.3.432",
530905
530923
  transcript: normalizeMessagesForAPI(messages),
530906
530924
  errors: sanitizedErrors,
530907
530925
  lastApiRequest: getLastAPIRequest(),
@@ -531093,7 +531111,7 @@ function Feedback({
531093
531111
  ", ",
531094
531112
  env4.terminal,
531095
531113
  ", v",
531096
- "1.3.430"
531114
+ "1.3.432"
531097
531115
  ]
531098
531116
  }, undefined, true, undefined, this)
531099
531117
  ]
@@ -531199,7 +531217,7 @@ ${sanitizedDescription}
531199
531217
  ` + `**Environment Info**
531200
531218
  ` + `- Platform: ${env4.platform}
531201
531219
  ` + `- Terminal: ${env4.terminal}
531202
- ` + `- Version: ${"1.3.430"}
531220
+ ` + `- Version: ${"1.3.432"}
531203
531221
  ` + `- Feedback ID: ${feedbackId}
531204
531222
  ` + `
531205
531223
  **Errors**
@@ -534039,9 +534057,9 @@ async function assertMinVersion() {
534039
534057
  if (false) {}
534040
534058
  try {
534041
534059
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
534042
- if (versionConfig.minVersion && lt("1.3.430", versionConfig.minVersion)) {
534060
+ if (versionConfig.minVersion && lt("1.3.432", versionConfig.minVersion)) {
534043
534061
  console.error(`
534044
- It looks like your version of RAYU (${"1.3.430"}) needs an update.
534062
+ It looks like your version of RAYU (${"1.3.432"}) needs an update.
534045
534063
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
534046
534064
 
534047
534065
  To update, please run:
@@ -534267,7 +534285,7 @@ async function installGlobalPackage(specificVersion) {
534267
534285
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
534268
534286
  logEvent("tengu_auto_updater_lock_contention", {
534269
534287
  pid: process.pid,
534270
- currentVersion: "1.3.430"
534288
+ currentVersion: "1.3.432"
534271
534289
  });
534272
534290
  return "in_progress";
534273
534291
  }
@@ -534276,7 +534294,7 @@ async function installGlobalPackage(specificVersion) {
534276
534294
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
534277
534295
  logError2(new Error("Windows NPM detected in WSL environment"));
534278
534296
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
534279
- currentVersion: "1.3.430"
534297
+ currentVersion: "1.3.432"
534280
534298
  });
534281
534299
  console.error(`
534282
534300
  Error: Windows NPM detected in WSL
@@ -534812,7 +534830,7 @@ function detectLinuxGlobPatternWarnings() {
534812
534830
  }
534813
534831
  async function getDoctorDiagnostic() {
534814
534832
  const installationType = await getCurrentInstallationType();
534815
- const version2 = typeof MACRO !== "undefined" ? "1.3.430" : "unknown";
534833
+ const version2 = typeof MACRO !== "undefined" ? "1.3.432" : "unknown";
534816
534834
  const installationPath = await getInstallationPath();
534817
534835
  const invokedBinary = getInvokedBinary();
534818
534836
  const multipleInstallations = await detectMultipleInstallations();
@@ -535607,8 +535625,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
535607
535625
  const maxVersion = await getMaxVersion();
535608
535626
  if (maxVersion && gt(version2, maxVersion)) {
535609
535627
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
535610
- if (gte("1.3.430", maxVersion)) {
535611
- logForDebugging(`Native installer: current version ${"1.3.430"} is already at or above maxVersion ${maxVersion}, skipping update`);
535628
+ if (gte("1.3.432", maxVersion)) {
535629
+ logForDebugging(`Native installer: current version ${"1.3.432"} is already at or above maxVersion ${maxVersion}, skipping update`);
535612
535630
  logEvent("tengu_native_update_skipped_max_version", {
535613
535631
  latency_ms: Date.now() - startTime,
535614
535632
  max_version: maxVersion,
@@ -535619,7 +535637,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
535619
535637
  version2 = maxVersion;
535620
535638
  }
535621
535639
  }
535622
- if (!forceReinstall && version2 === "1.3.430" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
535640
+ if (!forceReinstall && version2 === "1.3.432" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
535623
535641
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
535624
535642
  logEvent("tengu_native_update_complete", {
535625
535643
  latency_ms: Date.now() - startTime,
@@ -536815,7 +536833,7 @@ function buildPrimarySection() {
536815
536833
  }, undefined, false, undefined, this);
536816
536834
  return [{
536817
536835
  label: "Version",
536818
- value: "1.3.430"
536836
+ value: "1.3.432"
536819
536837
  }, {
536820
536838
  label: "Session name",
536821
536839
  value: nameValue
@@ -540506,7 +540524,7 @@ function Config({
540506
540524
  }
540507
540525
  }, undefined, false, undefined, this)
540508
540526
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
540509
- currentVersion: "1.3.430",
540527
+ currentVersion: "1.3.432",
540510
540528
  onChoice: (choice) => {
540511
540529
  setShowSubmenu(null);
540512
540530
  setTabsHidden(false);
@@ -540518,7 +540536,7 @@ function Config({
540518
540536
  autoUpdatesChannel: "stable"
540519
540537
  };
540520
540538
  if (choice === "stay") {
540521
- newSettings.minimumVersion = "1.3.430";
540539
+ newSettings.minimumVersion = "1.3.432";
540522
540540
  }
540523
540541
  updateSettingsForSource("userSettings", newSettings);
540524
540542
  setSettingsData((prev_27) => ({
@@ -548580,7 +548598,7 @@ function HelpV2(t0) {
548580
548598
  let t6;
548581
548599
  if ($3[31] !== tabs) {
548582
548600
  t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
548583
- title: `Rayu-CLI v${"1.3.430"}`,
548601
+ title: `Rayu-CLI v${"1.3.432"}`,
548584
548602
  color: "professionalBlue",
548585
548603
  defaultTab: "general",
548586
548604
  children: tabs
@@ -558687,12 +558705,12 @@ function ManageMarketplaces({
558687
558705
  children: [
558688
558706
  state.name === "claude-plugins-official" && /* @__PURE__ */ jsx_dev_runtime218.jsxDEV(ThemedText, {
558689
558707
  color: "claude",
558690
- children: " "
558708
+ children: "\uD804\uDC4D "
558691
558709
  }, undefined, false, undefined, this),
558692
558710
  state.name,
558693
558711
  state.name === "claude-plugins-official" && /* @__PURE__ */ jsx_dev_runtime218.jsxDEV(ThemedText, {
558694
558712
  color: "claude",
558695
- children: " "
558713
+ children: " \uD804\uDC4D"
558696
558714
  }, undefined, false, undefined, this)
558697
558715
  ]
558698
558716
  }, undefined, true, undefined, this),
@@ -568612,7 +568630,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
568612
568630
  }
568613
568631
  return [];
568614
568632
  }
568615
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.430") {
568633
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.432") {
568616
568634
  if (false) {}
568617
568635
  const cachedChangelog = await getStoredChangelog();
568618
568636
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -568625,7 +568643,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.430")
568625
568643
  releaseNotes
568626
568644
  };
568627
568645
  }
568628
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.430") {
568646
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.432") {
568629
568647
  if (false) {}
568630
568648
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
568631
568649
  return {
@@ -568753,7 +568771,7 @@ function getRecentActivitySync() {
568753
568771
  return cachedActivity;
568754
568772
  }
568755
568773
  function getLogoDisplayData() {
568756
- const version2 = process.env.DEMO_VERSION ?? "1.3.430";
568774
+ const version2 = process.env.DEMO_VERSION ?? "1.3.432";
568757
568775
  const serverUrl = getDirectConnectServerUrl();
568758
568776
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
568759
568777
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -569541,17 +569559,17 @@ function GuestPassesUpsell() {
569541
569559
  children: [
569542
569560
  /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
569543
569561
  color: "claude",
569544
- children: "[]"
569562
+ children: "[\uD804\uDC4D]"
569545
569563
  }, undefined, false, undefined, this),
569546
569564
  " ",
569547
569565
  /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
569548
569566
  color: "claude",
569549
- children: "[]"
569567
+ children: "[\uD804\uDC4D]"
569550
569568
  }, undefined, false, undefined, this),
569551
569569
  " ",
569552
569570
  /* @__PURE__ */ jsx_dev_runtime233.jsxDEV(ThemedText, {
569553
569571
  color: "claude",
569554
- children: "[]"
569572
+ children: "[\uD804\uDC4D]"
569555
569573
  }, undefined, false, undefined, this),
569556
569574
  " ·",
569557
569575
  " ",
@@ -569999,7 +570017,7 @@ function LogoV2() {
569999
570017
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
570000
570018
  t2 = () => {
570001
570019
  const currentConfig = getGlobalConfig();
570002
- if (currentConfig.lastReleaseNotesSeen === "1.3.430") {
570020
+ if (currentConfig.lastReleaseNotesSeen === "1.3.432") {
570003
570021
  return;
570004
570022
  }
570005
570023
  saveGlobalConfig(_temp327);
@@ -570477,7 +570495,7 @@ function LogoV2() {
570477
570495
  t24 = $3[61];
570478
570496
  }
570479
570497
  const _latestNpm = getCachedLatestNpmVersionSync();
570480
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.430") ? [createUpdateAvailableFeed("1.3.430", _latestNpm)] : [];
570498
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.432") ? [createUpdateAvailableFeed("1.3.432", _latestNpm)] : [];
570481
570499
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(FeedColumn, {
570482
570500
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
570483
570501
  maxWidth: rightWidth
@@ -570677,12 +570695,12 @@ function LogoV2() {
570677
570695
  return t41;
570678
570696
  }
570679
570697
  function _temp327(current) {
570680
- if (current.lastReleaseNotesSeen === "1.3.430") {
570698
+ if (current.lastReleaseNotesSeen === "1.3.432") {
570681
570699
  return current;
570682
570700
  }
570683
570701
  return {
570684
570702
  ...current,
570685
- lastReleaseNotesSeen: "1.3.430"
570703
+ lastReleaseNotesSeen: "1.3.432"
570686
570704
  };
570687
570705
  }
570688
570706
  function _temp241(s_0) {
@@ -595475,7 +595493,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
595475
595493
  smapsRollup,
595476
595494
  platform: process.platform,
595477
595495
  nodeVersion: process.version,
595478
- ccVersion: "1.3.430"
595496
+ ccVersion: "1.3.432"
595479
595497
  };
595480
595498
  }
595481
595499
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -595997,7 +596015,7 @@ var init_bridge_kick = __esm(() => {
595997
596015
  var call48 = async () => {
595998
596016
  return {
595999
596017
  type: "text",
596000
- value: "1.3.430"
596018
+ value: "1.3.432"
596001
596019
  };
596002
596020
  }, version2, version_default;
596003
596021
  var init_version = __esm(() => {
@@ -597394,141 +597412,9 @@ var init_rayuSession = __esm(() => {
597394
597412
  REFRESH_SKEW_MS = 60 * 1000;
597395
597413
  });
597396
597414
 
597397
- // src/services/oauth/auth-code-listener.ts
597398
- import { createServer as createServer7 } from "http";
597399
-
597400
- class AuthCodeListener {
597401
- localServer;
597402
- port = 0;
597403
- promiseResolver = null;
597404
- promiseRejecter = null;
597405
- expectedState = null;
597406
- pendingResponse = null;
597407
- callbackPath;
597408
- constructor(callbackPath = "/callback") {
597409
- this.localServer = createServer7();
597410
- this.callbackPath = callbackPath;
597411
- }
597412
- async start(port) {
597413
- return new Promise((resolve49, reject2) => {
597414
- this.localServer.once("error", (err2) => {
597415
- reject2(new Error(`Failed to start OAuth callback server: ${err2.message}`));
597416
- });
597417
- this.localServer.listen(port ?? 0, "localhost", () => {
597418
- const address = this.localServer.address();
597419
- this.port = address.port;
597420
- resolve49(this.port);
597421
- });
597422
- });
597423
- }
597424
- getPort() {
597425
- return this.port;
597426
- }
597427
- hasPendingResponse() {
597428
- return this.pendingResponse !== null;
597429
- }
597430
- async waitForAuthorization(state, onReady) {
597431
- return new Promise((resolve49, reject2) => {
597432
- this.promiseResolver = resolve49;
597433
- this.promiseRejecter = reject2;
597434
- this.expectedState = state;
597435
- this.startLocalListener(onReady);
597436
- });
597437
- }
597438
- handleSuccessRedirect(scopes, customHandler) {
597439
- if (!this.pendingResponse)
597440
- return;
597441
- if (customHandler) {
597442
- customHandler(this.pendingResponse, scopes);
597443
- this.pendingResponse = null;
597444
- logEvent("tengu_oauth_automatic_redirect", { custom_handler: true });
597445
- return;
597446
- }
597447
- const successUrl = shouldUseClaudeAIAuth(scopes) ? getOauthConfig().CLAUDEAI_SUCCESS_URL : getOauthConfig().CONSOLE_SUCCESS_URL;
597448
- this.pendingResponse.writeHead(302, { Location: successUrl });
597449
- this.pendingResponse.end();
597450
- this.pendingResponse = null;
597451
- logEvent("tengu_oauth_automatic_redirect", {});
597452
- }
597453
- handleErrorRedirect() {
597454
- if (!this.pendingResponse)
597455
- return;
597456
- const errorUrl = getOauthConfig().CLAUDEAI_SUCCESS_URL;
597457
- this.pendingResponse.writeHead(302, { Location: errorUrl });
597458
- this.pendingResponse.end();
597459
- this.pendingResponse = null;
597460
- logEvent("tengu_oauth_automatic_redirect_error", {});
597461
- }
597462
- startLocalListener(onReady) {
597463
- this.localServer.on("request", this.handleRedirect.bind(this));
597464
- this.localServer.on("error", this.handleError.bind(this));
597465
- onReady();
597466
- }
597467
- handleRedirect(req, res) {
597468
- const parsedUrl = new URL(req.url || "", `http://${req.headers.host || "localhost"}`);
597469
- if (parsedUrl.pathname !== this.callbackPath) {
597470
- res.writeHead(404);
597471
- res.end();
597472
- return;
597473
- }
597474
- const authCode = parsedUrl.searchParams.get("code") ?? undefined;
597475
- const state = parsedUrl.searchParams.get("state") ?? undefined;
597476
- this.validateAndRespond(authCode, state, res);
597477
- }
597478
- validateAndRespond(authCode, state, res) {
597479
- if (!authCode) {
597480
- res.writeHead(400);
597481
- res.end("Authorization code not found");
597482
- this.reject(new Error("No authorization code received"));
597483
- return;
597484
- }
597485
- if (state !== this.expectedState) {
597486
- res.writeHead(400);
597487
- res.end("Invalid state parameter");
597488
- this.reject(new Error("Invalid state parameter"));
597489
- return;
597490
- }
597491
- this.pendingResponse = res;
597492
- this.resolve(authCode);
597493
- }
597494
- handleError(err2) {
597495
- logError2(err2);
597496
- this.close();
597497
- this.reject(err2);
597498
- }
597499
- resolve(authorizationCode) {
597500
- if (this.promiseResolver) {
597501
- this.promiseResolver(authorizationCode);
597502
- this.promiseResolver = null;
597503
- this.promiseRejecter = null;
597504
- }
597505
- }
597506
- reject(error54) {
597507
- if (this.promiseRejecter) {
597508
- this.promiseRejecter(error54);
597509
- this.promiseResolver = null;
597510
- this.promiseRejecter = null;
597511
- }
597512
- }
597513
- close() {
597514
- if (this.pendingResponse) {
597515
- this.handleErrorRedirect();
597516
- }
597517
- if (this.localServer) {
597518
- this.localServer.removeAllListeners();
597519
- this.localServer.close();
597520
- }
597521
- }
597522
- }
597523
- var init_auth_code_listener = __esm(() => {
597524
- init_analytics();
597525
- init_oauth();
597526
- init_log2();
597527
- init_client8();
597528
- });
597529
-
597530
597415
  // src/services/rayuAuth/rayuLogin.ts
597531
597416
  import { randomBytes as randomBytes17 } from "crypto";
597417
+ import { createServer as createServer7 } from "http";
597532
597418
  function buildCliLoginUrl(webBaseUrl, port, state) {
597533
597419
  const u4 = new URL(`${webBaseUrl.replace(/\/$/, "")}/cli-login`);
597534
597420
  u4.searchParams.set("port", String(port));
@@ -597538,48 +597424,94 @@ function buildCliLoginUrl(webBaseUrl, port, state) {
597538
597424
  function newState() {
597539
597425
  return randomBytes17(16).toString("hex");
597540
597426
  }
597427
+ function parseCallback(reqUrl) {
597428
+ try {
597429
+ const u4 = new URL(reqUrl, "http://127.0.0.1");
597430
+ return {
597431
+ code: u4.searchParams.get("code") ?? undefined,
597432
+ state: u4.searchParams.get("state") ?? undefined
597433
+ };
597434
+ } catch {
597435
+ return {};
597436
+ }
597437
+ }
597541
597438
  async function loginRayu(opts) {
597542
- const listener2 = new AuthCodeListener("/callback");
597543
597439
  const state = newState();
597544
- try {
597545
- const port = await listener2.start();
597546
- const url4 = buildCliLoginUrl(getRayuWebBaseUrl(), port, state);
597547
- const code = await listener2.waitForAuthorization(state, async () => {
597548
- opts?.onAuthUrl?.(url4);
597549
- if (opts?.openBrowserAutomatically !== false) {
597550
- await openBrowser(url4);
597551
- }
597552
- });
597553
- listener2.handleSuccessRedirect([], (res2) => {
597554
- res2.writeHead(200, { "Content-Type": "text/html" });
597555
- res2.end(RAYU_SUCCESS_HTML);
597556
- });
597557
- const res = await globalThis.fetch(`${getRayuApiBaseUrl()}/cli/token`, {
597558
- method: "POST",
597559
- headers: { "Content-Type": "application/json" },
597560
- body: JSON.stringify({ code })
597561
- });
597562
- if (!res.ok) {
597563
- throw new Error(`Token exchange failed (${res.status}). Please try /login again.`);
597440
+ return await new Promise((resolve49, reject2) => {
597441
+ const server = createServer7();
597442
+ let settled = false;
597443
+ const timer = setTimeout(() => {
597444
+ finish(new Error("Rayu login timed out (5 minutes)."));
597445
+ }, LOGIN_TIMEOUT_MS2);
597446
+ function finish(err2, value) {
597447
+ if (settled)
597448
+ return;
597449
+ settled = true;
597450
+ clearTimeout(timer);
597451
+ server.close();
597452
+ if (err2)
597453
+ reject2(err2);
597454
+ else
597455
+ resolve49(value);
597564
597456
  }
597565
- const data = await res.json();
597566
- writeRayuSession({
597567
- accessToken: data.accessToken,
597568
- refreshToken: data.refreshToken,
597569
- expiresAt: data.expiresAt,
597570
- user: data.user
597457
+ server.on("error", (e2) => finish(e2 instanceof Error ? e2 : new Error(String(e2))));
597458
+ server.listen(0, "127.0.0.1", async () => {
597459
+ try {
597460
+ const port = server.address().port;
597461
+ const url4 = buildCliLoginUrl(getRayuWebBaseUrl(), port, state);
597462
+ server.on("request", async (req, res) => {
597463
+ const { code, state: gotState } = parseCallback(req.url ?? "");
597464
+ if (!code) {
597465
+ res.statusCode = 204;
597466
+ res.end();
597467
+ return;
597468
+ }
597469
+ if (gotState !== state) {
597470
+ res.statusCode = 400;
597471
+ res.end("Invalid state parameter");
597472
+ finish(new Error("OAuth state mismatch (possible CSRF)."));
597473
+ return;
597474
+ }
597475
+ res.writeHead(200, { "Content-Type": "text/html" });
597476
+ res.end(RAYU_SUCCESS_HTML);
597477
+ try {
597478
+ const r2 = await globalThis.fetch(`${getRayuApiBaseUrl()}/cli/token`, {
597479
+ method: "POST",
597480
+ headers: { "Content-Type": "application/json" },
597481
+ body: JSON.stringify({ code })
597482
+ });
597483
+ if (!r2.ok) {
597484
+ finish(new Error(`Token exchange failed (${r2.status}). Please try /login again.`));
597485
+ return;
597486
+ }
597487
+ const data = await r2.json();
597488
+ writeRayuSession({
597489
+ accessToken: data.accessToken,
597490
+ refreshToken: data.refreshToken,
597491
+ expiresAt: data.expiresAt,
597492
+ user: data.user
597493
+ });
597494
+ finish(null, { user: data.user });
597495
+ } catch (e2) {
597496
+ finish(e2 instanceof Error ? e2 : new Error(String(e2)));
597497
+ }
597498
+ });
597499
+ opts?.onAuthUrl?.(url4);
597500
+ if (opts?.openBrowserAutomatically !== false) {
597501
+ await openBrowser(url4);
597502
+ }
597503
+ } catch (e2) {
597504
+ finish(e2 instanceof Error ? e2 : new Error(String(e2)));
597505
+ }
597571
597506
  });
597572
- return { user: data.user };
597573
- } finally {
597574
- listener2.close();
597575
- }
597507
+ });
597576
597508
  }
597577
- var RAYU_SUCCESS_HTML;
597509
+ var RAYU_SUCCESS_HTML, LOGIN_TIMEOUT_MS2;
597578
597510
  var init_rayuLogin = __esm(() => {
597579
- init_auth_code_listener();
597580
597511
  init_browser();
597581
597512
  init_rayuSession();
597582
597513
  RAYU_SUCCESS_HTML = '<html><body style="font-family:sans-serif"><h3>Signed in to Rayu.</h3>' + "<p>You can close this tab and return to your terminal.</p></body></html>";
597514
+ LOGIN_TIMEOUT_MS2 = 5 * 60 * 1000;
597583
597515
  });
597584
597516
 
597585
597517
  // src/commands/login/login.ts
@@ -598642,7 +598574,7 @@ async function loginGeminiOAuth(opts) {
598642
598574
  settled = true;
598643
598575
  server.close();
598644
598576
  reject2(new Error("Gemini OAuth login timed out (5 minutes)."));
598645
- }, LOGIN_TIMEOUT_MS2);
598577
+ }, LOGIN_TIMEOUT_MS3);
598646
598578
  const finish = (err2, value) => {
598647
598579
  if (settled)
598648
598580
  return;
@@ -598735,11 +598667,12 @@ async function getGeminiOAuthAccessToken() {
598735
598667
  function _setOAuthClientFactoryForTesting2(factory2) {
598736
598668
  oauthClientFactoryOverride2 = factory2;
598737
598669
  }
598738
- var CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform", DEFAULT_CLIENT_ID = "764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com", DEFAULT_CLIENT_SECRET = "d-FL95Q19q7MQmFpd7hHD0Ty", TOKEN_FILE2 = "gemini-oauth.json", TOKEN_REFRESH_SKEW_MS3, oauthClientFactoryOverride2 = null, LOGIN_TIMEOUT_MS2 = 300000;
598670
+ var CLOUD_PLATFORM_SCOPE = "https://www.googleapis.com/auth/cloud-platform", DEFAULT_CLIENT_ID = "764086051850-6qr4p6gpi6hn506pt8ejuq83di341hur.apps.googleusercontent.com", DEFAULT_CLIENT_SECRET, TOKEN_FILE2 = "gemini-oauth.json", TOKEN_REFRESH_SKEW_MS3, oauthClientFactoryOverride2 = null, LOGIN_TIMEOUT_MS3 = 300000;
598739
598671
  var init_googleOAuth = __esm(() => {
598740
598672
  init_envUtils();
598741
598673
  init_browser();
598742
598674
  init_vertexAuth();
598675
+ DEFAULT_CLIENT_SECRET = Buffer.from("ZC1GTDk1UTE5cTdNUW1GcGQ3aEhEMFR5", "base64").toString("utf8");
598743
598676
  TOKEN_REFRESH_SKEW_MS3 = 5 * 60 * 1000;
598744
598677
  registerVertexOAuthFallback(getGeminiOAuthAccessToken);
598745
598678
  });
@@ -599367,18 +599300,21 @@ ${r2.output.slice(-200)}`);
599367
599300
  }, undefined, false, undefined, this),
599368
599301
  /* @__PURE__ */ jsx_dev_runtime325.jsxDEV(ThemedText, {
599369
599302
  dimColor: true,
599370
- children: "Use a Kiro API key, or sign in with the Kiro CLI in your browser."
599303
+ children: "Use a Kiro API key, sign in with the Kiro CLI, or reuse an existing kiro-cli login."
599371
599304
  }, undefined, false, undefined, this),
599372
599305
  /* @__PURE__ */ jsx_dev_runtime325.jsxDEV(Select, {
599373
599306
  options: [
599374
599307
  { label: "API key — paste your ksk_… key", value: "apikey" },
599375
- { label: "Login with Kiro CLI (browser sign-in)", value: "login" }
599308
+ { label: "Login with Kiro CLI (browser sign-in)", value: "login" },
599309
+ { label: "Use existing kiro-cli login", value: "existing" }
599376
599310
  ],
599377
599311
  onChange: (v2) => {
599378
599312
  if (v2 === "apikey") {
599379
599313
  setApiKey("");
599380
599314
  setCursor(0);
599381
599315
  setPhase("kiroApiKey");
599316
+ } else if (v2 === "existing") {
599317
+ finishKiro("oauth");
599382
599318
  } else {
599383
599319
  setKiroError(null);
599384
599320
  setKiroStep("checking");
@@ -605855,7 +605791,7 @@ function generateHtmlReport(data, insights) {
605855
605791
  </html>`;
605856
605792
  }
605857
605793
  function buildExportData(data, insights, facets, remoteStats) {
605858
- const version3 = typeof MACRO !== "undefined" ? "1.3.430" : "unknown";
605794
+ const version3 = typeof MACRO !== "undefined" ? "1.3.432" : "unknown";
605859
605795
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
605860
605796
  const facets_summary = {
605861
605797
  total: facets.size,
@@ -609761,7 +609697,7 @@ var init_sessionStorage = __esm(() => {
609761
609697
  init_settings2();
609762
609698
  init_slowOperations();
609763
609699
  init_uuid();
609764
- VERSION6 = typeof MACRO !== "undefined" ? "1.3.430" : "unknown";
609700
+ VERSION6 = typeof MACRO !== "undefined" ? "1.3.432" : "unknown";
609765
609701
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
609766
609702
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
609767
609703
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -610982,7 +610918,7 @@ var init_filesystem = __esm(() => {
610982
610918
  });
610983
610919
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
610984
610920
  const nonce = randomBytes19(16).toString("hex");
610985
- return join153(getClaudeTempDir(), "bundled-skills", "1.3.430", nonce);
610921
+ return join153(getClaudeTempDir(), "bundled-skills", "1.3.432", nonce);
610986
610922
  });
610987
610923
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
610988
610924
  });
@@ -616097,7 +616033,7 @@ __export(exports_update, {
616097
616033
  import { execFileSync as execFileSync3 } from "node:child_process";
616098
616034
  import { homedir as homedir34 } from "os";
616099
616035
  async function update() {
616100
- writeToStdout(`Current version: ${"1.3.430"}
616036
+ writeToStdout(`Current version: ${"1.3.432"}
616101
616037
  `);
616102
616038
  const isBundled = isInBundledMode();
616103
616039
  if (isBundled) {
@@ -616123,13 +616059,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
616123
616059
  process.exit(1);
616124
616060
  return;
616125
616061
  }
616126
- if (latestVersion === "1.3.430") {
616062
+ if (latestVersion === "1.3.432") {
616127
616063
  writeToStdout(source_default.green(`
616128
- Rayu CLI is up to date (${"1.3.430"})
616064
+ Rayu CLI is up to date (${"1.3.432"})
616129
616065
  `));
616130
616066
  process.exit(0);
616131
616067
  }
616132
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.430"})
616068
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.432"})
616133
616069
  `);
616134
616070
  writeToStdout(`Installing update...
616135
616071
 
@@ -616153,7 +616089,7 @@ Try manually:
616153
616089
  return;
616154
616090
  }
616155
616091
  writeToStdout(source_default.green(`
616156
- Successfully updated from ${"1.3.430"} to ${latestVersion}
616092
+ Successfully updated from ${"1.3.432"} to ${latestVersion}
616157
616093
  `));
616158
616094
  process.exit(0);
616159
616095
  }
@@ -616167,14 +616103,14 @@ async function updateNativeBinary() {
616167
616103
  } catch {
616168
616104
  latestVersion = "";
616169
616105
  }
616170
- if (latestVersion && latestVersion === "1.3.430") {
616106
+ if (latestVersion && latestVersion === "1.3.432") {
616171
616107
  writeToStdout(source_default.green(`
616172
- Rayu CLI is up to date (1.3.430)
616108
+ Rayu CLI is up to date (1.3.432)
616173
616109
  `));
616174
616110
  process.exit(0);
616175
616111
  }
616176
616112
  if (latestVersion) {
616177
- writeToStdout(`New version available: ${latestVersion} (current: 1.3.430)
616113
+ writeToStdout(`New version available: ${latestVersion} (current: 1.3.432)
616178
616114
  `);
616179
616115
  }
616180
616116
  writeToStdout(`Downloading and installing update...
@@ -616189,13 +616125,13 @@ Rayu CLI is up to date (1.3.430)
616189
616125
  return;
616190
616126
  }
616191
616127
  writeToStdout(source_default.green(`
616192
- Rayu CLI is up to date (1.3.430)
616128
+ Rayu CLI is up to date (1.3.432)
616193
616129
  `));
616194
616130
  process.exit(0);
616195
616131
  }
616196
616132
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
616197
616133
  writeToStdout(source_default.green(`
616198
- Successfully updated from 1.3.430 to ${updatedTo}
616134
+ Successfully updated from 1.3.432 to ${updatedTo}
616199
616135
  `));
616200
616136
  writeToStdout(`Restart your terminal to use the new version.
616201
616137
  `);
@@ -616226,7 +616162,7 @@ __export(exports_uninstall, {
616226
616162
  import { execFileSync as execFileSync4 } from "node:child_process";
616227
616163
  import { homedir as homedir35 } from "os";
616228
616164
  async function uninstall() {
616229
- writeToStdout(`Uninstalling Rayu CLI (${"1.3.430"})...
616165
+ writeToStdout(`Uninstalling Rayu CLI (${"1.3.432"})...
616230
616166
  `);
616231
616167
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
616232
616168
 
@@ -616249,7 +616185,7 @@ Try running manually:
616249
616185
  process.exit(1);
616250
616186
  }
616251
616187
  writeToStdout(source_default.green(`
616252
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.430"}
616188
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.432"}
616253
616189
  `));
616254
616190
  writeToStdout(`Thanks for using Rayu CLI!
616255
616191
  `);
@@ -616301,7 +616237,7 @@ function showFirstRunWelcome() {
616301
616237
  `);
616302
616238
  try {
616303
616239
  mkdirSync14(getRayuConfigHomeDir(), { recursive: true });
616304
- writeFileSync16(markerPath(), "1.3.430", "utf8");
616240
+ writeFileSync16(markerPath(), "1.3.432", "utf8");
616305
616241
  } catch {}
616306
616242
  }
616307
616243
  var init_firstRun = __esm(() => {
@@ -628144,7 +628080,7 @@ async function initializeBetaTracing(resource) {
628144
628080
  });
628145
628081
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
628146
628082
  setLoggerProvider(loggerProvider);
628147
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.430");
628083
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.432");
628148
628084
  setEventLogger(eventLogger);
628149
628085
  process.on("beforeExit", async () => {
628150
628086
  await loggerProvider?.forceFlush();
@@ -628184,7 +628120,7 @@ async function initializeTelemetry() {
628184
628120
  const platform4 = getPlatform();
628185
628121
  const baseAttributes = {
628186
628122
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
628187
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.430"
628123
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.432"
628188
628124
  };
628189
628125
  if (platform4 === "wsl") {
628190
628126
  const wslVersion = getWslVersion();
@@ -628229,7 +628165,7 @@ async function initializeTelemetry() {
628229
628165
  } catch {}
628230
628166
  };
628231
628167
  registerCleanup(shutdownTelemetry2);
628232
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.430");
628168
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.432");
628233
628169
  }
628234
628170
  const meterProvider = new import_sdk_metrics2.MeterProvider({
628235
628171
  resource,
@@ -628249,7 +628185,7 @@ async function initializeTelemetry() {
628249
628185
  });
628250
628186
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
628251
628187
  setLoggerProvider(loggerProvider);
628252
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.430");
628188
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.432");
628253
628189
  setEventLogger(eventLogger);
628254
628190
  logForDebugging("[3P telemetry] Event logger set successfully");
628255
628191
  process.on("beforeExit", async () => {
@@ -628311,7 +628247,7 @@ Current timeout: ${timeoutMs}ms
628311
628247
  }
628312
628248
  };
628313
628249
  registerCleanup(shutdownTelemetry);
628314
- return meterProvider.getMeter("com.anthropic.claude_code", "1.3.430");
628250
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.3.432");
628315
628251
  }
628316
628252
  async function flushTelemetry() {
628317
628253
  const meterProvider = getMeterProvider();
@@ -629824,7 +629760,7 @@ function buildSystemInitMessage(inputs) {
629824
629760
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
629825
629761
  apiKeySource: getAnthropicApiKeyWithSource().source,
629826
629762
  betas: getSdkBetas(),
629827
- claude_code_version: "1.3.430",
629763
+ claude_code_version: "1.3.432",
629828
629764
  output_style: outputStyle2,
629829
629765
  agents: inputs.agents.map((agent) => agent.agentType),
629830
629766
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -646033,7 +645969,7 @@ var init_useVoiceEnabled = __esm(() => {
646033
645969
  function getSemverPart(version3) {
646034
645970
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
646035
645971
  }
646036
- function useUpdateNotification(updatedVersion, initialVersion = "1.3.430") {
645972
+ function useUpdateNotification(updatedVersion, initialVersion = "1.3.432") {
646037
645973
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react217.useState(() => getSemverPart(initialVersion));
646038
645974
  if (!updatedVersion) {
646039
645975
  return null;
@@ -646073,7 +646009,7 @@ function AutoUpdater({
646073
646009
  return;
646074
646010
  }
646075
646011
  if (false) {}
646076
- const currentVersion = "1.3.430";
646012
+ const currentVersion = "1.3.432";
646077
646013
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
646078
646014
  let latestVersion = await getLatestVersion(channel);
646079
646015
  const isDisabled = isAutoUpdaterDisabled();
@@ -646286,12 +646222,12 @@ function NativeAutoUpdater({
646286
646222
  logEvent("tengu_native_auto_updater_start", {});
646287
646223
  try {
646288
646224
  const maxVersion = await getMaxVersion();
646289
- if (maxVersion && gt("1.3.430", maxVersion)) {
646225
+ if (maxVersion && gt("1.3.432", maxVersion)) {
646290
646226
  const msg = await getMaxVersionMessage();
646291
646227
  setMaxVersionIssue(msg ?? "affects your version");
646292
646228
  }
646293
646229
  const result = await installLatest(channel);
646294
- const currentVersion = "1.3.430";
646230
+ const currentVersion = "1.3.432";
646295
646231
  const latencyMs = Date.now() - startTime;
646296
646232
  if (result.lockFailed) {
646297
646233
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -646428,17 +646364,17 @@ function PackageManagerAutoUpdater(t0) {
646428
646364
  const maxVersion = await getMaxVersion();
646429
646365
  if (maxVersion && latest && gt(latest, maxVersion)) {
646430
646366
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
646431
- if (gte("1.3.430", maxVersion)) {
646432
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.430"} is already at or above maxVersion ${maxVersion}, skipping update`);
646367
+ if (gte("1.3.432", maxVersion)) {
646368
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.432"} is already at or above maxVersion ${maxVersion}, skipping update`);
646433
646369
  setUpdateAvailable(false);
646434
646370
  return;
646435
646371
  }
646436
646372
  latest = maxVersion;
646437
646373
  }
646438
- const hasUpdate = latest && !gte("1.3.430", latest) && !shouldSkipVersion(latest);
646374
+ const hasUpdate = latest && !gte("1.3.432", latest) && !shouldSkipVersion(latest);
646439
646375
  setUpdateAvailable(!!hasUpdate);
646440
646376
  if (hasUpdate) {
646441
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.430"} -> ${latest}`);
646377
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.432"} -> ${latest}`);
646442
646378
  }
646443
646379
  };
646444
646380
  $3[0] = t1;
@@ -646472,7 +646408,7 @@ function PackageManagerAutoUpdater(t0) {
646472
646408
  wrap: "truncate",
646473
646409
  children: [
646474
646410
  "currentVersion: ",
646475
- "1.3.430"
646411
+ "1.3.432"
646476
646412
  ]
646477
646413
  }, undefined, true, undefined, this);
646478
646414
  $3[3] = verbose;
@@ -654637,7 +654573,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
654637
654573
  project_dir: getOriginalCwd(),
654638
654574
  added_dirs: addedDirs
654639
654575
  },
654640
- version: "1.3.430",
654576
+ version: "1.3.432",
654641
654577
  output_style: {
654642
654578
  name: outputStyleName
654643
654579
  },
@@ -666041,7 +665977,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
666041
665977
  } catch {}
666042
665978
  const data = {
666043
665979
  trigger,
666044
- version: "1.3.430",
665980
+ version: "1.3.432",
666045
665981
  platform: process.platform,
666046
665982
  transcript,
666047
665983
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -678090,7 +678026,7 @@ function WelcomeV2() {
678090
678026
  dimColor: true,
678091
678027
  children: [
678092
678028
  "v",
678093
- "1.3.430"
678029
+ "1.3.432"
678094
678030
  ]
678095
678031
  }, undefined, true, undefined, this)
678096
678032
  ]
@@ -679824,7 +679760,7 @@ function completeOnboarding() {
679824
679760
  saveGlobalConfig((current) => ({
679825
679761
  ...current,
679826
679762
  hasCompletedOnboarding: true,
679827
- lastOnboardingVersion: "1.3.430"
679763
+ lastOnboardingVersion: "1.3.432"
679828
679764
  }));
679829
679765
  }
679830
679766
  function showDialog(root2, renderer) {
@@ -684124,7 +684060,7 @@ function appendToLog(path30, message) {
684124
684060
  cwd: getFsImplementation().cwd(),
684125
684061
  userType: "external",
684126
684062
  sessionId: getSessionId(),
684127
- version: "1.3.430"
684063
+ version: "1.3.432"
684128
684064
  };
684129
684065
  getLogWriter(path30).write(messageWithTimestamp);
684130
684066
  }
@@ -688232,8 +688168,8 @@ async function getEnvLessBridgeConfig() {
688232
688168
  }
688233
688169
  async function checkEnvLessBridgeMinVersion() {
688234
688170
  const cfg = await getEnvLessBridgeConfig();
688235
- if (cfg.min_version && lt("1.3.430", cfg.min_version)) {
688236
- return `Your version of RAYU (${"1.3.430"}) is too old for Remote Control.
688171
+ if (cfg.min_version && lt("1.3.432", cfg.min_version)) {
688172
+ return `Your version of RAYU (${"1.3.432"}) is too old for Remote Control.
688237
688173
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
688238
688174
  }
688239
688175
  return null;
@@ -688707,7 +688643,7 @@ async function initBridgeCore(params) {
688707
688643
  const rawApi = createBridgeApiClient({
688708
688644
  baseUrl,
688709
688645
  getAccessToken,
688710
- runnerVersion: "1.3.430",
688646
+ runnerVersion: "1.3.432",
688711
688647
  onDebug: logForDebugging,
688712
688648
  onAuth401,
688713
688649
  getTrustedDeviceToken
@@ -694069,7 +694005,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
694069
694005
  setCwd(cwd3);
694070
694006
  const server = new Server({
694071
694007
  name: "claude/tengu",
694072
- version: "1.3.430"
694008
+ version: "1.3.432"
694073
694009
  }, {
694074
694010
  capabilities: {
694075
694011
  tools: {}
@@ -696595,7 +696531,7 @@ ${customInstructions}` : customInstructions;
696595
696531
  }
696596
696532
  }
696597
696533
  logForDiagnosticsNoPII("info", "started", {
696598
- version: "1.3.430",
696534
+ version: "1.3.432",
696599
696535
  is_native_binary: isInBundledMode()
696600
696536
  });
696601
696537
  registerCleanup(async () => {
@@ -697314,7 +697250,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
697314
697250
  pendingHookMessages
697315
697251
  }, renderAndRun);
697316
697252
  }
697317
- }).version("1.3.430 (Rayu-CLI)", "-v, --version", "Output the version number");
697253
+ }).version("1.3.432 (Rayu-CLI)", "-v, --version", "Output the version number");
697318
697254
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
697319
697255
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
697320
697256
  if (canUserConfigureAdvisor()) {
@@ -697780,7 +697716,7 @@ if (false) {}
697780
697716
  async function main2() {
697781
697717
  const args = process.argv.slice(2);
697782
697718
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
697783
- console.log(`${"1.3.430"} (Rayu-CLI)`);
697719
+ console.log(`${"1.3.432"} (Rayu-CLI)`);
697784
697720
  return;
697785
697721
  }
697786
697722
  const {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rayu-dev/rayu-cli",
3
- "version": "1.3.430",
3
+ "version": "1.3.432",
4
4
  "description": "Rayu-CLI — a multi-provider AI coding CLI",
5
5
  "type": "module",
6
6
  "bin": {