@rayu-dev/rayu-cli 1.3.127 → 1.3.327

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 +1366 -531
  2. package/package.json +1 -1
package/dist/rayu.js CHANGED
@@ -649,6 +649,26 @@ var init_memoize = __esm(() => {
649
649
  });
650
650
 
651
651
  // src/utils/envUtils.ts
652
+ var exports_envUtils = {};
653
+ __export(exports_envUtils, {
654
+ shouldMaintainProjectWorkingDir: () => shouldMaintainProjectWorkingDir,
655
+ resolveRayuConfigHomeDir: () => resolveRayuConfigHomeDir,
656
+ resolveConfigHomeDir: () => resolveConfigHomeDir,
657
+ parseEnvVars: () => parseEnvVars,
658
+ loadDotEnv: () => loadDotEnv,
659
+ isRunningOnHomespace: () => isRunningOnHomespace,
660
+ isInProtectedNamespace: () => isInProtectedNamespace,
661
+ isEnvTruthy: () => isEnvTruthy,
662
+ isEnvDefinedFalsy: () => isEnvDefinedFalsy,
663
+ isBareMode: () => isBareMode,
664
+ hasNodeOption: () => hasNodeOption,
665
+ getVertexRegionForModel: () => getVertexRegionForModel,
666
+ getTeamsDir: () => getTeamsDir,
667
+ getRayuConfigHomeDir: () => getRayuConfigHomeDir,
668
+ getDefaultVertexRegion: () => getDefaultVertexRegion,
669
+ getClaudeConfigHomeDir: () => getClaudeConfigHomeDir,
670
+ getAWSRegion: () => getAWSRegion
671
+ });
652
672
  import { existsSync, readFileSync } from "fs";
653
673
  import { homedir } from "os";
654
674
  import { join, dirname } from "path";
@@ -845,12 +865,14 @@ function getVertexRegionForModel(model) {
845
865
  }
846
866
  return getDefaultVertexRegion();
847
867
  }
848
- var getRayuConfigHomeDir, VERTEX_REGION_OVERRIDES;
868
+ var resolveConfigHomeDir, getRayuConfigHomeDir, getClaudeConfigHomeDir, VERTEX_REGION_OVERRIDES;
849
869
  var init_envUtils = __esm(() => {
850
870
  init_memoize();
871
+ resolveConfigHomeDir = resolveRayuConfigHomeDir;
851
872
  getRayuConfigHomeDir = memoize_default(() => {
852
873
  return resolveRayuConfigHomeDir(homedir(), process.env.RAYU_CONFIG_DIR, existsSync).normalize("NFC");
853
874
  }, () => process.env.RAYU_CONFIG_DIR);
875
+ getClaudeConfigHomeDir = getRayuConfigHomeDir;
854
876
  VERTEX_REGION_OVERRIDES = [
855
877
  ["claude-haiku-4-5", "VERTEX_REGION_CLAUDE_HAIKU_4_5"],
856
878
  ["claude-3-5-haiku", "VERTEX_REGION_CLAUDE_3_5_HAIKU"],
@@ -35744,7 +35766,7 @@ __export(exports_rayuProviders, {
35744
35766
  });
35745
35767
  function bedrockBaseURL(region) {
35746
35768
  const r2 = (region || DEFAULT_BEDROCK_REGION).trim();
35747
- return `https://bedrock-runtime.${r2}.amazonaws.com/openai/v1`;
35769
+ return `https://bedrock-mantle.${r2}.api.aws/v1`;
35748
35770
  }
35749
35771
  function vertexHost(region) {
35750
35772
  const r2 = (region || DEFAULT_VERTEX_REGION).trim();
@@ -35921,13 +35943,76 @@ var init_rayuProviders = __esm(() => {
35921
35943
  smallFastModel: "openai/gpt-4o-mini",
35922
35944
  envKeys: ["OPENROUTER_API_KEY"]
35923
35945
  },
35946
+ {
35947
+ id: "xai",
35948
+ label: "xAI / Grok (api.x.ai)",
35949
+ kind: "openai-compatible",
35950
+ baseURL: "https://api.x.ai/v1",
35951
+ defaultModel: "grok-4",
35952
+ smallFastModel: "grok-3-mini",
35953
+ envKeys: ["XAI_API_KEY"]
35954
+ },
35955
+ {
35956
+ id: "groq",
35957
+ label: "Groq (api.groq.com)",
35958
+ kind: "openai-compatible",
35959
+ baseURL: "https://api.groq.com/openai/v1",
35960
+ defaultModel: "llama-3.3-70b-versatile",
35961
+ smallFastModel: "llama-3.1-8b-instant",
35962
+ envKeys: ["GROQ_API_KEY"]
35963
+ },
35964
+ {
35965
+ id: "fireworks",
35966
+ label: "Fireworks AI (api.fireworks.ai)",
35967
+ kind: "openai-compatible",
35968
+ baseURL: "https://api.fireworks.ai/inference/v1",
35969
+ defaultModel: "accounts/fireworks/models/llama-v3p3-70b-instruct",
35970
+ envKeys: ["FIREWORKS_API_KEY"]
35971
+ },
35972
+ {
35973
+ id: "togetherai",
35974
+ label: "Together AI (api.together.xyz)",
35975
+ kind: "openai-compatible",
35976
+ baseURL: "https://api.together.xyz/v1",
35977
+ defaultModel: "meta-llama/Llama-3.3-70B-Instruct-Turbo",
35978
+ envKeys: ["TOGETHER_API_KEY", "TOGETHERAI_API_KEY"]
35979
+ },
35980
+ {
35981
+ id: "cerebras",
35982
+ label: "Cerebras (api.cerebras.ai)",
35983
+ kind: "openai-compatible",
35984
+ baseURL: "https://api.cerebras.ai/v1",
35985
+ defaultModel: "llama-3.3-70b",
35986
+ envKeys: ["CEREBRAS_API_KEY"]
35987
+ },
35988
+ {
35989
+ id: "baseten",
35990
+ label: "Baseten (inference.baseten.co)",
35991
+ kind: "openai-compatible",
35992
+ baseURL: "https://inference.baseten.co/v1",
35993
+ envKeys: ["BASETEN_API_KEY"]
35994
+ },
35995
+ {
35996
+ id: "deepinfra",
35997
+ label: "DeepInfra (api.deepinfra.com)",
35998
+ kind: "openai-compatible",
35999
+ baseURL: "https://api.deepinfra.com/v1/openai",
36000
+ defaultModel: "meta-llama/Llama-3.3-70B-Instruct",
36001
+ envKeys: ["DEEPINFRA_API_KEY"]
36002
+ },
35924
36003
  {
35925
36004
  id: "bedrock",
35926
- label: "AWS Bedrock — open models (OpenAI-compatible: gpt-oss, qwen, …)",
36005
+ label: "AWS Bedrock — all models (Converse API: Claude, Kimi, DeepSeek, …)",
35927
36006
  kind: "bedrock",
35928
- bedrockApi: "openai",
36007
+ bedrockApi: "converse",
35929
36008
  envKeys: ["AWS_BEARER_TOKEN_BEDROCK"]
35930
36009
  },
36010
+ {
36011
+ id: "bedrock-openai",
36012
+ label: "AWS Bedrock — OpenAI-compatible (bedrock-mantle: gpt-oss, qwen, …)",
36013
+ kind: "bedrock",
36014
+ bedrockApi: "openai"
36015
+ },
35931
36016
  {
35932
36017
  id: "bedrock-anthropic",
35933
36018
  label: "AWS Bedrock — Claude (Anthropic Messages API)",
@@ -36209,8 +36294,8 @@ function getRayuModelContextWindow(model) {
36209
36294
  function bedrockRegionOf(p) {
36210
36295
  if (p.awsRegion)
36211
36296
  return p.awsRegion;
36212
- const m2 = p.baseURL?.match(/bedrock-runtime\.([a-z0-9-]+)\.amazonaws\.com/i);
36213
- return m2?.[1] ?? "us-east-1";
36297
+ const m2 = p.baseURL?.match(/bedrock-mantle\.([a-z0-9-]+)\.api\.aws|bedrock-runtime\.([a-z0-9-]+)\.amazonaws\.com/i);
36298
+ return m2?.[1] ?? m2?.[2] ?? "us-east-1";
36214
36299
  }
36215
36300
  async function fetchBedrockModels(p) {
36216
36301
  if (!p.apiKey)
@@ -36610,7 +36695,7 @@ function isOpenAICompatibleActive() {
36610
36695
  const p = getActiveProvider2();
36611
36696
  if (p?.kind === "openai-compatible")
36612
36697
  return true;
36613
- if (p?.kind === "bedrock" && p.bedrockApi !== "anthropic" && !!p.apiKey && !!p.baseURL) {
36698
+ if (p?.kind === "bedrock" && p.bedrockApi !== "anthropic" && p.bedrockApi !== "converse" && !!p.apiKey && !!p.baseURL) {
36614
36699
  return true;
36615
36700
  }
36616
36701
  return false;
@@ -143458,10 +143543,13 @@ async function createBedrockClient() {
143458
143543
  }
143459
143544
  return new BedrockClient(clientConfig);
143460
143545
  }
143461
- async function createBedrockRuntimeClient() {
143546
+ async function createBedrockRuntimeClient(opts) {
143462
143547
  const { BedrockRuntimeClient } = await Promise.resolve().then(() => __toESM(require_dist_cjs27(), 1));
143463
- const region = getAWSRegion();
143548
+ const region = opts?.region || getAWSRegion();
143464
143549
  const skipAuth = isEnvTruthy(process.env.RAYU_SKIP_BEDROCK_AUTH);
143550
+ if (opts?.apiKey && !process.env.AWS_BEARER_TOKEN_BEDROCK) {
143551
+ process.env.AWS_BEARER_TOKEN_BEDROCK = opts.apiKey;
143552
+ }
143465
143553
  const clientConfig = {
143466
143554
  region,
143467
143555
  ...process.env.ANTHROPIC_BEDROCK_BASE_URL && {
@@ -147982,7 +148070,7 @@ var init_auth = __esm(() => {
147982
148070
 
147983
148071
  // src/utils/userAgent.ts
147984
148072
  function getRayuUserAgent() {
147985
- return `rayu/${"1.3.127"}`;
148073
+ return `rayu/${"1.3.327"}`;
147986
148074
  }
147987
148075
  var getClaudeCodeUserAgent;
147988
148076
  var init_userAgent = __esm(() => {
@@ -148008,7 +148096,7 @@ function getUserAgent() {
148008
148096
  const clientApp = process.env.RAYU_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}` : "";
148009
148097
  const workload = getWorkload();
148010
148098
  const workloadSuffix = workload ? `, workload/${workload}` : "";
148011
- return `rayu/${"1.3.127"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148099
+ return `rayu/${"1.3.327"} (${"external"}, ${process.env.RAYU_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
148012
148100
  }
148013
148101
  function getMCPUserAgent() {
148014
148102
  const parts = [];
@@ -148022,7 +148110,7 @@ function getMCPUserAgent() {
148022
148110
  parts.push(`client-app/${process.env.RAYU_AGENT_SDK_CLIENT_APP}`);
148023
148111
  }
148024
148112
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
148025
- return `rayu/${"1.3.127"}${suffix}`;
148113
+ return `rayu/${"1.3.327"}${suffix}`;
148026
148114
  }
148027
148115
  function getWebFetchUserAgent() {
148028
148116
  return `Rayu-User (${getRayuUserAgent()})`;
@@ -148145,7 +148233,7 @@ var init_user = __esm(() => {
148145
148233
  deviceId,
148146
148234
  sessionId: getSessionId(),
148147
148235
  email: getEmail(),
148148
- appVersion: "1.3.127",
148236
+ appVersion: "1.3.327",
148149
148237
  platform: getHostPlatformForAnalytics(),
148150
148238
  organizationUuid,
148151
148239
  accountUuid,
@@ -164227,11 +164315,29 @@ __export(exports_openaiAdapter, {
164227
164315
  usesMaxCompletionTokens: () => usesMaxCompletionTokens,
164228
164316
  translateStream: () => translateStream,
164229
164317
  toBetaMessage: () => toBetaMessage,
164318
+ splitInlineThink: () => splitInlineThink,
164319
+ processInlineThink: () => processInlineThink,
164230
164320
  isReasoningModel: () => isReasoningModel,
164321
+ initialInlineThinkState: () => initialInlineThinkState,
164322
+ extractReasoningText: () => extractReasoningText,
164231
164323
  createOpenAICompatibleClient: () => createOpenAICompatibleClient,
164232
164324
  buildOpenAIRequest: () => buildOpenAIRequest,
164233
164325
  _resetOpenAIAdapterUnsupportedParamCacheForTesting: () => _resetOpenAIAdapterUnsupportedParamCacheForTesting
164234
164326
  });
164327
+ function debugCaptureDelta(model, chunk) {
164328
+ if (!process.env.RAYU_DEBUG_REASONING || debugReasoningCount >= 60)
164329
+ return;
164330
+ debugReasoningCount++;
164331
+ try {
164332
+ const fs3 = __require("fs");
164333
+ const path9 = __require("path");
164334
+ const { getRayuConfigHomeDir: getRayuConfigHomeDir3 } = (init_envUtils(), __toCommonJS(exports_envUtils));
164335
+ const dir = getRayuConfigHomeDir3();
164336
+ fs3.mkdirSync(dir, { recursive: true });
164337
+ fs3.appendFileSync(path9.join(dir, "debug-reasoning.jsonl"), JSON.stringify({ t: Date.now(), model, chunk }) + `
164338
+ `);
164339
+ } catch {}
164340
+ }
164235
164341
  function systemToText(system) {
164236
164342
  if (!system)
164237
164343
  return;
@@ -164427,6 +164533,9 @@ function buildOpenAIRequest(params, options = {}) {
164427
164533
  if (options.reasoningEffort) {
164428
164534
  req.reasoning_effort = options.reasoningEffort;
164429
164535
  }
164536
+ if (/kimi/i.test(params.model)) {
164537
+ req.chat_template_kwargs = { thinking: true };
164538
+ }
164430
164539
  return req;
164431
164540
  }
164432
164541
  function mapFinishReason(reason) {
@@ -164448,16 +164557,57 @@ function mapUsage(usage) {
164448
164557
  cache_read_input_tokens: 0
164449
164558
  };
164450
164559
  }
164560
+ function extractReasoningText(o2) {
164561
+ if (!o2 || typeof o2 !== "object")
164562
+ return;
164563
+ const direct = o2.reasoning_content ?? o2.reasoning;
164564
+ if (typeof direct === "string")
164565
+ return direct.length ? direct : undefined;
164566
+ if (direct && typeof direct === "object" && !Array.isArray(direct)) {
164567
+ const obj = direct;
164568
+ const t2 = obj.text ?? obj.content;
164569
+ if (typeof t2 === "string" && t2.length)
164570
+ return t2;
164571
+ }
164572
+ const arr = Array.isArray(o2.reasoning_details) ? o2.reasoning_details : Array.isArray(direct) ? direct : undefined;
164573
+ if (arr) {
164574
+ const joined = arr.map((d) => {
164575
+ if (typeof d === "string")
164576
+ return d;
164577
+ const item = d;
164578
+ if (typeof item?.text === "string")
164579
+ return item.text;
164580
+ if (typeof item?.content === "string")
164581
+ return item.content;
164582
+ return "";
164583
+ }).join("");
164584
+ if (joined.length)
164585
+ return joined;
164586
+ }
164587
+ return;
164588
+ }
164451
164589
  function toBetaMessage(completion, model) {
164452
164590
  const choice = completion.choices?.[0] ?? {};
164453
164591
  const msg = choice.message ?? {};
164454
164592
  const content = [];
164455
- const reasoning = msg.reasoning_content ?? msg.reasoning;
164593
+ const reasoning = extractReasoningText(msg);
164456
164594
  if (typeof reasoning === "string" && reasoning.length) {
164457
164595
  content.push({ type: "thinking", thinking: reasoning, signature: "" });
164458
164596
  }
164459
- if (msg.content)
164597
+ if (typeof msg.content === "string" && msg.content.length) {
164598
+ let text = msg.content;
164599
+ if (!reasoning) {
164600
+ const split = splitInlineThink(text);
164601
+ if (split.thinking) {
164602
+ content.push({ type: "thinking", thinking: split.thinking, signature: "" });
164603
+ text = split.text;
164604
+ }
164605
+ }
164606
+ if (text.length)
164607
+ content.push({ type: "text", text });
164608
+ } else if (msg.content) {
164460
164609
  content.push({ type: "text", text: msg.content });
164610
+ }
164461
164611
  let toolCallIdx = 0;
164462
164612
  for (const tc of msg.tool_calls ?? []) {
164463
164613
  const fn = tc.function ?? {};
@@ -164482,6 +164632,82 @@ function toBetaMessage(completion, model) {
164482
164632
  usage: mapUsage(completion.usage)
164483
164633
  };
164484
164634
  }
164635
+ function splitInlineThink(text) {
164636
+ const lead = text.replace(/^\s+/, "");
164637
+ for (let i3 = 0;i3 < THINK_OPEN.length; i3++) {
164638
+ const open4 = THINK_OPEN[i3];
164639
+ if (lead.startsWith(open4)) {
164640
+ const close = THINK_CLOSE[i3];
164641
+ const end = lead.indexOf(close, open4.length);
164642
+ if (end === -1)
164643
+ return { text };
164644
+ const thinking = lead.slice(open4.length, end).trim();
164645
+ const rest = lead.slice(end + close.length).replace(/^\s+/, "");
164646
+ return { thinking, text: rest };
164647
+ }
164648
+ }
164649
+ return { text };
164650
+ }
164651
+ function processInlineThink(state, chunk, flush = false) {
164652
+ const segments = [];
164653
+ let phase = state.phase;
164654
+ let buffer = state.buffer + chunk;
164655
+ for (;; ) {
164656
+ if (phase === "text") {
164657
+ if (buffer)
164658
+ segments.push({ kind: "text", text: buffer });
164659
+ buffer = "";
164660
+ break;
164661
+ }
164662
+ if (phase === "detect") {
164663
+ const lead = buffer.replace(/^\s+/, "");
164664
+ const open4 = THINK_OPEN.find((m2) => lead.startsWith(m2));
164665
+ if (open4) {
164666
+ phase = "thinking";
164667
+ buffer = lead.slice(open4.length);
164668
+ continue;
164669
+ }
164670
+ const couldBeMarker = lead.length === 0 || THINK_OPEN.some((m2) => m2.startsWith(lead) && lead.length < m2.length);
164671
+ if (!flush && couldBeMarker && lead.length < MAX_THINK_OPEN_LEN)
164672
+ break;
164673
+ phase = "text";
164674
+ continue;
164675
+ }
164676
+ let closeIdx = -1;
164677
+ let closeLen = 0;
164678
+ for (const m2 of THINK_CLOSE) {
164679
+ const i3 = buffer.indexOf(m2);
164680
+ if (i3 !== -1 && (closeIdx === -1 || i3 < closeIdx)) {
164681
+ closeIdx = i3;
164682
+ closeLen = m2.length;
164683
+ }
164684
+ }
164685
+ if (closeIdx !== -1) {
164686
+ const before = buffer.slice(0, closeIdx);
164687
+ if (before)
164688
+ segments.push({ kind: "thinking", text: before });
164689
+ buffer = buffer.slice(closeIdx + closeLen);
164690
+ phase = "text";
164691
+ continue;
164692
+ }
164693
+ let hold = 0;
164694
+ if (!flush) {
164695
+ for (let n2 = Math.min(MAX_THINK_CLOSE_LEN - 1, buffer.length);n2 > 0; n2--) {
164696
+ const tail = buffer.slice(buffer.length - n2);
164697
+ if (THINK_CLOSE.some((m2) => m2.startsWith(tail) && n2 < m2.length)) {
164698
+ hold = n2;
164699
+ break;
164700
+ }
164701
+ }
164702
+ }
164703
+ const emit = hold ? buffer.slice(0, buffer.length - hold) : buffer;
164704
+ if (emit)
164705
+ segments.push({ kind: "thinking", text: emit });
164706
+ buffer = hold ? buffer.slice(buffer.length - hold) : "";
164707
+ break;
164708
+ }
164709
+ return { segments, state: { phase, buffer } };
164710
+ }
164485
164711
  async function* translateStream(openaiStream, model) {
164486
164712
  const messageId = `rayu_${Date.now()}`;
164487
164713
  yield {
@@ -164503,7 +164729,49 @@ async function* translateStream(openaiStream, model) {
164503
164729
  let usage;
164504
164730
  const toolIndexByOaIndex = new Map;
164505
164731
  let nextIndex = 0;
164732
+ let inlineThink = initialInlineThinkState();
164733
+ const emitThinking = function* (text) {
164734
+ if (thinkingIndex === null) {
164735
+ thinkingIndex = nextIndex++;
164736
+ yield {
164737
+ type: "content_block_start",
164738
+ index: thinkingIndex,
164739
+ content_block: { type: "thinking", thinking: "", signature: "" }
164740
+ };
164741
+ }
164742
+ yield {
164743
+ type: "content_block_delta",
164744
+ index: thinkingIndex,
164745
+ delta: { type: "thinking_delta", thinking: text }
164746
+ };
164747
+ };
164748
+ const emitText = function* (text) {
164749
+ if (textIndex === null) {
164750
+ textIndex = nextIndex++;
164751
+ yield {
164752
+ type: "content_block_start",
164753
+ index: textIndex,
164754
+ content_block: { type: "text", text: "" }
164755
+ };
164756
+ }
164757
+ yield {
164758
+ type: "content_block_delta",
164759
+ index: textIndex,
164760
+ delta: { type: "text_delta", text }
164761
+ };
164762
+ };
164763
+ const emitSegments = function* (segs) {
164764
+ for (const s2 of segs) {
164765
+ if (!s2.text.length)
164766
+ continue;
164767
+ if (s2.kind === "thinking")
164768
+ yield* emitThinking(s2.text);
164769
+ else
164770
+ yield* emitText(s2.text);
164771
+ }
164772
+ };
164506
164773
  for await (const chunk of openaiStream) {
164774
+ debugCaptureDelta(model, chunk);
164507
164775
  const choice = chunk.choices?.[0];
164508
164776
  if (!choice) {
164509
164777
  if (chunk.usage)
@@ -164511,36 +164779,14 @@ async function* translateStream(openaiStream, model) {
164511
164779
  continue;
164512
164780
  }
164513
164781
  const delta = choice.delta ?? {};
164514
- const reasoning = delta.reasoning_content ?? delta.reasoning;
164782
+ const reasoning = extractReasoningText(delta);
164515
164783
  if (typeof reasoning === "string" && reasoning.length) {
164516
- if (thinkingIndex === null) {
164517
- thinkingIndex = nextIndex++;
164518
- yield {
164519
- type: "content_block_start",
164520
- index: thinkingIndex,
164521
- content_block: { type: "thinking", thinking: "", signature: "" }
164522
- };
164523
- }
164524
- yield {
164525
- type: "content_block_delta",
164526
- index: thinkingIndex,
164527
- delta: { type: "thinking_delta", thinking: reasoning }
164528
- };
164784
+ yield* emitThinking(reasoning);
164529
164785
  }
164530
164786
  if (typeof delta.content === "string" && delta.content.length) {
164531
- if (textIndex === null) {
164532
- textIndex = nextIndex++;
164533
- yield {
164534
- type: "content_block_start",
164535
- index: textIndex,
164536
- content_block: { type: "text", text: "" }
164537
- };
164538
- }
164539
- yield {
164540
- type: "content_block_delta",
164541
- index: textIndex,
164542
- delta: { type: "text_delta", text: delta.content }
164543
- };
164787
+ const r2 = processInlineThink(inlineThink, delta.content);
164788
+ inlineThink = r2.state;
164789
+ yield* emitSegments(r2.segments);
164544
164790
  }
164545
164791
  for (const tc of delta.tool_calls ?? []) {
164546
164792
  const oaIndex = tc.index ?? 0;
@@ -164574,6 +164820,11 @@ async function* translateStream(openaiStream, model) {
164574
164820
  if (chunk.usage)
164575
164821
  usage = chunk.usage;
164576
164822
  }
164823
+ {
164824
+ const r2 = processInlineThink(inlineThink, "", true);
164825
+ inlineThink = r2.state;
164826
+ yield* emitSegments(r2.segments);
164827
+ }
164577
164828
  if (thinkingIndex !== null)
164578
164829
  yield { type: "content_block_stop", index: thinkingIndex };
164579
164830
  if (textIndex !== null)
@@ -164638,6 +164889,8 @@ function optionalParamsIn(req) {
164638
164889
  params.push("stream_options");
164639
164890
  if ("reasoning_effort" in req)
164640
164891
  params.push("reasoning_effort");
164892
+ if ("chat_template_kwargs" in req)
164893
+ params.push("chat_template_kwargs");
164641
164894
  return params;
164642
164895
  }
164643
164896
  function withoutOptionalParams(req, params) {
@@ -164679,6 +164932,10 @@ function rejectedOptionalParams(e2, candidates) {
164679
164932
  if (candidates.includes("reasoning_effort"))
164680
164933
  rejected.add("reasoning_effort");
164681
164934
  }
164935
+ if (/chat_template_kwargs|thinking/i.test(msg)) {
164936
+ if (candidates.includes("chat_template_kwargs"))
164937
+ rejected.add("chat_template_kwargs");
164938
+ }
164682
164939
  if (rejected.size > 0)
164683
164940
  return rejected;
164684
164941
  if (/unrecognized|unexpected|unknown|unsupported|invalid.*(param|argument)|extra_forbidden/i.test(msg)) {
@@ -164843,13 +165100,15 @@ function createOpenAICompatibleClientUncached(config2) {
164843
165100
  messages: { create: create2 }
164844
165101
  };
164845
165102
  }
164846
- var import_sdk2, NEEDS_MAX_COMPLETION_RE, REASONING_RE, unsupportedOptionalParams, clientCache;
165103
+ var import_sdk2, debugReasoningCount = 0, NEEDS_MAX_COMPLETION_RE, REASONING_RE, THINK_OPEN, THINK_CLOSE, initialInlineThinkState = () => ({ phase: "detect", buffer: "" }), MAX_THINK_OPEN_LEN = 7, MAX_THINK_CLOSE_LEN = 8, unsupportedOptionalParams, clientCache;
164847
165104
  var init_openaiAdapter = __esm(() => {
164848
165105
  init_openai();
164849
165106
  init_rayuDiagnostics();
164850
165107
  import_sdk2 = __toESM(require_sdk(), 1);
164851
165108
  NEEDS_MAX_COMPLETION_RE = /(?:^|[/_-])(o1|o3|o4|gpt-5)(?:[.\-_]|$)/i;
164852
165109
  REASONING_RE = /(?:^|[/_-])(o1|o3|o4|gpt-5|gpt-oss)(?:[.\-_]|$)|reason|thinking/i;
165110
+ THINK_OPEN = ["<think>", "◁think▷"];
165111
+ THINK_CLOSE = ["</think>", "◁/think▷"];
164853
165112
  unsupportedOptionalParams = new Map;
164854
165113
  clientCache = new Map;
164855
165114
  });
@@ -178805,6 +179064,451 @@ var init_bedrock_sdk = __esm(() => {
178805
179064
  init_client3();
178806
179065
  });
178807
179066
 
179067
+ // src/services/api/bedrockConverseAdapter.ts
179068
+ var exports_bedrockConverseAdapter = {};
179069
+ __export(exports_bedrockConverseAdapter, {
179070
+ translateConverseStream: () => translateConverseStream,
179071
+ toConverseInput: () => toConverseInput,
179072
+ toBetaMessageFromConverse: () => toBetaMessageFromConverse,
179073
+ createBedrockConverseClient: () => createBedrockConverseClient,
179074
+ _resetBedrockConverseClientCacheForTesting: () => _resetBedrockConverseClientCacheForTesting
179075
+ });
179076
+ function systemToConverse(system) {
179077
+ if (!system)
179078
+ return;
179079
+ const text = typeof system === "string" ? system : system.map((b) => typeof b === "string" ? b : b.text ?? "").join(`
179080
+ `);
179081
+ return text ? [{ text }] : undefined;
179082
+ }
179083
+ function imageFormat(mediaType) {
179084
+ const mt = (mediaType ?? "image/png").toLowerCase();
179085
+ if (mt.includes("jpeg") || mt.includes("jpg"))
179086
+ return "jpeg";
179087
+ if (mt.includes("gif"))
179088
+ return "gif";
179089
+ if (mt.includes("webp"))
179090
+ return "webp";
179091
+ return "png";
179092
+ }
179093
+ function imageBlockToConverse(block) {
179094
+ if (!block || block.type !== "image")
179095
+ return null;
179096
+ const src = block.source ?? {};
179097
+ if (src.type === "base64" && typeof src.data === "string") {
179098
+ return {
179099
+ image: {
179100
+ format: imageFormat(src.media_type),
179101
+ source: { bytes: Buffer.from(src.data, "base64") }
179102
+ }
179103
+ };
179104
+ }
179105
+ return null;
179106
+ }
179107
+ function toolResultContent(content) {
179108
+ if (typeof content === "string")
179109
+ return [{ text: content }];
179110
+ if (!Array.isArray(content))
179111
+ return [{ text: "" }];
179112
+ const out = [];
179113
+ for (const item of content) {
179114
+ if (item?.type === "text" && typeof item.text === "string")
179115
+ out.push({ text: item.text });
179116
+ else {
179117
+ const img = imageBlockToConverse(item);
179118
+ if (img)
179119
+ out.push(img);
179120
+ }
179121
+ }
179122
+ return out.length ? out : [{ text: "" }];
179123
+ }
179124
+ function toConverseMessages(messages) {
179125
+ const out = [];
179126
+ for (const msg of messages) {
179127
+ const role = msg.role;
179128
+ const content = msg.content;
179129
+ const blocks = [];
179130
+ if (typeof content === "string") {
179131
+ if (content)
179132
+ blocks.push({ text: content });
179133
+ } else if (Array.isArray(content)) {
179134
+ for (const b of content) {
179135
+ if (b.type === "text" && b.text) {
179136
+ blocks.push({ text: b.text });
179137
+ } else if (b.type === "thinking" && b.thinking) {
179138
+ blocks.push({
179139
+ reasoningContent: {
179140
+ reasoningText: {
179141
+ text: b.thinking,
179142
+ ...typeof b.signature === "string" && b.signature ? { signature: b.signature } : {}
179143
+ }
179144
+ }
179145
+ });
179146
+ } else if (b.type === "tool_use") {
179147
+ blocks.push({
179148
+ toolUse: { toolUseId: b.id, name: b.name, input: b.input ?? {} }
179149
+ });
179150
+ } else if (b.type === "tool_result") {
179151
+ blocks.push({
179152
+ toolResult: {
179153
+ toolUseId: b.tool_use_id,
179154
+ content: toolResultContent(b.content),
179155
+ status: b.is_error ? "error" : "success"
179156
+ }
179157
+ });
179158
+ } else {
179159
+ const img = imageBlockToConverse(b);
179160
+ if (img)
179161
+ blocks.push(img);
179162
+ }
179163
+ }
179164
+ }
179165
+ if (blocks.length === 0)
179166
+ continue;
179167
+ out.push({ role: role === "assistant" ? "assistant" : "user", content: blocks });
179168
+ }
179169
+ return out;
179170
+ }
179171
+ function toConverseTools(tools) {
179172
+ if (!tools?.length)
179173
+ return;
179174
+ const specs = tools.filter((t2) => {
179175
+ if (!t2)
179176
+ return false;
179177
+ if (typeof t2.type === "string" && t2.type !== "custom" && !t2.input_schema)
179178
+ return false;
179179
+ return !!t2.name;
179180
+ }).map((t2) => ({
179181
+ toolSpec: {
179182
+ name: t2.name,
179183
+ description: t2.description ?? "",
179184
+ inputSchema: { json: t2.input_schema ?? { type: "object", properties: {} } }
179185
+ }
179186
+ }));
179187
+ return specs.length ? specs : undefined;
179188
+ }
179189
+ function toConverseToolChoice(tc) {
179190
+ if (!tc)
179191
+ return;
179192
+ switch (tc.type) {
179193
+ case "auto":
179194
+ return { auto: {} };
179195
+ case "any":
179196
+ return { any: {} };
179197
+ case "tool":
179198
+ return tc.name ? { tool: { name: tc.name } } : { any: {} };
179199
+ default:
179200
+ return;
179201
+ }
179202
+ }
179203
+ function isClaudeModel(model) {
179204
+ return /claude|anthropic/i.test(model);
179205
+ }
179206
+ function toConverseInput(params, opts = {}) {
179207
+ const messages = toConverseMessages(params.messages);
179208
+ const system = systemToConverse(params.system);
179209
+ const tools = toConverseTools(params.tools);
179210
+ const toolChoice = params.tool_choice?.type === "none" ? undefined : toConverseToolChoice(params.tool_choice);
179211
+ const inferenceConfig = {};
179212
+ if (typeof params.max_tokens === "number")
179213
+ inferenceConfig.maxTokens = params.max_tokens;
179214
+ if (typeof params.temperature === "number")
179215
+ inferenceConfig.temperature = params.temperature;
179216
+ if (typeof params.top_p === "number")
179217
+ inferenceConfig.topP = params.top_p;
179218
+ if (params.stop_sequences?.length)
179219
+ inferenceConfig.stopSequences = params.stop_sequences;
179220
+ const input = {
179221
+ modelId: params.model,
179222
+ messages,
179223
+ ...system ? { system } : {},
179224
+ ...Object.keys(inferenceConfig).length ? { inferenceConfig } : {},
179225
+ ...tools ? { toolConfig: { tools, ...toolChoice ? { toolChoice } : {} } } : {}
179226
+ };
179227
+ const wantThinking = !!params.thinking && params.thinking.type !== "disabled";
179228
+ if (opts.includeReasoningConfig && wantThinking && isClaudeModel(params.model)) {
179229
+ const max = params.max_tokens ?? 8192;
179230
+ const budget = params.thinking?.budget_tokens ?? 4096;
179231
+ input.additionalModelRequestFields = {
179232
+ reasoning_config: {
179233
+ type: "enabled",
179234
+ budget_tokens: Math.max(1024, Math.min(budget, max - 1))
179235
+ }
179236
+ };
179237
+ }
179238
+ return input;
179239
+ }
179240
+ function mapStopReason(reason) {
179241
+ switch (reason) {
179242
+ case "max_tokens":
179243
+ return "max_tokens";
179244
+ case "tool_use":
179245
+ return "tool_use";
179246
+ case "stop_sequence":
179247
+ return "stop_sequence";
179248
+ case "content_filtered":
179249
+ case "guardrail_intervened":
179250
+ return "end_turn";
179251
+ default:
179252
+ return "end_turn";
179253
+ }
179254
+ }
179255
+ function mapUsage2(usage) {
179256
+ return {
179257
+ input_tokens: usage?.inputTokens ?? 0,
179258
+ output_tokens: usage?.outputTokens ?? 0,
179259
+ cache_creation_input_tokens: usage?.cacheWriteInputTokens ?? 0,
179260
+ cache_read_input_tokens: usage?.cacheReadInputTokens ?? 0
179261
+ };
179262
+ }
179263
+ function toBetaMessageFromConverse(response, model) {
179264
+ const output = response.output ?? {};
179265
+ const message = output.message ?? {};
179266
+ const blocks = message.content ?? [];
179267
+ const content = [];
179268
+ for (const block of blocks) {
179269
+ if (block.reasoningContent) {
179270
+ const rt = block.reasoningContent.reasoningText ?? {};
179271
+ if (typeof rt.text === "string" && rt.text.length) {
179272
+ content.push({
179273
+ type: "thinking",
179274
+ thinking: rt.text,
179275
+ signature: rt.signature ?? ""
179276
+ });
179277
+ }
179278
+ } else if (typeof block.text === "string" && block.text.length) {
179279
+ content.push({ type: "text", text: block.text });
179280
+ } else if (block.toolUse) {
179281
+ const tu = block.toolUse;
179282
+ content.push({ type: "tool_use", id: tu.toolUseId, name: tu.name, input: tu.input ?? {} });
179283
+ }
179284
+ }
179285
+ return {
179286
+ id: `rayu_bedrock_${Date.now()}`,
179287
+ type: "message",
179288
+ role: "assistant",
179289
+ model,
179290
+ content,
179291
+ stop_reason: mapStopReason(response.stopReason),
179292
+ stop_sequence: null,
179293
+ usage: mapUsage2(response.usage)
179294
+ };
179295
+ }
179296
+ async function* translateConverseStream(stream4, model) {
179297
+ yield {
179298
+ type: "message_start",
179299
+ message: {
179300
+ id: `rayu_bedrock_${Date.now()}`,
179301
+ type: "message",
179302
+ role: "assistant",
179303
+ model,
179304
+ content: [],
179305
+ stop_reason: null,
179306
+ stop_sequence: null,
179307
+ usage: { input_tokens: 0, output_tokens: 0 }
179308
+ }
179309
+ };
179310
+ const started = new Set;
179311
+ const blockType = new Map;
179312
+ let stopReason = "end_turn";
179313
+ let usage = { input_tokens: 0, output_tokens: 0 };
179314
+ const ensureStart = function* (index, type, toolUse) {
179315
+ if (started.has(index))
179316
+ return;
179317
+ started.add(index);
179318
+ blockType.set(index, type);
179319
+ const content_block = type === "tool_use" ? { type: "tool_use", id: toolUse?.toolUseId, name: toolUse?.name, input: {} } : type === "thinking" ? { type: "thinking", thinking: "", signature: "" } : { type: "text", text: "" };
179320
+ yield { type: "content_block_start", index, content_block };
179321
+ };
179322
+ for await (const event of stream4) {
179323
+ if (event.contentBlockStart) {
179324
+ const cb = event.contentBlockStart;
179325
+ const index = cb.contentBlockIndex ?? 0;
179326
+ const tu = cb.start?.toolUse;
179327
+ if (tu)
179328
+ yield* ensureStart(index, "tool_use", tu);
179329
+ continue;
179330
+ }
179331
+ if (event.contentBlockDelta) {
179332
+ const cbd = event.contentBlockDelta;
179333
+ const index = cbd.contentBlockIndex ?? 0;
179334
+ const delta = cbd.delta ?? {};
179335
+ const reasoning = delta.reasoningContent;
179336
+ if (reasoning && (typeof reasoning.text === "string" || typeof reasoning.signature === "string")) {
179337
+ yield* ensureStart(index, "thinking");
179338
+ if (typeof reasoning.text === "string" && reasoning.text.length) {
179339
+ yield {
179340
+ type: "content_block_delta",
179341
+ index,
179342
+ delta: { type: "thinking_delta", thinking: reasoning.text }
179343
+ };
179344
+ }
179345
+ if (typeof reasoning.signature === "string" && reasoning.signature.length) {
179346
+ yield {
179347
+ type: "content_block_delta",
179348
+ index,
179349
+ delta: { type: "signature_delta", signature: reasoning.signature }
179350
+ };
179351
+ }
179352
+ continue;
179353
+ }
179354
+ if (typeof delta.text === "string" && delta.text.length) {
179355
+ yield* ensureStart(index, "text");
179356
+ yield {
179357
+ type: "content_block_delta",
179358
+ index,
179359
+ delta: { type: "text_delta", text: delta.text }
179360
+ };
179361
+ continue;
179362
+ }
179363
+ const toolUse = delta.toolUse;
179364
+ if (toolUse && typeof toolUse.input === "string") {
179365
+ if (!started.has(index))
179366
+ yield* ensureStart(index, "tool_use", {});
179367
+ yield {
179368
+ type: "content_block_delta",
179369
+ index,
179370
+ delta: { type: "input_json_delta", partial_json: toolUse.input }
179371
+ };
179372
+ }
179373
+ continue;
179374
+ }
179375
+ if (event.contentBlockStop) {
179376
+ const index = event.contentBlockStop.contentBlockIndex ?? 0;
179377
+ if (started.has(index))
179378
+ yield { type: "content_block_stop", index };
179379
+ continue;
179380
+ }
179381
+ if (event.messageStop) {
179382
+ stopReason = mapStopReason(event.messageStop.stopReason);
179383
+ continue;
179384
+ }
179385
+ if (event.metadata) {
179386
+ usage = mapUsage2(event.metadata.usage);
179387
+ continue;
179388
+ }
179389
+ const exception = event.internalServerException ?? event.modelStreamErrorException ?? event.throttlingException ?? event.validationException ?? event.serviceUnavailableException;
179390
+ if (exception) {
179391
+ throw new Error(exception.message ?? "Bedrock Converse stream error");
179392
+ }
179393
+ }
179394
+ for (const index of started) {
179395
+ yield { type: "content_block_stop", index };
179396
+ }
179397
+ yield {
179398
+ type: "message_delta",
179399
+ delta: { stop_reason: stopReason, stop_sequence: null },
179400
+ usage
179401
+ };
179402
+ yield { type: "message_stop" };
179403
+ }
179404
+ function normalizeError2(e2) {
179405
+ const err = e2;
179406
+ const status = err?.$metadata?.httpStatusCode;
179407
+ const name = err?.name;
179408
+ if (name === "TimeoutError" || /ECONNRESET|ETIMEDOUT|ENOTFOUND|fetch failed/i.test(String(err?.message ?? ""))) {
179409
+ return new import_sdk4.APIConnectionError({
179410
+ message: String(err?.message ?? "connection error"),
179411
+ cause: e2
179412
+ });
179413
+ }
179414
+ if (typeof status === "number") {
179415
+ return import_sdk4.APIError.generate(status, { error: err }, String(err?.message ?? ""), undefined);
179416
+ }
179417
+ return e2;
179418
+ }
179419
+ function isReasoningFieldRejection(e2) {
179420
+ const err = e2;
179421
+ const status = err?.$metadata?.httpStatusCode;
179422
+ const msg = String(err?.message ?? "");
179423
+ return (status === 400 || err?.name === "ValidationException") && /reasoning_config|additionalModelRequestFields|reasoning|unsupported|unknown|unexpected/i.test(msg);
179424
+ }
179425
+ function createBedrockConverseClient(config2) {
179426
+ const key = JSON.stringify({ region: config2.region ?? "", hasKey: !!config2.apiKey, maxRetries: config2.maxRetries ?? 2 });
179427
+ const cached2 = clientCache2.get(key);
179428
+ if (cached2)
179429
+ return cached2;
179430
+ const client3 = createBedrockConverseClientUncached(config2);
179431
+ clientCache2.set(key, client3);
179432
+ return client3;
179433
+ }
179434
+ function _resetBedrockConverseClientCacheForTesting() {
179435
+ clientCache2.clear();
179436
+ }
179437
+ function createBedrockConverseClientUncached(config2) {
179438
+ let runtimePromise;
179439
+ const getRuntime = () => {
179440
+ if (!runtimePromise) {
179441
+ runtimePromise = createBedrockRuntimeClient({ region: config2.region, apiKey: config2.apiKey });
179442
+ }
179443
+ return runtimePromise;
179444
+ };
179445
+ async function send(commandName, params, signal) {
179446
+ const runtime = await getRuntime();
179447
+ const sdk = await Promise.resolve().then(() => __toESM(require_dist_cjs27(), 1));
179448
+ const Command = sdk[`${commandName}Command`];
179449
+ const sendOnce = (includeReasoningConfig) => {
179450
+ const input = toConverseInput(params, { includeReasoningConfig });
179451
+ return runtime.send(new Command(input), signal ? { abortSignal: signal } : undefined);
179452
+ };
179453
+ try {
179454
+ return await sendOnce(true);
179455
+ } catch (e2) {
179456
+ if (isReasoningFieldRejection(e2)) {
179457
+ try {
179458
+ return await sendOnce(false);
179459
+ } catch (e22) {
179460
+ reportIssue("bedrock_converse.request_failed", "Bedrock Converse request failed", {
179461
+ model: params.model,
179462
+ error: e22 instanceof Error ? e22.message : String(e22)
179463
+ });
179464
+ throw normalizeError2(e22);
179465
+ }
179466
+ }
179467
+ reportIssue("bedrock_converse.request_failed", "Bedrock Converse request failed", {
179468
+ model: params.model,
179469
+ error: e2 instanceof Error ? e2.message : String(e2)
179470
+ });
179471
+ throw normalizeError2(e2);
179472
+ }
179473
+ }
179474
+ async function runNonStreaming(params, signal) {
179475
+ const response = await send("Converse", params, signal);
179476
+ return toBetaMessageFromConverse(response, params.model);
179477
+ }
179478
+ async function runStreamingWithResponse(params, signal) {
179479
+ const response = await send("ConverseStream", params, signal);
179480
+ const stream4 = response.stream ?? async function* () {}();
179481
+ return {
179482
+ data: translateConverseStream(stream4, params.model),
179483
+ request_id: null,
179484
+ response: new Response(null, { status: 200 })
179485
+ };
179486
+ }
179487
+ function create2(params, opts) {
179488
+ const signal = opts?.signal;
179489
+ return {
179490
+ then(onFulfilled, onRejected) {
179491
+ return runNonStreaming(params, signal).then(onFulfilled, onRejected);
179492
+ },
179493
+ catch(onRejected) {
179494
+ return runNonStreaming(params, signal).catch(onRejected);
179495
+ },
179496
+ withResponse: () => runStreamingWithResponse(params, signal)
179497
+ };
179498
+ }
179499
+ return {
179500
+ beta: { messages: { create: create2 } },
179501
+ messages: { create: create2 }
179502
+ };
179503
+ }
179504
+ var import_sdk4, clientCache2;
179505
+ var init_bedrockConverseAdapter = __esm(() => {
179506
+ init_bedrock();
179507
+ init_rayuDiagnostics();
179508
+ import_sdk4 = __toESM(require_sdk(), 1);
179509
+ clientCache2 = new Map;
179510
+ });
179511
+
178808
179512
  // src/utils/browser.ts
178809
179513
  function validateUrl(url3) {
178810
179514
  let parsedUrl;
@@ -179273,7 +179977,7 @@ function partsOf(resp) {
179273
179977
  const content = cand.content ?? {};
179274
179978
  return content.parts ?? [];
179275
179979
  }
179276
- function mapUsage2(resp) {
179980
+ function mapUsage3(resp) {
179277
179981
  const u4 = resp.usageMetadata ?? {};
179278
179982
  return {
179279
179983
  input_tokens: u4.promptTokenCount ?? 0,
@@ -179294,7 +179998,9 @@ function toBetaMessageFromGenAI(resp, model) {
179294
179998
  let idx = 0;
179295
179999
  let hadToolUse = false;
179296
180000
  for (const part of partsOf(resp)) {
179297
- if (typeof part.text === "string" && part.text.length) {
180001
+ if (part.thought === true && typeof part.text === "string" && part.text.length) {
180002
+ content.push({ type: "thinking", thinking: part.text, signature: "" });
180003
+ } else if (typeof part.text === "string" && part.text.length) {
179298
180004
  content.push({ type: "text", text: part.text });
179299
180005
  } else if (part.functionCall) {
179300
180006
  const fc = part.functionCall;
@@ -179317,7 +180023,7 @@ function toBetaMessageFromGenAI(resp, model) {
179317
180023
  content,
179318
180024
  stop_reason: mapFinish(resp, hadToolUse),
179319
180025
  stop_sequence: null,
179320
- usage: mapUsage2(resp)
180026
+ usage: mapUsage3(resp)
179321
180027
  };
179322
180028
  }
179323
180029
  async function* translateGenAIStream(stream4, model) {
@@ -179334,32 +180040,45 @@ async function* translateGenAIStream(stream4, model) {
179334
180040
  usage: { input_tokens: 0, output_tokens: 0 }
179335
180041
  }
179336
180042
  };
179337
- let blockOpen = false;
179338
- let blockIsText = false;
180043
+ let openType = null;
179339
180044
  let usage = { input_tokens: 0, output_tokens: 0 };
179340
180045
  let hadToolUse = false;
179341
180046
  let idx = 0;
179342
180047
  const closeBlock = function* () {
179343
- if (blockOpen) {
180048
+ if (openType !== null) {
179344
180049
  yield { type: "content_block_stop", index: idx };
179345
180050
  idx++;
179346
- blockOpen = false;
180051
+ openType = null;
179347
180052
  }
179348
180053
  };
179349
180054
  for await (const chunk of stream4) {
179350
180055
  if (chunk.usageMetadata)
179351
- usage = mapUsage2(chunk);
180056
+ usage = mapUsage3(chunk);
179352
180057
  for (const part of partsOf(chunk)) {
179353
- if (typeof part.text === "string" && part.text.length) {
179354
- if (!blockOpen || !blockIsText) {
180058
+ if (part.thought === true && typeof part.text === "string" && part.text.length) {
180059
+ if (openType !== "thinking") {
180060
+ yield* closeBlock();
180061
+ yield {
180062
+ type: "content_block_start",
180063
+ index: idx,
180064
+ content_block: { type: "thinking", thinking: "", signature: "" }
180065
+ };
180066
+ openType = "thinking";
180067
+ }
180068
+ yield {
180069
+ type: "content_block_delta",
180070
+ index: idx,
180071
+ delta: { type: "thinking_delta", thinking: part.text }
180072
+ };
180073
+ } else if (typeof part.text === "string" && part.text.length) {
180074
+ if (openType !== "text") {
179355
180075
  yield* closeBlock();
179356
180076
  yield {
179357
180077
  type: "content_block_start",
179358
180078
  index: idx,
179359
180079
  content_block: { type: "text", text: "" }
179360
180080
  };
179361
- blockOpen = true;
179362
- blockIsText = true;
180081
+ openType = "text";
179363
180082
  }
179364
180083
  yield {
179365
180084
  type: "content_block_delta",
@@ -179390,8 +180109,7 @@ async function* translateGenAIStream(stream4, model) {
179390
180109
  partial_json: JSON.stringify(fc.args ?? {})
179391
180110
  }
179392
180111
  };
179393
- blockOpen = true;
179394
- blockIsText = false;
180112
+ openType = "tool";
179395
180113
  }
179396
180114
  }
179397
180115
  }
@@ -179423,14 +180141,18 @@ function buildGenAIBody(params) {
179423
180141
  }
179424
180142
  function geminiThinkingConfig() {
179425
180143
  const level = process.env.RAYU_GEMINI_THINKING_LEVEL?.trim().toLowerCase();
180144
+ const disable = process.env.CLAUDE_CODE_DISABLE_THINKING;
180145
+ if (level === "off" || level === "none" || level === "disabled" || disable === "1" || disable === "true") {
180146
+ return { thinkingBudget: 0, includeThoughts: false };
180147
+ }
179426
180148
  const budget = parseInt(process.env.RAYU_GEMINI_THINKING_BUDGET || "", 10);
179427
- const cfg = {};
180149
+ const cfg = { includeThoughts: true };
179428
180150
  if (level === "low" || level === "medium" || level === "high") {
179429
180151
  cfg.thinkingLevel = level;
179430
180152
  }
179431
180153
  if (!isNaN(budget) && budget >= 0)
179432
180154
  cfg.thinkingBudget = budget;
179433
- return Object.keys(cfg).length ? cfg : undefined;
180155
+ return cfg;
179434
180156
  }
179435
180157
  var thoughtSignatures, GEMINI_SCHEMA_KEYS;
179436
180158
  var init_genaiTranslate = __esm(() => {
@@ -179639,7 +180361,7 @@ async function* parseSSEResponses(body) {
179639
180361
  reader.releaseLock();
179640
180362
  }
179641
180363
  }
179642
- function normalizeError2(e2, model) {
180364
+ function normalizeError3(e2, model) {
179643
180365
  reportIssue("code_assist.request_failed", "Code Assist request failed", {
179644
180366
  model,
179645
180367
  error: e2 instanceof Error ? e2.message : String(e2)
@@ -179667,7 +180389,7 @@ function createCodeAssistClient(config2) {
179667
180389
  const json2 = await res.json();
179668
180390
  return toBetaMessageFromGenAI(json2.response ?? json2, params.model);
179669
180391
  } catch (e2) {
179670
- throw normalizeError2(e2, params.model);
180392
+ throw normalizeError3(e2, params.model);
179671
180393
  }
179672
180394
  }
179673
180395
  async function runStreaming(params) {
@@ -179686,7 +180408,7 @@ function createCodeAssistClient(config2) {
179686
180408
  response: new Response(null, { status: 200 })
179687
180409
  };
179688
180410
  } catch (e2) {
179689
- throw normalizeError2(e2, params.model);
180411
+ throw normalizeError3(e2, params.model);
179690
180412
  }
179691
180413
  }
179692
180414
  return {
@@ -179737,7 +180459,7 @@ function buildVertexGenaiBody(params) {
179737
180459
  body.generationConfig = b.config;
179738
180460
  return body;
179739
180461
  }
179740
- function normalizeError3(e2, model) {
180462
+ function normalizeError4(e2, model) {
179741
180463
  reportIssue("vertex_genai.request_failed", "Vertex genai request failed", {
179742
180464
  model,
179743
180465
  error: e2 instanceof Error ? e2.message : String(e2)
@@ -179794,7 +180516,7 @@ function createVertexGenaiClient(provider, maxRetries) {
179794
180516
  const json2 = await res.json();
179795
180517
  return toBetaMessageFromGenAI(json2, params.model);
179796
180518
  } catch (e2) {
179797
- throw normalizeError3(e2, params.model);
180519
+ throw normalizeError4(e2, params.model);
179798
180520
  }
179799
180521
  }
179800
180522
  async function runStreaming(params) {
@@ -179812,7 +180534,7 @@ function createVertexGenaiClient(provider, maxRetries) {
179812
180534
  response: new Response(null, { status: 200 })
179813
180535
  };
179814
180536
  } catch (e2) {
179815
- throw normalizeError3(e2, params.model);
180537
+ throw normalizeError4(e2, params.model);
179816
180538
  }
179817
180539
  }
179818
180540
  return {
@@ -179879,6 +180601,19 @@ async function getRayuBedrockAnthropicClient(maxRetries) {
179879
180601
  maxRetries
179880
180602
  });
179881
180603
  }
180604
+ async function getRayuBedrockConverseClient(maxRetries) {
180605
+ const { getActiveProvider: getActiveProvider2 } = await Promise.resolve().then(() => (init_rayuConfig(), exports_rayuConfig));
180606
+ const active = getActiveProvider2();
180607
+ if (active?.kind !== "bedrock" || active.bedrockApi !== "converse") {
180608
+ return null;
180609
+ }
180610
+ const { createBedrockConverseClient: createBedrockConverseClient2 } = await Promise.resolve().then(() => (init_bedrockConverseAdapter(), exports_bedrockConverseAdapter));
180611
+ return createBedrockConverseClient2({
180612
+ apiKey: active.apiKey,
180613
+ region: active.awsRegion,
180614
+ maxRetries
180615
+ });
180616
+ }
179882
180617
  async function getRayuVertexClient(maxRetries) {
179883
180618
  const { getActiveProvider: getActiveProvider2 } = await Promise.resolve().then(() => (init_rayuConfig(), exports_rayuConfig));
179884
180619
  const active = getActiveProvider2();
@@ -179919,6 +180654,14 @@ async function buildClientForProvider(provider, maxRetries) {
179919
180654
  maxRetries
179920
180655
  });
179921
180656
  }
180657
+ if (provider.kind === "bedrock" && provider.bedrockApi === "converse") {
180658
+ const { createBedrockConverseClient: createBedrockConverseClient2 } = await Promise.resolve().then(() => (init_bedrockConverseAdapter(), exports_bedrockConverseAdapter));
180659
+ return createBedrockConverseClient2({
180660
+ apiKey: provider.apiKey,
180661
+ region: provider.awsRegion,
180662
+ maxRetries
180663
+ });
180664
+ }
179922
180665
  if (provider.kind === "vertex") {
179923
180666
  const { createVertexGenaiClient: createVertexGenaiClient2 } = await Promise.resolve().then(() => (init_vertexGenaiClient(), exports_vertexGenaiClient));
179924
180667
  return createVertexGenaiClient2(provider, maxRetries);
@@ -179964,6 +180707,10 @@ async function getAnthropicClient({
179964
180707
  if (bedrockAnthropicClient) {
179965
180708
  return bedrockAnthropicClient;
179966
180709
  }
180710
+ const bedrockConverseClient = await getRayuBedrockConverseClient(maxRetries);
180711
+ if (bedrockConverseClient) {
180712
+ return bedrockConverseClient;
180713
+ }
179967
180714
  const genaiClient = await getRayuGenAIClient(maxRetries);
179968
180715
  if (genaiClient) {
179969
180716
  return genaiClient;
@@ -180019,7 +180766,7 @@ async function getAnthropicClient({
180019
180766
  ...ARGS,
180020
180767
  ...isDebugToStdErr() && { logger: createStderrLogger() }
180021
180768
  };
180022
- return new import_sdk4.default(clientConfig);
180769
+ return new import_sdk5.default(clientConfig);
180023
180770
  }
180024
180771
  async function configureApiKeyHeaders(headers, isNonInteractiveSession) {
180025
180772
  const token = process.env.RAYU_ANTHROPIC_AUTH_TOKEN;
@@ -180063,7 +180810,7 @@ function buildFetch(fetchOverride, source) {
180063
180810
  return inner(input, { ...init, headers });
180064
180811
  };
180065
180812
  }
180066
- var import_sdk4, CLIENT_REQUEST_ID_HEADER = "x-client-request-id";
180813
+ var import_sdk5, CLIENT_REQUEST_ID_HEADER = "x-client-request-id";
180067
180814
  var init_client4 = __esm(() => {
180068
180815
  init_auth();
180069
180816
  init_http2();
@@ -180073,7 +180820,7 @@ var init_client4 = __esm(() => {
180073
180820
  init_oauth();
180074
180821
  init_debug();
180075
180822
  init_envUtils();
180076
- import_sdk4 = __toESM(require_sdk(), 1);
180823
+ import_sdk5 = __toESM(require_sdk(), 1);
180077
180824
  });
180078
180825
 
180079
180826
  // src/utils/model/modelCapabilities.ts
@@ -181215,7 +181962,7 @@ var init_metadata = __esm(() => {
181215
181962
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
181216
181963
  WHITESPACE_REGEX = /\s+/;
181217
181964
  getVersionBase = memoize_default(() => {
181218
- const match = "1.3.127".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
181965
+ const match = "1.3.327".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
181219
181966
  return match ? match[0] : undefined;
181220
181967
  });
181221
181968
  buildEnvContext = memoize_default(async () => {
@@ -181254,7 +182001,7 @@ var init_metadata = __esm(() => {
181254
182001
  },
181255
182002
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
181256
182003
  isRayuAction: isEnvTruthy(process.env.RAYU_ACTION),
181257
- version: "1.3.127",
182004
+ version: "1.3.327",
181258
182005
  versionBase: getVersionBase(),
181259
182006
  buildTime: "",
181260
182007
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
@@ -181868,7 +182615,7 @@ function initialize1PEventLogging() {
181868
182615
  const platform2 = getPlatform();
181869
182616
  const attributes = {
181870
182617
  [import_semantic_conventions.ATTR_SERVICE_NAME]: "rayu",
181871
- [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.127"
182618
+ [import_semantic_conventions.ATTR_SERVICE_VERSION]: "1.3.327"
181872
182619
  };
181873
182620
  if (platform2 === "wsl") {
181874
182621
  const wslVersion = getWslVersion();
@@ -181895,7 +182642,7 @@ function initialize1PEventLogging() {
181895
182642
  })
181896
182643
  ]
181897
182644
  });
181898
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.127");
182645
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("io.rayu.events", "1.3.327");
181899
182646
  }
181900
182647
  async function reinitialize1PEventLoggingIfConfigChanged() {
181901
182648
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -217811,7 +218558,7 @@ function getAttributionHeader(fingerprint) {
217811
218558
  if (!isAttributionHeaderEnabled()) {
217812
218559
  return "";
217813
218560
  }
217814
- const version2 = `${"1.3.127"}.${fingerprint}`;
218561
+ const version2 = `${"1.3.327"}.${fingerprint}`;
217815
218562
  const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
217816
218563
  const cch = "";
217817
218564
  const workload = getWorkload();
@@ -268660,7 +269407,7 @@ ${grepGuidance}
268660
269407
 
268661
269408
  NOTE: You are meant to be a fast agent that returns output as quickly as possible. In order to achieve this you must:
268662
269409
  - Make efficient use of the tools that you have at your disposal: be smart about how you search for files and implementations
268663
- - Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files
269410
+ - Wherever possible you should try to spawn multiple parallel tool calls for grepping and reading files — plan them upfront and batch them in one message (~3–5 at a time); parallel is ~3–5x faster than one-at-a-time.
268664
269411
 
268665
269412
  Complete the user's search request efficiently and report your findings clearly.`;
268666
269413
  }
@@ -268703,6 +269450,7 @@ var SHARED_PREFIX = `You are an agent for the official CLI powered by Choeng Ray
268703
269450
 
268704
269451
  Guidelines:
268705
269452
  - For file searches: search broadly when you don't know where something lives. Use Read when you know the specific file path.
269453
+ - Work in PARALLEL: plan the lookups you need upfront, then batch independent reads/greps/searches into a SINGLE message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster than one-at-a-time. Go sequential only when one result determines the next.
268706
269454
  - For analysis: Start broad and narrow down. Use multiple search strategies if the first doesn't yield results.
268707
269455
  - Be thorough: Check multiple locations, consider different naming conventions, look for related files.
268708
269456
  - NEVER create files unless they're absolutely necessary for achieving your goal. ALWAYS prefer editing an existing file to creating a new one.
@@ -268719,7 +269467,7 @@ var init_generalPurposeAgent = __esm(() => {
268719
269467
  });
268720
269468
 
268721
269469
  // src/tools/AgentTool/built-in/subagents/common.ts
268722
- var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
269470
+ var EPHEMERAL_FRAMING = `You are a one-shot subagent: a fresh session with NO memory of past work and NO future. You receive a single self-contained task packet, perform exactly ONE job, and return a concise structured result to the agent that spawned you. Do NOT ask follow-up questions — everything you need is in the task packet; if something is genuinely missing, state the assumption you made and proceed. Keep going until the job is fully done. Work in PARALLEL where steps are independent: batch your reads/greps/searches into a single message (multiple tool calls, ~3–5 at a time — parallel is ~3–5x faster than one-at-a-time); go sequential only when one call genuinely needs another's output. Report high-signal results only (the output + the few facts that matter, not a play-by-play). Do not create report files; report back as your final message.`, SKILL_SEEKING = `Before starting, check whether any installed skill (via the Skill tool) is relevant to this task and would improve the result — if so, use it. Skills are installed by the user via /install-skill or /find-skill; if none apply, proceed without one.`;
268723
269471
 
268724
269472
  // src/tools/AgentTool/built-in/subagents/asset-generation.ts
268725
269473
  function getAssetGenSystemPrompt() {
@@ -268799,7 +269547,7 @@ ${SKILL_SEEKING}
268799
269547
  ## Your job (from the task packet)
268800
269548
  - Take the Fix List (each item: file, line, issue, fix) and apply exactly those corrections — change the wrong hex code, adjust the padding, add the missing animation/handler, fix the logic bug, etc.
268801
269549
  - Make the SMALLEST change that resolves each item; do not refactor or gold-plate beyond the listed fixes.
268802
- - After editing, verify where cheap (build/lint/tests) that the fixes hold and didn't break anything.
269550
+ - After editing, RE-VERIFY: run the relevant build/lint/tests to confirm the fixes hold and didn't break anything. Do not report a fix as done if it's unverified.
268803
269551
 
268804
269552
  ## Output
268805
269553
  Report, per fix item: the file changed, what you changed, and pass/fail of any verification. List any item you could NOT fix and why (do not silently skip).`;
@@ -268891,7 +269639,7 @@ ${SKILL_SEEKING}
268891
269639
 
268892
269640
  ## Your job
268893
269641
  1. Understand the objective and constraints from the task packet.
268894
- 2. Research deeply and in PARALLEL: dispatch the Explore and general-purpose subagents (in a single message, multiple Agent calls) to map the existing code, conventions, integration points, and risks. For a brand-new project, research the relevant stack/best-practices instead.
269642
+ 2. Research deeply and IN PARALLEL: dispatch multiple Explore/general-purpose subagents in a SINGLE message (multiple Agent calls, ~3–5 max — never one at a time; parallel is ~3–5x faster) to map the existing code, conventions, integration points, and risks concurrently. For a brand-new project, research the relevant stack/best-practices the same way. Time-box this: gather just enough to commit confidently, then STOP researching and decide — do not over-research.
268895
269643
  3. Think hard before answering — reason through multiple viable approaches and their trade-offs (complexity, risk, blast radius, reversibility), then commit to ONE and justify it briefly. Be decisive; no hedging.
268896
269644
  4. Produce a concrete plan.
268897
269645
 
@@ -269426,9 +270174,18 @@ function buildCollaboratorPrompt(s2) {
269426
270174
  owns,
269427
270175
  "",
269428
270176
  "## How you work",
269429
- "- You implement AND iterate: write real, production-ready code/config in your domain, verify it (build/lint/tests), and refine until it meets the brief. You have the full toolset; request permission for sensitive actions through the normal permission flow.",
270177
+ "- You implement AND iterate: write real, production-ready code/config in your domain and refine until it meets the brief. You have the full toolset; request permission for sensitive actions through the normal permission flow.",
270178
+ "- Work in PARALLEL where independent: batch reads/greps and independent edits into one message (multiple tool calls, ~3–5 at a time) — parallel is ~3–5x faster. Go sequential only on a true dependency.",
269430
270179
  `- Seek relevant INSTALLED skills (via the Skill tool) that improve your output — ${s2.skillHint}. Skills are installed by the user via /install-skill or /find-skill; if none are installed, proceed without one.`,
269431
270180
  "- You may use MCP servers and dispatch the Tier-3 subagents (e.g. asset-generation, review, fix, linter) for atomic jobs — the same subagents the orchestrator uses.",
270181
+ "- Be autonomous: keep going until your piece is complete; state assumptions and continue rather than stopping for approval unless genuinely blocked.",
270182
+ "",
270183
+ "## Quality bar",
270184
+ "- Code must run immediately: include all imports, dependencies, and wiring. Use clear, descriptive names and explicit types on public APIs; prefer guard clauses/early returns; match the existing project style and conventions.",
270185
+ "- No linter errors. If your domain is UI (frontend/mobile), deliver a modern, polished interface with strong UX and accessibility — not just a rough layout.",
270186
+ "",
270187
+ "## Verify before reporting done",
270188
+ "- Run the relevant build/lint/tests for your changes and FIX failures before handing back. Never report a change as done if it is unverified or breaks the build.",
269432
270189
  "",
269433
270190
  "## Authority",
269434
270191
  authority,
@@ -271279,10 +272036,10 @@ function shouldProcessRateLimits(isSubscriber) {
271279
272036
  function isMockRateLimitError(error54) {
271280
272037
  return shouldProcessMockLimits() && error54.status === 429;
271281
272038
  }
271282
- var import_sdk5;
272039
+ var import_sdk6;
271283
272040
  var init_rateLimitMocking = __esm(() => {
271284
272041
  init_mockRateLimits();
271285
- import_sdk5 = __toESM(require_sdk(), 1);
272042
+ import_sdk6 = __toESM(require_sdk(), 1);
271286
272043
  });
271287
272044
 
271288
272045
  // src/services/rateLimitMessages.ts
@@ -271542,7 +272299,7 @@ async function checkQuotaStatus() {
271542
272299
  const raw = await makeTestQuery();
271543
272300
  extractQuotaStatusFromHeaders(raw.headers);
271544
272301
  } catch (error54) {
271545
- if (error54 instanceof import_sdk6.APIError) {
272302
+ if (error54 instanceof import_sdk7.APIError) {
271546
272303
  extractQuotaStatusFromError(error54);
271547
272304
  }
271548
272305
  }
@@ -271686,7 +272443,7 @@ function extractQuotaStatusFromError(error54) {
271686
272443
  logError2(e2);
271687
272444
  }
271688
272445
  }
271689
- var import_sdk6, EARLY_WARNING_CONFIGS, EARLY_WARNING_CLAIM_MAP, currentLimits, rawUtilization, statusListeners;
272446
+ var import_sdk7, EARLY_WARNING_CONFIGS, EARLY_WARNING_CLAIM_MAP, currentLimits, rawUtilization, statusListeners;
271690
272447
  var init_claudeAiLimits = __esm(() => {
271691
272448
  init_isEqual();
271692
272449
  init_state();
@@ -271700,7 +272457,7 @@ var init_claudeAiLimits = __esm(() => {
271700
272457
  init_client4();
271701
272458
  init_rateLimitMocking();
271702
272459
  init_rateLimitMessages();
271703
- import_sdk6 = __toESM(require_sdk(), 1);
272460
+ import_sdk7 = __toESM(require_sdk(), 1);
271704
272461
  EARLY_WARNING_CONFIGS = [
271705
272462
  {
271706
272463
  rateLimitType: "five_hour",
@@ -272055,7 +272812,7 @@ function logToolUseToolResultMismatch(toolUseId, messages, messagesForAPI) {
272055
272812
  } catch (_) {}
272056
272813
  }
272057
272814
  function getAssistantMessageFromError(error54, model, options) {
272058
- if (error54 instanceof import_sdk7.APIConnectionTimeoutError || error54 instanceof import_sdk7.APIConnectionError && error54.message.toLowerCase().includes("timeout")) {
272815
+ if (error54 instanceof import_sdk8.APIConnectionTimeoutError || error54 instanceof import_sdk8.APIConnectionError && error54.message.toLowerCase().includes("timeout")) {
272059
272816
  return createAssistantAPIErrorMessage({
272060
272817
  content: API_TIMEOUT_ERROR_MESSAGE,
272061
272818
  error: "unknown"
@@ -272072,7 +272829,7 @@ function getAssistantMessageFromError(error54, model, options) {
272072
272829
  error: "rate_limit"
272073
272830
  });
272074
272831
  }
272075
- if (error54 instanceof import_sdk7.APIError && error54.status === 429 && shouldProcessRateLimits(false)) {
272832
+ if (error54 instanceof import_sdk8.APIError && error54.status === 429 && shouldProcessRateLimits(false)) {
272076
272833
  const rateLimitType = error54.headers?.get?.("anthropic-ratelimit-unified-representative-claim");
272077
272834
  const overageStatus = error54.headers?.get?.("anthropic-ratelimit-unified-overage-status");
272078
272835
  if (rateLimitType || overageStatus) {
@@ -272152,32 +272909,32 @@ function getAssistantMessageFromError(error54, model, options) {
272152
272909
  error: "invalid_request"
272153
272910
  });
272154
272911
  }
272155
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("image exceeds") && error54.message.includes("maximum")) {
272912
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("image exceeds") && error54.message.includes("maximum")) {
272156
272913
  return createAssistantAPIErrorMessage({
272157
272914
  content: getImageTooLargeErrorMessage(),
272158
272915
  errorDetails: error54.message
272159
272916
  });
272160
272917
  }
272161
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("image dimensions exceed") && error54.message.includes("many-image")) {
272918
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("image dimensions exceed") && error54.message.includes("many-image")) {
272162
272919
  return createAssistantAPIErrorMessage({
272163
272920
  content: getIsNonInteractiveSession() ? "An image in the conversation exceeds the dimension limit for many-image requests (2000px). Start a new session with fewer images." : "An image in the conversation exceeds the dimension limit for many-image requests (2000px). Run /compact to remove old images from context, or start a new session.",
272164
272921
  error: "invalid_request",
272165
272922
  errorDetails: error54.message
272166
272923
  });
272167
272924
  }
272168
- if (AFK_MODE_BETA_HEADER && error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes(AFK_MODE_BETA_HEADER) && error54.message.includes("anthropic-beta")) {
272925
+ if (AFK_MODE_BETA_HEADER && error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes(AFK_MODE_BETA_HEADER) && error54.message.includes("anthropic-beta")) {
272169
272926
  return createAssistantAPIErrorMessage({
272170
272927
  content: "Auto mode is unavailable for your plan",
272171
272928
  error: "invalid_request"
272172
272929
  });
272173
272930
  }
272174
- if (error54 instanceof import_sdk7.APIError && error54.status === 413) {
272931
+ if (error54 instanceof import_sdk8.APIError && error54.status === 413) {
272175
272932
  return createAssistantAPIErrorMessage({
272176
272933
  content: getRequestTooLargeErrorMessage(),
272177
272934
  error: "invalid_request"
272178
272935
  });
272179
272936
  }
272180
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids were found without `tool_result` blocks immediately after")) {
272937
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids were found without `tool_result` blocks immediately after")) {
272181
272938
  if (options?.messages && options?.messagesForAPI) {
272182
272939
  const toolUseIdMatch = error54.message.match(/toolu_[a-zA-Z0-9]+/);
272183
272940
  const toolUseId = toolUseIdMatch ? toolUseIdMatch[0] : null;
@@ -272194,10 +272951,10 @@ function getAssistantMessageFromError(error54, model, options) {
272194
272951
  });
272195
272952
  }
272196
272953
  }
272197
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("unexpected `tool_use_id` found in `tool_result`")) {
272954
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("unexpected `tool_use_id` found in `tool_result`")) {
272198
272955
  logEvent("tengu_unexpected_tool_result", {});
272199
272956
  }
272200
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids must be unique")) {
272957
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids must be unique")) {
272201
272958
  logEvent("tengu_duplicate_tool_use_id", {});
272202
272959
  const rewindInstruction = getIsNonInteractiveSession() ? "" : " Run /rewind to recover the conversation.";
272203
272960
  return createAssistantAPIErrorMessage({
@@ -272213,7 +272970,7 @@ function getAssistantMessageFromError(error54, model, options) {
272213
272970
  error: "billing_error"
272214
272971
  });
272215
272972
  }
272216
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.toLowerCase().includes("organization has been disabled")) {
272973
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.toLowerCase().includes("organization has been disabled")) {
272217
272974
  const { source } = getAnthropicApiKeyWithSource();
272218
272975
  if (source === "RAYU_ANTHROPIC_API_KEY" && process.env.RAYU_ANTHROPIC_API_KEY && !isClaudeAISubscriber()) {
272219
272976
  const hasStoredOAuth = getClaudeAIOAuthTokens()?.accessToken != null;
@@ -272237,19 +272994,19 @@ function getAssistantMessageFromError(error54, model, options) {
272237
272994
  content: isExternalSource ? INVALID_API_KEY_ERROR_MESSAGE_EXTERNAL : INVALID_API_KEY_ERROR_MESSAGE
272238
272995
  });
272239
272996
  }
272240
- if (error54 instanceof import_sdk7.APIError && error54.status === 403 && error54.message.includes("OAuth token has been revoked")) {
272997
+ if (error54 instanceof import_sdk8.APIError && error54.status === 403 && error54.message.includes("OAuth token has been revoked")) {
272241
272998
  return createAssistantAPIErrorMessage({
272242
272999
  error: "authentication_failed",
272243
273000
  content: getTokenRevokedErrorMessage()
272244
273001
  });
272245
273002
  }
272246
- if (error54 instanceof import_sdk7.APIError && (error54.status === 401 || error54.status === 403) && error54.message.includes("OAuth authentication is currently not allowed for this organization")) {
273003
+ if (error54 instanceof import_sdk8.APIError && (error54.status === 401 || error54.status === 403) && error54.message.includes("OAuth authentication is currently not allowed for this organization")) {
272247
273004
  return createAssistantAPIErrorMessage({
272248
273005
  error: "authentication_failed",
272249
273006
  content: getOauthOrgNotAllowedErrorMessage()
272250
273007
  });
272251
273008
  }
272252
- if (error54 instanceof import_sdk7.APIError && (error54.status === 401 || error54.status === 403)) {
273009
+ if (error54 instanceof import_sdk8.APIError && (error54.status === 401 || error54.status === 403)) {
272253
273010
  if (isCCRMode()) {
272254
273011
  return createAssistantAPIErrorMessage({
272255
273012
  error: "authentication_failed",
@@ -272269,7 +273026,7 @@ function getAssistantMessageFromError(error54, model, options) {
272269
273026
  error: "invalid_request"
272270
273027
  });
272271
273028
  }
272272
- if (error54 instanceof import_sdk7.APIError && error54.status === 404) {
273029
+ if (error54 instanceof import_sdk8.APIError && error54.status === 404) {
272273
273030
  const switchCmd = getIsNonInteractiveSession() ? "--model" : "/model";
272274
273031
  if (isRayuNonAnthropicActive()) {
272275
273032
  return createAssistantAPIErrorMessage({
@@ -272283,7 +273040,7 @@ function getAssistantMessageFromError(error54, model, options) {
272283
273040
  error: "invalid_request"
272284
273041
  });
272285
273042
  }
272286
- if (error54 instanceof import_sdk7.APIConnectionError) {
273043
+ if (error54 instanceof import_sdk8.APIConnectionError) {
272287
273044
  return createAssistantAPIErrorMessage({
272288
273045
  content: `${API_ERROR_MESSAGE_PREFIX}: ${formatAPIError(error54)}`,
272289
273046
  error: "unknown"
@@ -272320,7 +273077,7 @@ function classifyAPIError(error54) {
272320
273077
  if (error54 instanceof Error && error54.message === "Request was aborted.") {
272321
273078
  return "aborted";
272322
273079
  }
272323
- if (error54 instanceof import_sdk7.APIConnectionTimeoutError || error54 instanceof import_sdk7.APIConnectionError && error54.message.toLowerCase().includes("timeout")) {
273080
+ if (error54 instanceof import_sdk8.APIConnectionTimeoutError || error54 instanceof import_sdk8.APIConnectionError && error54.message.toLowerCase().includes("timeout")) {
272324
273081
  return "api_timeout";
272325
273082
  }
272326
273083
  if (error54 instanceof Error && error54.message.includes(REPEATED_529_ERROR_MESSAGE)) {
@@ -272329,10 +273086,10 @@ function classifyAPIError(error54) {
272329
273086
  if (error54 instanceof Error && error54.message.includes(CUSTOM_OFF_SWITCH_MESSAGE)) {
272330
273087
  return "capacity_off_switch";
272331
273088
  }
272332
- if (error54 instanceof import_sdk7.APIError && error54.status === 429) {
273089
+ if (error54 instanceof import_sdk8.APIError && error54.status === 429) {
272333
273090
  return "rate_limit";
272334
273091
  }
272335
- if (error54 instanceof import_sdk7.APIError && (error54.status === 529 || error54.message?.includes('"type":"overloaded_error"'))) {
273092
+ if (error54 instanceof import_sdk8.APIError && (error54.status === 529 || error54.message?.includes('"type":"overloaded_error"'))) {
272336
273093
  return "server_overload";
272337
273094
  }
272338
273095
  if (error54 instanceof Error && error54.message.toLowerCase().includes(PROMPT_TOO_LONG_ERROR_MESSAGE.toLowerCase())) {
@@ -272344,22 +273101,22 @@ function classifyAPIError(error54) {
272344
273101
  if (error54 instanceof Error && error54.message.includes("The PDF specified is password protected")) {
272345
273102
  return "pdf_password_protected";
272346
273103
  }
272347
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("image exceeds") && error54.message.includes("maximum")) {
273104
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("image exceeds") && error54.message.includes("maximum")) {
272348
273105
  return "image_too_large";
272349
273106
  }
272350
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("image dimensions exceed") && error54.message.includes("many-image")) {
273107
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("image dimensions exceed") && error54.message.includes("many-image")) {
272351
273108
  return "image_too_large";
272352
273109
  }
272353
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids were found without `tool_result` blocks immediately after")) {
273110
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids were found without `tool_result` blocks immediately after")) {
272354
273111
  return "tool_use_mismatch";
272355
273112
  }
272356
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("unexpected `tool_use_id` found in `tool_result`")) {
273113
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("unexpected `tool_use_id` found in `tool_result`")) {
272357
273114
  return "unexpected_tool_result";
272358
273115
  }
272359
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids must be unique")) {
273116
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.includes("`tool_use` ids must be unique")) {
272360
273117
  return "duplicate_tool_use_id";
272361
273118
  }
272362
- if (error54 instanceof import_sdk7.APIError && error54.status === 400 && error54.message.toLowerCase().includes("invalid model name")) {
273119
+ if (error54 instanceof import_sdk8.APIError && error54.status === 400 && error54.message.toLowerCase().includes("invalid model name")) {
272363
273120
  return "invalid_model";
272364
273121
  }
272365
273122
  if (error54 instanceof Error && error54.message.toLowerCase().includes(CREDIT_BALANCE_TOO_LOW_ERROR_MESSAGE.toLowerCase())) {
@@ -272368,26 +273125,26 @@ function classifyAPIError(error54) {
272368
273125
  if (error54 instanceof Error && error54.message.toLowerCase().includes("x-api-key")) {
272369
273126
  return "invalid_api_key";
272370
273127
  }
272371
- if (error54 instanceof import_sdk7.APIError && error54.status === 403 && error54.message.includes("OAuth token has been revoked")) {
273128
+ if (error54 instanceof import_sdk8.APIError && error54.status === 403 && error54.message.includes("OAuth token has been revoked")) {
272372
273129
  return "token_revoked";
272373
273130
  }
272374
- if (error54 instanceof import_sdk7.APIError && (error54.status === 401 || error54.status === 403) && error54.message.includes("OAuth authentication is currently not allowed for this organization")) {
273131
+ if (error54 instanceof import_sdk8.APIError && (error54.status === 401 || error54.status === 403) && error54.message.includes("OAuth authentication is currently not allowed for this organization")) {
272375
273132
  return "oauth_org_not_allowed";
272376
273133
  }
272377
- if (error54 instanceof import_sdk7.APIError && (error54.status === 401 || error54.status === 403)) {
273134
+ if (error54 instanceof import_sdk8.APIError && (error54.status === 401 || error54.status === 403)) {
272378
273135
  return "auth_error";
272379
273136
  }
272380
273137
  if (isEnvTruthy(process.env.RAYU_USE_BEDROCK) && error54 instanceof Error && error54.message.toLowerCase().includes("model id")) {
272381
273138
  return "bedrock_model_access";
272382
273139
  }
272383
- if (error54 instanceof import_sdk7.APIError) {
273140
+ if (error54 instanceof import_sdk8.APIError) {
272384
273141
  const status = error54.status;
272385
273142
  if (status >= 500)
272386
273143
  return "server_error";
272387
273144
  if (status >= 400)
272388
273145
  return "client_error";
272389
273146
  }
272390
- if (error54 instanceof import_sdk7.APIConnectionError) {
273147
+ if (error54 instanceof import_sdk8.APIConnectionError) {
272391
273148
  const connectionDetails = extractConnectionErrorDetails(error54);
272392
273149
  if (connectionDetails?.isSSLError) {
272393
273150
  return "ssl_cert_error";
@@ -272423,7 +273180,7 @@ function getErrorMessageIfRefusal(stopReason, model) {
272423
273180
  error: "invalid_request"
272424
273181
  });
272425
273182
  }
272426
- var import_sdk7, API_ERROR_MESSAGE_PREFIX = "API Error", PROMPT_TOO_LONG_ERROR_MESSAGE = "Prompt is too long", CREDIT_BALANCE_TOO_LOW_ERROR_MESSAGE = "Credit balance is too low", INVALID_API_KEY_ERROR_MESSAGE = "No valid provider API key · Configure Rayu with /connect or ~/.rayu/providers.json", INVALID_API_KEY_ERROR_MESSAGE_EXTERNAL = "Invalid provider API key · Update your Rayu provider configuration", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY_WITH_OAUTH = "Your RAYU_ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your configured Rayu provider instead", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY = "Your RAYU_ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the environment variable", TOKEN_REVOKED_ERROR_MESSAGE = "Provider token revoked · Update your Rayu provider configuration", CCR_AUTH_ERROR_MESSAGE = "Authentication error · This may be a temporary network issue, please try again", REPEATED_529_ERROR_MESSAGE = "Repeated 529 Overloaded errors", CUSTOM_OFF_SWITCH_MESSAGE = "Opus is experiencing high load, please use /model to switch to Sonnet", API_TIMEOUT_ERROR_MESSAGE = "Request timed out", OAUTH_ORG_NOT_ALLOWED_ERROR_MESSAGE = "Your configured provider account does not have access to Rayu.";
273183
+ var import_sdk8, API_ERROR_MESSAGE_PREFIX = "API Error", PROMPT_TOO_LONG_ERROR_MESSAGE = "Prompt is too long", CREDIT_BALANCE_TOO_LOW_ERROR_MESSAGE = "Credit balance is too low", INVALID_API_KEY_ERROR_MESSAGE = "No valid provider API key · Configure Rayu with /connect or ~/.rayu/providers.json", INVALID_API_KEY_ERROR_MESSAGE_EXTERNAL = "Invalid provider API key · Update your Rayu provider configuration", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY_WITH_OAUTH = "Your RAYU_ANTHROPIC_API_KEY belongs to a disabled organization · Unset the environment variable to use your configured Rayu provider instead", ORG_DISABLED_ERROR_MESSAGE_ENV_KEY = "Your RAYU_ANTHROPIC_API_KEY belongs to a disabled organization · Update or unset the environment variable", TOKEN_REVOKED_ERROR_MESSAGE = "Provider token revoked · Update your Rayu provider configuration", CCR_AUTH_ERROR_MESSAGE = "Authentication error · This may be a temporary network issue, please try again", REPEATED_529_ERROR_MESSAGE = "Repeated 529 Overloaded errors", CUSTOM_OFF_SWITCH_MESSAGE = "Opus is experiencing high load, please use /model to switch to Sonnet", API_TIMEOUT_ERROR_MESSAGE = "Request timed out", OAUTH_ORG_NOT_ALLOWED_ERROR_MESSAGE = "Your configured provider account does not have access to Rayu.";
272427
273184
  var init_errors7 = __esm(() => {
272428
273185
  init_betas();
272429
273186
  init_auth();
@@ -272441,7 +273198,7 @@ var init_errors7 = __esm(() => {
272441
273198
  init_claudeAiLimits();
272442
273199
  init_rateLimitMocking();
272443
273200
  init_errorUtils();
272444
- import_sdk7 = __toESM(require_sdk(), 1);
273201
+ import_sdk8 = __toESM(require_sdk(), 1);
272445
273202
  });
272446
273203
 
272447
273204
  // src/utils/advisor.ts
@@ -272877,10 +273634,10 @@ function isPersistentRetryEnabled() {
272877
273634
  return false;
272878
273635
  }
272879
273636
  function isTransientCapacityError(error54) {
272880
- return is529Error(error54) || error54 instanceof import_sdk8.APIError && error54.status === 429;
273637
+ return is529Error(error54) || error54 instanceof import_sdk9.APIError && error54.status === 429;
272881
273638
  }
272882
273639
  function isStaleConnectionError(error54) {
272883
- if (!(error54 instanceof import_sdk8.APIConnectionError)) {
273640
+ if (!(error54 instanceof import_sdk9.APIConnectionError)) {
272884
273641
  return false;
272885
273642
  }
272886
273643
  const details = extractConnectionErrorDetails(error54);
@@ -272899,7 +273656,7 @@ async function* withRetry(getClient, operation, options) {
272899
273656
  let persistentAttempt = 0;
272900
273657
  for (let attempt = 1;attempt <= maxRetries + 1; attempt++) {
272901
273658
  if (options.signal?.aborted) {
272902
- throw new import_sdk8.APIUserAbortError;
273659
+ throw new import_sdk9.APIUserAbortError;
272903
273660
  }
272904
273661
  const wasFastModeActive = isFastModeEnabled() ? retryContext.fastMode && !isFastModeCooldown() : false;
272905
273662
  try {
@@ -272909,8 +273666,8 @@ async function* withRetry(getClient, operation, options) {
272909
273666
  logForDebugging("Stale connection (ECONNRESET/EPIPE) — disabling keep-alive for retry");
272910
273667
  disableKeepAlive();
272911
273668
  }
272912
- if (client4 === null || lastError instanceof import_sdk8.APIError && lastError.status === 401 || isOAuthTokenRevokedError(lastError) || isBedrockAuthError(lastError) || isVertexAuthError(lastError) || isStaleConnection) {
272913
- if (lastError instanceof import_sdk8.APIError && lastError.status === 401 || isOAuthTokenRevokedError(lastError)) {
273669
+ if (client4 === null || lastError instanceof import_sdk9.APIError && lastError.status === 401 || isOAuthTokenRevokedError(lastError) || isBedrockAuthError(lastError) || isVertexAuthError(lastError) || isStaleConnection) {
273670
+ if (lastError instanceof import_sdk9.APIError && lastError.status === 401 || isOAuthTokenRevokedError(lastError)) {
272914
273671
  const failedAccessToken = getClaudeAIOAuthTokens()?.accessToken;
272915
273672
  if (failedAccessToken) {
272916
273673
  await handleOAuth401Error(failedAccessToken);
@@ -272921,8 +273678,8 @@ async function* withRetry(getClient, operation, options) {
272921
273678
  return await operation(client4, attempt, retryContext);
272922
273679
  } catch (error54) {
272923
273680
  lastError = error54;
272924
- logForDebugging(`API error (attempt ${attempt}/${maxRetries + 1}): ${error54 instanceof import_sdk8.APIError ? `${error54.status} ${error54.message}` : errorMessage(error54)}`, { level: "error" });
272925
- if (wasFastModeActive && !isPersistentRetryEnabled() && error54 instanceof import_sdk8.APIError && (error54.status === 429 || is529Error(error54))) {
273681
+ logForDebugging(`API error (attempt ${attempt}/${maxRetries + 1}): ${error54 instanceof import_sdk9.APIError ? `${error54.status} ${error54.message}` : errorMessage(error54)}`, { level: "error" });
273682
+ if (wasFastModeActive && !isPersistentRetryEnabled() && error54 instanceof import_sdk9.APIError && (error54.status === 429 || is529Error(error54))) {
272926
273683
  const overageReason = error54.headers?.get("anthropic-ratelimit-unified-overage-disabled-reason");
272927
273684
  if (overageReason !== null && overageReason !== undefined) {
272928
273685
  handleFastModeOverageRejection(overageReason);
@@ -272975,10 +273732,10 @@ async function* withRetry(getClient, operation, options) {
272975
273732
  throw new CannotRetryError(error54, retryContext);
272976
273733
  }
272977
273734
  const handledCloudAuthError = handleAwsCredentialError(error54) || handleGcpCredentialError(error54);
272978
- if (!handledCloudAuthError && (!(error54 instanceof import_sdk8.APIError) || !shouldRetry(error54))) {
273735
+ if (!handledCloudAuthError && (!(error54 instanceof import_sdk9.APIError) || !shouldRetry(error54))) {
272979
273736
  throw new CannotRetryError(error54, retryContext);
272980
273737
  }
272981
- if (error54 instanceof import_sdk8.APIError) {
273738
+ if (error54 instanceof import_sdk9.APIError) {
272982
273739
  const overflowData = parseMaxTokensContextOverflowError(error54);
272983
273740
  if (overflowData) {
272984
273741
  const { inputTokens, contextLimit } = overflowData;
@@ -273002,7 +273759,7 @@ async function* withRetry(getClient, operation, options) {
273002
273759
  }
273003
273760
  const retryAfter = getRetryAfter(error54);
273004
273761
  let delayMs;
273005
- if (persistent && error54 instanceof import_sdk8.APIError && error54.status === 429) {
273762
+ if (persistent && error54 instanceof import_sdk9.APIError && error54.status === 429) {
273006
273763
  persistentAttempt++;
273007
273764
  const resetDelay = getRateLimitResetDelayMs(error54);
273008
273765
  delayMs = resetDelay ?? Math.min(getRetryDelay(persistentAttempt, retryAfter, PERSISTENT_MAX_BACKOFF_MS), PERSISTENT_RESET_CAP_MS);
@@ -273032,8 +273789,8 @@ async function* withRetry(getClient, operation, options) {
273032
273789
  let remaining = delayMs;
273033
273790
  while (remaining > 0) {
273034
273791
  if (options.signal?.aborted)
273035
- throw new import_sdk8.APIUserAbortError;
273036
- if (error54 instanceof import_sdk8.APIError) {
273792
+ throw new import_sdk9.APIUserAbortError;
273793
+ if (error54 instanceof import_sdk9.APIError) {
273037
273794
  yield createSystemAPIErrorMessage(error54, remaining, reportedAttempt, maxRetries);
273038
273795
  }
273039
273796
  const chunk = Math.min(remaining, HEARTBEAT_INTERVAL_MS);
@@ -273043,7 +273800,7 @@ async function* withRetry(getClient, operation, options) {
273043
273800
  if (attempt >= maxRetries)
273044
273801
  attempt = maxRetries;
273045
273802
  } else {
273046
- if (error54 instanceof import_sdk8.APIError) {
273803
+ if (error54 instanceof import_sdk9.APIError) {
273047
273804
  yield createSystemAPIErrorMessage(error54, delayMs, attempt, maxRetries);
273048
273805
  }
273049
273806
  await sleep(delayMs, options.signal, { abortError });
@@ -273091,23 +273848,23 @@ function parseMaxTokensContextOverflowError(error54) {
273091
273848
  return { inputTokens, maxTokens, contextLimit };
273092
273849
  }
273093
273850
  function isFastModeNotEnabledError(error54) {
273094
- if (!(error54 instanceof import_sdk8.APIError)) {
273851
+ if (!(error54 instanceof import_sdk9.APIError)) {
273095
273852
  return false;
273096
273853
  }
273097
273854
  return error54.status === 400 && (error54.message?.includes("Fast mode is not enabled") ?? false);
273098
273855
  }
273099
273856
  function is529Error(error54) {
273100
- if (!(error54 instanceof import_sdk8.APIError)) {
273857
+ if (!(error54 instanceof import_sdk9.APIError)) {
273101
273858
  return false;
273102
273859
  }
273103
273860
  return error54.status === 529 || (error54.message?.includes('"type":"overloaded_error"') ?? false);
273104
273861
  }
273105
273862
  function isOAuthTokenRevokedError(error54) {
273106
- return error54 instanceof import_sdk8.APIError && error54.status === 403 && (error54.message?.includes("OAuth token has been revoked") ?? false);
273863
+ return error54 instanceof import_sdk9.APIError && error54.status === 403 && (error54.message?.includes("OAuth token has been revoked") ?? false);
273107
273864
  }
273108
273865
  function isBedrockAuthError(error54) {
273109
273866
  if (isEnvTruthy(process.env.RAYU_USE_BEDROCK)) {
273110
- if (isAwsCredentialsProviderError(error54) || error54 instanceof import_sdk8.APIError && error54.status === 403) {
273867
+ if (isAwsCredentialsProviderError(error54) || error54 instanceof import_sdk9.APIError && error54.status === 403) {
273111
273868
  return true;
273112
273869
  }
273113
273870
  }
@@ -273131,7 +273888,7 @@ function isVertexAuthError(error54) {
273131
273888
  if (isGoogleAuthLibraryCredentialError(error54)) {
273132
273889
  return true;
273133
273890
  }
273134
- if (error54 instanceof import_sdk8.APIError && error54.status === 401) {
273891
+ if (error54 instanceof import_sdk9.APIError && error54.status === 401) {
273135
273892
  return true;
273136
273893
  }
273137
273894
  }
@@ -273170,7 +273927,7 @@ function shouldRetry(error54) {
273170
273927
  return false;
273171
273928
  }
273172
273929
  }
273173
- if (error54 instanceof import_sdk8.APIConnectionError) {
273930
+ if (error54 instanceof import_sdk9.APIConnectionError) {
273174
273931
  return true;
273175
273932
  }
273176
273933
  if (!error54.status)
@@ -273224,7 +273981,7 @@ function getRateLimitResetDelayMs(error54) {
273224
273981
  return null;
273225
273982
  return Math.min(delayMs, PERSISTENT_RESET_CAP_MS);
273226
273983
  }
273227
- var import_sdk8, abortError = () => new import_sdk8.APIUserAbortError, DEFAULT_MAX_RETRIES = 10, FLOOR_OUTPUT_TOKENS = 3000, MAX_529_RETRIES = 3, BASE_DELAY_MS = 500, FOREGROUND_529_RETRY_SOURCES, PERSISTENT_MAX_BACKOFF_MS, PERSISTENT_RESET_CAP_MS, HEARTBEAT_INTERVAL_MS = 30000, CannotRetryError, FallbackTriggeredError, DEFAULT_FAST_MODE_FALLBACK_HOLD_MS, SHORT_RETRY_THRESHOLD_MS, MIN_COOLDOWN_MS;
273984
+ var import_sdk9, abortError = () => new import_sdk9.APIUserAbortError, DEFAULT_MAX_RETRIES = 10, FLOOR_OUTPUT_TOKENS = 3000, MAX_529_RETRIES = 3, BASE_DELAY_MS = 500, FOREGROUND_529_RETRY_SOURCES, PERSISTENT_MAX_BACKOFF_MS, PERSISTENT_RESET_CAP_MS, HEARTBEAT_INTERVAL_MS = 30000, CannotRetryError, FallbackTriggeredError, DEFAULT_FAST_MODE_FALLBACK_HOLD_MS, SHORT_RETRY_THRESHOLD_MS, MIN_COOLDOWN_MS;
273228
273985
  var init_withRetry = __esm(() => {
273229
273986
  init_aws();
273230
273987
  init_debug();
@@ -273242,7 +273999,7 @@ var init_withRetry = __esm(() => {
273242
273999
  init_rateLimitMocking();
273243
274000
  init_errors7();
273244
274001
  init_errorUtils();
273245
- import_sdk8 = __toESM(require_sdk(), 1);
274002
+ import_sdk9 = __toESM(require_sdk(), 1);
273246
274003
  FOREGROUND_529_RETRY_SOURCES = new Set([
273247
274004
  "repl_main_thread",
273248
274005
  "repl_main_thread:outputStyle:custom",
@@ -295881,7 +296638,7 @@ async function streamCompactSummary({
295881
296638
  hasStartedStreaming
295882
296639
  });
295883
296640
  await sleep(getRetryDelay(attempt), context.abortController.signal, {
295884
- abortError: () => new import_sdk9.APIUserAbortError
296641
+ abortError: () => new import_sdk10.APIUserAbortError
295885
296642
  });
295886
296643
  continue;
295887
296644
  }
@@ -296051,7 +296808,7 @@ function shouldExcludeFromPostCompactRestore(filename, agentId) {
296051
296808
  } catch {}
296052
296809
  return false;
296053
296810
  }
296054
- var import_sdk9, POST_COMPACT_MAX_FILES_TO_RESTORE = 5, POST_COMPACT_TOKEN_BUDGET = 50000, POST_COMPACT_MAX_TOKENS_PER_FILE = 5000, POST_COMPACT_MAX_TOKENS_PER_SKILL = 5000, POST_COMPACT_SKILLS_TOKEN_BUDGET = 25000, MAX_COMPACT_STREAMING_RETRIES = 2, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES = "Not enough messages to compact.", MAX_PTL_RETRIES = 3, PTL_RETRY_MARKER = "[earlier conversation truncated for compaction retry]", ERROR_MESSAGE_PROMPT_TOO_LONG = "Conversation too long. Press esc twice to go up a few messages and try again.", ERROR_MESSAGE_USER_ABORT = "API Error: Request was aborted.", ERROR_MESSAGE_INCOMPLETE_RESPONSE = "Compaction interrupted · This may be due to network issues — please try again.", SKILL_TRUNCATION_MARKER = `
296811
+ var import_sdk10, POST_COMPACT_MAX_FILES_TO_RESTORE = 5, POST_COMPACT_TOKEN_BUDGET = 50000, POST_COMPACT_MAX_TOKENS_PER_FILE = 5000, POST_COMPACT_MAX_TOKENS_PER_SKILL = 5000, POST_COMPACT_SKILLS_TOKEN_BUDGET = 25000, MAX_COMPACT_STREAMING_RETRIES = 2, ERROR_MESSAGE_NOT_ENOUGH_MESSAGES = "Not enough messages to compact.", MAX_PTL_RETRIES = 3, PTL_RETRY_MARKER = "[earlier conversation truncated for compaction retry]", ERROR_MESSAGE_PROMPT_TOO_LONG = "Conversation too long. Press esc twice to go up a few messages and try again.", ERROR_MESSAGE_USER_ABORT = "API Error: Request was aborted.", ERROR_MESSAGE_INCOMPLETE_RESPONSE = "Compaction interrupted · This may be due to network issues — please try again.", SKILL_TRUNCATION_MARKER = `
296055
296812
 
296056
296813
  [... skill content truncated for compaction; use Read on the skill path if you need the full text]`;
296057
296814
  var init_compact = __esm(() => {
@@ -296091,7 +296848,7 @@ var init_compact = __esm(() => {
296091
296848
  init_internalLogging();
296092
296849
  init_tokenEstimation();
296093
296850
  init_prompt10();
296094
- import_sdk9 = __toESM(require_sdk(), 1);
296851
+ import_sdk10 = __toESM(require_sdk(), 1);
296095
296852
  });
296096
296853
 
296097
296854
  // src/constants/systemPromptSections.ts
@@ -302073,7 +302830,7 @@ function isNormalizedCdCommand(command) {
302073
302830
  function commandHasAnyCd(command) {
302074
302831
  return splitCommand(command).some((subcmd) => isNormalizedCdCommand(subcmd.trim()));
302075
302832
  }
302076
- var import_sdk10, bashCommandIsSafeAsync, splitCommand, ENV_VAR_ASSIGN_RE, MAX_SUBCOMMANDS_FOR_SECURITY_CHECK = 50, MAX_SUGGESTED_RULES_FOR_COMPOUND = 5, BARE_SHELL_PREFIXES, permissionRuleExtractPrefix3, bashPermissionRule, SAFE_ENV_VARS2, ANT_ONLY_SAFE_ENV_VARS, BINARY_HIJACK_VARS, bashToolCheckExactMatchPermission = (input, toolPermissionContext) => {
302833
+ var import_sdk11, bashCommandIsSafeAsync, splitCommand, ENV_VAR_ASSIGN_RE, MAX_SUBCOMMANDS_FOR_SECURITY_CHECK = 50, MAX_SUGGESTED_RULES_FOR_COMPOUND = 5, BARE_SHELL_PREFIXES, permissionRuleExtractPrefix3, bashPermissionRule, SAFE_ENV_VARS2, ANT_ONLY_SAFE_ENV_VARS, BINARY_HIJACK_VARS, bashToolCheckExactMatchPermission = (input, toolPermissionContext) => {
302077
302834
  const command = input.command.trim();
302078
302835
  const { matchingDenyRules, matchingAskRules, matchingAllowRules } = matchingRulesForInput2(input, toolPermissionContext, "exact");
302079
302836
  if (matchingDenyRules[0] !== undefined) {
@@ -302217,7 +302974,7 @@ var init_bashPermissions = __esm(() => {
302217
302974
  init_pathValidation3();
302218
302975
  init_sedValidation();
302219
302976
  init_shouldUseSandbox();
302220
- import_sdk10 = __toESM(require_sdk(), 1);
302977
+ import_sdk11 = __toESM(require_sdk(), 1);
302221
302978
  bashCommandIsSafeAsync = bashCommandIsSafeAsync_DEPRECATED;
302222
302979
  splitCommand = splitCommand_DEPRECATED;
302223
302980
  ENV_VAR_ASSIGN_RE = /^[A-Za-z_]\w*=/;
@@ -302406,7 +303163,7 @@ function getTelemetryAttributes() {
302406
303163
  attributes["session.id"] = sessionId;
302407
303164
  }
302408
303165
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
302409
- attributes["app.version"] = "1.3.127";
303166
+ attributes["app.version"] = "1.3.327";
302410
303167
  }
302411
303168
  const oauthAccount = getOauthAccountInfo();
302412
303169
  if (oauthAccount) {
@@ -412764,7 +413521,7 @@ function getInstallationEnv() {
412764
413521
  return;
412765
413522
  }
412766
413523
  function getClaudeCodeVersion() {
412767
- return "1.3.127";
413524
+ return "1.3.327";
412768
413525
  }
412769
413526
  async function getInstalledVSCodeExtensionVersion(command) {
412770
413527
  const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
@@ -418002,7 +418759,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
418002
418759
  const client4 = new Client({
418003
418760
  name: "claude-code",
418004
418761
  title: "RAYU",
418005
- version: "1.3.127",
418762
+ version: "1.3.327",
418006
418763
  description: "Anthropic's agentic coding tool",
418007
418764
  websiteUrl: PRODUCT_URL
418008
418765
  }, {
@@ -418319,7 +419076,7 @@ var init_client7 = __esm(() => {
418319
419076
  const client4 = new Client({
418320
419077
  name: "claude-code",
418321
419078
  title: "RAYU",
418322
- version: "1.3.127",
419079
+ version: "1.3.327",
418323
419080
  description: "Anthropic's agentic coding tool",
418324
419081
  websiteUrl: PRODUCT_URL
418325
419082
  }, {
@@ -425083,7 +425840,8 @@ function recordPendingFileChange(context, input) {
425083
425840
  structuredPatch: input.structuredPatch,
425084
425841
  status: "pending"
425085
425842
  };
425086
- context.setAppState((prev) => ({
425843
+ const applyChange = context.recordFileChangeSetAppState ?? context.setAppState;
425844
+ applyChange((prev) => ({
425087
425845
  ...prev,
425088
425846
  pendingFileChanges: [...prev.pendingFileChanges, change].slice(-MAX_PENDING_FILE_CHANGES)
425089
425847
  }));
@@ -431617,7 +432375,8 @@ function createProgressTracker() {
431617
432375
  toolUseCount: 0,
431618
432376
  latestInputTokens: 0,
431619
432377
  cumulativeOutputTokens: 0,
431620
- recentActivities: []
432378
+ recentActivities: [],
432379
+ isThinking: false
431621
432380
  };
431622
432381
  }
431623
432382
  function getTokenCountFromTracker(tracker) {
@@ -431630,6 +432389,7 @@ function updateProgressFromMessage(tracker, message, resolveActivityDescription,
431630
432389
  const usage = message.message.usage;
431631
432390
  tracker.latestInputTokens = usage.input_tokens + (usage.cache_creation_input_tokens ?? 0) + (usage.cache_read_input_tokens ?? 0);
431632
432391
  tracker.cumulativeOutputTokens += usage.output_tokens;
432392
+ tracker.isThinking = message.message.content.some((c4) => c4.type === "thinking" || c4.type === "redacted_thinking") && !message.message.content.some((c4) => c4.type === "tool_use");
431633
432393
  for (const content of message.message.content) {
431634
432394
  if (content.type === "tool_use") {
431635
432395
  tracker.toolUseCount++;
@@ -431655,7 +432415,8 @@ function getProgressUpdate(tracker) {
431655
432415
  toolUseCount: tracker.toolUseCount,
431656
432416
  tokenCount: getTokenCountFromTracker(tracker),
431657
432417
  lastActivity: tracker.recentActivities.length > 0 ? tracker.recentActivities[tracker.recentActivities.length - 1] : undefined,
431658
- recentActivities: [...tracker.recentActivities]
432418
+ recentActivities: [...tracker.recentActivities],
432419
+ isThinking: tracker.isThinking
431659
432420
  };
431660
432421
  }
431661
432422
  function createActivityDescriptionResolver(tools) {
@@ -433120,7 +433881,7 @@ function computeFingerprint(messageText, version2) {
433120
433881
  }
433121
433882
  function computeFingerprintFromMessages(messages) {
433122
433883
  const firstMessageText = extractFirstMessageText(messages);
433123
- return computeFingerprint(firstMessageText, "1.3.127");
433884
+ return computeFingerprint(firstMessageText, "1.3.327");
433124
433885
  }
433125
433886
  var FINGERPRINT_SALT = "59cf53e54c78";
433126
433887
  var init_fingerprint = () => {};
@@ -433162,7 +433923,7 @@ async function sideQuery(opts) {
433162
433923
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
433163
433924
  }
433164
433925
  const messageText = extractFirstUserMessageText(messages);
433165
- const fingerprint = computeFingerprint(messageText, "1.3.127");
433926
+ const fingerprint = computeFingerprint(messageText, "1.3.327");
433166
433927
  const attributionHeader = getAttributionHeader(fingerprint);
433167
433928
  const systemBlocks = [
433168
433929
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -445565,6 +446326,29 @@ function hasProgressMessage(data) {
445565
446326
  const msg = data.message;
445566
446327
  return msg != null && typeof msg === "object" && "type" in msg;
445567
446328
  }
446329
+ function isAgentCurrentlyThinking(progressMessages) {
446330
+ const last2 = progressMessages.findLast((m3) => hasProgressMessage(m3.data));
446331
+ if (!last2 || !hasProgressMessage(last2.data)) {
446332
+ return false;
446333
+ }
446334
+ const message = last2.data.message;
446335
+ if (message.type !== "assistant") {
446336
+ return false;
446337
+ }
446338
+ const content = message.message.content;
446339
+ return content.some((c4) => c4.type === "thinking" || c4.type === "redacted_thinking") && !content.some((c4) => c4.type === "tool_use");
446340
+ }
446341
+ function isThinkingOnlyAssistantMessage(m3) {
446342
+ if (!hasProgressMessage(m3.data)) {
446343
+ return false;
446344
+ }
446345
+ const message = m3.data.message;
446346
+ if (message.type !== "assistant") {
446347
+ return false;
446348
+ }
446349
+ const content = message.message.content;
446350
+ return content.length > 0 && content.every((c4) => c4.type === "thinking" || c4.type === "redacted_thinking");
446351
+ }
445568
446352
  function getSearchOrReadInfo(progressMessage, tools, toolUseByID) {
445569
446353
  if (!hasProgressMessage(progressMessage.data)) {
445570
446354
  return null;
@@ -445586,7 +446370,7 @@ function getSearchOrReadInfo(progressMessage, tools, toolUseByID) {
445586
446370
  }
445587
446371
  function processProgressMessages(messages, tools, isAgentRunning) {
445588
446372
  if (true) {
445589
- return messages.filter((m3) => hasProgressMessage(m3.data) && m3.data.message.type !== "user").map((m3) => ({
446373
+ return messages.filter((m3) => hasProgressMessage(m3.data) && m3.data.message.type !== "user" && !isThinkingOnlyAssistantMessage(m3)).map((m3) => ({
445590
446374
  type: "original",
445591
446375
  message: m3
445592
446376
  }));
@@ -446142,7 +446926,7 @@ function renderToolUseProgressMessage5(progressMessages, {
446142
446926
  height: 1,
446143
446927
  children: /* @__PURE__ */ jsx_dev_runtime108.jsxDEV(ThemedText, {
446144
446928
  dimColor: true,
446145
- children: INITIALIZING_TEXT
446929
+ children: isAgentCurrentlyThinking(progressMessages) ? THINKING_TEXT : INITIALIZING_TEXT
446146
446930
  }, undefined, false, undefined, this)
446147
446931
  }, undefined, false, undefined, this);
446148
446932
  }
@@ -446428,6 +447212,9 @@ function userFacingNameBackgroundColor(input) {
446428
447212
  return getAgentColor(input.subagent_type);
446429
447213
  }
446430
447214
  function extractLastToolInfo(progressMessages, tools) {
447215
+ if (isAgentCurrentlyThinking(progressMessages)) {
447216
+ return THINKING_TEXT;
447217
+ }
446431
447218
  const toolUseByID = new Map;
446432
447219
  for (const pm of progressMessages) {
446433
447220
  if (!hasProgressMessage(pm.data)) {
@@ -446498,7 +447285,7 @@ function extractLastToolInfo(progressMessages, tools) {
446498
447285
  function isCustomSubagentType(subagentType) {
446499
447286
  return !!subagentType && subagentType !== GENERAL_PURPOSE_AGENT.agentType && subagentType !== "worker";
446500
447287
  }
446501
- var import_compiler_runtime92, jsx_dev_runtime108, MAX_PROGRESS_MESSAGES_TO_SHOW = 3, ESTIMATED_LINES_PER_TOOL = 9, TERMINAL_BUFFER_LINES = 7, INITIALIZING_TEXT = "Initializing…";
447288
+ var import_compiler_runtime92, jsx_dev_runtime108, MAX_PROGRESS_MESSAGES_TO_SHOW = 3, THINKING_TEXT = "thinking…", ESTIMATED_LINES_PER_TOOL = 9, TERMINAL_BUFFER_LINES = 7, INITIALIZING_TEXT = "Initializing…";
446502
447289
  var init_UI11 = __esm(() => {
446503
447290
  init_ConfigurableShortcutHint();
446504
447291
  init_CtrlOToExpand();
@@ -447460,6 +448247,13 @@ async function initializeAgentMcpServers(agentDefinition, parentClients) {
447460
448247
  function isRecordableMessage(msg) {
447461
448248
  return msg.type === "assistant" || msg.type === "user" || msg.type === "progress" || msg.type === "system" && "subtype" in msg && msg.subtype === "compact_boundary";
447462
448249
  }
448250
+ function resolveFileChangeRecorder(opts) {
448251
+ if (opts.worktreePath)
448252
+ return () => {};
448253
+ if (opts.parentRecorder !== undefined)
448254
+ return opts.parentRecorder;
448255
+ return opts.rootSetAppState;
448256
+ }
447463
448257
  async function* runAgent({
447464
448258
  agentDefinition,
447465
448259
  promptMessages,
@@ -447620,7 +448414,7 @@ async function* runAgent({
447620
448414
  debug: toolUseContext.options.debug,
447621
448415
  verbose: toolUseContext.options.verbose,
447622
448416
  mainLoopModel: resolvedAgentModel,
447623
- thinkingConfig: useExactTools ? toolUseContext.options.thinkingConfig : { type: "disabled" },
448417
+ thinkingConfig: useExactTools || SUBAGENT_TYPES.includes(agentDefinition.agentType) || COLLABORATOR_AGENT_TYPES.includes(agentDefinition.agentType) ? toolUseContext.options.thinkingConfig : { type: "disabled" },
447624
448418
  mcpClients: mergedMcpClients,
447625
448419
  mcpResources: toolUseContext.options.mcpResources,
447626
448420
  agentDefinitions: toolUseContext.options.agentDefinitions,
@@ -447642,6 +448436,11 @@ async function* runAgent({
447642
448436
  if (preserveToolUseResults) {
447643
448437
  agentToolUseContext.preserveToolUseResults = true;
447644
448438
  }
448439
+ agentToolUseContext.recordFileChangeSetAppState = resolveFileChangeRecorder({
448440
+ worktreePath,
448441
+ parentRecorder: toolUseContext.recordFileChangeSetAppState,
448442
+ rootSetAppState
448443
+ });
447645
448444
  if (onCacheSafeParams) {
447646
448445
  onCacheSafeParams({
447647
448446
  systemPrompt: agentSystemPrompt,
@@ -447810,6 +448609,8 @@ var init_runAgent = __esm(() => {
447810
448609
  init_uuid();
447811
448610
  init_agentToolUtils();
447812
448611
  init_loadAgentsDir();
448612
+ init_collaborators();
448613
+ init_subagents();
447813
448614
  });
447814
448615
 
447815
448616
  // src/services/AgentSummary/agentSummary.ts
@@ -492978,7 +493779,7 @@ async function validateModel(model) {
492978
493779
  }
492979
493780
  }
492980
493781
  function handleValidationError(error54, modelName) {
492981
- if (error54 instanceof import_sdk11.NotFoundError) {
493782
+ if (error54 instanceof import_sdk12.NotFoundError) {
492982
493783
  const fallback = get3PFallbackSuggestion(modelName);
492983
493784
  const suggestion = fallback ? `. Try '${fallback}' instead` : "";
492984
493785
  return {
@@ -492986,14 +493787,14 @@ function handleValidationError(error54, modelName) {
492986
493787
  error: `Model '${modelName}' not found${suggestion}`
492987
493788
  };
492988
493789
  }
492989
- if (error54 instanceof import_sdk11.APIError) {
492990
- if (error54 instanceof import_sdk11.AuthenticationError) {
493790
+ if (error54 instanceof import_sdk12.APIError) {
493791
+ if (error54 instanceof import_sdk12.AuthenticationError) {
492991
493792
  return {
492992
493793
  valid: false,
492993
493794
  error: "Authentication failed. Please check your API credentials."
492994
493795
  };
492995
493796
  }
492996
- if (error54 instanceof import_sdk11.APIConnectionError) {
493797
+ if (error54 instanceof import_sdk12.APIConnectionError) {
492997
493798
  return {
492998
493799
  valid: false,
492999
493800
  error: "Network error. Please check your internet connection."
@@ -493027,14 +493828,14 @@ function get3PFallbackSuggestion(model) {
493027
493828
  }
493028
493829
  return;
493029
493830
  }
493030
- var import_sdk11, validModelCache;
493831
+ var import_sdk12, validModelCache;
493031
493832
  var init_validateModel = __esm(() => {
493032
493833
  init_aliases();
493033
493834
  init_modelAllowlist();
493034
493835
  init_providers();
493035
493836
  init_sideQuery();
493036
493837
  init_modelStrings();
493037
- import_sdk11 = __toESM(require_sdk(), 1);
493838
+ import_sdk12 = __toESM(require_sdk(), 1);
493038
493839
  validModelCache = new Map;
493039
493840
  });
493040
493841
 
@@ -500578,7 +501379,7 @@ var init_emptyUsage = __esm(() => {
500578
501379
 
500579
501380
  // src/services/api/logging.ts
500580
501381
  function getErrorMessage2(error54) {
500581
- if (error54 instanceof import_sdk12.APIError) {
501382
+ if (error54 instanceof import_sdk13.APIError) {
500582
501383
  const body = error54.error;
500583
501384
  if (body?.error?.message)
500584
501385
  return body.error.message;
@@ -500688,11 +501489,11 @@ function logAPIError({
500688
501489
  previousRequestId
500689
501490
  }) {
500690
501491
  const gateway = detectGateway({
500691
- headers: error54 instanceof import_sdk12.APIError && error54.headers ? error54.headers : headers,
501492
+ headers: error54 instanceof import_sdk13.APIError && error54.headers ? error54.headers : headers,
500692
501493
  baseUrl: process.env.ANTHROPIC_BASE_URL
500693
501494
  });
500694
501495
  const errStr = getErrorMessage2(error54);
500695
- const status = error54 instanceof import_sdk12.APIError ? String(error54.status) : undefined;
501496
+ const status = error54 instanceof import_sdk13.APIError ? String(error54.status) : undefined;
500696
501497
  const errorType = classifyAPIError(error54);
500697
501498
  const connectionDetails = extractConnectionErrorDetails(error54);
500698
501499
  if (connectionDetails) {
@@ -500995,7 +501796,7 @@ function logAPISuccessAndDuration({
500995
501796
  markFirstTeleportMessageLogged();
500996
501797
  }
500997
501798
  }
500998
- var import_sdk12, GATEWAY_FINGERPRINTS, GATEWAY_HOST_SUFFIXES;
501799
+ var import_sdk13, GATEWAY_FINGERPRINTS, GATEWAY_HOST_SUFFIXES;
500999
501800
  var init_logging = __esm(() => {
501000
501801
  init_state();
501001
501802
  init_debug();
@@ -501010,7 +501811,7 @@ var init_logging = __esm(() => {
501010
501811
  init_emptyUsage();
501011
501812
  init_errors7();
501012
501813
  init_errorUtils();
501013
- import_sdk12 = __toESM(require_sdk(), 1);
501814
+ import_sdk13 = __toESM(require_sdk(), 1);
501014
501815
  GATEWAY_FINGERPRINTS = {
501015
501816
  litellm: {
501016
501817
  prefixes: ["x-litellm-"]
@@ -501143,6 +501944,7 @@ function createSubagentContext(parentContext, overrides) {
501143
501944
  getAppState,
501144
501945
  setAppState: overrides?.shareSetAppState ? parentContext.setAppState : () => {},
501145
501946
  setAppStateForTasks: parentContext.setAppStateForTasks ?? parentContext.setAppState,
501947
+ recordFileChangeSetAppState: parentContext.recordFileChangeSetAppState,
501146
501948
  localDenialTracking: overrides?.shareSetAppState ? parentContext.localDenialTracking : createDenialTrackingState(),
501147
501949
  setInProgressToolUseIDs: () => {},
501148
501950
  setResponseLength: overrides?.shareSetResponseLength ? parentContext.setResponseLength : () => {},
@@ -520021,7 +520823,7 @@ ${deferredToolList}
520021
520823
  betasParams.push(cacheEditingBetaHeader);
520022
520824
  logForDebugging("Cache editing beta header enabled for cached microcompact");
520023
520825
  }
520024
- const temperature = !hasThinking ? options.temperatureOverride ?? 1 : undefined;
520826
+ const temperature = !hasThinking || isOpenAICompatibleActive() ? options.temperatureOverride ?? 1 : undefined;
520025
520827
  lastRequestBetas = betasParams;
520026
520828
  return {
520027
520829
  model: normalizeModelStringForAPI(options.model),
@@ -522214,7 +523016,7 @@ async function checkRuleBasedPermissions(tool, input, context) {
522214
523016
  const parsedInput = tool.inputSchema.parse(input);
522215
523017
  toolPermissionResult = await tool.checkPermissions(parsedInput, context);
522216
523018
  } catch (e2) {
522217
- if (e2 instanceof AbortError || e2 instanceof import_sdk13.APIUserAbortError) {
523019
+ if (e2 instanceof AbortError || e2 instanceof import_sdk14.APIUserAbortError) {
522218
523020
  throw e2;
522219
523021
  }
522220
523022
  logError2(e2);
@@ -522278,7 +523080,7 @@ async function hasPermissionsToUseToolInner(tool, input, context) {
522278
523080
  const parsedInput = tool.inputSchema.parse(input);
522279
523081
  toolPermissionResult = await tool.checkPermissions(parsedInput, context);
522280
523082
  } catch (e2) {
522281
- if (e2 instanceof AbortError || e2 instanceof import_sdk13.APIUserAbortError) {
523083
+ if (e2 instanceof AbortError || e2 instanceof import_sdk14.APIUserAbortError) {
522282
523084
  throw e2;
522283
523085
  }
522284
523086
  logError2(e2);
@@ -522425,7 +523227,7 @@ function syncPermissionRulesFromDisk(toolPermissionContext, rules) {
522425
523227
  function getUpdatedInputOrFallback(permissionResult, fallback) {
522426
523228
  return ("updatedInput" in permissionResult ? permissionResult.updatedInput : undefined) ?? fallback;
522427
523229
  }
522428
- var import_sdk13, CLASSIFIER_FAIL_CLOSED_REFRESH_MS, PERMISSION_RULE_SOURCES, hasPermissionsToUseTool = async (tool, input, context, assistantMessage, toolUseID) => {
523230
+ var import_sdk14, CLASSIFIER_FAIL_CLOSED_REFRESH_MS, PERMISSION_RULE_SOURCES, hasPermissionsToUseTool = async (tool, input, context, assistantMessage, toolUseID) => {
522429
523231
  const result = await hasPermissionsToUseToolInner(tool, input, context);
522430
523232
  if (result.behavior === "allow") {
522431
523233
  const appState = context.getAppState();
@@ -522490,7 +523292,7 @@ var init_permissions3 = __esm(() => {
522490
523292
  init_slowOperations();
522491
523293
  init_denialTracking();
522492
523294
  init_yoloClassifier();
522493
- import_sdk13 = __toESM(require_sdk(), 1);
523295
+ import_sdk14 = __toESM(require_sdk(), 1);
522494
523296
  CLASSIFIER_FAIL_CLOSED_REFRESH_MS = 30 * 60 * 1000;
522495
523297
  PERMISSION_RULE_SOURCES = [
522496
523298
  ...SETTING_SOURCES,
@@ -528127,7 +528929,7 @@ function Feedback({
528127
528929
  platform: env4.platform,
528128
528930
  gitRepo: envInfo.isGit,
528129
528931
  terminal: env4.terminal,
528130
- version: "1.3.127",
528932
+ version: "1.3.327",
528131
528933
  transcript: normalizeMessagesForAPI(messages),
528132
528934
  errors: sanitizedErrors,
528133
528935
  lastApiRequest: getLastAPIRequest(),
@@ -528319,7 +529121,7 @@ function Feedback({
528319
529121
  ", ",
528320
529122
  env4.terminal,
528321
529123
  ", v",
528322
- "1.3.127"
529124
+ "1.3.327"
528323
529125
  ]
528324
529126
  }, undefined, true, undefined, this)
528325
529127
  ]
@@ -528425,7 +529227,7 @@ ${sanitizedDescription}
528425
529227
  ` + `**Environment Info**
528426
529228
  ` + `- Platform: ${env4.platform}
528427
529229
  ` + `- Terminal: ${env4.terminal}
528428
- ` + `- Version: ${"1.3.127"}
529230
+ ` + `- Version: ${"1.3.327"}
528429
529231
  ` + `- Feedback ID: ${feedbackId}
528430
529232
  ` + `
528431
529233
  **Errors**
@@ -531264,9 +532066,9 @@ async function assertMinVersion() {
531264
532066
  if (false) {}
531265
532067
  try {
531266
532068
  const versionConfig = await getDynamicConfig_BLOCKS_ON_INIT("tengu_version_config", { minVersion: "0.0.0" });
531267
- if (versionConfig.minVersion && lt("1.3.127", versionConfig.minVersion)) {
532069
+ if (versionConfig.minVersion && lt("1.3.327", versionConfig.minVersion)) {
531268
532070
  console.error(`
531269
- It looks like your version of RAYU (${"1.3.127"}) needs an update.
532071
+ It looks like your version of RAYU (${"1.3.327"}) needs an update.
531270
532072
  A newer version (${versionConfig.minVersion} or higher) is required to continue.
531271
532073
 
531272
532074
  To update, please run:
@@ -531492,7 +532294,7 @@ async function installGlobalPackage(specificVersion) {
531492
532294
  logError2(new AutoUpdaterError("Another process is currently installing an update"));
531493
532295
  logEvent("tengu_auto_updater_lock_contention", {
531494
532296
  pid: process.pid,
531495
- currentVersion: "1.3.127"
532297
+ currentVersion: "1.3.327"
531496
532298
  });
531497
532299
  return "in_progress";
531498
532300
  }
@@ -531501,7 +532303,7 @@ async function installGlobalPackage(specificVersion) {
531501
532303
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
531502
532304
  logError2(new Error("Windows NPM detected in WSL environment"));
531503
532305
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
531504
- currentVersion: "1.3.127"
532306
+ currentVersion: "1.3.327"
531505
532307
  });
531506
532308
  console.error(`
531507
532309
  Error: Windows NPM detected in WSL
@@ -532037,7 +532839,7 @@ function detectLinuxGlobPatternWarnings() {
532037
532839
  }
532038
532840
  async function getDoctorDiagnostic() {
532039
532841
  const installationType = await getCurrentInstallationType();
532040
- const version2 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
532842
+ const version2 = typeof MACRO !== "undefined" ? "1.3.327" : "unknown";
532041
532843
  const installationPath = await getInstallationPath();
532042
532844
  const invokedBinary = getInvokedBinary();
532043
532845
  const multipleInstallations = await detectMultipleInstallations();
@@ -532832,8 +533634,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
532832
533634
  const maxVersion = await getMaxVersion();
532833
533635
  if (maxVersion && gt(version2, maxVersion)) {
532834
533636
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version2} to ${maxVersion}`);
532835
- if (gte("1.3.127", maxVersion)) {
532836
- logForDebugging(`Native installer: current version ${"1.3.127"} is already at or above maxVersion ${maxVersion}, skipping update`);
533637
+ if (gte("1.3.327", maxVersion)) {
533638
+ logForDebugging(`Native installer: current version ${"1.3.327"} is already at or above maxVersion ${maxVersion}, skipping update`);
532837
533639
  logEvent("tengu_native_update_skipped_max_version", {
532838
533640
  latency_ms: Date.now() - startTime,
532839
533641
  max_version: maxVersion,
@@ -532844,7 +533646,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
532844
533646
  version2 = maxVersion;
532845
533647
  }
532846
533648
  }
532847
- if (!forceReinstall && version2 === "1.3.127" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
533649
+ if (!forceReinstall && version2 === "1.3.327" && await versionIsAvailable(version2) && await isPossibleClaudeBinary(executablePath)) {
532848
533650
  logForDebugging(`Found ${version2} at ${executablePath}, skipping install`);
532849
533651
  logEvent("tengu_native_update_complete", {
532850
533652
  latency_ms: Date.now() - startTime,
@@ -534040,7 +534842,7 @@ function buildPrimarySection() {
534040
534842
  }, undefined, false, undefined, this);
534041
534843
  return [{
534042
534844
  label: "Version",
534043
- value: "1.3.127"
534845
+ value: "1.3.327"
534044
534846
  }, {
534045
534847
  label: "Session name",
534046
534848
  value: nameValue
@@ -537731,7 +538533,7 @@ function Config({
537731
538533
  }
537732
538534
  }, undefined, false, undefined, this)
537733
538535
  }, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime170.jsxDEV(ChannelDowngradeDialog, {
537734
- currentVersion: "1.3.127",
538536
+ currentVersion: "1.3.327",
537735
538537
  onChoice: (choice) => {
537736
538538
  setShowSubmenu(null);
537737
538539
  setTabsHidden(false);
@@ -537743,7 +538545,7 @@ function Config({
537743
538545
  autoUpdatesChannel: "stable"
537744
538546
  };
537745
538547
  if (choice === "stay") {
537746
- newSettings.minimumVersion = "1.3.127";
538548
+ newSettings.minimumVersion = "1.3.327";
537747
538549
  }
537748
538550
  updateSettingsForSource("userSettings", newSettings);
537749
538551
  setSettingsData((prev_27) => ({
@@ -544970,6 +545772,14 @@ var init_memory2 = __esm(() => {
544970
545772
  memory_default = memory;
544971
545773
  });
544972
545774
 
545775
+ // src/types/command.ts
545776
+ function getCommandName(cmd) {
545777
+ return cmd.userFacingName?.() ?? cmd.name;
545778
+ }
545779
+ function isCommandEnabled(cmd) {
545780
+ return cmd.isEnabled?.() ?? true;
545781
+ }
545782
+
544973
545783
  // src/components/HelpV2/Commands.tsx
544974
545784
  function Commands(t0) {
544975
545785
  const $3 = import_compiler_runtime151.c(14);
@@ -544993,7 +545803,7 @@ function Commands(t0) {
544993
545803
  let t22;
544994
545804
  if ($3[3] !== maxWidth) {
544995
545805
  t22 = (cmd_0) => ({
544996
- label: `/${cmd_0.name}`,
545806
+ label: `/${cmd_0.name}${cmd_0.argumentHint ? ` ${cmd_0.argumentHint}` : ""}`,
544997
545807
  value: cmd_0.name,
544998
545808
  description: truncate(formatDescriptionWithSource(cmd_0), maxWidth, true)
544999
545809
  });
@@ -545706,7 +546516,7 @@ function HelpV2(t0) {
545706
546516
  let t3;
545707
546517
  if ($3[3] !== commands) {
545708
546518
  const builtinNames = builtInCommandNames();
545709
- builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden);
546519
+ builtinCommands = commands.filter((cmd) => builtinNames.has(cmd.name) && !cmd.isHidden && isCommandEnabled(cmd));
545710
546520
  let t42;
545711
546521
  if ($3[7] === Symbol.for("react.memo_cache_sentinel")) {
545712
546522
  t42 = [];
@@ -545715,7 +546525,7 @@ function HelpV2(t0) {
545715
546525
  t42 = $3[7];
545716
546526
  }
545717
546527
  antOnlyCommands = t42;
545718
- t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden);
546528
+ t3 = commands.filter((cmd_2) => !builtinNames.has(cmd_2.name) && !cmd_2.isHidden && isCommandEnabled(cmd_2));
545719
546529
  $3[3] = commands;
545720
546530
  $3[4] = antOnlyCommands;
545721
546531
  $3[5] = builtinCommands;
@@ -545797,7 +546607,7 @@ function HelpV2(t0) {
545797
546607
  let t6;
545798
546608
  if ($3[31] !== tabs) {
545799
546609
  t6 = /* @__PURE__ */ jsx_dev_runtime197.jsxDEV(Tabs, {
545800
- title: `Rayu-CLI v${"1.3.127"}`,
546610
+ title: `Rayu-CLI v${"1.3.327"}`,
545801
546611
  color: "professionalBlue",
545802
546612
  defaultTab: "general",
545803
546613
  children: tabs
@@ -547180,18 +547990,34 @@ ${task}` : "Coordinate the swarm for the current task / the plan just produced i
547180
547990
  return [
547181
547991
  {
547182
547992
  type: "text",
547183
- text: `You are now the ORCHESTRATOR (Tier 1) for this task. You coordinate; you do NOT do the domain implementation yourself — you delegate it to the Collaborators and dispatch one-shot Subagents. Own the plan and the shared project state.
547993
+ text: `The user explicitly invoked /collaborator_swarm. You are now the ORCHESTRATOR (Tier 1) and you MUST stay in this role for the entire task.
547184
547994
 
547185
547995
  ${taskLine}
547186
547996
 
547997
+ ## Your role: PURE ORCHESTRATOR — you do NOT write code
547998
+ In this mode you NEVER write or edit code, run build/implementation commands, or do domain work yourself. Your job is ONLY to:
547999
+ - ANALYZE the real project and requirements — read code to understand it, and discuss & plan WITH the \`PA\` subagent to reach a clear, grounded plan/architecture.
548000
+ - DECOMPOSE and ASSIGN the work to the right Collaborators (implementers) and Subagents (one-shot helpers).
548001
+ - CHECK and verify their results (via the \`review\` subagent and by reading their outputs) and integrate them.
548002
+ HARD RULE: if a Collaborator or Subagent stalls, errors, or doesn't respond, you RESUME it (SendMessage), re-dispatch it, or escalate to the user — you do NOT take over and implement it yourself. Never silently become the coder, even if it seems faster.
548003
+ Keep going until the task is fully resolved; state assumptions and continue — don't stop for approval unless genuinely blocked. (If the task is actually trivial, say so and suggest the user just ask normally instead of the swarm — but if you proceed here, you proceed as orchestrator: delegating and verifying, not coding.)
548004
+
547187
548005
  ## The three tiers
547188
548006
  - **You (Orchestrator)** — plan, research, own SharedContext, coordinate, integrate.
547189
548007
  - **Collaborators (Tier 2)** — semi-persistent domain implementers you delegate to: \`frontend\`, \`backend\` (incl. database), \`mobile\`, \`security\`, \`deploy\`. Spawn each as a NAMED BACKGROUND agent (run_in_background:true, stable lowercase name) so you can resume it with SendMessage instead of respawning. They have full tools and may use installed skills + dispatch subagents.
547190
548008
  - **Subagents (Tier 3)** — ephemeral one-shot helpers ANYONE can call: \`PA\` (deep plan/research), \`design\` (Design PRD), \`global-setup\` (scaffold), \`asset-generation\`, \`review\` (audit → Fix List), \`fix\` (apply Fix List), \`linter\`, plus \`Explore\` and \`general-purpose\` (research).
547191
548009
 
548010
+ ## DEFAULT TO PARALLEL (the single most important rule)
548011
+ Parallel execution is ~3–5x faster than sequential. Unless one call genuinely needs another's output, dispatch independent agents/tools TOGETHER in ONE assistant message (multiple Agent calls), not one-per-message. Plan all the calls you'll need upfront, then fire them together. Cap each batch at ~3–5 calls to avoid timeouts. Sequential is the exception, allowed ONLY on a true dependency. One-per-message dispatch is the #1 cause of slow swarm runs — avoid it.
548012
+
548013
+ ## Foreground subagents · background collaborators (important)
548014
+ - Run ALL **Subagents in the FOREGROUND** — do NOT set \`run_in_background\` on a subagent. Their work and \`thinking…\` then stream INLINE so the user can watch them. This applies whether YOU (the orchestrator) dispatch the subagent OR a collaborator does (a collaborator's subagents appear inside that collaborator's view).
548015
+ - Spawn **Collaborators in the BACKGROUND** (\`run_in_background:true\`, stable lowercase name). Background is the ONLY mode that is resumable via \`SendMessage\`, so semi-persistent collaborators MUST be background. The user watches a collaborator's detailed work by entering its view (↓ then Enter); the task panel shows each collaborator's high-level status (including \`thinking…\`).
548016
+
547192
548017
  ## How to run the swarm
547193
- 1. **Plan & research first.** Build the full picture before delegating: dispatch \`PA\`/\`Explore\`/\`general-purpose\` subagents (in a SINGLE message, multiple Agent calls) to research the codebase/requirements. For UI work, produce a \`design\` PRD. For a new project, run \`global-setup\` to scaffold. Write the shared brief to \`.rayu/swarm/shared.json\` (goal/stack/flow/constraints/needs) — it is injected into every collaborator, so keep it tight (< ~500 tokens). Set "needs" to ONLY the domains this task requires.
547194
- 2. **Delegate in PARALLEL WAVES.** Decide which collaborators each wave needs, then dispatch all collaborators with no unmet dependency TOGETHER — in ONE assistant message containing MULTIPLE Agent tool calls. NEVER send them one-per-message (that serializes the swarm and is the #1 cause of slow runs). Typical waves:
548018
+ 1. **Plan & research FIRST visibly, in the foreground.** Before delegating anything, dispatch \`PA\` and/or several \`Explore\`/\`general-purpose\` subagents in the FOREGROUND (in a SINGLE message, multiple Agent calls, 3–5 max; do NOT set run_in_background) so the user watches the planning/research happen. State your analysis. For UI work, produce a \`design\` PRD. For a new project, run \`global-setup\` to scaffold. Then write the shared brief to \`.rayu/swarm/shared.json\` (goal/stack/flow/constraints/needs) — it is injected into every collaborator, so keep it tight (< ~500 tokens). Set "needs" to ONLY the domains this task requires.
548019
+ - **Overlap where safe:** kick off work that doesn't depend on the final plan (e.g. \`global-setup\` scaffold, \`asset-generation\`) IN PARALLEL with planning rather than strictly after it.
548020
+ 2. **Delegate in PARALLEL WAVES.** Decide which collaborators each wave needs, then dispatch all collaborators with no unmet dependency TOGETHER — in ONE assistant message containing MULTIPLE Agent tool calls. NEVER send them one-per-message. Typical waves:
547195
548021
  - Wave 1: \`backend\` (API + data layer) + \`security\` (auth/RBAC design) — together.
547196
548022
  - Wave 2: \`frontend\` and/or \`mobile\` (integrate against backend contracts) — together.
547197
548023
  - Wave 3: \`deploy\` (package & ship) — last.
@@ -547202,18 +548028,19 @@ ${taskLine}
547202
548028
  \`\`\`
547203
548029
  3. **Coordinate via SharedContext, not by re-typing.** Each collaborator reads the shared brief + its dependency sections and writes its own \`.rayu/swarm/<domain>.md\`. Give each collaborator only its task + any brand-new decision not yet in the artifact. The swarm state lives under \`.rayu/swarm/\` — always use that exact path, NEVER a \`.claude/\` directory.
547204
548030
  4. **Resume, don't respawn.** For a follow-up in a domain that already ran, SendMessage to that collaborator's name with the new task; spawn fresh only for an unrelated new domain.
547205
- 5. **Audit & fix.** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review if needed.
548031
+ 5. **Audit & fix (verification gate).** After a build wave, run the \`review\` subagent (→ Fix List), then \`fix\` (or the owning collaborator) to apply it; re-review until clean. Do NOT report the work complete until the build/tests pass and the review→fix loop is clean.
547206
548032
  6. **Ship.** When fixes are confirmed, the \`deploy\` collaborator runs the production build and deploys.
547207
548033
 
547208
548034
  ## Rules
547209
548035
  - Do NOT use TaskCreate / task-list tools to coordinate the swarm — track the waves inline in your messages; the collaborator/subagent dispatches ARE the units of work.
547210
548036
  - Security and the chosen architecture are authoritative — collaborators build within them.
547211
548037
  - Maximize parallelism within each wave; respect dependencies across waves.
548038
+ - Be autonomous: keep going until done; only pause if truly blocked. Report concisely and high-signal — don't narrate every step.
547212
548039
 
547213
548040
  ## Finish
547214
- Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user.
548041
+ Integrate the collaborators' outputs into one coherent result, crediting which collaborator produced what, and report concisely to the user — only after the verification gate (build/tests pass, review→fix clean).
547215
548042
 
547216
- Begin by stating your plan/research step and the Wave 1 parallel dispatch.`
548043
+ Begin by stating your analysis/plan step (read the project and discuss with the \`PA\` subagent), then your Wave 1 parallel dispatch.`
547217
548044
  }
547218
548045
  ];
547219
548046
  }
@@ -565755,7 +566582,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
565755
566582
  }
565756
566583
  return [];
565757
566584
  }
565758
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.127") {
566585
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.327") {
565759
566586
  if (false) {}
565760
566587
  const cachedChangelog = await getStoredChangelog();
565761
566588
  if (lastSeenVersion !== currentVersion || !cachedChangelog) {
@@ -565768,7 +566595,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.127")
565768
566595
  releaseNotes
565769
566596
  };
565770
566597
  }
565771
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.127") {
566598
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.3.327") {
565772
566599
  if (false) {}
565773
566600
  const releaseNotes = getRecentReleaseNotes(currentVersion, lastSeenVersion);
565774
566601
  return {
@@ -565896,7 +566723,7 @@ function getRecentActivitySync() {
565896
566723
  return cachedActivity;
565897
566724
  }
565898
566725
  function getLogoDisplayData() {
565899
- const version2 = process.env.DEMO_VERSION ?? "1.3.127";
566726
+ const version2 = process.env.DEMO_VERSION ?? "1.3.327";
565900
566727
  const serverUrl = getDirectConnectServerUrl();
565901
566728
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
565902
566729
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -567188,7 +568015,7 @@ function LogoV2() {
567188
568015
  if ($3[2] === Symbol.for("react.memo_cache_sentinel")) {
567189
568016
  t2 = () => {
567190
568017
  const currentConfig = getGlobalConfig();
567191
- if (currentConfig.lastReleaseNotesSeen === "1.3.127") {
568018
+ if (currentConfig.lastReleaseNotesSeen === "1.3.327") {
567192
568019
  return;
567193
568020
  }
567194
568021
  saveGlobalConfig(_temp327);
@@ -567666,7 +568493,7 @@ function LogoV2() {
567666
568493
  t24 = $3[61];
567667
568494
  }
567668
568495
  const _latestNpm = getCachedLatestNpmVersionSync();
567669
- const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.127") ? [createUpdateAvailableFeed("1.3.127", _latestNpm)] : [];
568496
+ const _updateFeeds = _latestNpm && gt(_latestNpm, "1.3.327") ? [createUpdateAvailableFeed("1.3.327", _latestNpm)] : [];
567670
568497
  const t25 = layoutMode === "horizontal" && /* @__PURE__ */ jsx_dev_runtime239.jsxDEV(FeedColumn, {
567671
568498
  feeds: showOnboarding ? [createProjectOnboardingFeed(getSteps()), createRecentActivityFeed(activities)] : showGuestPassesUpsell ? [createRecentActivityFeed(activities), createGuestPassesFeed()] : showOverageCreditUpsell ? [createRecentActivityFeed(activities), createOverageCreditFeed()] : [createRecentActivityFeed(activities), ..._updateFeeds, createWhatsNewFeed(changelog)],
567672
568499
  maxWidth: rightWidth
@@ -567866,12 +568693,12 @@ function LogoV2() {
567866
568693
  return t41;
567867
568694
  }
567868
568695
  function _temp327(current) {
567869
- if (current.lastReleaseNotesSeen === "1.3.127") {
568696
+ if (current.lastReleaseNotesSeen === "1.3.327") {
567870
568697
  return current;
567871
568698
  }
567872
568699
  return {
567873
568700
  ...current,
567874
- lastReleaseNotesSeen: "1.3.127"
568701
+ lastReleaseNotesSeen: "1.3.327"
567875
568702
  };
567876
568703
  }
567877
568704
  function _temp241(s_0) {
@@ -590312,7 +591139,7 @@ function GenerateStep() {
590312
591139
  });
590313
591140
  goToStep(6);
590314
591141
  } catch (err2) {
590315
- if (err2 instanceof import_sdk14.APIUserAbortError) {} else if (err2 instanceof Error && !err2.message.includes("No assistant message found")) {
591142
+ if (err2 instanceof import_sdk15.APIUserAbortError) {} else if (err2 instanceof Error && !err2.message.includes("No assistant message found")) {
590316
591143
  setError(err2.message || "Failed to generate agent");
590317
591144
  }
590318
591145
  updateWizardData({
@@ -590395,7 +591222,7 @@ function GenerateStep() {
590395
591222
  }, undefined, true, undefined, this)
590396
591223
  }, undefined, false, undefined, this);
590397
591224
  }
590398
- var import_sdk14, import_react173, jsx_dev_runtime302;
591225
+ var import_sdk15, import_react173, jsx_dev_runtime302;
590399
591226
  var init_GenerateStep = __esm(() => {
590400
591227
  init_useMainLoopModel();
590401
591228
  init_ink2();
@@ -590409,7 +591236,7 @@ var init_GenerateStep = __esm(() => {
590409
591236
  init_wizard();
590410
591237
  init_WizardDialogLayout();
590411
591238
  init_generateAgent();
590412
- import_sdk14 = __toESM(require_sdk(), 1);
591239
+ import_sdk15 = __toESM(require_sdk(), 1);
590413
591240
  import_react173 = __toESM(require_react(), 1);
590414
591241
  jsx_dev_runtime302 = __toESM(require_jsx_dev_runtime(), 1);
590415
591242
  });
@@ -592662,7 +593489,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
592662
593489
  smapsRollup,
592663
593490
  platform: process.platform,
592664
593491
  nodeVersion: process.version,
592665
- ccVersion: "1.3.127"
593492
+ ccVersion: "1.3.327"
592666
593493
  };
592667
593494
  }
592668
593495
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -593184,7 +594011,7 @@ var init_bridge_kick = __esm(() => {
593184
594011
  var call47 = async () => {
593185
594012
  return {
593186
594013
  type: "text",
593187
- value: "1.3.127"
594014
+ value: "1.3.327"
593188
594015
  };
593189
594016
  }, version2, version_default;
593190
594017
  var init_version = __esm(() => {
@@ -595614,14 +596441,15 @@ function RayuProviderSetup({
595614
596441
  }
595615
596442
  function finishBedrock(chosenModel, models) {
595616
596443
  const trimmed = chosenModel.trim();
595617
- const isAnthropic = preset?.bedrockApi === "anthropic";
596444
+ const api2 = preset?.bedrockApi ?? "converse";
596445
+ const usesAwsSdk = api2 === "anthropic" || api2 === "converse";
595618
596446
  const provider = {
595619
596447
  id: preset?.id ?? "bedrock",
595620
596448
  kind: "bedrock",
595621
- bedrockApi: isAnthropic ? "anthropic" : "openai",
596449
+ bedrockApi: api2,
595622
596450
  apiKey: apiKey.trim() || undefined,
595623
596451
  awsRegion: region,
595624
- ...isAnthropic ? {} : { baseURL: bedrockBaseURL(region) },
596452
+ ...usesAwsSdk ? {} : { baseURL: bedrockBaseURL(region) },
595625
596453
  ...trimmed ? { defaultModel: trimmed } : {},
595626
596454
  ...models.length ? { fetchedModels: models } : {}
595627
596455
  };
@@ -595629,6 +596457,21 @@ function RayuProviderSetup({
595629
596457
  onDone();
595630
596458
  }
595631
596459
  function pickBedrockDefault(models) {
596460
+ if (preset?.bedrockApi === "converse") {
596461
+ const prefs = [
596462
+ /kimi-k2-thinking/i,
596463
+ /claude-sonnet-4-6/i,
596464
+ /claude-sonnet/i,
596465
+ /deepseek/i,
596466
+ /kimi/i
596467
+ ];
596468
+ for (const re of prefs) {
596469
+ const hit = models.find((m3) => re.test(m3));
596470
+ if (hit)
596471
+ return hit;
596472
+ }
596473
+ return models[0] ?? "";
596474
+ }
595632
596475
  if (preset?.bedrockApi === "anthropic") {
595633
596476
  const prefs = [
595634
596477
  /claude-sonnet-4-6/i,
@@ -595769,13 +596612,14 @@ function RayuProviderSetup({
595769
596612
  return;
595770
596613
  let cancelled = false;
595771
596614
  (async () => {
596615
+ const baseApi = preset?.bedrockApi ?? "converse";
595772
596616
  const models = await fetchProviderModels({
595773
596617
  id: preset?.id ?? "bedrock",
595774
596618
  kind: "bedrock",
595775
- bedrockApi: preset?.bedrockApi === "anthropic" ? "anthropic" : "openai",
596619
+ bedrockApi: baseApi,
595776
596620
  apiKey: apiKey.trim(),
595777
596621
  awsRegion: region,
595778
- baseURL: bedrockBaseURL(region)
596622
+ ...baseApi === "openai" ? { baseURL: bedrockBaseURL(region) } : {}
595779
596623
  }).catch(() => []);
595780
596624
  if (cancelled)
595781
596625
  return;
@@ -600594,14 +601438,6 @@ var init_stats3 = __esm(() => {
600594
601438
  stats_default = stats2;
600595
601439
  });
600596
601440
 
600597
- // src/types/command.ts
600598
- function getCommandName(cmd) {
600599
- return cmd.userFacingName?.() ?? cmd.name;
600600
- }
600601
- function isCommandEnabled(cmd) {
600602
- return cmd.isEnabled?.() ?? true;
600603
- }
600604
-
600605
601441
  // src/commands/insights.ts
600606
601442
  var exports_insights = {};
600607
601443
  __export(exports_insights, {
@@ -602072,7 +602908,7 @@ function generateHtmlReport(data, insights) {
602072
602908
  </html>`;
602073
602909
  }
602074
602910
  function buildExportData(data, insights, facets, remoteStats) {
602075
- const version3 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
602911
+ const version3 = typeof MACRO !== "undefined" ? "1.3.327" : "unknown";
602076
602912
  const remote_hosts_collected = remoteStats?.hosts.filter((h3) => h3.sessionCount > 0).map((h3) => h3.name);
602077
602913
  const facets_summary = {
602078
602914
  total: facets.size,
@@ -605972,7 +606808,7 @@ var init_sessionStorage = __esm(() => {
605972
606808
  init_settings2();
605973
606809
  init_slowOperations();
605974
606810
  init_uuid();
605975
- VERSION6 = typeof MACRO !== "undefined" ? "1.3.127" : "unknown";
606811
+ VERSION6 = typeof MACRO !== "undefined" ? "1.3.327" : "unknown";
605976
606812
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
605977
606813
  SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
605978
606814
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -607193,7 +608029,7 @@ var init_filesystem = __esm(() => {
607193
608029
  });
607194
608030
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
607195
608031
  const nonce = randomBytes18(16).toString("hex");
607196
- return join150(getClaudeTempDir(), "bundled-skills", "1.3.127", nonce);
608032
+ return join150(getClaudeTempDir(), "bundled-skills", "1.3.327", nonce);
607197
608033
  });
607198
608034
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
607199
608035
  });
@@ -612308,7 +613144,7 @@ __export(exports_update, {
612308
613144
  import { execFileSync as execFileSync3 } from "node:child_process";
612309
613145
  import { homedir as homedir33 } from "os";
612310
613146
  async function update() {
612311
- writeToStdout(`Current version: ${"1.3.127"}
613147
+ writeToStdout(`Current version: ${"1.3.327"}
612312
613148
  `);
612313
613149
  const isBundled = isInBundledMode();
612314
613150
  if (isBundled) {
@@ -612334,13 +613170,13 @@ Manual check: npm view ${"@rayu-dev/rayu-cli"} version
612334
613170
  process.exit(1);
612335
613171
  return;
612336
613172
  }
612337
- if (latestVersion === "1.3.127") {
613173
+ if (latestVersion === "1.3.327") {
612338
613174
  writeToStdout(source_default.green(`
612339
- Rayu CLI is up to date (${"1.3.127"})
613175
+ Rayu CLI is up to date (${"1.3.327"})
612340
613176
  `));
612341
613177
  process.exit(0);
612342
613178
  }
612343
- writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.127"})
613179
+ writeToStdout(`New version available: ${latestVersion} (current: ${"1.3.327"})
612344
613180
  `);
612345
613181
  writeToStdout(`Installing update...
612346
613182
 
@@ -612364,7 +613200,7 @@ Try manually:
612364
613200
  return;
612365
613201
  }
612366
613202
  writeToStdout(source_default.green(`
612367
- Successfully updated from ${"1.3.127"} to ${latestVersion}
613203
+ Successfully updated from ${"1.3.327"} to ${latestVersion}
612368
613204
  `));
612369
613205
  process.exit(0);
612370
613206
  }
@@ -612378,14 +613214,14 @@ async function updateNativeBinary() {
612378
613214
  } catch {
612379
613215
  latestVersion = "";
612380
613216
  }
612381
- if (latestVersion && latestVersion === "1.3.127") {
613217
+ if (latestVersion && latestVersion === "1.3.327") {
612382
613218
  writeToStdout(source_default.green(`
612383
- Rayu CLI is up to date (1.3.127)
613219
+ Rayu CLI is up to date (1.3.327)
612384
613220
  `));
612385
613221
  process.exit(0);
612386
613222
  }
612387
613223
  if (latestVersion) {
612388
- writeToStdout(`New version available: ${latestVersion} (current: 1.3.127)
613224
+ writeToStdout(`New version available: ${latestVersion} (current: 1.3.327)
612389
613225
  `);
612390
613226
  }
612391
613227
  writeToStdout(`Downloading and installing update...
@@ -612400,13 +613236,13 @@ Rayu CLI is up to date (1.3.127)
612400
613236
  return;
612401
613237
  }
612402
613238
  writeToStdout(source_default.green(`
612403
- Rayu CLI is up to date (1.3.127)
613239
+ Rayu CLI is up to date (1.3.327)
612404
613240
  `));
612405
613241
  process.exit(0);
612406
613242
  }
612407
613243
  const updatedTo = result.latestVersion ?? latestVersion ?? "latest";
612408
613244
  writeToStdout(source_default.green(`
612409
- Successfully updated from 1.3.127 to ${updatedTo}
613245
+ Successfully updated from 1.3.327 to ${updatedTo}
612410
613246
  `));
612411
613247
  writeToStdout(`Restart your terminal to use the new version.
612412
613248
  `);
@@ -612437,7 +613273,7 @@ __export(exports_uninstall, {
612437
613273
  import { execFileSync as execFileSync4 } from "node:child_process";
612438
613274
  import { homedir as homedir34 } from "os";
612439
613275
  async function uninstall() {
612440
- writeToStdout(`Uninstalling Rayu CLI (${"1.3.127"})...
613276
+ writeToStdout(`Uninstalling Rayu CLI (${"1.3.327"})...
612441
613277
  `);
612442
613278
  writeToStdout(`Running: npm uninstall -g ${"@rayu-dev/rayu-cli"}
612443
613279
 
@@ -612460,7 +613296,7 @@ Try running manually:
612460
613296
  process.exit(1);
612461
613297
  }
612462
613298
  writeToStdout(source_default.green(`
612463
- Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.127"}
613299
+ Successfully uninstalled ${"@rayu-dev/rayu-cli"} ${"1.3.327"}
612464
613300
  `));
612465
613301
  writeToStdout(`Thanks for using Rayu CLI!
612466
613302
  `);
@@ -612512,7 +613348,7 @@ function showFirstRunWelcome() {
612512
613348
  `);
612513
613349
  try {
612514
613350
  mkdirSync13(getRayuConfigHomeDir(), { recursive: true });
612515
- writeFileSync15(markerPath(), "1.3.127", "utf8");
613351
+ writeFileSync15(markerPath(), "1.3.327", "utf8");
612516
613352
  } catch {}
612517
613353
  }
612518
613354
  var init_firstRun = __esm(() => {
@@ -624355,7 +625191,7 @@ async function initializeBetaTracing(resource) {
624355
625191
  });
624356
625192
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
624357
625193
  setLoggerProvider(loggerProvider);
624358
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.127");
625194
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.327");
624359
625195
  setEventLogger(eventLogger);
624360
625196
  process.on("beforeExit", async () => {
624361
625197
  await loggerProvider?.forceFlush();
@@ -624395,7 +625231,7 @@ async function initializeTelemetry() {
624395
625231
  const platform4 = getPlatform();
624396
625232
  const baseAttributes = {
624397
625233
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
624398
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.127"
625234
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "1.3.327"
624399
625235
  };
624400
625236
  if (platform4 === "wsl") {
624401
625237
  const wslVersion = getWslVersion();
@@ -624440,7 +625276,7 @@ async function initializeTelemetry() {
624440
625276
  } catch {}
624441
625277
  };
624442
625278
  registerCleanup(shutdownTelemetry2);
624443
- return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.127");
625279
+ return meterProvider2.getMeter("com.anthropic.claude_code", "1.3.327");
624444
625280
  }
624445
625281
  const meterProvider = new import_sdk_metrics2.MeterProvider({
624446
625282
  resource,
@@ -624460,7 +625296,7 @@ async function initializeTelemetry() {
624460
625296
  });
624461
625297
  import_api_logs.logs.setGlobalLoggerProvider(loggerProvider);
624462
625298
  setLoggerProvider(loggerProvider);
624463
- const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.127");
625299
+ const eventLogger = import_api_logs.logs.getLogger("com.anthropic.claude_code.events", "1.3.327");
624464
625300
  setEventLogger(eventLogger);
624465
625301
  logForDebugging("[3P telemetry] Event logger set successfully");
624466
625302
  process.on("beforeExit", async () => {
@@ -624522,7 +625358,7 @@ Current timeout: ${timeoutMs}ms
624522
625358
  }
624523
625359
  };
624524
625360
  registerCleanup(shutdownTelemetry);
624525
- return meterProvider.getMeter("com.anthropic.claude_code", "1.3.127");
625361
+ return meterProvider.getMeter("com.anthropic.claude_code", "1.3.327");
624526
625362
  }
624527
625363
  async function flushTelemetry() {
624528
625364
  const meterProvider = getMeterProvider();
@@ -626035,7 +626871,7 @@ function buildSystemInitMessage(inputs) {
626035
626871
  slash_commands: inputs.commands.filter((c4) => c4.userInvocable !== false).map((c4) => c4.name),
626036
626872
  apiKeySource: getAnthropicApiKeyWithSource().source,
626037
626873
  betas: getSdkBetas(),
626038
- claude_code_version: "1.3.127",
626874
+ claude_code_version: "1.3.327",
626039
626875
  output_style: outputStyle2,
626040
626876
  agents: inputs.agents.map((agent) => agent.agentType),
626041
626877
  skills: inputs.skills.filter((s2) => s2.userInvocable !== false).map((skill) => skill.name),
@@ -642244,7 +643080,7 @@ var init_useVoiceEnabled = __esm(() => {
642244
643080
  function getSemverPart(version3) {
642245
643081
  return `${import_semver12.major(version3, { loose: true })}.${import_semver12.minor(version3, { loose: true })}.${import_semver12.patch(version3, { loose: true })}`;
642246
643082
  }
642247
- function useUpdateNotification(updatedVersion, initialVersion = "1.3.127") {
643083
+ function useUpdateNotification(updatedVersion, initialVersion = "1.3.327") {
642248
643084
  const [lastNotifiedSemver, setLastNotifiedSemver] = import_react218.useState(() => getSemverPart(initialVersion));
642249
643085
  if (!updatedVersion) {
642250
643086
  return null;
@@ -642284,7 +643120,7 @@ function AutoUpdater({
642284
643120
  return;
642285
643121
  }
642286
643122
  if (false) {}
642287
- const currentVersion = "1.3.127";
643123
+ const currentVersion = "1.3.327";
642288
643124
  const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
642289
643125
  let latestVersion = await getLatestVersion(channel);
642290
643126
  const isDisabled = isAutoUpdaterDisabled();
@@ -642497,12 +643333,12 @@ function NativeAutoUpdater({
642497
643333
  logEvent("tengu_native_auto_updater_start", {});
642498
643334
  try {
642499
643335
  const maxVersion = await getMaxVersion();
642500
- if (maxVersion && gt("1.3.127", maxVersion)) {
643336
+ if (maxVersion && gt("1.3.327", maxVersion)) {
642501
643337
  const msg = await getMaxVersionMessage();
642502
643338
  setMaxVersionIssue(msg ?? "affects your version");
642503
643339
  }
642504
643340
  const result = await installLatest(channel);
642505
- const currentVersion = "1.3.127";
643341
+ const currentVersion = "1.3.327";
642506
643342
  const latencyMs = Date.now() - startTime;
642507
643343
  if (result.lockFailed) {
642508
643344
  logEvent("tengu_native_auto_updater_lock_contention", {
@@ -642639,17 +643475,17 @@ function PackageManagerAutoUpdater(t0) {
642639
643475
  const maxVersion = await getMaxVersion();
642640
643476
  if (maxVersion && latest && gt(latest, maxVersion)) {
642641
643477
  logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
642642
- if (gte("1.3.127", maxVersion)) {
642643
- logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.127"} is already at or above maxVersion ${maxVersion}, skipping update`);
643478
+ if (gte("1.3.327", maxVersion)) {
643479
+ logForDebugging(`PackageManagerAutoUpdater: current version ${"1.3.327"} is already at or above maxVersion ${maxVersion}, skipping update`);
642644
643480
  setUpdateAvailable(false);
642645
643481
  return;
642646
643482
  }
642647
643483
  latest = maxVersion;
642648
643484
  }
642649
- const hasUpdate = latest && !gte("1.3.127", latest) && !shouldSkipVersion(latest);
643485
+ const hasUpdate = latest && !gte("1.3.327", latest) && !shouldSkipVersion(latest);
642650
643486
  setUpdateAvailable(!!hasUpdate);
642651
643487
  if (hasUpdate) {
642652
- logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.127"} -> ${latest}`);
643488
+ logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.3.327"} -> ${latest}`);
642653
643489
  }
642654
643490
  };
642655
643491
  $3[0] = t1;
@@ -642683,7 +643519,7 @@ function PackageManagerAutoUpdater(t0) {
642683
643519
  wrap: "truncate",
642684
643520
  children: [
642685
643521
  "currentVersion: ",
642686
- "1.3.127"
643522
+ "1.3.327"
642687
643523
  ]
642688
643524
  }, undefined, true, undefined, this);
642689
643525
  $3[3] = verbose;
@@ -648442,15 +649278,15 @@ function getVisibleAgentTasks(tasks2) {
648442
649278
  return Object.values(tasks2).filter((t2) => isPanelAgentTask(t2) && t2.evictAfter !== 0).sort((a2, b3) => a2.startTime - b3.startTime);
648443
649279
  }
648444
649280
  function useCoordinatorTaskCount() {
648445
- const tasks2 = useAppState(_temp183);
648446
- let t0;
648447
- t0 = 0;
648448
- return t0;
648449
- }
648450
- function _temp183(s2) {
648451
- return s2.tasks;
649281
+ const tasks2 = useAppState((s2) => s2.tasks);
649282
+ return React129.useMemo(() => {
649283
+ if (true)
649284
+ return 0;
649285
+ const count4 = getVisibleAgentTasks(tasks2).length;
649286
+ return count4 > 0 ? count4 + 1 : 0;
649287
+ }, [tasks2]);
648452
649288
  }
648453
- var import_compiler_runtime300, React129, jsx_dev_runtime401;
649289
+ var React129, jsx_dev_runtime401;
648454
649290
  var init_CoordinatorAgentStatus = __esm(() => {
648455
649291
  init_figures2();
648456
649292
  init_useTerminalSize();
@@ -648462,7 +649298,6 @@ var init_CoordinatorAgentStatus = __esm(() => {
648462
649298
  init_format();
648463
649299
  init_framework();
648464
649300
  init_taskStatusUtils();
648465
- import_compiler_runtime300 = __toESM(require_compiler_runtime(), 1);
648466
649301
  React129 = __toESM(require_react(), 1);
648467
649302
  jsx_dev_runtime401 = __toESM(require_jsx_dev_runtime(), 1);
648468
649303
  });
@@ -648475,7 +649310,7 @@ var init_highlightMatch = __esm(() => {
648475
649310
  });
648476
649311
 
648477
649312
  // src/components/design-system/FuzzyPicker.tsx
648478
- var import_compiler_runtime301, import_react234, jsx_dev_runtime403;
649313
+ var import_compiler_runtime300, import_react234, jsx_dev_runtime403;
648479
649314
  var init_FuzzyPicker = __esm(() => {
648480
649315
  init_useSearchInput();
648481
649316
  init_useTerminalSize();
@@ -648486,13 +649321,13 @@ var init_FuzzyPicker = __esm(() => {
648486
649321
  init_KeyboardShortcutHint();
648487
649322
  init_ListItem();
648488
649323
  init_Pane();
648489
- import_compiler_runtime301 = __toESM(require_compiler_runtime(), 1);
649324
+ import_compiler_runtime300 = __toESM(require_compiler_runtime(), 1);
648490
649325
  import_react234 = __toESM(require_react(), 1);
648491
649326
  jsx_dev_runtime403 = __toESM(require_jsx_dev_runtime(), 1);
648492
649327
  });
648493
649328
 
648494
649329
  // src/components/GlobalSearchDialog.tsx
648495
- var import_compiler_runtime302, import_react235, jsx_dev_runtime404;
649330
+ var import_compiler_runtime301, import_react235, jsx_dev_runtime404;
648496
649331
  var init_GlobalSearchDialog = __esm(() => {
648497
649332
  init_overlayContext();
648498
649333
  init_useTerminalSize();
@@ -648507,7 +649342,7 @@ var init_GlobalSearchDialog = __esm(() => {
648507
649342
  init_ripgrep();
648508
649343
  init_FuzzyPicker();
648509
649344
  init_LoadingState();
648510
- import_compiler_runtime302 = __toESM(require_compiler_runtime(), 1);
649345
+ import_compiler_runtime301 = __toESM(require_compiler_runtime(), 1);
648511
649346
  import_react235 = __toESM(require_react(), 1);
648512
649347
  jsx_dev_runtime404 = __toESM(require_jsx_dev_runtime(), 1);
648513
649348
  });
@@ -648529,7 +649364,7 @@ var init_HistorySearchDialog = __esm(() => {
648529
649364
  });
648530
649365
 
648531
649366
  // src/components/QuickOpenDialog.tsx
648532
- var import_compiler_runtime303, import_react237, jsx_dev_runtime406;
649367
+ var import_compiler_runtime302, import_react237, jsx_dev_runtime406;
648533
649368
  var init_QuickOpenDialog = __esm(() => {
648534
649369
  init_overlayContext();
648535
649370
  init_fileSuggestions();
@@ -648543,14 +649378,14 @@ var init_QuickOpenDialog = __esm(() => {
648543
649378
  init_readFileInRange();
648544
649379
  init_FuzzyPicker();
648545
649380
  init_LoadingState();
648546
- import_compiler_runtime303 = __toESM(require_compiler_runtime(), 1);
649381
+ import_compiler_runtime302 = __toESM(require_compiler_runtime(), 1);
648547
649382
  import_react237 = __toESM(require_react(), 1);
648548
649383
  jsx_dev_runtime406 = __toESM(require_jsx_dev_runtime(), 1);
648549
649384
  });
648550
649385
 
648551
649386
  // src/components/ThinkingToggle.tsx
648552
649387
  function ThinkingToggle(t0) {
648553
- const $3 = import_compiler_runtime304.c(27);
649388
+ const $3 = import_compiler_runtime303.c(27);
648554
649389
  const {
648555
649390
  currentValue,
648556
649391
  onSelect,
@@ -648693,7 +649528,7 @@ function ThinkingToggle(t0) {
648693
649528
  defaultFocusValue: currentValue ? "true" : "false",
648694
649529
  options,
648695
649530
  onChange: handleSelectChange,
648696
- onCancel: onCancel ?? _temp185,
649531
+ onCancel: onCancel ?? _temp183,
648697
649532
  visibleOptionCount: 2
648698
649533
  }, undefined, false, undefined, this)
648699
649534
  }, undefined, false, undefined, this)
@@ -648770,8 +649605,8 @@ function ThinkingToggle(t0) {
648770
649605
  }
648771
649606
  return t11;
648772
649607
  }
648773
- function _temp185() {}
648774
- var import_compiler_runtime304, import_react238, jsx_dev_runtime407;
649608
+ function _temp183() {}
649609
+ var import_compiler_runtime303, import_react238, jsx_dev_runtime407;
648775
649610
  var init_ThinkingToggle = __esm(() => {
648776
649611
  init_useExitOnCtrlCDWithKeybindings();
648777
649612
  init_ink2();
@@ -648781,7 +649616,7 @@ var init_ThinkingToggle = __esm(() => {
648781
649616
  init_Byline();
648782
649617
  init_KeyboardShortcutHint();
648783
649618
  init_Pane();
648784
- import_compiler_runtime304 = __toESM(require_compiler_runtime(), 1);
649619
+ import_compiler_runtime303 = __toESM(require_compiler_runtime(), 1);
648785
649620
  import_react238 = __toESM(require_react(), 1);
648786
649621
  jsx_dev_runtime407 = __toESM(require_jsx_dev_runtime(), 1);
648787
649622
  });
@@ -648979,7 +649814,7 @@ function TeamsDialog({
648979
649814
  return null;
648980
649815
  }
648981
649816
  function TeamDetailView(t0) {
648982
- const $3 = import_compiler_runtime305.c(13);
649817
+ const $3 = import_compiler_runtime304.c(13);
648983
649818
  const {
648984
649819
  teamName,
648985
649820
  teammates,
@@ -649066,7 +649901,7 @@ function TeamDetailView(t0) {
649066
649901
  return t5;
649067
649902
  }
649068
649903
  function TeammateListItem(t0) {
649069
- const $3 = import_compiler_runtime305.c(21);
649904
+ const $3 = import_compiler_runtime304.c(21);
649070
649905
  const {
649071
649906
  teammate,
649072
649907
  isSelected
@@ -649171,7 +650006,7 @@ function TeammateListItem(t0) {
649171
650006
  return t8;
649172
650007
  }
649173
650008
  function TeammateDetailView(t0) {
649174
- const $3 = import_compiler_runtime305.c(39);
650009
+ const $3 = import_compiler_runtime304.c(39);
649175
650010
  const {
649176
650011
  teammate,
649177
650012
  teamName,
@@ -649218,7 +650053,7 @@ function TeammateDetailView(t0) {
649218
650053
  if ($3[6] === Symbol.for("react.memo_cache_sentinel")) {
649219
650054
  t4 = (input) => {
649220
650055
  if (input === "p") {
649221
- setPromptExpanded(_temp186);
650056
+ setPromptExpanded(_temp185);
649222
650057
  }
649223
650058
  };
649224
650059
  $3[6] = t4;
@@ -649412,7 +650247,7 @@ function _temp276(task_0) {
649412
650247
  ]
649413
650248
  }, task_0.id, true, undefined, this);
649414
650249
  }
649415
- function _temp186(prev) {
650250
+ function _temp185(prev) {
649416
650251
  return !prev;
649417
650252
  }
649418
650253
  async function killTeammate(paneId, backendType, teamName, teammateId, teammateName, setAppState) {
@@ -649529,7 +650364,7 @@ function cycleAllTeammateModes(teammates, teamName, isBypassAvailable) {
649529
650364
  }
649530
650365
  logForDebugging(`[TeamsDialog] Sent mode change to all ${teammates.length} teammates: ${targetMode}`);
649531
650366
  }
649532
- var import_compiler_runtime305, import_react239, jsx_dev_runtime408;
650367
+ var import_compiler_runtime304, import_react239, jsx_dev_runtime408;
649533
650368
  var init_TeamsDialog = __esm(() => {
649534
650369
  init_figures();
649535
650370
  init_dist6();
@@ -649555,7 +650390,7 @@ var init_TeamsDialog = __esm(() => {
649555
650390
  init_teammateMailbox();
649556
650391
  init_Dialog();
649557
650392
  init_ThemedText();
649558
- import_compiler_runtime305 = __toESM(require_compiler_runtime(), 1);
650393
+ import_compiler_runtime304 = __toESM(require_compiler_runtime(), 1);
649559
650394
  import_react239 = __toESM(require_react(), 1);
649560
650395
  jsx_dev_runtime408 = __toESM(require_jsx_dev_runtime(), 1);
649561
650396
  });
@@ -650654,7 +651489,7 @@ var init_useVimInput = __esm(() => {
650654
651489
 
650655
651490
  // src/components/VimTextInput.tsx
650656
651491
  function VimTextInput(props) {
650657
- const $3 = import_compiler_runtime306.c(38);
651492
+ const $3 = import_compiler_runtime305.c(38);
650658
651493
  const [theme2] = useTheme();
650659
651494
  const isTerminalFocused = useTerminalFocus();
650660
651495
  useClipboardImageHint(isTerminalFocused, !!props.onImagePaste);
@@ -650672,7 +651507,7 @@ function VimTextInput(props) {
650672
651507
  const t11 = props.multiline;
650673
651508
  const t12 = props.showCursor ? " " : "";
650674
651509
  const t13 = props.highlightPastedText;
650675
- const t14 = isTerminalFocused ? source_default.inverse : _temp187;
651510
+ const t14 = isTerminalFocused ? source_default.inverse : _temp186;
650676
651511
  let t15;
650677
651512
  if ($3[0] !== theme2) {
650678
651513
  t15 = color("text", theme2);
@@ -650785,17 +651620,17 @@ function VimTextInput(props) {
650785
651620
  }
650786
651621
  return t19;
650787
651622
  }
650788
- function _temp187(text2) {
651623
+ function _temp186(text2) {
650789
651624
  return text2;
650790
651625
  }
650791
- var import_compiler_runtime306, import_react241, jsx_dev_runtime409;
651626
+ var import_compiler_runtime305, import_react241, jsx_dev_runtime409;
650792
651627
  var init_VimTextInput = __esm(() => {
650793
651628
  init_source();
650794
651629
  init_useClipboardImageHint();
650795
651630
  init_useVimInput();
650796
651631
  init_ink2();
650797
651632
  init_BaseTextInput();
650798
- import_compiler_runtime306 = __toESM(require_compiler_runtime(), 1);
651633
+ import_compiler_runtime305 = __toESM(require_compiler_runtime(), 1);
650799
651634
  import_react241 = __toESM(require_react(), 1);
650800
651635
  jsx_dev_runtime409 = __toESM(require_jsx_dev_runtime(), 1);
650801
651636
  });
@@ -650849,7 +651684,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
650849
651684
  project_dir: getOriginalCwd(),
650850
651685
  added_dirs: addedDirs
650851
651686
  },
650852
- version: "1.3.127",
651687
+ version: "1.3.327",
650853
651688
  output_style: {
650854
651689
  name: outputStyleName
650855
651690
  },
@@ -651145,7 +651980,7 @@ function calculateHorizontalScrollWindow(itemWidths, availableWidth, arrowWidth,
651145
651980
 
651146
651981
  // src/components/tasks/BackgroundTaskStatus.tsx
651147
651982
  function BackgroundTaskStatus(t0) {
651148
- const $3 = import_compiler_runtime307.c(48);
651983
+ const $3 = import_compiler_runtime306.c(48);
651149
651984
  const {
651150
651985
  tasksSelected,
651151
651986
  isViewingTeammate,
@@ -651159,7 +651994,7 @@ function BackgroundTaskStatus(t0) {
651159
651994
  const {
651160
651995
  columns
651161
651996
  } = useTerminalSize();
651162
- const tasks2 = useAppState(_temp188);
651997
+ const tasks2 = useAppState(_temp187);
651163
651998
  const viewingAgentTaskId = useAppState(_temp277);
651164
651999
  let t3;
651165
652000
  if ($3[0] !== tasks2) {
@@ -651454,11 +652289,11 @@ function _temp350(t2) {
651454
652289
  function _temp277(s_0) {
651455
652290
  return s_0.viewingAgentTaskId;
651456
652291
  }
651457
- function _temp188(s2) {
652292
+ function _temp187(s2) {
651458
652293
  return s2.tasks;
651459
652294
  }
651460
652295
  function AgentPill(t0) {
651461
- const $3 = import_compiler_runtime307.c(19);
652296
+ const $3 = import_compiler_runtime306.c(19);
651462
652297
  const {
651463
652298
  name,
651464
652299
  color: color3,
@@ -651590,7 +652425,7 @@ function AgentPill(t0) {
651590
652425
  return t3;
651591
652426
  }
651592
652427
  function SummaryPill(t0) {
651593
- const $3 = import_compiler_runtime307.c(8);
652428
+ const $3 = import_compiler_runtime306.c(8);
651594
652429
  const {
651595
652430
  selected,
651596
652431
  onClick,
@@ -651650,7 +652485,7 @@ function getAgentThemeColor(colorName) {
651650
652485
  }
651651
652486
  return;
651652
652487
  }
651653
- var import_compiler_runtime307, React132, import_react243, jsx_dev_runtime411;
652488
+ var import_compiler_runtime306, React132, import_react243, jsx_dev_runtime411;
651654
652489
  var init_BackgroundTaskStatus = __esm(() => {
651655
652490
  init_figures();
651656
652491
  init_useTerminalSize();
@@ -651663,7 +652498,7 @@ var init_BackgroundTaskStatus = __esm(() => {
651663
652498
  init_agentColorManager();
651664
652499
  init_KeyboardShortcutHint();
651665
652500
  init_taskStatusUtils();
651666
- import_compiler_runtime307 = __toESM(require_compiler_runtime(), 1);
652501
+ import_compiler_runtime306 = __toESM(require_compiler_runtime(), 1);
651667
652502
  React132 = __toESM(require_react(), 1);
651668
652503
  import_react243 = __toESM(require_react(), 1);
651669
652504
  jsx_dev_runtime411 = __toESM(require_jsx_dev_runtime(), 1);
@@ -651671,12 +652506,12 @@ var init_BackgroundTaskStatus = __esm(() => {
651671
652506
 
651672
652507
  // src/components/teams/TeamStatus.tsx
651673
652508
  function TeamStatus(t0) {
651674
- const $3 = import_compiler_runtime308.c(14);
652509
+ const $3 = import_compiler_runtime307.c(14);
651675
652510
  const {
651676
652511
  teamsSelected,
651677
652512
  showHint
651678
652513
  } = t0;
651679
- const teamContext = useAppState(_temp189);
652514
+ const teamContext = useAppState(_temp188);
651680
652515
  let t1;
651681
652516
  if ($3[0] !== teamContext) {
651682
652517
  t1 = teamContext ? Object.values(teamContext.teammates).filter(_temp278).length : 0;
@@ -651758,20 +652593,20 @@ function TeamStatus(t0) {
651758
652593
  function _temp278(t2) {
651759
652594
  return t2.name !== "team-lead";
651760
652595
  }
651761
- function _temp189(s2) {
652596
+ function _temp188(s2) {
651762
652597
  return s2.teamContext;
651763
652598
  }
651764
- var import_compiler_runtime308, jsx_dev_runtime412;
652599
+ var import_compiler_runtime307, jsx_dev_runtime412;
651765
652600
  var init_TeamStatus = __esm(() => {
651766
652601
  init_ink2();
651767
652602
  init_AppState();
651768
- import_compiler_runtime308 = __toESM(require_compiler_runtime(), 1);
652603
+ import_compiler_runtime307 = __toESM(require_compiler_runtime(), 1);
651769
652604
  jsx_dev_runtime412 = __toESM(require_jsx_dev_runtime(), 1);
651770
652605
  });
651771
652606
 
651772
652607
  // src/components/PromptInput/HistorySearchInput.tsx
651773
652608
  function HistorySearchInput(t0) {
651774
- const $3 = import_compiler_runtime309.c(9);
652609
+ const $3 = import_compiler_runtime308.c(9);
651775
652610
  const {
651776
652611
  value,
651777
652612
  onChange,
@@ -651796,7 +652631,7 @@ function HistorySearchInput(t0) {
651796
652631
  value,
651797
652632
  onChange,
651798
652633
  cursorOffset: value.length,
651799
- onChangeCursorOffset: _temp190,
652634
+ onChangeCursorOffset: _temp189,
651800
652635
  columns: t3,
651801
652636
  focus: true,
651802
652637
  showCursor: true,
@@ -651827,13 +652662,13 @@ function HistorySearchInput(t0) {
651827
652662
  }
651828
652663
  return t5;
651829
652664
  }
651830
- function _temp190() {}
651831
- var import_compiler_runtime309, jsx_dev_runtime413, HistorySearchInput_default;
652665
+ function _temp189() {}
652666
+ var import_compiler_runtime308, jsx_dev_runtime413, HistorySearchInput_default;
651832
652667
  var init_HistorySearchInput = __esm(() => {
651833
652668
  init_stringWidth();
651834
652669
  init_ink2();
651835
652670
  init_TextInput();
651836
- import_compiler_runtime309 = __toESM(require_compiler_runtime(), 1);
652671
+ import_compiler_runtime308 = __toESM(require_compiler_runtime(), 1);
651837
652672
  jsx_dev_runtime413 = __toESM(require_jsx_dev_runtime(), 1);
651838
652673
  HistorySearchInput_default = HistorySearchInput;
651839
652674
  });
@@ -651974,18 +652809,18 @@ var init_usePrStatus = __esm(() => {
651974
652809
  });
651975
652810
 
651976
652811
  // src/components/PromptInput/VoiceIndicator.tsx
651977
- var import_compiler_runtime310, jsx_dev_runtime414;
652812
+ var import_compiler_runtime309, jsx_dev_runtime414;
651978
652813
  var init_VoiceIndicator = __esm(() => {
651979
652814
  init_useSettings();
651980
652815
  init_ink2();
651981
652816
  init_utils12();
651982
- import_compiler_runtime310 = __toESM(require_compiler_runtime(), 1);
652817
+ import_compiler_runtime309 = __toESM(require_compiler_runtime(), 1);
651983
652818
  jsx_dev_runtime414 = __toESM(require_jsx_dev_runtime(), 1);
651984
652819
  });
651985
652820
 
651986
652821
  // src/components/PromptInput/PromptInputFooterLeftSide.tsx
651987
652822
  function PromptInputFooterLeftSide(t0) {
651988
- const $3 = import_compiler_runtime311.c(27);
652823
+ const $3 = import_compiler_runtime310.c(27);
651989
652824
  const {
651990
652825
  exitMessage,
651991
652826
  vimMode,
@@ -652388,7 +653223,7 @@ function getSpinnerHintParts(isLoading, escShortcut, todosShortcut, killAgentsSh
652388
653223
  function isPrStatusEnabled() {
652389
653224
  return getGlobalConfig().prStatusFooterEnabled ?? true;
652390
653225
  }
652391
- var import_compiler_runtime311, import_react245, jsx_dev_runtime415, proactiveModule3 = null, NO_OP_SUBSCRIBE = (_cb) => () => {}, NULL2 = () => null;
653226
+ var import_compiler_runtime310, import_react245, jsx_dev_runtime415, proactiveModule3 = null, NO_OP_SUBSCRIBE = (_cb) => () => {}, NULL2 = () => null;
652392
653227
  var init_PromptInputFooterLeftSide = __esm(() => {
652393
653228
  init_ink2();
652394
653229
  init_figures();
@@ -652420,7 +653255,7 @@ var init_PromptInputFooterLeftSide = __esm(() => {
652420
653255
  init_config2();
652421
653256
  init_platform2();
652422
653257
  init_PrBadge();
652423
- import_compiler_runtime311 = __toESM(require_compiler_runtime(), 1);
653258
+ import_compiler_runtime310 = __toESM(require_compiler_runtime(), 1);
652424
653259
  import_react245 = __toESM(require_react(), 1);
652425
653260
  jsx_dev_runtime415 = __toESM(require_jsx_dev_runtime(), 1);
652426
653261
  });
@@ -652637,7 +653472,7 @@ function getTeammateThemeColor() {
652637
653472
  return;
652638
653473
  }
652639
653474
  function PromptChar(t0) {
652640
- const $3 = import_compiler_runtime312.c(3);
653475
+ const $3 = import_compiler_runtime311.c(3);
652641
653476
  const {
652642
653477
  isLoading,
652643
653478
  themeColor
@@ -652663,7 +653498,7 @@ function PromptChar(t0) {
652663
653498
  return t1;
652664
653499
  }
652665
653500
  function PromptInputModeIndicator(t0) {
652666
- const $3 = import_compiler_runtime312.c(6);
653501
+ const $3 = import_compiler_runtime311.c(6);
652667
653502
  const {
652668
653503
  mode,
652669
653504
  isLoading,
@@ -652708,14 +653543,14 @@ function PromptInputModeIndicator(t0) {
652708
653543
  }
652709
653544
  return t2;
652710
653545
  }
652711
- var import_compiler_runtime312, jsx_dev_runtime417;
653546
+ var import_compiler_runtime311, jsx_dev_runtime417;
652712
653547
  var init_PromptInputModeIndicator = __esm(() => {
652713
653548
  init_figures();
652714
653549
  init_ink2();
652715
653550
  init_agentColorManager();
652716
653551
  init_teammate();
652717
653552
  init_agentSwarmsEnabled();
652718
- import_compiler_runtime312 = __toESM(require_compiler_runtime(), 1);
653553
+ import_compiler_runtime311 = __toESM(require_compiler_runtime(), 1);
652719
653554
  jsx_dev_runtime417 = __toESM(require_jsx_dev_runtime(), 1);
652720
653555
  });
652721
653556
 
@@ -652816,7 +653651,7 @@ var init_PromptInputQueuedCommands = __esm(() => {
652816
653651
 
652817
653652
  // src/components/PromptInput/PromptInputStashNotice.tsx
652818
653653
  function PromptInputStashNotice(t0) {
652819
- const $3 = import_compiler_runtime313.c(1);
653654
+ const $3 = import_compiler_runtime312.c(1);
652820
653655
  const {
652821
653656
  hasStash
652822
653657
  } = t0;
@@ -652841,11 +653676,11 @@ function PromptInputStashNotice(t0) {
652841
653676
  }
652842
653677
  return t1;
652843
653678
  }
652844
- var import_compiler_runtime313, jsx_dev_runtime419;
653679
+ var import_compiler_runtime312, jsx_dev_runtime419;
652845
653680
  var init_PromptInputStashNotice = __esm(() => {
652846
653681
  init_figures();
652847
653682
  init_ink2();
652848
- import_compiler_runtime313 = __toESM(require_compiler_runtime(), 1);
653683
+ import_compiler_runtime312 = __toESM(require_compiler_runtime(), 1);
652849
653684
  jsx_dev_runtime419 = __toESM(require_jsx_dev_runtime(), 1);
652850
653685
  });
652851
653686
 
@@ -656749,7 +657584,7 @@ var init_useDebouncedDigitInput = __esm(() => {
656749
657584
 
656750
657585
  // src/components/FeedbackSurvey/FeedbackSurveyView.tsx
656751
657586
  function FeedbackSurveyView(t0) {
656752
- const $3 = import_compiler_runtime314.c(15);
657587
+ const $3 = import_compiler_runtime313.c(15);
656753
657588
  const {
656754
657589
  onSelect,
656755
657590
  inputValue,
@@ -656903,11 +657738,11 @@ function FeedbackSurveyView(t0) {
656903
657738
  }
656904
657739
  return t10;
656905
657740
  }
656906
- var import_compiler_runtime314, jsx_dev_runtime421, RESPONSE_INPUTS, inputToResponse, isValidResponseInput = (input) => RESPONSE_INPUTS.includes(input), DEFAULT_MESSAGE = "How is Claude doing this session? (optional)";
657741
+ var import_compiler_runtime313, jsx_dev_runtime421, RESPONSE_INPUTS, inputToResponse, isValidResponseInput = (input) => RESPONSE_INPUTS.includes(input), DEFAULT_MESSAGE = "How is Claude doing this session? (optional)";
656907
657742
  var init_FeedbackSurveyView = __esm(() => {
656908
657743
  init_ink2();
656909
657744
  init_useDebouncedDigitInput();
656910
- import_compiler_runtime314 = __toESM(require_compiler_runtime(), 1);
657745
+ import_compiler_runtime313 = __toESM(require_compiler_runtime(), 1);
656911
657746
  jsx_dev_runtime421 = __toESM(require_jsx_dev_runtime(), 1);
656912
657747
  RESPONSE_INPUTS = ["0", "1", "2", "3"];
656913
657748
  inputToResponse = {
@@ -656919,13 +657754,13 @@ var init_FeedbackSurveyView = __esm(() => {
656919
657754
  });
656920
657755
 
656921
657756
  // src/components/SkillImprovementSurvey.tsx
656922
- var import_compiler_runtime315, import_react257, jsx_dev_runtime422;
657757
+ var import_compiler_runtime314, import_react257, jsx_dev_runtime422;
656923
657758
  var init_SkillImprovementSurvey = __esm(() => {
656924
657759
  init_figures2();
656925
657760
  init_ink2();
656926
657761
  init_stringUtils();
656927
657762
  init_FeedbackSurveyView();
656928
- import_compiler_runtime315 = __toESM(require_compiler_runtime(), 1);
657763
+ import_compiler_runtime314 = __toESM(require_compiler_runtime(), 1);
656929
657764
  import_react257 = __toESM(require_react(), 1);
656930
657765
  jsx_dev_runtime422 = __toESM(require_jsx_dev_runtime(), 1);
656931
657766
  });
@@ -657743,7 +658578,7 @@ var init_useGlobalKeybindings = __esm(() => {
657743
658578
 
657744
658579
  // src/hooks/useCommandKeybindings.tsx
657745
658580
  function CommandKeybindingHandlers(t0) {
657746
- const $3 = import_compiler_runtime316.c(8);
658581
+ const $3 = import_compiler_runtime315.c(8);
657747
658582
  const {
657748
658583
  onSubmit,
657749
658584
  isActive: t1
@@ -657813,12 +658648,12 @@ function CommandKeybindingHandlers(t0) {
657813
658648
  useKeybindings(handlers, t4);
657814
658649
  return null;
657815
658650
  }
657816
- var import_compiler_runtime316, NOOP_HELPERS;
658651
+ var import_compiler_runtime315, NOOP_HELPERS;
657817
658652
  var init_useCommandKeybindings = __esm(() => {
657818
658653
  init_overlayContext();
657819
658654
  init_KeybindingContext();
657820
658655
  init_useKeybinding();
657821
- import_compiler_runtime316 = __toESM(require_compiler_runtime(), 1);
658656
+ import_compiler_runtime315 = __toESM(require_compiler_runtime(), 1);
657822
658657
  NOOP_HELPERS = {
657823
658658
  setCursorOffset: () => {},
657824
658659
  clearBuffer: () => {},
@@ -658805,7 +659640,7 @@ var init_swarmWorkerHandler = __esm(() => {
658805
659640
 
658806
659641
  // src/hooks/useCanUseTool.tsx
658807
659642
  function useCanUseTool(setToolUseConfirmQueue, setToolPermissionContext) {
658808
- const $3 = import_compiler_runtime317.c(3);
659643
+ const $3 = import_compiler_runtime316.c(3);
658809
659644
  let t0;
658810
659645
  if ($3[0] !== setToolPermissionContext || $3[1] !== setToolUseConfirmQueue) {
658811
659646
  t0 = async (tool, input, toolUseContext, assistantMessage, toolUseID, forceDecision) => new Promise((resolve49) => {
@@ -658895,7 +659730,7 @@ function useCanUseTool(setToolUseConfirmQueue, setToolPermissionContext) {
658895
659730
  }
658896
659731
  }
658897
659732
  }).catch((error54) => {
658898
- if (error54 instanceof AbortError || error54 instanceof import_sdk15.APIUserAbortError) {
659733
+ if (error54 instanceof AbortError || error54 instanceof import_sdk16.APIUserAbortError) {
658899
659734
  logForDebugging(`Permission check threw ${error54.constructor.name} for tool=${tool.name}: ${error54.message}`);
658900
659735
  ctx.logCancelled();
658901
659736
  resolve49(ctx.cancelAndAbort(undefined, true));
@@ -658915,7 +659750,7 @@ function useCanUseTool(setToolUseConfirmQueue, setToolPermissionContext) {
658915
659750
  }
658916
659751
  return t0;
658917
659752
  }
658918
- var import_compiler_runtime317, import_sdk15, jsx_dev_runtime423, useCanUseTool_default;
659753
+ var import_compiler_runtime316, import_sdk16, jsx_dev_runtime423, useCanUseTool_default;
658919
659754
  var init_useCanUseTool = __esm(() => {
658920
659755
  init_ink2();
658921
659756
  init_bashPermissions();
@@ -658930,8 +659765,8 @@ var init_useCanUseTool = __esm(() => {
658930
659765
  init_swarmWorkerHandler();
658931
659766
  init_PermissionContext();
658932
659767
  init_permissionLogging();
658933
- import_compiler_runtime317 = __toESM(require_compiler_runtime(), 1);
658934
- import_sdk15 = __toESM(require_sdk(), 1);
659768
+ import_compiler_runtime316 = __toESM(require_compiler_runtime(), 1);
659769
+ import_sdk16 = __toESM(require_sdk(), 1);
658935
659770
  jsx_dev_runtime423 = __toESM(require_jsx_dev_runtime(), 1);
658936
659771
  useCanUseTool_default = useCanUseTool;
658937
659772
  });
@@ -659007,7 +659842,7 @@ var init_processTextPrompt = __esm(() => {
659007
659842
 
659008
659843
  // src/components/BashModeProgress.tsx
659009
659844
  function BashModeProgress(t0) {
659010
- const $3 = import_compiler_runtime318.c(8);
659845
+ const $3 = import_compiler_runtime317.c(8);
659011
659846
  const {
659012
659847
  input,
659013
659848
  progress,
@@ -659065,13 +659900,13 @@ function BashModeProgress(t0) {
659065
659900
  }
659066
659901
  return t4;
659067
659902
  }
659068
- var import_compiler_runtime318, jsx_dev_runtime424;
659903
+ var import_compiler_runtime317, jsx_dev_runtime424;
659069
659904
  var init_BashModeProgress = __esm(() => {
659070
659905
  init_ink2();
659071
659906
  init_BashTool();
659072
659907
  init_UserBashInputMessage();
659073
659908
  init_ShellProgressMessage();
659074
- import_compiler_runtime318 = __toESM(require_compiler_runtime(), 1);
659909
+ import_compiler_runtime317 = __toESM(require_compiler_runtime(), 1);
659075
659910
  jsx_dev_runtime424 = __toESM(require_jsx_dev_runtime(), 1);
659076
659911
  });
659077
659912
 
@@ -660365,8 +661200,8 @@ var init_useManagePlugins = __esm(() => {
660365
661200
 
660366
661201
  // src/components/TeammateViewHeader.tsx
660367
661202
  function TeammateViewHeader() {
660368
- const $3 = import_compiler_runtime319.c(14);
660369
- const viewedTeammate = useAppState(_temp191);
661203
+ const $3 = import_compiler_runtime318.c(14);
661204
+ const viewedTeammate = useAppState(_temp190);
660370
661205
  if (!viewedTeammate) {
660371
661206
  return null;
660372
661207
  }
@@ -660465,10 +661300,10 @@ function TeammateViewHeader() {
660465
661300
  }
660466
661301
  return t6;
660467
661302
  }
660468
- function _temp191(s2) {
661303
+ function _temp190(s2) {
660469
661304
  return getViewedTeammateTask(s2);
660470
661305
  }
660471
- var import_compiler_runtime319, jsx_dev_runtime426;
661306
+ var import_compiler_runtime318, jsx_dev_runtime426;
660472
661307
  var init_TeammateViewHeader = __esm(() => {
660473
661308
  init_ink2();
660474
661309
  init_AppState();
@@ -660476,7 +661311,7 @@ var init_TeammateViewHeader = __esm(() => {
660476
661311
  init_ink3();
660477
661312
  init_KeyboardShortcutHint();
660478
661313
  init_OffscreenFreeze();
660479
- import_compiler_runtime319 = __toESM(require_compiler_runtime(), 1);
661314
+ import_compiler_runtime318 = __toESM(require_compiler_runtime(), 1);
660480
661315
  jsx_dev_runtime426 = __toESM(require_jsx_dev_runtime(), 1);
660481
661316
  });
660482
661317
 
@@ -661505,7 +662340,7 @@ var init_useTaskListWatcher = __esm(() => {
661505
662340
 
661506
662341
  // src/hooks/useIDEIntegration.tsx
661507
662342
  function useIDEIntegration(t0) {
661508
- const $3 = import_compiler_runtime320.c(7);
662343
+ const $3 = import_compiler_runtime319.c(7);
661509
662344
  const {
661510
662345
  autoConnectIdeFlag,
661511
662346
  ideToInstallExtension,
@@ -661559,18 +662394,18 @@ function useIDEIntegration(t0) {
661559
662394
  }
661560
662395
  import_react277.useEffect(t1, t2);
661561
662396
  }
661562
- var import_compiler_runtime320, import_react277;
662397
+ var import_compiler_runtime319, import_react277;
661563
662398
  var init_useIDEIntegration = __esm(() => {
661564
662399
  init_config2();
661565
662400
  init_envUtils();
661566
662401
  init_ide();
661567
- import_compiler_runtime320 = __toESM(require_compiler_runtime(), 1);
662402
+ import_compiler_runtime319 = __toESM(require_compiler_runtime(), 1);
661568
662403
  import_react277 = __toESM(require_react(), 1);
661569
662404
  });
661570
662405
 
661571
662406
  // src/components/SessionBackgroundHint.tsx
661572
662407
  function SessionBackgroundHint(t0) {
661573
- const $3 = import_compiler_runtime321.c(10);
662408
+ const $3 = import_compiler_runtime320.c(10);
661574
662409
  const {
661575
662410
  onBackgroundSession,
661576
662411
  isLoading
@@ -661578,7 +662413,7 @@ function SessionBackgroundHint(t0) {
661578
662413
  const setAppState = useSetAppState();
661579
662414
  const appStateStore = useAppStateStore();
661580
662415
  const [showSessionHint, setShowSessionHint] = import_react278.useState(false);
661581
- const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession, _temp192);
662416
+ const handleDoublePress = useDoublePress(setShowSessionHint, onBackgroundSession, _temp191);
661582
662417
  let t1;
661583
662418
  if ($3[0] !== appStateStore || $3[1] !== handleDoublePress || $3[2] !== isLoading || $3[3] !== setAppState) {
661584
662419
  t1 = () => {
@@ -661658,8 +662493,8 @@ function _temp279(c4) {
661658
662493
  hasUsedBackgroundTask: true
661659
662494
  };
661660
662495
  }
661661
- function _temp192() {}
661662
- var import_compiler_runtime321, import_react278, jsx_dev_runtime427;
662496
+ function _temp191() {}
662497
+ var import_compiler_runtime320, import_react278, jsx_dev_runtime427;
661663
662498
  var init_SessionBackgroundHint = __esm(() => {
661664
662499
  init_useDoublePress();
661665
662500
  init_ink2();
@@ -661671,7 +662506,7 @@ var init_SessionBackgroundHint = __esm(() => {
661671
662506
  init_env();
661672
662507
  init_envUtils();
661673
662508
  init_KeyboardShortcutHint();
661674
- import_compiler_runtime321 = __toESM(require_compiler_runtime(), 1);
662509
+ import_compiler_runtime320 = __toESM(require_compiler_runtime(), 1);
661675
662510
  import_react278 = __toESM(require_react(), 1);
661676
662511
  jsx_dev_runtime427 = __toESM(require_jsx_dev_runtime(), 1);
661677
662512
  });
@@ -661803,7 +662638,7 @@ var init_useSessionBackgrounding = __esm(() => {
661803
662638
 
661804
662639
  // src/components/EffortCallout.tsx
661805
662640
  function EffortCallout(t0) {
661806
- const $3 = import_compiler_runtime322.c(18);
662641
+ const $3 = import_compiler_runtime321.c(18);
661807
662642
  const {
661808
662643
  model,
661809
662644
  onDone
@@ -661845,7 +662680,7 @@ function EffortCallout(t0) {
661845
662680
  } else {
661846
662681
  t4 = $3[4];
661847
662682
  }
661848
- import_react280.useEffect(_temp193, t4);
662683
+ import_react280.useEffect(_temp192, t4);
661849
662684
  let t5;
661850
662685
  let t6;
661851
662686
  if ($3[5] === Symbol.for("react.memo_cache_sentinel")) {
@@ -661995,11 +662830,11 @@ function EffortCallout(t0) {
661995
662830
  }
661996
662831
  return t14;
661997
662832
  }
661998
- function _temp193() {
662833
+ function _temp192() {
661999
662834
  markV2Dismissed();
662000
662835
  }
662001
662836
  function EffortIndicatorSymbol(t0) {
662002
- const $3 = import_compiler_runtime322.c(4);
662837
+ const $3 = import_compiler_runtime321.c(4);
662003
662838
  const {
662004
662839
  level
662005
662840
  } = t0;
@@ -662025,7 +662860,7 @@ function EffortIndicatorSymbol(t0) {
662025
662860
  return t2;
662026
662861
  }
662027
662862
  function EffortOptionLabel(t0) {
662028
- const $3 = import_compiler_runtime322.c(5);
662863
+ const $3 = import_compiler_runtime321.c(5);
662029
662864
  const {
662030
662865
  level,
662031
662866
  text: text2
@@ -662092,7 +662927,7 @@ function markV2Dismissed() {
662092
662927
  };
662093
662928
  });
662094
662929
  }
662095
- var import_compiler_runtime322, import_react280, jsx_dev_runtime428, AUTO_DISMISS_MS = 30000;
662930
+ var import_compiler_runtime321, import_react280, jsx_dev_runtime428, AUTO_DISMISS_MS = 30000;
662096
662931
  var init_EffortCallout = __esm(() => {
662097
662932
  init_ink2();
662098
662933
  init_auth();
@@ -662103,7 +662938,7 @@ var init_EffortCallout = __esm(() => {
662103
662938
  init_select();
662104
662939
  init_EffortIndicator();
662105
662940
  init_PermissionDialog();
662106
- import_compiler_runtime322 = __toESM(require_compiler_runtime(), 1);
662941
+ import_compiler_runtime321 = __toESM(require_compiler_runtime(), 1);
662107
662942
  import_react280 = __toESM(require_react(), 1);
662108
662943
  jsx_dev_runtime428 = __toESM(require_jsx_dev_runtime(), 1);
662109
662944
  });
@@ -662219,7 +663054,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
662219
663054
  } catch {}
662220
663055
  const data = {
662221
663056
  trigger,
662222
- version: "1.3.127",
663057
+ version: "1.3.327",
662223
663058
  platform: process.platform,
662224
663059
  transcript,
662225
663060
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -662804,7 +663639,7 @@ function hasMessageAfterBoundary(messages, boundaryUuid) {
662804
663639
  return false;
662805
663640
  }
662806
663641
  function usePostCompactSurvey(messages, isLoading, t0, t1) {
662807
- const $3 = import_compiler_runtime323.c(23);
663642
+ const $3 = import_compiler_runtime322.c(23);
662808
663643
  const hasActivePrompt = t0 === undefined ? false : t0;
662809
663644
  let t2;
662810
663645
  if ($3[0] !== t1) {
@@ -662828,7 +663663,7 @@ function usePostCompactSurvey(messages, isLoading, t0, t1) {
662828
663663
  }
662829
663664
  const seenCompactBoundaries = import_react286.useRef(t4);
662830
663665
  const pendingCompactBoundaryUuid = import_react286.useRef(null);
662831
- const onOpen = _temp194;
663666
+ const onOpen = _temp193;
662832
663667
  const onSelect = _temp280;
662833
663668
  let t5;
662834
663669
  if ($3[3] === Symbol.for("react.memo_cache_sentinel")) {
@@ -662964,7 +663799,7 @@ function _temp280(appearanceId_0, selected) {
662964
663799
  survey_type: "post_compact"
662965
663800
  });
662966
663801
  }
662967
- function _temp194(appearanceId) {
663802
+ function _temp193(appearanceId) {
662968
663803
  const smCompactionEnabled = shouldUseSessionMemoryCompaction();
662969
663804
  logEvent("tengu_post_compact_survey_event", {
662970
663805
  event_type: "appeared",
@@ -662977,7 +663812,7 @@ function _temp194(appearanceId) {
662977
663812
  survey_type: "post_compact"
662978
663813
  });
662979
663814
  }
662980
- var import_compiler_runtime323, import_react286, HIDE_THANKS_AFTER_MS2 = 3000, POST_COMPACT_SURVEY_GATE = "tengu_post_compact_survey", SURVEY_PROBABILITY2 = 0.2;
663815
+ var import_compiler_runtime322, import_react286, HIDE_THANKS_AFTER_MS2 = 3000, POST_COMPACT_SURVEY_GATE = "tengu_post_compact_survey", SURVEY_PROBABILITY2 = 0.2;
662981
663816
  var init_usePostCompactSurvey = __esm(() => {
662982
663817
  init_config();
662983
663818
  init_growthbook();
@@ -662987,13 +663822,13 @@ var init_usePostCompactSurvey = __esm(() => {
662987
663822
  init_messages5();
662988
663823
  init_events3();
662989
663824
  init_useSurveyState();
662990
- import_compiler_runtime323 = __toESM(require_compiler_runtime(), 1);
663825
+ import_compiler_runtime322 = __toESM(require_compiler_runtime(), 1);
662991
663826
  import_react286 = __toESM(require_react(), 1);
662992
663827
  });
662993
663828
 
662994
663829
  // src/components/FeedbackSurvey/TranscriptSharePrompt.tsx
662995
663830
  function TranscriptSharePrompt(t0) {
662996
- const $3 = import_compiler_runtime324.c(11);
663831
+ const $3 = import_compiler_runtime323.c(11);
662997
663832
  const {
662998
663833
  onSelect,
662999
663834
  inputValue,
@@ -663127,12 +663962,12 @@ function TranscriptSharePrompt(t0) {
663127
663962
  }
663128
663963
  return t7;
663129
663964
  }
663130
- var import_compiler_runtime324, jsx_dev_runtime430, RESPONSE_INPUTS2, inputToResponse2, isValidResponseInput2 = (input) => RESPONSE_INPUTS2.includes(input);
663965
+ var import_compiler_runtime323, jsx_dev_runtime430, RESPONSE_INPUTS2, inputToResponse2, isValidResponseInput2 = (input) => RESPONSE_INPUTS2.includes(input);
663131
663966
  var init_TranscriptSharePrompt = __esm(() => {
663132
663967
  init_figures2();
663133
663968
  init_ink2();
663134
663969
  init_useDebouncedDigitInput();
663135
- import_compiler_runtime324 = __toESM(require_compiler_runtime(), 1);
663970
+ import_compiler_runtime323 = __toESM(require_compiler_runtime(), 1);
663136
663971
  jsx_dev_runtime430 = __toESM(require_jsx_dev_runtime(), 1);
663137
663972
  RESPONSE_INPUTS2 = ["1", "2", "3"];
663138
663973
  inputToResponse2 = {
@@ -663144,7 +663979,7 @@ var init_TranscriptSharePrompt = __esm(() => {
663144
663979
 
663145
663980
  // src/components/FeedbackSurvey/FeedbackSurvey.tsx
663146
663981
  function FeedbackSurvey(t0) {
663147
- const $3 = import_compiler_runtime325.c(16);
663982
+ const $3 = import_compiler_runtime324.c(16);
663148
663983
  const {
663149
663984
  state: state2,
663150
663985
  lastResponse,
@@ -663260,7 +664095,7 @@ function FeedbackSurvey(t0) {
663260
664095
  return t1;
663261
664096
  }
663262
664097
  function FeedbackSurveyThanks(t0) {
663263
- const $3 = import_compiler_runtime325.c(12);
664098
+ const $3 = import_compiler_runtime324.c(12);
663264
664099
  const {
663265
664100
  lastResponse,
663266
664101
  inputValue,
@@ -663354,14 +664189,14 @@ function FeedbackSurveyThanks(t0) {
663354
664189
  }
663355
664190
  return t5;
663356
664191
  }
663357
- var import_compiler_runtime325, jsx_dev_runtime431, isFollowUpDigit = (char) => char === "1";
664192
+ var import_compiler_runtime324, jsx_dev_runtime431, isFollowUpDigit = (char) => char === "1";
663358
664193
  var init_FeedbackSurvey = __esm(() => {
663359
664194
  init_analytics();
663360
664195
  init_ink2();
663361
664196
  init_FeedbackSurveyView();
663362
664197
  init_TranscriptSharePrompt();
663363
664198
  init_useDebouncedDigitInput();
663364
- import_compiler_runtime325 = __toESM(require_compiler_runtime(), 1);
664199
+ import_compiler_runtime324 = __toESM(require_compiler_runtime(), 1);
663365
664200
  jsx_dev_runtime431 = __toESM(require_jsx_dev_runtime(), 1);
663366
664201
  });
663367
664202
 
@@ -663398,9 +664233,9 @@ function useInstallMessages() {
663398
664233
  }
663399
664234
  async function _temp281() {
663400
664235
  const messages = await checkInstall();
663401
- return messages.map(_temp195);
664236
+ return messages.map(_temp194);
663402
664237
  }
663403
- function _temp195(message, index) {
664238
+ function _temp194(message, index) {
663404
664239
  let priority = "low";
663405
664240
  if (message.type === "error" || message.userActionRequired) {
663406
664241
  priority = "high";
@@ -663422,7 +664257,7 @@ var init_useInstallMessages = __esm(() => {
663422
664257
  });
663423
664258
 
663424
664259
  // src/services/awaySummary.ts
663425
- var import_sdk16;
664260
+ var import_sdk17;
663426
664261
  var init_awaySummary = __esm(() => {
663427
664262
  init_Tool();
663428
664263
  init_debug();
@@ -663430,7 +664265,7 @@ var init_awaySummary = __esm(() => {
663430
664265
  init_model();
663431
664266
  init_claude();
663432
664267
  init_sessionMemoryUtils();
663433
- import_sdk16 = __toESM(require_sdk(), 1);
664268
+ import_sdk17 = __toESM(require_sdk(), 1);
663434
664269
  });
663435
664270
 
663436
664271
  // src/hooks/useAwaySummary.ts
@@ -663710,9 +664545,9 @@ var init_officialMarketplaceStartupCheck = __esm(() => {
663710
664545
 
663711
664546
  // src/hooks/useOfficialMarketplaceNotification.tsx
663712
664547
  function useOfficialMarketplaceNotification() {
663713
- useStartupNotification(_temp196);
664548
+ useStartupNotification(_temp195);
663714
664549
  }
663715
- async function _temp196() {
664550
+ async function _temp195() {
663716
664551
  const result = await checkAndInstallOfficialMarketplace();
663717
664552
  const notifs = [];
663718
664553
  if (result.configSaveFailed) {
@@ -663951,7 +664786,7 @@ function getDownloadUrl() {
663951
664786
  }
663952
664787
  }
663953
664788
  function DesktopHandoff(t0) {
663954
- const $3 = import_compiler_runtime326.c(20);
664789
+ const $3 = import_compiler_runtime325.c(20);
663955
664790
  const {
663956
664791
  onDone
663957
664792
  } = t0;
@@ -663969,7 +664804,7 @@ function DesktopHandoff(t0) {
663969
664804
  }
663970
664805
  if (state2 === "prompt-download") {
663971
664806
  if (input === "y" || input === "Y") {
663972
- openBrowser(getDownloadUrl()).catch(_temp197);
664807
+ openBrowser(getDownloadUrl()).catch(_temp196);
663973
664808
  onDone(`Starting download. Re-run /desktop once you’ve installed the app.
663974
664809
  Learn more at ${DESKTOP_DOCS_URL}`, {
663975
664810
  display: "system"
@@ -664145,8 +664980,8 @@ async function _temp282(onDone_0) {
664145
664980
  });
664146
664981
  await gracefulShutdown(0, "other");
664147
664982
  }
664148
- function _temp197() {}
664149
- var import_compiler_runtime326, import_react289, jsx_dev_runtime433, DESKTOP_DOCS_URL = "https://clau.de/desktop";
664983
+ function _temp196() {}
664984
+ var import_compiler_runtime325, import_react289, jsx_dev_runtime433, DESKTOP_DOCS_URL = "https://clau.de/desktop";
664150
664985
  var init_DesktopHandoff = __esm(() => {
664151
664986
  init_ink2();
664152
664987
  init_browser();
@@ -664155,7 +664990,7 @@ var init_DesktopHandoff = __esm(() => {
664155
664990
  init_gracefulShutdown();
664156
664991
  init_sessionStorage();
664157
664992
  init_LoadingState();
664158
- import_compiler_runtime326 = __toESM(require_compiler_runtime(), 1);
664993
+ import_compiler_runtime325 = __toESM(require_compiler_runtime(), 1);
664159
664994
  import_react289 = __toESM(require_react(), 1);
664160
664995
  jsx_dev_runtime433 = __toESM(require_jsx_dev_runtime(), 1);
664161
664996
  });
@@ -664180,7 +665015,7 @@ function shouldShowDesktopUpsellStartup() {
664180
665015
  return true;
664181
665016
  }
664182
665017
  function DesktopUpsellStartup(t0) {
664183
- const $3 = import_compiler_runtime327.c(14);
665018
+ const $3 = import_compiler_runtime326.c(14);
664184
665019
  const {
664185
665020
  onDone
664186
665021
  } = t0;
@@ -664192,7 +665027,7 @@ function DesktopUpsellStartup(t0) {
664192
665027
  } else {
664193
665028
  t1 = $3[0];
664194
665029
  }
664195
- import_react290.useEffect(_temp198, t1);
665030
+ import_react290.useEffect(_temp197, t1);
664196
665031
  if (showHandoff) {
664197
665032
  let t22;
664198
665033
  if ($3[1] !== onDone) {
@@ -664317,7 +665152,7 @@ function _temp283(prev_0) {
664317
665152
  desktopUpsellDismissed: true
664318
665153
  };
664319
665154
  }
664320
- function _temp198() {
665155
+ function _temp197() {
664321
665156
  const newCount = (getGlobalConfig().desktopUpsellSeenCount ?? 0) + 1;
664322
665157
  saveGlobalConfig((prev) => {
664323
665158
  if ((prev.desktopUpsellSeenCount ?? 0) >= newCount) {
@@ -664332,7 +665167,7 @@ function _temp198() {
664332
665167
  seen_count: newCount
664333
665168
  });
664334
665169
  }
664335
- var import_compiler_runtime327, import_react290, jsx_dev_runtime434, DESKTOP_UPSELL_DEFAULT;
665170
+ var import_compiler_runtime326, import_react290, jsx_dev_runtime434, DESKTOP_UPSELL_DEFAULT;
664336
665171
  var init_DesktopUpsellStartup = __esm(() => {
664337
665172
  init_ink2();
664338
665173
  init_growthbook();
@@ -664341,7 +665176,7 @@ var init_DesktopUpsellStartup = __esm(() => {
664341
665176
  init_select();
664342
665177
  init_DesktopHandoff();
664343
665178
  init_PermissionDialog();
664344
- import_compiler_runtime327 = __toESM(require_compiler_runtime(), 1);
665179
+ import_compiler_runtime326 = __toESM(require_compiler_runtime(), 1);
664345
665180
  import_react290 = __toESM(require_react(), 1);
664346
665181
  jsx_dev_runtime434 = __toESM(require_jsx_dev_runtime(), 1);
664347
665182
  DESKTOP_UPSELL_DEFAULT = {
@@ -664575,7 +665410,7 @@ var init_tipRegistry = __esm(() => {
664575
665410
  },
664576
665411
  {
664577
665412
  id: "enter-to-steer-in-relatime",
664578
- content: async () => "Send messages to Claude while it works to steer Claude in real-time",
665413
+ content: async () => "Send messages to RAYU while it works to steer Rayu in real-time",
664579
665414
  cooldownSessions: 20,
664580
665415
  isRelevant: async () => true
664581
665416
  },
@@ -665900,7 +666735,7 @@ var init_useFileHistorySnapshotInit = __esm(() => {
665900
666735
 
665901
666736
  // src/components/permissions/SandboxPermissionRequest.tsx
665902
666737
  function SandboxPermissionRequest(t0) {
665903
- const $3 = import_compiler_runtime328.c(22);
666738
+ const $3 = import_compiler_runtime327.c(22);
665904
666739
  const {
665905
666740
  hostPattern: t1,
665906
666741
  onUserResponse
@@ -666097,13 +666932,13 @@ function SandboxPermissionRequest(t0) {
666097
666932
  }
666098
666933
  return t13;
666099
666934
  }
666100
- var import_compiler_runtime328, jsx_dev_runtime435;
666935
+ var import_compiler_runtime327, jsx_dev_runtime435;
666101
666936
  var init_SandboxPermissionRequest = __esm(() => {
666102
666937
  init_ink2();
666103
666938
  init_sandbox_adapter();
666104
666939
  init_select();
666105
666940
  init_PermissionDialog();
666106
- import_compiler_runtime328 = __toESM(require_compiler_runtime(), 1);
666941
+ import_compiler_runtime327 = __toESM(require_compiler_runtime(), 1);
666107
666942
  jsx_dev_runtime435 = __toESM(require_jsx_dev_runtime(), 1);
666108
666943
  });
666109
666944
 
@@ -666116,7 +666951,7 @@ function formatTime(date6) {
666116
666951
  return `${h3}:${m3}:${s2}${ampm}`;
666117
666952
  }
666118
666953
  function SandboxViolationExpandedView() {
666119
- const $3 = import_compiler_runtime329.c(15);
666954
+ const $3 = import_compiler_runtime328.c(15);
666120
666955
  let t0;
666121
666956
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
666122
666957
  t0 = [];
@@ -666175,7 +667010,7 @@ function SandboxViolationExpandedView() {
666175
667010
  }
666176
667011
  let t5;
666177
667012
  if ($3[6] !== violations) {
666178
- t5 = violations.map(_temp199);
667013
+ t5 = violations.map(_temp198);
666179
667014
  $3[6] = violations;
666180
667015
  $3[7] = t5;
666181
667016
  } else {
@@ -666222,7 +667057,7 @@ function SandboxViolationExpandedView() {
666222
667057
  }
666223
667058
  return t8;
666224
667059
  }
666225
- function _temp199(v2, i4) {
667060
+ function _temp198(v2, i4) {
666226
667061
  return /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedBox_default, {
666227
667062
  paddingLeft: 2,
666228
667063
  children: /* @__PURE__ */ jsx_dev_runtime436.jsxDEV(ThemedText, {
@@ -666236,19 +667071,19 @@ function _temp199(v2, i4) {
666236
667071
  }, undefined, true, undefined, this)
666237
667072
  }, `${v2.timestamp.getTime()}-${i4}`, false, undefined, this);
666238
667073
  }
666239
- var import_compiler_runtime329, import_react293, jsx_dev_runtime436;
667074
+ var import_compiler_runtime328, import_react293, jsx_dev_runtime436;
666240
667075
  var init_SandboxViolationExpandedView = __esm(() => {
666241
667076
  init_ink2();
666242
667077
  init_sandbox_adapter();
666243
667078
  init_platform2();
666244
- import_compiler_runtime329 = __toESM(require_compiler_runtime(), 1);
667079
+ import_compiler_runtime328 = __toESM(require_compiler_runtime(), 1);
666245
667080
  import_react293 = __toESM(require_react(), 1);
666246
667081
  jsx_dev_runtime436 = __toESM(require_jsx_dev_runtime(), 1);
666247
667082
  });
666248
667083
 
666249
667084
  // src/hooks/notifs/useMcpConnectivityStatus.tsx
666250
667085
  function useMcpConnectivityStatus(t0) {
666251
- const $3 = import_compiler_runtime330.c(4);
667086
+ const $3 = import_compiler_runtime329.c(4);
666252
667087
  const {
666253
667088
  mcpClients: t1
666254
667089
  } = t0;
@@ -666263,7 +667098,7 @@ function useMcpConnectivityStatus(t0) {
666263
667098
  if (getIsRemoteMode()) {
666264
667099
  return;
666265
667100
  }
666266
- const failedLocalClients = mcpClients.filter(_temp200);
667101
+ const failedLocalClients = mcpClients.filter(_temp199);
666267
667102
  const needsAuthLocalServers = mcpClients.filter(_temp352);
666268
667103
  if (failedLocalClients.length === 0 && needsAuthLocalServers.length === 0) {
666269
667104
  return;
@@ -666332,15 +667167,15 @@ function useMcpConnectivityStatus(t0) {
666332
667167
  function _temp352(client_1) {
666333
667168
  return client_1.type === "needs-auth";
666334
667169
  }
666335
- function _temp200(client4) {
667170
+ function _temp199(client4) {
666336
667171
  return client4.type === "failed" && client4.config.type !== "sse-ide" && client4.config.type !== "ws-ide";
666337
667172
  }
666338
- var import_compiler_runtime330, import_react294, jsx_dev_runtime437, EMPTY_MCP_CLIENTS;
667173
+ var import_compiler_runtime329, import_react294, jsx_dev_runtime437, EMPTY_MCP_CLIENTS;
666339
667174
  var init_useMcpConnectivityStatus = __esm(() => {
666340
667175
  init_notifications();
666341
667176
  init_state();
666342
667177
  init_ink2();
666343
- import_compiler_runtime330 = __toESM(require_compiler_runtime(), 1);
667178
+ import_compiler_runtime329 = __toESM(require_compiler_runtime(), 1);
666344
667179
  import_react294 = __toESM(require_react(), 1);
666345
667180
  jsx_dev_runtime437 = __toESM(require_jsx_dev_runtime(), 1);
666346
667181
  EMPTY_MCP_CLIENTS = [];
@@ -666389,12 +667224,12 @@ var init_useAutoModeUnavailableNotification = __esm(() => {
666389
667224
 
666390
667225
  // src/hooks/notifs/useLspInitializationNotification.tsx
666391
667226
  function useLspInitializationNotification() {
666392
- const $3 = import_compiler_runtime331.c(10);
667227
+ const $3 = import_compiler_runtime330.c(10);
666393
667228
  const {
666394
667229
  addNotification
666395
667230
  } = useNotifications();
666396
667231
  const setAppState = useSetAppState();
666397
- const [shouldPoll, setShouldPoll] = React141.useState(_temp201);
667232
+ const [shouldPoll, setShouldPoll] = React141.useState(_temp200);
666398
667233
  let t0;
666399
667234
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
666400
667235
  t0 = new Set;
@@ -666521,10 +667356,10 @@ function _temp284(e2) {
666521
667356
  }
666522
667357
  return `${e2.type}:${e2.source}`;
666523
667358
  }
666524
- function _temp201() {
667359
+ function _temp200() {
666525
667360
  return isEnvTruthy("true");
666526
667361
  }
666527
- var import_compiler_runtime331, React141, jsx_dev_runtime438, LSP_POLL_INTERVAL_MS = 5000;
667362
+ var import_compiler_runtime330, React141, jsx_dev_runtime438, LSP_POLL_INTERVAL_MS = 5000;
666528
667363
  var init_useLspInitializationNotification = __esm(() => {
666529
667364
  init_dist6();
666530
667365
  init_state();
@@ -666534,7 +667369,7 @@ var init_useLspInitializationNotification = __esm(() => {
666534
667369
  init_AppState();
666535
667370
  init_debug();
666536
667371
  init_envUtils();
666537
- import_compiler_runtime331 = __toESM(require_compiler_runtime(), 1);
667372
+ import_compiler_runtime330 = __toESM(require_compiler_runtime(), 1);
666538
667373
  React141 = __toESM(require_react(), 1);
666539
667374
  jsx_dev_runtime438 = __toESM(require_jsx_dev_runtime(), 1);
666540
667375
  });
@@ -666747,7 +667582,7 @@ var init_lspRecommendation = __esm(() => {
666747
667582
 
666748
667583
  // src/hooks/usePluginRecommendationBase.tsx
666749
667584
  function usePluginRecommendationBase() {
666750
- const $3 = import_compiler_runtime332.c(6);
667585
+ const $3 = import_compiler_runtime331.c(6);
666751
667586
  const [recommendation, setRecommendation] = React142.useState(null);
666752
667587
  const isCheckingRef = React142.useRef(false);
666753
667588
  let t0;
@@ -666837,14 +667672,14 @@ async function installPluginAndNotify(pluginId, pluginName, keyPrefix, addNotifi
666837
667672
  });
666838
667673
  }
666839
667674
  }
666840
- var import_compiler_runtime332, React142, jsx_dev_runtime439;
667675
+ var import_compiler_runtime331, React142, jsx_dev_runtime439;
666841
667676
  var init_usePluginRecommendationBase = __esm(() => {
666842
667677
  init_figures();
666843
667678
  init_state();
666844
667679
  init_ink2();
666845
667680
  init_log2();
666846
667681
  init_marketplaceManager();
666847
- import_compiler_runtime332 = __toESM(require_compiler_runtime(), 1);
667682
+ import_compiler_runtime331 = __toESM(require_compiler_runtime(), 1);
666848
667683
  React142 = __toESM(require_react(), 1);
666849
667684
  jsx_dev_runtime439 = __toESM(require_jsx_dev_runtime(), 1);
666850
667685
  });
@@ -666852,8 +667687,8 @@ var init_usePluginRecommendationBase = __esm(() => {
666852
667687
  // src/hooks/useLspPluginRecommendation.tsx
666853
667688
  import { extname as extname15, join as join162 } from "path";
666854
667689
  function useLspPluginRecommendation() {
666855
- const $3 = import_compiler_runtime333.c(12);
666856
- const trackedFiles = useAppState(_temp202);
667690
+ const $3 = import_compiler_runtime332.c(12);
667691
+ const trackedFiles = useAppState(_temp201);
666857
667692
  const {
666858
667693
  addNotification
666859
667694
  } = useNotifications();
@@ -666997,10 +667832,10 @@ function _temp285(current) {
666997
667832
  lspRecommendationDisabled: true
666998
667833
  };
666999
667834
  }
667000
- function _temp202(s2) {
667835
+ function _temp201(s2) {
667001
667836
  return s2.fileHistory.trackedFiles;
667002
667837
  }
667003
- var import_compiler_runtime333, React143, TIMEOUT_THRESHOLD_MS = 28000;
667838
+ var import_compiler_runtime332, React143, TIMEOUT_THRESHOLD_MS = 28000;
667004
667839
  var init_useLspPluginRecommendation = __esm(() => {
667005
667840
  init_state();
667006
667841
  init_notifications();
@@ -667012,7 +667847,7 @@ var init_useLspPluginRecommendation = __esm(() => {
667012
667847
  init_pluginInstallationHelpers();
667013
667848
  init_settings2();
667014
667849
  init_usePluginRecommendationBase();
667015
- import_compiler_runtime333 = __toESM(require_compiler_runtime(), 1);
667850
+ import_compiler_runtime332 = __toESM(require_compiler_runtime(), 1);
667016
667851
  React143 = __toESM(require_react(), 1);
667017
667852
  });
667018
667853
 
@@ -667151,7 +667986,7 @@ var init_LspRecommendationMenu = __esm(() => {
667151
667986
 
667152
667987
  // src/hooks/useClaudeCodeHintRecommendation.tsx
667153
667988
  function useClaudeCodeHintRecommendation() {
667154
- const $3 = import_compiler_runtime334.c(11);
667989
+ const $3 = import_compiler_runtime333.c(11);
667155
667990
  const pendingHint2 = React145.useSyncExternalStore(subscribeToPendingHint, getPendingHintSnapshot);
667156
667991
  const {
667157
667992
  addNotification
@@ -667254,7 +668089,7 @@ function useClaudeCodeHintRecommendation() {
667254
668089
  }
667255
668090
  return t3;
667256
668091
  }
667257
- var import_compiler_runtime334, React145;
668092
+ var import_compiler_runtime333, React145;
667258
668093
  var init_useClaudeCodeHintRecommendation = __esm(() => {
667259
668094
  init_notifications();
667260
668095
  init_analytics();
@@ -667263,7 +668098,7 @@ var init_useClaudeCodeHintRecommendation = __esm(() => {
667263
668098
  init_hintRecommendation();
667264
668099
  init_pluginInstallationHelpers();
667265
668100
  init_usePluginRecommendationBase();
667266
- import_compiler_runtime334 = __toESM(require_compiler_runtime(), 1);
668101
+ import_compiler_runtime333 = __toESM(require_compiler_runtime(), 1);
667267
668102
  React145 = __toESM(require_react(), 1);
667268
668103
  });
667269
668104
 
@@ -667394,11 +668229,11 @@ var init_PluginHintMenu = __esm(() => {
667394
668229
 
667395
668230
  // src/hooks/notifs/usePluginInstallationStatus.tsx
667396
668231
  function usePluginInstallationStatus() {
667397
- const $3 = import_compiler_runtime335.c(20);
668232
+ const $3 = import_compiler_runtime334.c(20);
667398
668233
  const {
667399
668234
  addNotification
667400
668235
  } = useNotifications();
667401
- const installationStatus = useAppState(_temp203);
668236
+ const installationStatus = useAppState(_temp202);
667402
668237
  let t0;
667403
668238
  bb0: {
667404
668239
  if (!installationStatus) {
@@ -667524,10 +668359,10 @@ function _temp353(p) {
667524
668359
  function _temp286(m3) {
667525
668360
  return m3.status === "failed";
667526
668361
  }
667527
- function _temp203(s2) {
668362
+ function _temp202(s2) {
667528
668363
  return s2.plugins.installationStatus;
667529
668364
  }
667530
- var import_compiler_runtime335, import_react296, jsx_dev_runtime442;
668365
+ var import_compiler_runtime334, import_react296, jsx_dev_runtime442;
667531
668366
  var init_usePluginInstallationStatus = __esm(() => {
667532
668367
  init_state();
667533
668368
  init_notifications();
@@ -667535,14 +668370,14 @@ var init_usePluginInstallationStatus = __esm(() => {
667535
668370
  init_AppState();
667536
668371
  init_debug();
667537
668372
  init_stringUtils();
667538
- import_compiler_runtime335 = __toESM(require_compiler_runtime(), 1);
668373
+ import_compiler_runtime334 = __toESM(require_compiler_runtime(), 1);
667539
668374
  import_react296 = __toESM(require_react(), 1);
667540
668375
  jsx_dev_runtime442 = __toESM(require_jsx_dev_runtime(), 1);
667541
668376
  });
667542
668377
 
667543
668378
  // src/hooks/notifs/usePluginAutoupdateNotification.tsx
667544
668379
  function usePluginAutoupdateNotification() {
667545
- const $3 = import_compiler_runtime336.c(7);
668380
+ const $3 = import_compiler_runtime335.c(7);
667546
668381
  const {
667547
668382
  addNotification
667548
668383
  } = useNotifications();
@@ -667585,7 +668420,7 @@ function usePluginAutoupdateNotification() {
667585
668420
  if (updatedPlugins.length === 0) {
667586
668421
  return;
667587
668422
  }
667588
- const pluginNames = updatedPlugins.map(_temp204);
668423
+ const pluginNames = updatedPlugins.map(_temp203);
667589
668424
  const displayNames = pluginNames.length <= 2 ? pluginNames.join(" and ") : `${pluginNames.length} plugins`;
667590
668425
  addNotification({
667591
668426
  key: "plugin-autoupdate-restart",
@@ -667622,18 +668457,18 @@ function usePluginAutoupdateNotification() {
667622
668457
  }
667623
668458
  import_react297.useEffect(t3, t4);
667624
668459
  }
667625
- function _temp204(id) {
668460
+ function _temp203(id) {
667626
668461
  const atIndex = id.indexOf("@");
667627
668462
  return atIndex > 0 ? id.substring(0, atIndex) : id;
667628
668463
  }
667629
- var import_compiler_runtime336, import_react297, jsx_dev_runtime443;
668464
+ var import_compiler_runtime335, import_react297, jsx_dev_runtime443;
667630
668465
  var init_usePluginAutoupdateNotification = __esm(() => {
667631
668466
  init_state();
667632
668467
  init_notifications();
667633
668468
  init_ink2();
667634
668469
  init_debug();
667635
668470
  init_pluginAutoupdate();
667636
- import_compiler_runtime336 = __toESM(require_compiler_runtime(), 1);
668471
+ import_compiler_runtime335 = __toESM(require_compiler_runtime(), 1);
667637
668472
  import_react297 = __toESM(require_react(), 1);
667638
668473
  jsx_dev_runtime443 = __toESM(require_jsx_dev_runtime(), 1);
667639
668474
  });
@@ -667917,7 +668752,7 @@ var init_performStartupChecks = __esm(() => {
667917
668752
 
667918
668753
  // src/components/AwsAuthStatusBox.tsx
667919
668754
  function AwsAuthStatusBox() {
667920
- const $3 = import_compiler_runtime337.c(11);
668755
+ const $3 = import_compiler_runtime336.c(11);
667921
668756
  let t0;
667922
668757
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
667923
668758
  t0 = AwsAuthStatusManager.getInstance().getStatus();
@@ -667963,7 +668798,7 @@ function AwsAuthStatusBox() {
667963
668798
  t4 = status2.output.length > 0 && /* @__PURE__ */ jsx_dev_runtime444.jsxDEV(ThemedBox_default, {
667964
668799
  flexDirection: "column",
667965
668800
  marginTop: 1,
667966
- children: status2.output.slice(-5).map(_temp205)
668801
+ children: status2.output.slice(-5).map(_temp204)
667967
668802
  }, undefined, false, undefined, this);
667968
668803
  $3[4] = status2.output;
667969
668804
  $3[5] = t4;
@@ -668006,7 +668841,7 @@ function AwsAuthStatusBox() {
668006
668841
  }
668007
668842
  return t6;
668008
668843
  }
668009
- function _temp205(line, index) {
668844
+ function _temp204(line, index) {
668010
668845
  const m3 = line.match(URL_RE);
668011
668846
  if (!m3) {
668012
668847
  return /* @__PURE__ */ jsx_dev_runtime444.jsxDEV(ThemedText, {
@@ -668030,11 +668865,11 @@ function _temp205(line, index) {
668030
668865
  ]
668031
668866
  }, index, true, undefined, this);
668032
668867
  }
668033
- var import_compiler_runtime337, import_react298, jsx_dev_runtime444, URL_RE;
668868
+ var import_compiler_runtime336, import_react298, jsx_dev_runtime444, URL_RE;
668034
668869
  var init_AwsAuthStatusBox = __esm(() => {
668035
668870
  init_ink2();
668036
668871
  init_awsAuthStatusManager();
668037
- import_compiler_runtime337 = __toESM(require_compiler_runtime(), 1);
668872
+ import_compiler_runtime336 = __toESM(require_compiler_runtime(), 1);
668038
668873
  import_react298 = __toESM(require_react(), 1);
668039
668874
  jsx_dev_runtime444 = __toESM(require_jsx_dev_runtime(), 1);
668040
668875
  URL_RE = /https?:\/\/\S+/;
@@ -668042,7 +668877,7 @@ var init_AwsAuthStatusBox = __esm(() => {
668042
668877
 
668043
668878
  // src/hooks/notifs/useRateLimitWarningNotification.tsx
668044
668879
  function useRateLimitWarningNotification(model) {
668045
- const $3 = import_compiler_runtime338.c(17);
668880
+ const $3 = import_compiler_runtime337.c(17);
668046
668881
  const {
668047
668882
  addNotification
668048
668883
  } = useNotifications();
@@ -668149,7 +668984,7 @@ function useRateLimitWarningNotification(model) {
668149
668984
  }
668150
668985
  import_react299.useEffect(t6, t7);
668151
668986
  }
668152
- var import_compiler_runtime338, import_react299, jsx_dev_runtime445;
668987
+ var import_compiler_runtime337, import_react299, jsx_dev_runtime445;
668153
668988
  var init_useRateLimitWarningNotification = __esm(() => {
668154
668989
  init_notifications();
668155
668990
  init_ink2();
@@ -668158,7 +668993,7 @@ var init_useRateLimitWarningNotification = __esm(() => {
668158
668993
  init_auth();
668159
668994
  init_billing();
668160
668995
  init_state();
668161
- import_compiler_runtime338 = __toESM(require_compiler_runtime(), 1);
668996
+ import_compiler_runtime337 = __toESM(require_compiler_runtime(), 1);
668162
668997
  import_react299 = __toESM(require_react(), 1);
668163
668998
  jsx_dev_runtime445 = __toESM(require_jsx_dev_runtime(), 1);
668164
668999
  });
@@ -668226,7 +669061,7 @@ var init_deprecation = __esm(() => {
668226
669061
 
668227
669062
  // src/hooks/notifs/useDeprecationWarningNotification.tsx
668228
669063
  function useDeprecationWarningNotification(model) {
668229
- const $3 = import_compiler_runtime339.c(4);
669064
+ const $3 = import_compiler_runtime338.c(4);
668230
669065
  const {
668231
669066
  addNotification
668232
669067
  } = useNotifications();
@@ -668263,20 +669098,20 @@ function useDeprecationWarningNotification(model) {
668263
669098
  }
668264
669099
  import_react300.useEffect(t0, t1);
668265
669100
  }
668266
- var import_compiler_runtime339, import_react300;
669101
+ var import_compiler_runtime338, import_react300;
668267
669102
  var init_useDeprecationWarningNotification = __esm(() => {
668268
669103
  init_notifications();
668269
669104
  init_deprecation();
668270
669105
  init_state();
668271
- import_compiler_runtime339 = __toESM(require_compiler_runtime(), 1);
669106
+ import_compiler_runtime338 = __toESM(require_compiler_runtime(), 1);
668272
669107
  import_react300 = __toESM(require_react(), 1);
668273
669108
  });
668274
669109
 
668275
669110
  // src/hooks/notifs/useNpmDeprecationNotification.tsx
668276
669111
  function useNpmDeprecationNotification() {
668277
- useStartupNotification(_temp206);
669112
+ useStartupNotification(_temp205);
668278
669113
  }
668279
- async function _temp206() {
669114
+ async function _temp205() {
668280
669115
  return null;
668281
669116
  }
668282
669117
  var init_useNpmDeprecationNotification = __esm(() => {
@@ -668285,7 +669120,7 @@ var init_useNpmDeprecationNotification = __esm(() => {
668285
669120
 
668286
669121
  // src/hooks/notifs/useIDEStatusIndicator.tsx
668287
669122
  function useIDEStatusIndicator(t0) {
668288
- const $3 = import_compiler_runtime340.c(26);
669123
+ const $3 = import_compiler_runtime339.c(26);
668289
669124
  const {
668290
669125
  ideSelection,
668291
669126
  mcpClients,
@@ -668438,7 +669273,7 @@ function _temp287(hasShownHintRef_0, addNotification_0) {
668438
669273
  const ideName_0 = infos[0]?.name;
668439
669274
  if (ideName_0 && !hasShownHintRef_0.current) {
668440
669275
  hasShownHintRef_0.current = true;
668441
- saveGlobalConfig(_temp207);
669276
+ saveGlobalConfig(_temp206);
668442
669277
  addNotification_0({
668443
669278
  key: "ide-status-hint",
668444
669279
  jsx: /* @__PURE__ */ jsx_dev_runtime446.jsxDEV(ThemedText, {
@@ -668456,13 +669291,13 @@ function _temp287(hasShownHintRef_0, addNotification_0) {
668456
669291
  }
668457
669292
  });
668458
669293
  }
668459
- function _temp207(current) {
669294
+ function _temp206(current) {
668460
669295
  return {
668461
669296
  ...current,
668462
669297
  ideHintShownCount: (current.ideHintShownCount ?? 0) + 1
668463
669298
  };
668464
669299
  }
668465
- var import_compiler_runtime340, import_react301, jsx_dev_runtime446, MAX_IDE_HINT_SHOW_COUNT = 5;
669300
+ var import_compiler_runtime339, import_react301, jsx_dev_runtime446, MAX_IDE_HINT_SHOW_COUNT = 5;
668466
669301
  var init_useIDEStatusIndicator = __esm(() => {
668467
669302
  init_notifications();
668468
669303
  init_ink2();
@@ -668470,16 +669305,16 @@ var init_useIDEStatusIndicator = __esm(() => {
668470
669305
  init_ide();
668471
669306
  init_state();
668472
669307
  init_useIdeConnectionStatus();
668473
- import_compiler_runtime340 = __toESM(require_compiler_runtime(), 1);
669308
+ import_compiler_runtime339 = __toESM(require_compiler_runtime(), 1);
668474
669309
  import_react301 = __toESM(require_react(), 1);
668475
669310
  jsx_dev_runtime446 = __toESM(require_jsx_dev_runtime(), 1);
668476
669311
  });
668477
669312
 
668478
669313
  // src/hooks/notifs/useModelMigrationNotifications.tsx
668479
669314
  function useModelMigrationNotifications() {
668480
- useStartupNotification(_temp208);
669315
+ useStartupNotification(_temp207);
668481
669316
  }
668482
- function _temp208() {
669317
+ function _temp207() {
668483
669318
  const config5 = getGlobalConfig();
668484
669319
  const notifs = [];
668485
669320
  for (const migration of MIGRATIONS) {
@@ -668598,11 +669433,11 @@ var init_useTeammateShutdownNotification = __esm(() => {
668598
669433
 
668599
669434
  // src/hooks/notifs/useFastModeNotification.tsx
668600
669435
  function useFastModeNotification() {
668601
- const $3 = import_compiler_runtime341.c(13);
669436
+ const $3 = import_compiler_runtime340.c(13);
668602
669437
  const {
668603
669438
  addNotification
668604
669439
  } = useNotifications();
668605
- const isFastMode = useAppState(_temp209);
669440
+ const isFastMode = useAppState(_temp208);
668606
669441
  const setAppState = useSetAppState();
668607
669442
  let t0;
668608
669443
  let t1;
@@ -668736,7 +669571,7 @@ function _temp288(prev) {
668736
669571
  fastMode: false
668737
669572
  };
668738
669573
  }
668739
- function _temp209(s2) {
669574
+ function _temp208(s2) {
668740
669575
  return s2.fastMode;
668741
669576
  }
668742
669577
  function getCooldownMessage(reason, resetIn) {
@@ -668747,20 +669582,20 @@ function getCooldownMessage(reason, resetIn) {
668747
669582
  return `Fast limit reached and temporarily disabled · resets in ${resetIn}`;
668748
669583
  }
668749
669584
  }
668750
- var import_compiler_runtime341, import_react303, COOLDOWN_STARTED_KEY = "fast-mode-cooldown-started", COOLDOWN_EXPIRED_KEY = "fast-mode-cooldown-expired", ORG_CHANGED_KEY = "fast-mode-org-changed", OVERAGE_REJECTED_KEY = "fast-mode-overage-rejected";
669585
+ var import_compiler_runtime340, import_react303, COOLDOWN_STARTED_KEY = "fast-mode-cooldown-started", COOLDOWN_EXPIRED_KEY = "fast-mode-cooldown-expired", ORG_CHANGED_KEY = "fast-mode-org-changed", OVERAGE_REJECTED_KEY = "fast-mode-overage-rejected";
668751
669586
  var init_useFastModeNotification = __esm(() => {
668752
669587
  init_notifications();
668753
669588
  init_AppState();
668754
669589
  init_fastMode();
668755
669590
  init_format();
668756
669591
  init_state();
668757
- import_compiler_runtime341 = __toESM(require_compiler_runtime(), 1);
669592
+ import_compiler_runtime340 = __toESM(require_compiler_runtime(), 1);
668758
669593
  import_react303 = __toESM(require_react(), 1);
668759
669594
  });
668760
669595
 
668761
669596
  // src/utils/autoRunIssue.tsx
668762
669597
  function AutoRunIssueNotification(t0) {
668763
- const $3 = import_compiler_runtime342.c(8);
669598
+ const $3 = import_compiler_runtime341.c(8);
668764
669599
  const {
668765
669600
  onRun,
668766
669601
  onCancel,
@@ -668879,12 +669714,12 @@ function getAutoRunIssueReasonText(reason) {
668879
669714
  return "Unknown reason";
668880
669715
  }
668881
669716
  }
668882
- var import_compiler_runtime342, import_react304, jsx_dev_runtime447;
669717
+ var import_compiler_runtime341, import_react304, jsx_dev_runtime447;
668883
669718
  var init_autoRunIssue = __esm(() => {
668884
669719
  init_KeyboardShortcutHint();
668885
669720
  init_ink2();
668886
669721
  init_useKeybinding();
668887
- import_compiler_runtime342 = __toESM(require_compiler_runtime(), 1);
669722
+ import_compiler_runtime341 = __toESM(require_compiler_runtime(), 1);
668888
669723
  import_react304 = __toESM(require_react(), 1);
668889
669724
  jsx_dev_runtime447 = __toESM(require_jsx_dev_runtime(), 1);
668890
669725
  });
@@ -668998,18 +669833,18 @@ var init_useIssueFlagBanner = __esm(() => {
668998
669833
  });
668999
669834
 
669000
669835
  // src/components/DevBar.tsx
669001
- var import_compiler_runtime343, import_react306, jsx_dev_runtime448;
669836
+ var import_compiler_runtime342, import_react306, jsx_dev_runtime448;
669002
669837
  var init_DevBar = __esm(() => {
669003
669838
  init_state();
669004
669839
  init_ink2();
669005
- import_compiler_runtime343 = __toESM(require_compiler_runtime(), 1);
669840
+ import_compiler_runtime342 = __toESM(require_compiler_runtime(), 1);
669006
669841
  import_react306 = __toESM(require_react(), 1);
669007
669842
  jsx_dev_runtime448 = __toESM(require_jsx_dev_runtime(), 1);
669008
669843
  });
669009
669844
 
669010
669845
  // src/ink/components/AlternateScreen.tsx
669011
669846
  function AlternateScreen(t0) {
669012
- const $3 = import_compiler_runtime344.c(7);
669847
+ const $3 = import_compiler_runtime343.c(7);
669013
669848
  const {
669014
669849
  children,
669015
669850
  mouseTracking: t1
@@ -669061,14 +669896,14 @@ function AlternateScreen(t0) {
669061
669896
  }
669062
669897
  return t5;
669063
669898
  }
669064
- var import_compiler_runtime344, import_react307, jsx_dev_runtime449;
669899
+ var import_compiler_runtime343, import_react307, jsx_dev_runtime449;
669065
669900
  var init_AlternateScreen = __esm(() => {
669066
669901
  init_instances();
669067
669902
  init_dec();
669068
669903
  init_useTerminalNotification();
669069
669904
  init_Box();
669070
669905
  init_TerminalSizeContext();
669071
- import_compiler_runtime344 = __toESM(require_compiler_runtime(), 1);
669906
+ import_compiler_runtime343 = __toESM(require_compiler_runtime(), 1);
669072
669907
  import_react307 = __toESM(require_react(), 1);
669073
669908
  jsx_dev_runtime449 = __toESM(require_jsx_dev_runtime(), 1);
669074
669909
  });
@@ -669708,7 +670543,7 @@ import { tmpdir as tmpdir16 } from "os";
669708
670543
  import { writeFile as writeFile47 } from "fs/promises";
669709
670544
  import { randomUUID as randomUUID52 } from "crypto";
669710
670545
  function TranscriptModeFooter(t0) {
669711
- const $3 = import_compiler_runtime345.c(9);
670546
+ const $3 = import_compiler_runtime344.c(9);
669712
670547
  const {
669713
670548
  showAllInTranscript,
669714
670549
  virtualScroll,
@@ -669905,7 +670740,7 @@ function TranscriptSearchBar({
669905
670740
  }, undefined, true, undefined, this);
669906
670741
  }
669907
670742
  function AnimatedTerminalTitle(t0) {
669908
- const $3 = import_compiler_runtime345.c(6);
670743
+ const $3 = import_compiler_runtime344.c(6);
669909
670744
  const {
669910
670745
  isAnimating,
669911
670746
  title,
@@ -669941,9 +670776,9 @@ function AnimatedTerminalTitle(t0) {
669941
670776
  return null;
669942
670777
  }
669943
670778
  function _temp289(setFrame_0) {
669944
- return setFrame_0(_temp221);
670779
+ return setFrame_0(_temp209);
669945
670780
  }
669946
- function _temp221(f3) {
670781
+ function _temp209(f3) {
669947
670782
  return (f3 + 1) % TITLE_ANIMATION_FRAMES.length;
669948
670783
  }
669949
670784
  function REPL({
@@ -673077,7 +673912,7 @@ Note: ctrl + z now suspends RAYU, ctrl + _ undoes input.
673077
673912
  }
673078
673913
  return mainReturn;
673079
673914
  }
673080
- var import_compiler_runtime345, React151, import_react310, jsx_dev_runtime450, useFrustrationDetection = () => ({
673915
+ var import_compiler_runtime344, React151, import_react310, jsx_dev_runtime450, useFrustrationDetection = () => ({
673081
673916
  state: "closed",
673082
673917
  handleTranscriptSelect: () => {}
673083
673918
  }), useAntOrgWarningNotification = () => {}, getCoordinatorUserContext = () => ({}), proactiveModule5 = null, PROACTIVE_NO_OP_SUBSCRIBE = (_cb) => () => {}, PROACTIVE_FALSE = () => false, SUGGEST_BG_PR_NOOP = (_p, _n) => false, EMPTY_MCP_CLIENTS2, HISTORY_STUB, RECENT_SCROLL_REPIN_WINDOW_MS = 3000, TITLE_ANIMATION_FRAMES, TITLE_STATIC_PREFIX = "✳", TITLE_ANIMATION_INTERVAL_MS = 960;
@@ -673283,7 +674118,7 @@ var init_REPL = __esm(() => {
673283
674118
  init_osc();
673284
674119
  init_attachments2();
673285
674120
  init_pendingFileChanges();
673286
- import_compiler_runtime345 = __toESM(require_compiler_runtime(), 1);
674121
+ import_compiler_runtime344 = __toESM(require_compiler_runtime(), 1);
673287
674122
  React151 = __toESM(require_react(), 1);
673288
674123
  import_react310 = __toESM(require_react(), 1);
673289
674124
  jsx_dev_runtime450 = __toESM(require_jsx_dev_runtime(), 1);
@@ -673734,7 +674569,7 @@ var init_grove = __esm(() => {
673734
674569
 
673735
674570
  // src/components/MCPServerDialogCopy.tsx
673736
674571
  function MCPServerDialogCopy() {
673737
- const $3 = import_compiler_runtime346.c(1);
674572
+ const $3 = import_compiler_runtime345.c(1);
673738
674573
  let t0;
673739
674574
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
673740
674575
  t0 = /* @__PURE__ */ jsx_dev_runtime452.jsxDEV(ThemedText, {
@@ -673754,16 +674589,16 @@ function MCPServerDialogCopy() {
673754
674589
  }
673755
674590
  return t0;
673756
674591
  }
673757
- var import_compiler_runtime346, jsx_dev_runtime452;
674592
+ var import_compiler_runtime345, jsx_dev_runtime452;
673758
674593
  var init_MCPServerDialogCopy = __esm(() => {
673759
674594
  init_ink2();
673760
- import_compiler_runtime346 = __toESM(require_compiler_runtime(), 1);
674595
+ import_compiler_runtime345 = __toESM(require_compiler_runtime(), 1);
673761
674596
  jsx_dev_runtime452 = __toESM(require_jsx_dev_runtime(), 1);
673762
674597
  });
673763
674598
 
673764
674599
  // src/components/MCPServerApprovalDialog.tsx
673765
674600
  function MCPServerApprovalDialog(t0) {
673766
- const $3 = import_compiler_runtime347.c(13);
674601
+ const $3 = import_compiler_runtime346.c(13);
673767
674602
  const {
673768
674603
  serverName,
673769
674604
  onDone
@@ -673876,20 +674711,20 @@ function MCPServerApprovalDialog(t0) {
673876
674711
  }
673877
674712
  return t7;
673878
674713
  }
673879
- var import_compiler_runtime347, jsx_dev_runtime453;
674714
+ var import_compiler_runtime346, jsx_dev_runtime453;
673880
674715
  var init_MCPServerApprovalDialog = __esm(() => {
673881
674716
  init_analytics();
673882
674717
  init_settings2();
673883
674718
  init_CustomSelect();
673884
674719
  init_Dialog();
673885
674720
  init_MCPServerDialogCopy();
673886
- import_compiler_runtime347 = __toESM(require_compiler_runtime(), 1);
674721
+ import_compiler_runtime346 = __toESM(require_compiler_runtime(), 1);
673887
674722
  jsx_dev_runtime453 = __toESM(require_jsx_dev_runtime(), 1);
673888
674723
  });
673889
674724
 
673890
674725
  // src/components/MCPServerMultiselectDialog.tsx
673891
674726
  function MCPServerMultiselectDialog(t0) {
673892
- const $3 = import_compiler_runtime348.c(21);
674727
+ const $3 = import_compiler_runtime347.c(21);
673893
674728
  const {
673894
674729
  serverNames,
673895
674730
  onDone
@@ -673954,7 +674789,7 @@ function MCPServerMultiselectDialog(t0) {
673954
674789
  }
673955
674790
  let t5;
673956
674791
  if ($3[7] !== serverNames) {
673957
- t5 = serverNames.map(_temp224);
674792
+ t5 = serverNames.map(_temp221);
673958
674793
  $3[7] = serverNames;
673959
674794
  $3[8] = t5;
673960
674795
  } else {
@@ -674043,13 +674878,13 @@ function MCPServerMultiselectDialog(t0) {
674043
674878
  }
674044
674879
  return t9;
674045
674880
  }
674046
- function _temp224(server_0) {
674881
+ function _temp221(server_0) {
674047
674882
  return {
674048
674883
  label: server_0,
674049
674884
  value: server_0
674050
674885
  };
674051
674886
  }
674052
- var import_compiler_runtime348, jsx_dev_runtime454;
674887
+ var import_compiler_runtime347, jsx_dev_runtime454;
674053
674888
  var init_MCPServerMultiselectDialog = __esm(() => {
674054
674889
  init_partition();
674055
674890
  init_analytics();
@@ -674061,7 +674896,7 @@ var init_MCPServerMultiselectDialog = __esm(() => {
674061
674896
  init_Dialog();
674062
674897
  init_KeyboardShortcutHint();
674063
674898
  init_MCPServerDialogCopy();
674064
- import_compiler_runtime348 = __toESM(require_compiler_runtime(), 1);
674899
+ import_compiler_runtime347 = __toESM(require_compiler_runtime(), 1);
674065
674900
  jsx_dev_runtime454 = __toESM(require_jsx_dev_runtime(), 1);
674066
674901
  });
674067
674902
 
@@ -674268,7 +675103,7 @@ function WelcomeV2() {
674268
675103
  dimColor: true,
674269
675104
  children: [
674270
675105
  "v",
674271
- "1.3.127"
675106
+ "1.3.327"
674272
675107
  ]
674273
675108
  }, undefined, true, undefined, this)
674274
675109
  ]
@@ -674292,7 +675127,7 @@ var init_WelcomeV2 = __esm(() => {
674292
675127
 
674293
675128
  // src/components/ui/OrderedListItem.tsx
674294
675129
  function OrderedListItem(t0) {
674295
- const $3 = import_compiler_runtime349.c(7);
675130
+ const $3 = import_compiler_runtime348.c(7);
674296
675131
  const {
674297
675132
  children
674298
675133
  } = t0;
@@ -674338,10 +675173,10 @@ function OrderedListItem(t0) {
674338
675173
  }
674339
675174
  return t3;
674340
675175
  }
674341
- var import_compiler_runtime349, import_react311, jsx_dev_runtime457, OrderedListItemContext;
675176
+ var import_compiler_runtime348, import_react311, jsx_dev_runtime457, OrderedListItemContext;
674342
675177
  var init_OrderedListItem = __esm(() => {
674343
675178
  init_ink2();
674344
- import_compiler_runtime349 = __toESM(require_compiler_runtime(), 1);
675179
+ import_compiler_runtime348 = __toESM(require_compiler_runtime(), 1);
674345
675180
  import_react311 = __toESM(require_react(), 1);
674346
675181
  jsx_dev_runtime457 = __toESM(require_jsx_dev_runtime(), 1);
674347
675182
  OrderedListItemContext = import_react311.createContext({
@@ -674351,7 +675186,7 @@ var init_OrderedListItem = __esm(() => {
674351
675186
 
674352
675187
  // src/components/ui/OrderedList.tsx
674353
675188
  function OrderedListComponent(t0) {
674354
- const $3 = import_compiler_runtime350.c(9);
675189
+ const $3 = import_compiler_runtime349.c(9);
674355
675190
  const {
674356
675191
  children
674357
675192
  } = t0;
@@ -674415,11 +675250,11 @@ function OrderedListComponent(t0) {
674415
675250
  }
674416
675251
  return t2;
674417
675252
  }
674418
- var import_compiler_runtime350, import_react312, jsx_dev_runtime458, OrderedListContext, OrderedList;
675253
+ var import_compiler_runtime349, import_react312, jsx_dev_runtime458, OrderedListContext, OrderedList;
674419
675254
  var init_OrderedList = __esm(() => {
674420
675255
  init_ink2();
674421
675256
  init_OrderedListItem();
674422
- import_compiler_runtime350 = __toESM(require_compiler_runtime(), 1);
675257
+ import_compiler_runtime349 = __toESM(require_compiler_runtime(), 1);
674423
675258
  import_react312 = __toESM(require_react(), 1);
674424
675259
  jsx_dev_runtime458 = __toESM(require_jsx_dev_runtime(), 1);
674425
675260
  OrderedListContext = import_react312.createContext({
@@ -674799,7 +675634,7 @@ __export(exports_TrustDialog, {
674799
675634
  });
674800
675635
  import { homedir as homedir37 } from "os";
674801
675636
  function TrustDialog(t0) {
674802
- const $3 = import_compiler_runtime351.c(33);
675637
+ const $3 = import_compiler_runtime350.c(33);
674803
675638
  const {
674804
675639
  onDone,
674805
675640
  commands
@@ -675113,12 +675948,12 @@ function _temp355(tool_0) {
675113
675948
  return tool_0 === BASH_TOOL_NAME || tool_0.startsWith(BASH_TOOL_NAME + "(");
675114
675949
  }
675115
675950
  function _temp290(command10) {
675116
- return command10.type === "prompt" && command10.loadedFrom === "commands_DEPRECATED" && (command10.source === "projectSettings" || command10.source === "localSettings") && command10.allowedTools?.some(_temp234);
675951
+ return command10.type === "prompt" && command10.loadedFrom === "commands_DEPRECATED" && (command10.source === "projectSettings" || command10.source === "localSettings") && command10.allowedTools?.some(_temp224);
675117
675952
  }
675118
- function _temp234(tool) {
675953
+ function _temp224(tool) {
675119
675954
  return tool === BASH_TOOL_NAME || tool.startsWith(BASH_TOOL_NAME + "(");
675120
675955
  }
675121
- var import_compiler_runtime351, import_react314, jsx_dev_runtime460;
675956
+ var import_compiler_runtime350, import_react314, jsx_dev_runtime460;
675122
675957
  var init_TrustDialog = __esm(() => {
675123
675958
  init_analytics();
675124
675959
  init_state();
@@ -675133,7 +675968,7 @@ var init_TrustDialog = __esm(() => {
675133
675968
  init_CustomSelect();
675134
675969
  init_PermissionDialog();
675135
675970
  init_utils18();
675136
- import_compiler_runtime351 = __toESM(require_compiler_runtime(), 1);
675971
+ import_compiler_runtime350 = __toESM(require_compiler_runtime(), 1);
675137
675972
  import_react314 = __toESM(require_react(), 1);
675138
675973
  jsx_dev_runtime460 = __toESM(require_jsx_dev_runtime(), 1);
675139
675974
  });
@@ -675145,7 +675980,7 @@ __export(exports_Grove, {
675145
675980
  GroveDialog: () => GroveDialog
675146
675981
  });
675147
675982
  function GracePeriodContentBody() {
675148
- const $3 = import_compiler_runtime352.c(9);
675983
+ const $3 = import_compiler_runtime351.c(9);
675149
675984
  let t0;
675150
675985
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
675151
675986
  t0 = /* @__PURE__ */ jsx_dev_runtime461.jsxDEV(ThemedText, {
@@ -675288,7 +676123,7 @@ function GracePeriodContentBody() {
675288
676123
  return t8;
675289
676124
  }
675290
676125
  function PostGracePeriodContentBody() {
675291
- const $3 = import_compiler_runtime352.c(7);
676126
+ const $3 = import_compiler_runtime351.c(7);
675292
676127
  let t0;
675293
676128
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
675294
676129
  t0 = /* @__PURE__ */ jsx_dev_runtime461.jsxDEV(ThemedText, {
@@ -675400,7 +676235,7 @@ function PostGracePeriodContentBody() {
675400
676235
  return t6;
675401
676236
  }
675402
676237
  function GroveDialog(t0) {
675403
- const $3 = import_compiler_runtime352.c(34);
676238
+ const $3 = import_compiler_runtime351.c(34);
675404
676239
  const {
675405
676240
  showIfAlreadyViewed,
675406
676241
  location,
@@ -675634,7 +676469,7 @@ function GroveDialog(t0) {
675634
676469
  title: "Updates to Consumer Terms and Policies",
675635
676470
  color: "professionalBlue",
675636
676471
  onCancel: handleCancel,
675637
- inputGuide: _temp244,
676472
+ inputGuide: _temp234,
675638
676473
  children: [
675639
676474
  t8,
675640
676475
  t13
@@ -675649,7 +676484,7 @@ function GroveDialog(t0) {
675649
676484
  }
675650
676485
  return t14;
675651
676486
  }
675652
- function _temp244(exitState) {
676487
+ function _temp234(exitState) {
675653
676488
  return exitState.pending ? /* @__PURE__ */ jsx_dev_runtime461.jsxDEV(ThemedText, {
675654
676489
  children: [
675655
676490
  "Press ",
@@ -675670,7 +676505,7 @@ function _temp244(exitState) {
675670
676505
  }, undefined, true, undefined, this);
675671
676506
  }
675672
676507
  function PrivacySettingsDialog(t0) {
675673
- const $3 = import_compiler_runtime352.c(17);
676508
+ const $3 = import_compiler_runtime351.c(17);
675674
676509
  const {
675675
676510
  settings,
675676
676511
  domainExcluded,
@@ -675834,7 +676669,7 @@ function PrivacySettingsDialog(t0) {
675834
676669
  function _temp291() {
675835
676670
  logEvent("tengu_grove_privacy_settings_viewed", {});
675836
676671
  }
675837
- var import_compiler_runtime352, import_react315, jsx_dev_runtime461, NEW_TERMS_ASCII = ` _____________
676672
+ var import_compiler_runtime351, import_react315, jsx_dev_runtime461, NEW_TERMS_ASCII = ` _____________
675838
676673
  | \\ \\
675839
676674
  | NEW TERMS \\__\\
675840
676675
  | |
@@ -675853,7 +676688,7 @@ var init_Grove = __esm(() => {
675853
676688
  init_Byline();
675854
676689
  init_Dialog();
675855
676690
  init_KeyboardShortcutHint();
675856
- import_compiler_runtime352 = __toESM(require_compiler_runtime(), 1);
676691
+ import_compiler_runtime351 = __toESM(require_compiler_runtime(), 1);
675857
676692
  import_react315 = __toESM(require_react(), 1);
675858
676693
  jsx_dev_runtime461 = __toESM(require_jsx_dev_runtime(), 1);
675859
676694
  });
@@ -675864,7 +676699,7 @@ __export(exports_BypassPermissionsModeDialog, {
675864
676699
  BypassPermissionsModeDialog: () => BypassPermissionsModeDialog
675865
676700
  });
675866
676701
  function BypassPermissionsModeDialog(t0) {
675867
- const $3 = import_compiler_runtime353.c(7);
676702
+ const $3 = import_compiler_runtime352.c(7);
675868
676703
  const {
675869
676704
  onAccept
675870
676705
  } = t0;
@@ -675875,7 +676710,7 @@ function BypassPermissionsModeDialog(t0) {
675875
676710
  } else {
675876
676711
  t1 = $3[0];
675877
676712
  }
675878
- import_react316.default.useEffect(_temp254, t1);
676713
+ import_react316.default.useEffect(_temp244, t1);
675879
676714
  let t2;
675880
676715
  if ($3[1] !== onAccept) {
675881
676716
  t2 = function onChange2(value) {
@@ -675963,10 +676798,10 @@ function BypassPermissionsModeDialog(t0) {
675963
676798
  function _temp292() {
675964
676799
  gracefulShutdownSync(0);
675965
676800
  }
675966
- function _temp254() {
676801
+ function _temp244() {
675967
676802
  logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
675968
676803
  }
675969
- var import_compiler_runtime353, import_react316, jsx_dev_runtime462;
676804
+ var import_compiler_runtime352, import_react316, jsx_dev_runtime462;
675970
676805
  var init_BypassPermissionsModeDialog = __esm(() => {
675971
676806
  init_analytics();
675972
676807
  init_ink2();
@@ -675974,7 +676809,7 @@ var init_BypassPermissionsModeDialog = __esm(() => {
675974
676809
  init_settings2();
675975
676810
  init_CustomSelect();
675976
676811
  init_Dialog();
675977
- import_compiler_runtime353 = __toESM(require_compiler_runtime(), 1);
676812
+ import_compiler_runtime352 = __toESM(require_compiler_runtime(), 1);
675978
676813
  import_react316 = __toESM(require_react(), 1);
675979
676814
  jsx_dev_runtime462 = __toESM(require_jsx_dev_runtime(), 1);
675980
676815
  });
@@ -675985,7 +676820,7 @@ function completeOnboarding() {
675985
676820
  saveGlobalConfig((current) => ({
675986
676821
  ...current,
675987
676822
  hasCompletedOnboarding: true,
675988
- lastOnboardingVersion: "1.3.127"
676823
+ lastOnboardingVersion: "1.3.327"
675989
676824
  }));
675990
676825
  }
675991
676826
  function showDialog(root2, renderer) {
@@ -676196,7 +677031,7 @@ __export(exports_InvalidSettingsDialog, {
676196
677031
  InvalidSettingsDialog: () => InvalidSettingsDialog
676197
677032
  });
676198
677033
  function InvalidSettingsDialog(t0) {
676199
- const $3 = import_compiler_runtime354.c(13);
677034
+ const $3 = import_compiler_runtime353.c(13);
676200
677035
  const {
676201
677036
  settingsErrors,
676202
677037
  onContinue,
@@ -676283,19 +677118,19 @@ function InvalidSettingsDialog(t0) {
676283
677118
  }
676284
677119
  return t6;
676285
677120
  }
676286
- var import_compiler_runtime354, jsx_dev_runtime464;
677121
+ var import_compiler_runtime353, jsx_dev_runtime464;
676287
677122
  var init_InvalidSettingsDialog = __esm(() => {
676288
677123
  init_ink2();
676289
677124
  init_CustomSelect();
676290
677125
  init_Dialog();
676291
677126
  init_ValidationErrorsList();
676292
- import_compiler_runtime354 = __toESM(require_compiler_runtime(), 1);
677127
+ import_compiler_runtime353 = __toESM(require_compiler_runtime(), 1);
676293
677128
  jsx_dev_runtime464 = __toESM(require_jsx_dev_runtime(), 1);
676294
677129
  });
676295
677130
 
676296
677131
  // src/hooks/useTeleportResume.tsx
676297
677132
  function useTeleportResume(source) {
676298
- const $3 = import_compiler_runtime355.c(8);
677133
+ const $3 = import_compiler_runtime354.c(8);
676299
677134
  const [isResuming, setIsResuming] = import_react317.useState(false);
676300
677135
  const [error54, setError] = import_react317.useState(null);
676301
677136
  const [selectedSession, setSelectedSession] = import_react317.useState(null);
@@ -676363,13 +677198,13 @@ function useTeleportResume(source) {
676363
677198
  }
676364
677199
  return t2;
676365
677200
  }
676366
- var import_compiler_runtime355, import_react317;
677201
+ var import_compiler_runtime354, import_react317;
676367
677202
  var init_useTeleportResume = __esm(() => {
676368
677203
  init_state();
676369
677204
  init_analytics();
676370
677205
  init_errors();
676371
677206
  init_teleport();
676372
- import_compiler_runtime355 = __toESM(require_compiler_runtime(), 1);
677207
+ import_compiler_runtime354 = __toESM(require_compiler_runtime(), 1);
676373
677208
  import_react317 = __toESM(require_react(), 1);
676374
677209
  });
676375
677210
 
@@ -676744,7 +677579,7 @@ __export(exports_TeleportResumeWrapper, {
676744
677579
  TeleportResumeWrapper: () => TeleportResumeWrapper
676745
677580
  });
676746
677581
  function TeleportResumeWrapper(t0) {
676747
- const $3 = import_compiler_runtime356.c(25);
677582
+ const $3 = import_compiler_runtime355.c(25);
676748
677583
  const {
676749
677584
  onComplete,
676750
677585
  onCancel,
@@ -676942,7 +677777,7 @@ function TeleportResumeWrapper(t0) {
676942
677777
  }
676943
677778
  return t8;
676944
677779
  }
676945
- var import_compiler_runtime356, import_react319, jsx_dev_runtime466;
677780
+ var import_compiler_runtime355, import_react319, jsx_dev_runtime466;
676946
677781
  var init_TeleportResumeWrapper = __esm(() => {
676947
677782
  init_analytics();
676948
677783
  init_useTeleportResume();
@@ -676950,7 +677785,7 @@ var init_TeleportResumeWrapper = __esm(() => {
676950
677785
  init_useKeybinding();
676951
677786
  init_ResumeTask();
676952
677787
  init_Spinner2();
676953
- import_compiler_runtime356 = __toESM(require_compiler_runtime(), 1);
677788
+ import_compiler_runtime355 = __toESM(require_compiler_runtime(), 1);
676954
677789
  import_react319 = __toESM(require_react(), 1);
676955
677790
  jsx_dev_runtime466 = __toESM(require_jsx_dev_runtime(), 1);
676956
677791
  });
@@ -676961,7 +677796,7 @@ __export(exports_TeleportRepoMismatchDialog, {
676961
677796
  TeleportRepoMismatchDialog: () => TeleportRepoMismatchDialog
676962
677797
  });
676963
677798
  function TeleportRepoMismatchDialog(t0) {
676964
- const $3 = import_compiler_runtime357.c(18);
677799
+ const $3 = import_compiler_runtime356.c(18);
676965
677800
  const {
676966
677801
  targetRepo,
676967
677802
  initialPaths,
@@ -677012,7 +677847,7 @@ function TeleportRepoMismatchDialog(t0) {
677012
677847
  } else {
677013
677848
  t32 = $3[7];
677014
677849
  }
677015
- t2 = [...availablePaths.map(_temp293), t32];
677850
+ t2 = [...availablePaths.map(_temp254), t32];
677016
677851
  $3[5] = availablePaths;
677017
677852
  $3[6] = t2;
677018
677853
  } else {
@@ -677098,7 +677933,7 @@ function TeleportRepoMismatchDialog(t0) {
677098
677933
  }
677099
677934
  return t4;
677100
677935
  }
677101
- function _temp293(path30) {
677936
+ function _temp254(path30) {
677102
677937
  return {
677103
677938
  label: /* @__PURE__ */ jsx_dev_runtime467.jsxDEV(ThemedText, {
677104
677939
  children: [
@@ -677112,7 +677947,7 @@ function _temp293(path30) {
677112
677947
  value: path30
677113
677948
  };
677114
677949
  }
677115
- var import_compiler_runtime357, import_react320, jsx_dev_runtime467;
677950
+ var import_compiler_runtime356, import_react320, jsx_dev_runtime467;
677116
677951
  var init_TeleportRepoMismatchDialog = __esm(() => {
677117
677952
  init_ink2();
677118
677953
  init_file2();
@@ -677120,7 +677955,7 @@ var init_TeleportRepoMismatchDialog = __esm(() => {
677120
677955
  init_CustomSelect();
677121
677956
  init_Dialog();
677122
677957
  init_Spinner2();
677123
- import_compiler_runtime357 = __toESM(require_compiler_runtime(), 1);
677958
+ import_compiler_runtime356 = __toESM(require_compiler_runtime(), 1);
677124
677959
  import_react320 = __toESM(require_react(), 1);
677125
677960
  jsx_dev_runtime467 = __toESM(require_jsx_dev_runtime(), 1);
677126
677961
  });
@@ -677384,7 +678219,7 @@ function ResumeConversation({
677384
678219
  }, undefined, false, undefined, this);
677385
678220
  }
677386
678221
  function NoConversationsMessage() {
677387
- const $3 = import_compiler_runtime358.c(2);
678222
+ const $3 = import_compiler_runtime357.c(2);
677388
678223
  let t0;
677389
678224
  if ($3[0] === Symbol.for("react.memo_cache_sentinel")) {
677390
678225
  t0 = {
@@ -677394,7 +678229,7 @@ function NoConversationsMessage() {
677394
678229
  } else {
677395
678230
  t0 = $3[0];
677396
678231
  }
677397
- useKeybinding("app:interrupt", _temp295, t0);
678232
+ useKeybinding("app:interrupt", _temp293, t0);
677398
678233
  let t1;
677399
678234
  if ($3[1] === Symbol.for("react.memo_cache_sentinel")) {
677400
678235
  t1 = /* @__PURE__ */ jsx_dev_runtime468.jsxDEV(ThemedBox_default, {
@@ -677415,11 +678250,11 @@ function NoConversationsMessage() {
677415
678250
  }
677416
678251
  return t1;
677417
678252
  }
677418
- function _temp295() {
678253
+ function _temp293() {
677419
678254
  process.exit(1);
677420
678255
  }
677421
678256
  function CrossProjectMessage(t0) {
677422
- const $3 = import_compiler_runtime358.c(8);
678257
+ const $3 = import_compiler_runtime357.c(8);
677423
678258
  const {
677424
678259
  command: command10
677425
678260
  } = t0;
@@ -677503,7 +678338,7 @@ function _temp356() {
677503
678338
  function _temp294() {
677504
678339
  process.exit(0);
677505
678340
  }
677506
- var import_compiler_runtime358, import_react321, jsx_dev_runtime468;
678341
+ var import_compiler_runtime357, import_react321, jsx_dev_runtime468;
677507
678342
  var init_ResumeConversation = __esm(() => {
677508
678343
  init_useTerminalSize();
677509
678344
  init_state();
@@ -677526,7 +678361,7 @@ var init_ResumeConversation = __esm(() => {
677526
678361
  init_sessionRestore();
677527
678362
  init_sessionStorage();
677528
678363
  init_REPL();
677529
- import_compiler_runtime358 = __toESM(require_compiler_runtime(), 1);
678364
+ import_compiler_runtime357 = __toESM(require_compiler_runtime(), 1);
677530
678365
  import_react321 = __toESM(require_react(), 1);
677531
678366
  jsx_dev_runtime468 = __toESM(require_jsx_dev_runtime(), 1);
677532
678367
  });
@@ -680285,7 +681120,7 @@ function appendToLog(path30, message) {
680285
681120
  cwd: getFsImplementation().cwd(),
680286
681121
  userType: "external",
680287
681122
  sessionId: getSessionId(),
680288
- version: "1.3.127"
681123
+ version: "1.3.327"
680289
681124
  };
680290
681125
  getLogWriter(path30).write(messageWithTimestamp);
680291
681126
  }
@@ -684393,8 +685228,8 @@ async function getEnvLessBridgeConfig() {
684393
685228
  }
684394
685229
  async function checkEnvLessBridgeMinVersion() {
684395
685230
  const cfg = await getEnvLessBridgeConfig();
684396
- if (cfg.min_version && lt("1.3.127", cfg.min_version)) {
684397
- return `Your version of RAYU (${"1.3.127"}) is too old for Remote Control.
685231
+ if (cfg.min_version && lt("1.3.327", cfg.min_version)) {
685232
+ return `Your version of RAYU (${"1.3.327"}) is too old for Remote Control.
684398
685233
  Version ${cfg.min_version} or higher is required. Run \`claude update\` to update.`;
684399
685234
  }
684400
685235
  return null;
@@ -684868,7 +685703,7 @@ async function initBridgeCore(params) {
684868
685703
  const rawApi = createBridgeApiClient({
684869
685704
  baseUrl,
684870
685705
  getAccessToken,
684871
- runnerVersion: "1.3.127",
685706
+ runnerVersion: "1.3.327",
684872
685707
  onDebug: logForDebugging,
684873
685708
  onAuth401,
684874
685709
  getTrustedDeviceToken
@@ -689556,7 +690391,7 @@ __export(exports_TeleportProgress, {
689556
690391
  TeleportProgress: () => TeleportProgress
689557
690392
  });
689558
690393
  function TeleportProgress(t0) {
689559
- const $3 = import_compiler_runtime359.c(16);
690394
+ const $3 = import_compiler_runtime358.c(16);
689560
690395
  const {
689561
690396
  currentStep,
689562
690397
  sessionId
@@ -689709,13 +690544,13 @@ async function teleportWithProgress(root2, sessionId) {
689709
690544
  branchName
689710
690545
  };
689711
690546
  }
689712
- var import_compiler_runtime359, import_react322, jsx_dev_runtime470, SPINNER_FRAMES3, STEPS;
690547
+ var import_compiler_runtime358, import_react322, jsx_dev_runtime470, SPINNER_FRAMES3, STEPS;
689713
690548
  var init_TeleportProgress = __esm(() => {
689714
690549
  init_figures();
689715
690550
  init_ink2();
689716
690551
  init_AppState();
689717
690552
  init_teleport();
689718
- import_compiler_runtime359 = __toESM(require_compiler_runtime(), 1);
690553
+ import_compiler_runtime358 = __toESM(require_compiler_runtime(), 1);
689719
690554
  import_react322 = __toESM(require_react(), 1);
689720
690555
  jsx_dev_runtime470 = __toESM(require_jsx_dev_runtime(), 1);
689721
690556
  SPINNER_FRAMES3 = ["◐", "◓", "◑", "◒"];
@@ -690230,7 +691065,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
690230
691065
  setCwd(cwd3);
690231
691066
  const server = new Server({
690232
691067
  name: "claude/tengu",
690233
- version: "1.3.127"
691068
+ version: "1.3.327"
690234
691069
  }, {
690235
691070
  capabilities: {
690236
691071
  tools: {}
@@ -691223,7 +692058,7 @@ function getInstallationPath2() {
691223
692058
  return "~/.local/bin/claude";
691224
692059
  }
691225
692060
  function SetupNotes(t0) {
691226
- const $3 = import_compiler_runtime360.c(5);
692061
+ const $3 = import_compiler_runtime359.c(5);
691227
692062
  const {
691228
692063
  messages
691229
692064
  } = t0;
@@ -691250,7 +692085,7 @@ function SetupNotes(t0) {
691250
692085
  }
691251
692086
  let t2;
691252
692087
  if ($3[1] !== messages) {
691253
- t2 = messages.map(_temp296);
692088
+ t2 = messages.map(_temp295);
691254
692089
  $3[1] = messages;
691255
692090
  $3[2] = t2;
691256
692091
  } else {
@@ -691274,7 +692109,7 @@ function SetupNotes(t0) {
691274
692109
  }
691275
692110
  return t3;
691276
692111
  }
691277
- function _temp296(message, index) {
692112
+ function _temp295(message, index) {
691278
692113
  return /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(ThemedBox_default, {
691279
692114
  marginLeft: 2,
691280
692115
  children: /* @__PURE__ */ jsx_dev_runtime471.jsxDEV(ThemedText, {
@@ -691528,7 +692363,7 @@ function Install({
691528
692363
  ]
691529
692364
  }, undefined, true, undefined, this);
691530
692365
  }
691531
- var import_compiler_runtime360, import_react323, jsx_dev_runtime471, install;
692366
+ var import_compiler_runtime359, import_react323, jsx_dev_runtime471, install;
691532
692367
  var init_install = __esm(() => {
691533
692368
  init_analytics();
691534
692369
  init_StatusIcon();
@@ -691538,7 +692373,7 @@ var init_install = __esm(() => {
691538
692373
  init_errors();
691539
692374
  init_nativeInstaller();
691540
692375
  init_settings2();
691541
- import_compiler_runtime360 = __toESM(require_compiler_runtime(), 1);
692376
+ import_compiler_runtime359 = __toESM(require_compiler_runtime(), 1);
691542
692377
  import_react323 = __toESM(require_react(), 1);
691543
692378
  jsx_dev_runtime471 = __toESM(require_jsx_dev_runtime(), 1);
691544
692379
  install = {
@@ -691572,7 +692407,7 @@ __export(exports_util2, {
691572
692407
  });
691573
692408
  import { cwd as cwd4 } from "process";
691574
692409
  function DoctorWithPlugins(t0) {
691575
- const $3 = import_compiler_runtime361.c(2);
692410
+ const $3 = import_compiler_runtime360.c(2);
691576
692411
  const {
691577
692412
  onDone
691578
692413
  } = t0;
@@ -691632,14 +692467,14 @@ async function installHandler(target, options) {
691632
692467
  }, {}, args);
691633
692468
  });
691634
692469
  }
691635
- var import_compiler_runtime361, import_react324, jsx_dev_runtime472, DoctorLazy;
692470
+ var import_compiler_runtime360, import_react324, jsx_dev_runtime472, DoctorLazy;
691636
692471
  var init_util5 = __esm(() => {
691637
692472
  init_useManagePlugins();
691638
692473
  init_KeybindingProviderSetup();
691639
692474
  init_analytics();
691640
692475
  init_MCPConnectionManager();
691641
692476
  init_AppState();
691642
- import_compiler_runtime361 = __toESM(require_compiler_runtime(), 1);
692477
+ import_compiler_runtime360 = __toESM(require_compiler_runtime(), 1);
691643
692478
  import_react324 = __toESM(require_react(), 1);
691644
692479
  jsx_dev_runtime472 = __toESM(require_jsx_dev_runtime(), 1);
691645
692480
  DoctorLazy = import_react324.default.lazy(() => Promise.resolve().then(() => (init_Doctor(), exports_Doctor)).then((m3) => ({
@@ -692756,7 +693591,7 @@ ${customInstructions}` : customInstructions;
692756
693591
  }
692757
693592
  }
692758
693593
  logForDiagnosticsNoPII("info", "started", {
692759
- version: "1.3.127",
693594
+ version: "1.3.327",
692760
693595
  is_native_binary: isInBundledMode()
692761
693596
  });
692762
693597
  registerCleanup(async () => {
@@ -693474,7 +694309,7 @@ Usage: rayu --remote "your task description"`, () => gracefulShutdown(1));
693474
694309
  pendingHookMessages
693475
694310
  }, renderAndRun);
693476
694311
  }
693477
- }).version("1.3.127 (Rayu-CLI)", "-v, --version", "Output the version number");
694312
+ }).version("1.3.327 (Rayu-CLI)", "-v, --version", "Output the version number");
693478
694313
  program.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
693479
694314
  program.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
693480
694315
  if (canUserConfigureAdvisor()) {
@@ -693940,7 +694775,7 @@ if (false) {}
693940
694775
  async function main2() {
693941
694776
  const args = process.argv.slice(2);
693942
694777
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
693943
- console.log(`${"1.3.127"} (Rayu-CLI)`);
694778
+ console.log(`${"1.3.327"} (Rayu-CLI)`);
693944
694779
  return;
693945
694780
  }
693946
694781
  const {