snow-ai 0.8.13 → 0.8.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/bundle/cli.mjs CHANGED
@@ -46007,6 +46007,8 @@ var init_en = __esm({
46007
46007
  geminiThinkingLevel: "Gemini Thinking Level:",
46008
46008
  responsesReasoningEnabled: "Responses Reasoning Enabled:",
46009
46009
  responsesReasoningEffort: "Responses Reasoning Effort:",
46010
+ responsesReasoningMode: "Responses Reasoning Mode:",
46011
+ responsesReasoningModeNone: "None",
46010
46012
  responsesVerbosity: "Responses Verbosity:",
46011
46013
  responsesFastMode: "Responses Fast Mode (priority):",
46012
46014
  chatThinkingEnabled: "Chat Thinking (DeepSeek):",
@@ -48236,6 +48238,8 @@ var init_zh = __esm({
48236
48238
  geminiThinkingLevel: "Gemini \u601D\u8003\u7EA7\u522B:",
48237
48239
  responsesReasoningEnabled: "\u542F\u7528 Responses \u63A8\u7406:",
48238
48240
  responsesReasoningEffort: "Responses \u63A8\u7406\u5F3A\u5EA6:",
48241
+ responsesReasoningMode: "Responses \u63A8\u7406\u6A21\u5F0F:",
48242
+ responsesReasoningModeNone: "\u65E0",
48239
48243
  responsesVerbosity: "Responses \u8F93\u51FA\u8BE6\u7EC6\u5EA6:",
48240
48244
  responsesFastMode: "Responses Fast (priority):",
48241
48245
  chatThinkingEnabled: "\u542F\u7528 Chat \u601D\u8003 (DeepSeek):",
@@ -50463,6 +50467,8 @@ var init_zh_TW = __esm({
50463
50467
  geminiThinkingLevel: "Gemini \u601D\u8003\u7D1A\u5225:",
50464
50468
  responsesReasoningEnabled: "\u555F\u7528 Responses \u63A8\u7406:",
50465
50469
  responsesReasoningEffort: "Responses \u63A8\u7406\u5F37\u5EA6:",
50470
+ responsesReasoningMode: "Responses \u63A8\u7406\u6A21\u5F0F:",
50471
+ responsesReasoningModeNone: "\u7121",
50466
50472
  responsesVerbosity: "Responses \u8F38\u51FA\u8A73\u7D30\u5EA6:",
50467
50473
  responsesFastMode: "Responses Fast (priority):",
50468
50474
  chatThinkingEnabled: "\u555F\u7528 Chat \u601D\u8003 (DeepSeek):",
@@ -156573,7 +156579,7 @@ __export(chat_exports, {
156573
156579
  resetApiClient: () => resetApiClient,
156574
156580
  validateChatOptions: () => validateChatOptions
156575
156581
  });
156576
- function convertToOpenAIMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false, thinkingEnabled = false) {
156582
+ function convertToOpenAIMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false, thinkingEnabled = false, isSubAgentRequest = false) {
156577
156583
  var _a20;
156578
156584
  const customSystemPrompts = customSystemPromptOverride;
156579
156585
  let result2 = messages.map((msg) => {
@@ -156663,6 +156669,33 @@ function convertToOpenAIMessages(messages, includeBuiltinSystemPrompt = true, cu
156663
156669
  }
156664
156670
  return baseMessage;
156665
156671
  });
156672
+ if (isSubAgentRequest && customSystemPrompts && customSystemPrompts.length > 0) {
156673
+ const builtinPrompt = includeBuiltinSystemPrompt ? getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode) : "";
156674
+ const explicitSystemMessages = messages.filter((msg) => msg.role === "system");
156675
+ const hasBuiltinInExplicitSystem = builtinPrompt.length > 0 && explicitSystemMessages.some((msg) => msg.content.includes(builtinPrompt));
156676
+ const downgradedSystemMessages = explicitSystemMessages.map((msg) => ({
156677
+ role: "user",
156678
+ content: msg.content
156679
+ }));
156680
+ const downgradedBuiltinMessage = builtinPrompt && !hasBuiltinInExplicitSystem ? [
156681
+ {
156682
+ role: "user",
156683
+ content: builtinPrompt
156684
+ }
156685
+ ] : [];
156686
+ return [
156687
+ {
156688
+ role: "system",
156689
+ content: customSystemPrompts.map((text2) => ({
156690
+ type: "text",
156691
+ text: text2
156692
+ }))
156693
+ },
156694
+ ...downgradedSystemMessages,
156695
+ ...downgradedBuiltinMessage,
156696
+ ...result2.filter((message) => message.role !== "system")
156697
+ ];
156698
+ }
156666
156699
  if (result2.length > 0 && ((_a20 = result2[0]) == null ? void 0 : _a20.role) === "system") {
156667
156700
  if (customSystemPrompts && customSystemPrompts.length > 0) {
156668
156701
  result2 = [
@@ -156868,7 +156901,8 @@ async function* createStreamingChatCompletion(options3, abortSignal, onRetry) {
156868
156901
  options3.vulnerabilityHuntingMode || false,
156869
156902
  options3.toolSearchDisabled || false,
156870
156903
  options3.teamMode || false,
156871
- thinkingEnabled
156904
+ thinkingEnabled,
156905
+ options3.isSubAgentRequest || false
156872
156906
  ),
156873
156907
  stream: true,
156874
156908
  stream_options: { include_usage: true },
@@ -157127,9 +157161,11 @@ function getResponsesReasoningConfig() {
157127
157161
  if (!reasoningConfig || !reasoningConfig.enabled) {
157128
157162
  return null;
157129
157163
  }
157164
+ const mode = reasoningConfig.mode === "standard" || reasoningConfig.mode === "pro" ? reasoningConfig.mode : void 0;
157130
157165
  return {
157131
157166
  effort: reasoningConfig.effort || "high",
157132
- summary: "auto"
157167
+ summary: "auto",
157168
+ ...mode && { mode }
157133
157169
  };
157134
157170
  }
157135
157171
  function getResponsesVerbosityConfig() {
@@ -157149,7 +157185,7 @@ function toResponseImageUrl(image2) {
157149
157185
  const mimeType = ((_b14 = image2.mimeType) == null ? void 0 : _b14.trim()) || "image/png";
157150
157186
  return `data:${mimeType};base64,${data}`;
157151
157187
  }
157152
- function convertToResponseInput(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false) {
157188
+ function convertToResponseInput(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false, isSubAgentRequest = false) {
157153
157189
  const customSystemPrompts = customSystemPromptOverride;
157154
157190
  const explicitSystemPrompts = [];
157155
157191
  const result2 = [];
@@ -157251,6 +157287,29 @@ function convertToResponseInput(messages, includeBuiltinSystemPrompt = true, cus
157251
157287
  }
157252
157288
  let systemInstructions;
157253
157289
  const builtinPrompt = includeBuiltinSystemPrompt ? getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode) : "";
157290
+ if (isSubAgentRequest && customSystemPrompts && customSystemPrompts.length > 0) {
157291
+ systemInstructions = customSystemPrompts.join("\n\n");
157292
+ const hasBuiltinInExplicitSystem = builtinPrompt.length > 0 && explicitSystemPrompts.some((prompt) => prompt.includes(builtinPrompt));
157293
+ const downgradedSystemMessages = explicitSystemPrompts.map((prompt) => ({
157294
+ type: "message",
157295
+ role: "user",
157296
+ content: [{ type: "input_text", text: prompt }]
157297
+ }));
157298
+ const downgradedBuiltinMessages = builtinPrompt && !hasBuiltinInExplicitSystem ? [
157299
+ {
157300
+ type: "message",
157301
+ role: "user",
157302
+ content: [
157303
+ {
157304
+ type: "input_text",
157305
+ text: `<environment_context>${builtinPrompt}</environment_context>`
157306
+ }
157307
+ ]
157308
+ }
157309
+ ] : [];
157310
+ result2.unshift(...downgradedSystemMessages, ...downgradedBuiltinMessages);
157311
+ return { input: result2, systemInstructions };
157312
+ }
157254
157313
  if (explicitSystemPrompts.length > 0) {
157255
157314
  systemInstructions = explicitSystemPrompts.join("\n\n");
157256
157315
  if (customSystemPrompts && customSystemPrompts.length > 0) {
@@ -157400,7 +157459,7 @@ async function* createStreamingResponse(options3, abortSignal, onRetry) {
157400
157459
  }
157401
157460
  }
157402
157461
  customSystemPromptContent || (customSystemPromptContent = getCustomSystemPromptForConfig(config3));
157403
- const { input: requestInput, systemInstructions } = convertToResponseInput(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false);
157462
+ const { input: requestInput, systemInstructions } = convertToResponseInput(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false, options3.isSubAgentRequest || false);
157404
157463
  const configuredReasoning = getResponsesReasoningConfig();
157405
157464
  const configuredVerbosity = getResponsesVerbosityConfig();
157406
157465
  const telemetry = startChatSpan({
@@ -157699,9 +157758,10 @@ function convertToolsToGemini(tools) {
157699
157758
  });
157700
157759
  return [{ functionDeclarations }];
157701
157760
  }
157702
- function convertToGeminiMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false) {
157761
+ function convertToGeminiMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false, isSubAgentRequest = false) {
157703
157762
  var _a20;
157704
157763
  const customSystemPrompts = customSystemPromptOverride;
157764
+ const explicitSystemPrompts = [];
157705
157765
  let systemInstruction;
157706
157766
  const contents = [];
157707
157767
  const toolCallIdToFunctionName = /* @__PURE__ */ new Map();
@@ -157710,6 +157770,7 @@ function convertToGeminiMessages(messages, includeBuiltinSystemPrompt = true, cu
157710
157770
  if (!msg)
157711
157771
  continue;
157712
157772
  if (msg.role === "system") {
157773
+ explicitSystemPrompts.push(msg.content);
157713
157774
  systemInstruction = [msg.content];
157714
157775
  continue;
157715
157776
  }
@@ -157835,14 +157896,24 @@ function convertToGeminiMessages(messages, includeBuiltinSystemPrompt = true, cu
157835
157896
  }
157836
157897
  if (customSystemPrompts && customSystemPrompts.length > 0) {
157837
157898
  systemInstruction = customSystemPrompts;
157838
- if (includeBuiltinSystemPrompt) {
157899
+ const builtinPrompt = includeBuiltinSystemPrompt ? getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode) : "";
157900
+ if (isSubAgentRequest) {
157901
+ const hasBuiltinInExplicitSystem = builtinPrompt.length > 0 && explicitSystemPrompts.some((prompt) => prompt.includes(builtinPrompt));
157902
+ const downgradedSystemContents = explicitSystemPrompts.map((prompt) => ({
157903
+ role: "user",
157904
+ parts: [{ text: prompt }]
157905
+ }));
157906
+ const downgradedBuiltinContents = builtinPrompt && !hasBuiltinInExplicitSystem ? [
157907
+ {
157908
+ role: "user",
157909
+ parts: [{ text: builtinPrompt }]
157910
+ }
157911
+ ] : [];
157912
+ contents.unshift(...downgradedSystemContents, ...downgradedBuiltinContents);
157913
+ } else if (builtinPrompt) {
157839
157914
  contents.unshift({
157840
157915
  role: "user",
157841
- parts: [
157842
- {
157843
- text: getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode)
157844
- }
157845
- ]
157916
+ parts: [{ text: builtinPrompt }]
157846
157917
  });
157847
157918
  }
157848
157919
  } else if (!systemInstruction && includeBuiltinSystemPrompt) {
@@ -157895,7 +157966,7 @@ async function* createStreamingGeminiCompletion(options3, abortSignal, onRetry)
157895
157966
  try {
157896
157967
  yield* withRetryGenerator(async function* () {
157897
157968
  var _a20, _b14;
157898
- const { systemInstruction, contents } = convertToGeminiMessages(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false);
157969
+ const { systemInstruction, contents } = convertToGeminiMessages(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false, options3.isSubAgentRequest || false);
157899
157970
  const requestBody = {
157900
157971
  contents,
157901
157972
  systemInstruction: systemInstruction ? { parts: systemInstruction.map((text2) => ({ text: text2 })) } : void 0
@@ -158261,9 +158332,10 @@ function convertToolsToAnthropic(tools) {
158261
158332
  });
158262
158333
  return convertedTools;
158263
158334
  }
158264
- function convertToAnthropicMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, cacheTTL = "5m", disableThinking = false, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false) {
158335
+ function convertToAnthropicMessages(messages, includeBuiltinSystemPrompt = true, customSystemPromptOverride, cacheTTL = "5m", disableThinking = false, planMode = false, vulnerabilityHuntingMode = false, toolSearchDisabled = false, teamMode = false, isSubAgentRequest = false) {
158265
158336
  var _a20;
158266
158337
  const customSystemPrompts = customSystemPromptOverride;
158338
+ const explicitSystemPrompts = [];
158267
158339
  let systemContents;
158268
158340
  const anthropicMessages = [];
158269
158341
  const toolResults = [];
@@ -158276,6 +158348,7 @@ function convertToAnthropicMessages(messages, includeBuiltinSystemPrompt = true,
158276
158348
  toolResults.length = 0;
158277
158349
  }
158278
158350
  if (msg.role === "system") {
158351
+ explicitSystemPrompts.push(msg.content);
158279
158352
  systemContents = [msg.content];
158280
158353
  continue;
158281
158354
  }
@@ -158414,13 +158487,33 @@ function convertToAnthropicMessages(messages, includeBuiltinSystemPrompt = true,
158414
158487
  }
158415
158488
  if (customSystemPrompts && customSystemPrompts.length > 0) {
158416
158489
  systemContents = customSystemPrompts;
158417
- if (includeBuiltinSystemPrompt) {
158490
+ const builtinPrompt = includeBuiltinSystemPrompt ? getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode) : "";
158491
+ if (isSubAgentRequest) {
158492
+ const hasBuiltinInExplicitSystem = builtinPrompt.length > 0 && explicitSystemPrompts.some((prompt) => prompt.includes(builtinPrompt));
158493
+ const downgradedSystemMessages = explicitSystemPrompts.map((prompt) => ({
158494
+ role: "user",
158495
+ content: prompt
158496
+ }));
158497
+ const downgradedBuiltinMessages = builtinPrompt && !hasBuiltinInExplicitSystem ? [
158498
+ {
158499
+ role: "user",
158500
+ content: [
158501
+ {
158502
+ type: "text",
158503
+ text: builtinPrompt,
158504
+ cache_control: { type: "ephemeral", ttl: cacheTTL }
158505
+ }
158506
+ ]
158507
+ }
158508
+ ] : [];
158509
+ anthropicMessages.unshift(...downgradedSystemMessages, ...downgradedBuiltinMessages);
158510
+ } else if (builtinPrompt) {
158418
158511
  anthropicMessages.unshift({
158419
158512
  role: "user",
158420
158513
  content: [
158421
158514
  {
158422
158515
  type: "text",
158423
- text: getSystemPromptForMode(planMode, vulnerabilityHuntingMode, toolSearchDisabled, teamMode),
158516
+ text: builtinPrompt,
158424
158517
  cache_control: { type: "ephemeral", ttl: cacheTTL }
158425
158518
  }
158426
158519
  ]
@@ -158600,7 +158693,7 @@ async function* createStreamingAnthropicCompletion(options3, abortSignal, onRetr
158600
158693
  }
158601
158694
  }
158602
158695
  customSystemPromptContent || (customSystemPromptContent = getCustomSystemPromptForConfig(config3));
158603
- const { system, messages } = convertToAnthropicMessages(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, config3.anthropicCacheTTL || "5m", options3.disableThinking || false, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false);
158696
+ const { system, messages } = convertToAnthropicMessages(options3.messages, options3.includeBuiltinSystemPrompt !== false, customSystemPromptContent, config3.anthropicCacheTTL || "5m", options3.disableThinking || false, options3.planMode || false, options3.vulnerabilityHuntingMode || false, options3.toolSearchDisabled || false, options3.teamMode || false, options3.isSubAgentRequest || false);
158604
158697
  const userId = getPersistentUserId();
158605
158698
  const requestBody = {
158606
158699
  model: options3.model || config3.advancedModel,
@@ -523779,7 +523872,8 @@ function createApiStream(config3, model, messages, allowedTools, sessionId, conf
523779
523872
  max_tokens: config3.maxTokens || 4096,
523780
523873
  tools: allowedTools,
523781
523874
  sessionId,
523782
- configProfile
523875
+ configProfile,
523876
+ isSubAgentRequest: true
523783
523877
  }, abortSignal);
523784
523878
  }
523785
523879
  if (config3.requestMethod === "gemini") {
@@ -523788,7 +523882,8 @@ function createApiStream(config3, model, messages, allowedTools, sessionId, conf
523788
523882
  messages,
523789
523883
  temperature: 0,
523790
523884
  tools: allowedTools,
523791
- configProfile
523885
+ configProfile,
523886
+ isSubAgentRequest: true
523792
523887
  }, abortSignal);
523793
523888
  }
523794
523889
  if (config3.requestMethod === "responses") {
@@ -523798,7 +523893,8 @@ function createApiStream(config3, model, messages, allowedTools, sessionId, conf
523798
523893
  temperature: 0,
523799
523894
  tools: allowedTools,
523800
523895
  prompt_cache_key: sessionId,
523801
- configProfile
523896
+ configProfile,
523897
+ isSubAgentRequest: true
523802
523898
  }, abortSignal);
523803
523899
  }
523804
523900
  return createStreamingChatCompletion({
@@ -523806,7 +523902,8 @@ function createApiStream(config3, model, messages, allowedTools, sessionId, conf
523806
523902
  messages,
523807
523903
  temperature: 0,
523808
523904
  tools: allowedTools,
523809
- configProfile
523905
+ configProfile,
523906
+ isSubAgentRequest: true
523810
523907
  }, abortSignal);
523811
523908
  }
523812
523909
  async function processStreamEvents(ctx, stream, config3) {
@@ -559036,6 +559133,7 @@ var init_types8 = __esm({
559036
559133
  "thinkingEffort",
559037
559134
  "geminiThinkingLevel",
559038
559135
  "responsesReasoningEffort",
559136
+ "responsesReasoningMode",
559039
559137
  "responsesVerbosity",
559040
559138
  "anthropicSpeed",
559041
559139
  "chatReasoningEffort"
@@ -559244,6 +559342,7 @@ function useConfigState(options3) {
559244
559342
  const [geminiThinkingLevel, setGeminiThinkingLevel] = (0, import_react69.useState)("high");
559245
559343
  const [responsesReasoningEnabled, setResponsesReasoningEnabled] = (0, import_react69.useState)(false);
559246
559344
  const [responsesReasoningEffort, setResponsesReasoningEffort] = (0, import_react69.useState)("high");
559345
+ const [responsesReasoningMode, setResponsesReasoningMode] = (0, import_react69.useState)(void 0);
559247
559346
  const [responsesVerbosity, setResponsesVerbosity] = (0, import_react69.useState)("medium");
559248
559347
  const [responsesFastMode, setResponsesFastMode] = (0, import_react69.useState)(false);
559249
559348
  const [anthropicSpeed, setAnthropicSpeed] = (0, import_react69.useState)(void 0);
@@ -559342,6 +559441,7 @@ function useConfigState(options3) {
559342
559441
  ] : requestMethod === "gemini" ? ["geminiThinkingEnabled", "geminiThinkingLevel"] : requestMethod === "responses" ? [
559343
559442
  "responsesReasoningEnabled",
559344
559443
  "responsesReasoningEffort",
559444
+ "responsesReasoningMode",
559345
559445
  "responsesVerbosity",
559346
559446
  "responsesFastMode"
559347
559447
  ] : requestMethod === "chat" ? [
@@ -559401,7 +559501,7 @@ function useConfigState(options3) {
559401
559501
  if (requestMethod !== "gemini" && (currentField === "geminiThinkingEnabled" || currentField === "geminiThinkingLevel")) {
559402
559502
  setCurrentField("reasoningGroup");
559403
559503
  }
559404
- if (requestMethod !== "responses" && (currentField === "responsesReasoningEnabled" || currentField === "responsesReasoningEffort" || currentField === "responsesVerbosity" || currentField === "responsesFastMode")) {
559504
+ if (requestMethod !== "responses" && (currentField === "responsesReasoningEnabled" || currentField === "responsesReasoningEffort" || currentField === "responsesReasoningMode" || currentField === "responsesVerbosity" || currentField === "responsesFastMode")) {
559405
559505
  setCurrentField("reasoningGroup");
559406
559506
  }
559407
559507
  if (requestMethod !== "chat" && (currentField === "chatThinkingEnabled" || currentField === "chatReasoningEffort")) {
@@ -559431,7 +559531,7 @@ function useConfigState(options3) {
559431
559531
  supportsXHigh
559432
559532
  ]);
559433
559533
  const loadProfilesAndConfig = () => {
559434
- var _a20, _b14, _c6, _d4, _e2, _f, _g, _h, _i, _j, _k;
559534
+ var _a20, _b14, _c6, _d4, _e2, _f, _g, _h, _i, _j, _k, _l, _m;
559435
559535
  const loadedProfiles = getAllProfiles();
559436
559536
  setProfiles(loadedProfiles);
559437
559537
  const targetConfig = targetProfileName ? loadProfile(targetProfileName) : void 0;
@@ -559456,11 +559556,12 @@ function useConfigState(options3) {
559456
559556
  setGeminiThinkingLevel(((_g = config3.geminiThinking) == null ? void 0 : _g.thinkingLevel) || "high");
559457
559557
  setResponsesReasoningEnabled(((_h = config3.responsesReasoning) == null ? void 0 : _h.enabled) || false);
559458
559558
  setResponsesReasoningEffort(((_i = config3.responsesReasoning) == null ? void 0 : _i.effort) || "high");
559559
+ setResponsesReasoningMode(((_j = config3.responsesReasoning) == null ? void 0 : _j.mode) === "standard" || ((_k = config3.responsesReasoning) == null ? void 0 : _k.mode) === "pro" ? config3.responsesReasoning.mode : void 0);
559459
559560
  setResponsesVerbosity(config3.responsesVerbosity || "medium");
559460
559561
  setResponsesFastMode(config3.responsesFastMode || false);
559461
559562
  setAnthropicSpeed(config3.anthropicSpeed);
559462
- setChatThinkingEnabled(((_j = config3.chatThinking) == null ? void 0 : _j.enabled) || false);
559463
- setChatReasoningEffort(((_k = config3.chatThinking) == null ? void 0 : _k.reasoning_effort) || "high");
559563
+ setChatThinkingEnabled(((_l = config3.chatThinking) == null ? void 0 : _l.enabled) || false);
559564
+ setChatReasoningEffort(((_m = config3.chatThinking) == null ? void 0 : _m.reasoning_effort) || "high");
559464
559565
  setAdvancedModel(config3.advancedModel || "");
559465
559566
  setBasicModel(config3.basicModel || "");
559466
559567
  setSupportsVision(config3.supportsVision !== false);
@@ -559857,7 +559958,8 @@ function useConfigState(options3) {
559857
559958
  }
559858
559959
  config3.responsesReasoning = {
559859
559960
  enabled: responsesReasoningEnabled,
559860
- effort: responsesReasoningEffort
559961
+ effort: responsesReasoningEffort,
559962
+ mode: responsesReasoningMode
559861
559963
  };
559862
559964
  config3.responsesFastMode = responsesFastMode;
559863
559965
  config3.responsesVerbosity = responsesVerbosity;
@@ -559890,7 +559992,8 @@ function useConfigState(options3) {
559890
559992
  geminiThinking: geminiThinkingEnabled ? { enabled: true, thinkingLevel: geminiThinkingLevel } : void 0,
559891
559993
  responsesReasoning: {
559892
559994
  enabled: responsesReasoningEnabled,
559893
- effort: responsesReasoningEffort
559995
+ effort: responsesReasoningEffort,
559996
+ mode: responsesReasoningMode
559894
559997
  },
559895
559998
  responsesVerbosity,
559896
559999
  responsesFastMode,
@@ -559985,6 +560088,8 @@ function useConfigState(options3) {
559985
560088
  setResponsesReasoningEnabled,
559986
560089
  responsesReasoningEffort,
559987
560090
  setResponsesReasoningEffort,
560091
+ responsesReasoningMode,
560092
+ setResponsesReasoningMode,
559988
560093
  responsesVerbosity,
559989
560094
  setResponsesVerbosity,
559990
560095
  responsesFastMode,
@@ -560497,7 +560602,7 @@ function useConfigInput(state, callbacks) {
560497
560602
  setVisionConfigMode(true);
560498
560603
  setCurrentField("visionBaseUrl");
560499
560604
  setIsEditing(false);
560500
- } else if (currentField === "anthropicCacheTTL" || currentField === "anthropicSpeed" || currentField === "thinkingMode" || currentField === "thinkingEffort" || currentField === "geminiThinkingLevel" || currentField === "responsesReasoningEffort" || currentField === "responsesVerbosity" || currentField === "chatReasoningEffort") {
560605
+ } else if (currentField === "anthropicCacheTTL" || currentField === "anthropicSpeed" || currentField === "thinkingMode" || currentField === "thinkingEffort" || currentField === "geminiThinkingLevel" || currentField === "responsesReasoningEffort" || currentField === "responsesReasoningMode" || currentField === "responsesVerbosity" || currentField === "chatReasoningEffort") {
560501
560606
  setIsEditing(true);
560502
560607
  } else if (NUMERIC_FIELDS.includes(currentField)) {
560503
560608
  setIsEditing(true);
@@ -560821,6 +560926,212 @@ var init_ScrollableSelectInput = __esm({
560821
560926
  }
560822
560927
  });
560823
560928
 
560929
+ // dist/ui/pages/configScreen/ConfigSubViews.js
560930
+ function ProfileNameInputView({ state, inlineMode, title, subtitle, label, value, onChange, placeholder, hint }) {
560931
+ const { theme: theme14, errors } = state;
560932
+ return import_react72.default.createElement(
560933
+ Box_default,
560934
+ { flexDirection: "column", padding: 1 },
560935
+ !inlineMode && import_react72.default.createElement(
560936
+ Box_default,
560937
+ { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
560938
+ import_react72.default.createElement(
560939
+ Box_default,
560940
+ { flexDirection: "column" },
560941
+ import_react72.default.createElement(dist_default5, { name: "rainbow" }, title),
560942
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, subtitle)
560943
+ )
560944
+ ),
560945
+ import_react72.default.createElement(
560946
+ Box_default,
560947
+ { flexDirection: "column" },
560948
+ import_react72.default.createElement(Text, { color: theme14.colors.menuInfo }, label),
560949
+ import_react72.default.createElement(
560950
+ Box_default,
560951
+ { marginLeft: 2 },
560952
+ import_react72.default.createElement(build_default2, { value, onChange: (nextValue) => onChange(stripFocusArtifacts(nextValue)), placeholder })
560953
+ )
560954
+ ),
560955
+ errors.length > 0 && import_react72.default.createElement(
560956
+ Box_default,
560957
+ { marginTop: 1 },
560958
+ import_react72.default.createElement(Text, { color: theme14.colors.error }, errors[0])
560959
+ ),
560960
+ import_react72.default.createElement(
560961
+ Box_default,
560962
+ { marginTop: 1 },
560963
+ import_react72.default.createElement(Alert, { variant: "info" }, hint)
560964
+ )
560965
+ );
560966
+ }
560967
+ function ProfileCreateView({ state, inlineMode }) {
560968
+ const { t, newProfileName, setNewProfileName } = state;
560969
+ return import_react72.default.createElement(ProfileNameInputView, { state, inlineMode, title: t.configScreen.createNewProfile, subtitle: t.configScreen.enterProfileName, label: t.configScreen.profileNameLabel, value: newProfileName, onChange: setNewProfileName, placeholder: t.configScreen.profileNamePlaceholder, hint: t.configScreen.createHint });
560970
+ }
560971
+ function ProfileRenameView({ state, inlineMode }) {
560972
+ const { t, renameProfileName, setRenameProfileName } = state;
560973
+ return import_react72.default.createElement(ProfileNameInputView, { state, inlineMode, title: t.configScreen.renameProfile, subtitle: t.configScreen.enterRenameProfileName, label: t.configScreen.profileNameLabel, value: renameProfileName, onChange: setRenameProfileName, placeholder: t.configScreen.renameProfilePlaceholder, hint: t.configScreen.renameHint });
560974
+ }
560975
+ function ProfileDeleteView({ state, inlineMode }) {
560976
+ const { t, theme: theme14, markedProfiles, errors } = state;
560977
+ const profilesToDelete = Array.from(markedProfiles);
560978
+ return import_react72.default.createElement(
560979
+ Box_default,
560980
+ { flexDirection: "column", padding: 1 },
560981
+ !inlineMode && import_react72.default.createElement(
560982
+ Box_default,
560983
+ { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
560984
+ import_react72.default.createElement(
560985
+ Box_default,
560986
+ { flexDirection: "column" },
560987
+ import_react72.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.deleteProfile),
560988
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.confirmDelete)
560989
+ )
560990
+ ),
560991
+ import_react72.default.createElement(
560992
+ Box_default,
560993
+ { flexDirection: "column" },
560994
+ import_react72.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.confirmDeleteProfiles.replace("{count}", String(profilesToDelete.length))),
560995
+ import_react72.default.createElement(Box_default, { marginTop: 1, flexDirection: "column" }, profilesToDelete.map((profileName) => import_react72.default.createElement(
560996
+ Text,
560997
+ { key: profileName, color: theme14.colors.menuSecondary },
560998
+ "\u2022 ",
560999
+ profileName
561000
+ ))),
561001
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.deleteWarning)
561002
+ ),
561003
+ errors.length > 0 && import_react72.default.createElement(
561004
+ Box_default,
561005
+ { marginTop: 1 },
561006
+ import_react72.default.createElement(Text, { color: theme14.colors.error }, errors[0])
561007
+ ),
561008
+ import_react72.default.createElement(
561009
+ Box_default,
561010
+ { marginTop: 1 },
561011
+ import_react72.default.createElement(Alert, { variant: "warning" }, t.configScreen.confirmHint)
561012
+ )
561013
+ );
561014
+ }
561015
+ function LoadingView({ state, inlineMode }) {
561016
+ const { t, theme: theme14 } = state;
561017
+ return import_react72.default.createElement(
561018
+ Box_default,
561019
+ { flexDirection: "column", padding: 1 },
561020
+ !inlineMode && import_react72.default.createElement(
561021
+ Box_default,
561022
+ { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
561023
+ import_react72.default.createElement(
561024
+ Box_default,
561025
+ { flexDirection: "column" },
561026
+ import_react72.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.title),
561027
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.loadingMessage)
561028
+ )
561029
+ ),
561030
+ import_react72.default.createElement(
561031
+ Box_default,
561032
+ { flexDirection: "column" },
561033
+ import_react72.default.createElement(
561034
+ Box_default,
561035
+ null,
561036
+ import_react72.default.createElement(Spinner2, { type: "dots" }),
561037
+ import_react72.default.createElement(
561038
+ Text,
561039
+ { color: theme14.colors.menuInfo },
561040
+ " ",
561041
+ t.configScreen.fetchingModels
561042
+ )
561043
+ ),
561044
+ import_react72.default.createElement(
561045
+ Box_default,
561046
+ { marginLeft: 2 },
561047
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.fetchingHint)
561048
+ )
561049
+ ),
561050
+ import_react72.default.createElement(
561051
+ Box_default,
561052
+ { flexDirection: "column", marginTop: 1 },
561053
+ import_react72.default.createElement(Alert, { variant: "info" }, t.configScreen.loadingCancelHint)
561054
+ )
561055
+ );
561056
+ }
561057
+ function ManualInputView({ state, inlineMode }) {
561058
+ const { t, theme: theme14, currentField, manualInputValue, loadError } = state;
561059
+ return import_react72.default.createElement(
561060
+ Box_default,
561061
+ { flexDirection: "column", padding: 1 },
561062
+ !inlineMode && import_react72.default.createElement(
561063
+ Box_default,
561064
+ { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
561065
+ import_react72.default.createElement(
561066
+ Box_default,
561067
+ { flexDirection: "column" },
561068
+ import_react72.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.manualInputTitle),
561069
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.manualInputSubtitle)
561070
+ )
561071
+ ),
561072
+ loadError && import_react72.default.createElement(
561073
+ Box_default,
561074
+ { flexDirection: "column", marginBottom: 1 },
561075
+ import_react72.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.loadingError),
561076
+ import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, loadError)
561077
+ ),
561078
+ import_react72.default.createElement(
561079
+ Box_default,
561080
+ { flexDirection: "column" },
561081
+ import_react72.default.createElement(
561082
+ Text,
561083
+ { color: theme14.colors.menuInfo },
561084
+ currentField === "advancedModel" && t.configScreen.advancedModel,
561085
+ currentField === "basicModel" && t.configScreen.basicModel,
561086
+ currentField === "visionModel" && t.configScreen.visionModel,
561087
+ currentField === "thinkingEffort" && t.configScreen.thinkingEffort,
561088
+ currentField === "geminiThinkingLevel" && t.configScreen.geminiThinkingLevel,
561089
+ currentField === "responsesReasoningEffort" && t.configScreen.responsesReasoningEffort,
561090
+ currentField === "chatReasoningEffort" && t.configScreen.chatReasoningEffort
561091
+ ),
561092
+ import_react72.default.createElement(
561093
+ Box_default,
561094
+ { marginLeft: 2 },
561095
+ import_react72.default.createElement(
561096
+ Text,
561097
+ { color: theme14.colors.menuSelected },
561098
+ `> ${manualInputValue}`,
561099
+ import_react72.default.createElement(Text, { color: theme14.colors.menuNormal }, "_")
561100
+ )
561101
+ )
561102
+ ),
561103
+ import_react72.default.createElement(
561104
+ Box_default,
561105
+ { flexDirection: "column", marginTop: 1 },
561106
+ import_react72.default.createElement(Alert, { variant: "info" }, t.configScreen.manualInputHint)
561107
+ )
561108
+ );
561109
+ }
561110
+ function ResponsesReasoningModeSelect({ value, noneLabel, onChange, isFocused = true }) {
561111
+ const options3 = [
561112
+ { label: noneLabel, value: "none" },
561113
+ { label: "standard", value: "standard" },
561114
+ { label: "pro", value: "pro" }
561115
+ ];
561116
+ const selectedValue = value ?? "none";
561117
+ return import_react72.default.createElement(ScrollableSelectInput, { items: options3, initialIndex: Math.max(0, options3.findIndex((option) => option.value === selectedValue)), isFocused, onSelect: (item) => {
561118
+ onChange(item.value === "none" ? void 0 : item.value);
561119
+ } });
561120
+ }
561121
+ var import_react72;
561122
+ var init_ConfigSubViews = __esm({
561123
+ async "dist/ui/pages/configScreen/ConfigSubViews.js"() {
561124
+ "use strict";
561125
+ import_react72 = __toESM(require_react(), 1);
561126
+ await init_src();
561127
+ await init_dist8();
561128
+ await init_build3();
561129
+ await init_build4();
561130
+ await init_ScrollableSelectInput();
561131
+ init_types8();
561132
+ }
561133
+ });
561134
+
560824
561135
  // dist/ui/pages/configScreen/ConfigFieldRenderer.js
560825
561136
  function ConfigFieldRenderer({ field, state }) {
560826
561137
  var _a20, _b14, _c6, _d4, _e2;
@@ -560870,6 +561181,8 @@ function ConfigFieldRenderer({ field, state }) {
560870
561181
  responsesReasoningEnabled,
560871
561182
  responsesReasoningEffort,
560872
561183
  setResponsesReasoningEffort,
561184
+ responsesReasoningMode,
561185
+ setResponsesReasoningMode,
560873
561186
  responsesVerbosity,
560874
561187
  setResponsesVerbosity,
560875
561188
  responsesFastMode,
@@ -560910,93 +561223,93 @@ function ConfigFieldRenderer({ field, state }) {
560910
561223
  case "tokenTimeoutGroup":
560911
561224
  return renderGroupHeader(field);
560912
561225
  case "profile":
560913
- return import_react72.default.createElement(
561226
+ return import_react73.default.createElement(
560914
561227
  Box_default,
560915
561228
  { key: field, flexDirection: "column" },
560916
- import_react72.default.createElement(
561229
+ import_react73.default.createElement(
560917
561230
  Text,
560918
561231
  { color: activeColor },
560919
561232
  activeIndicator,
560920
561233
  t.configScreen.profile
560921
561234
  ),
560922
- !isCurrentlyEditing && import_react72.default.createElement(
561235
+ !isCurrentlyEditing && import_react73.default.createElement(
560923
561236
  Box_default,
560924
561237
  { marginLeft: 3 },
560925
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_a20 = profiles.find((p) => p.name === activeProfile)) == null ? void 0 : _a20.displayName) || activeProfile)
561238
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_a20 = profiles.find((p) => p.name === activeProfile)) == null ? void 0 : _a20.displayName) || activeProfile)
560926
561239
  )
560927
561240
  );
560928
561241
  case "baseUrl":
560929
- return import_react72.default.createElement(
561242
+ return import_react73.default.createElement(
560930
561243
  Box_default,
560931
561244
  { key: field, flexDirection: "column" },
560932
- import_react72.default.createElement(
561245
+ import_react73.default.createElement(
560933
561246
  Text,
560934
561247
  { color: activeColor },
560935
561248
  activeIndicator,
560936
561249
  t.configScreen.baseUrl
560937
561250
  ),
560938
- isCurrentlyEditing && import_react72.default.createElement(
561251
+ isCurrentlyEditing && import_react73.default.createElement(
560939
561252
  Box_default,
560940
561253
  { marginLeft: 3 },
560941
- import_react72.default.createElement(build_default2, { value: baseUrl, onChange: (value) => setBaseUrl(stripFocusArtifacts(value)), placeholder: "https://api.openai.com/v1" })
561254
+ import_react73.default.createElement(build_default2, { value: baseUrl, onChange: (value) => setBaseUrl(stripFocusArtifacts(value)), placeholder: "https://api.openai.com/v1" })
560942
561255
  ),
560943
- !isCurrentlyEditing && import_react72.default.createElement(
561256
+ !isCurrentlyEditing && import_react73.default.createElement(
560944
561257
  Box_default,
560945
561258
  { marginLeft: 3 },
560946
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, baseUrl || t.configScreen.notSet)
561259
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, baseUrl || t.configScreen.notSet)
560947
561260
  )
560948
561261
  );
560949
561262
  case "baseUrlMode":
560950
- return import_react72.default.createElement(
561263
+ return import_react73.default.createElement(
560951
561264
  Box_default,
560952
561265
  { key: field, flexDirection: "column" },
560953
- import_react72.default.createElement(
561266
+ import_react73.default.createElement(
560954
561267
  Text,
560955
561268
  { color: activeColor },
560956
561269
  activeIndicator,
560957
561270
  t.configScreen.baseUrlMode
560958
561271
  ),
560959
- !isCurrentlyEditing && import_react72.default.createElement(
561272
+ !isCurrentlyEditing && import_react73.default.createElement(
560960
561273
  Box_default,
560961
561274
  { marginLeft: 3 },
560962
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, baseUrlMode === "base" ? t.configScreen.baseUrlModeBase : baseUrlMode === "endpoint" ? t.configScreen.baseUrlModeEndpoint : t.configScreen.baseUrlModeAuto)
561275
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, baseUrlMode === "base" ? t.configScreen.baseUrlModeBase : baseUrlMode === "endpoint" ? t.configScreen.baseUrlModeEndpoint : t.configScreen.baseUrlModeAuto)
560963
561276
  )
560964
561277
  );
560965
561278
  case "apiKey":
560966
- return import_react72.default.createElement(
561279
+ return import_react73.default.createElement(
560967
561280
  Box_default,
560968
561281
  { key: field, flexDirection: "column" },
560969
- import_react72.default.createElement(
561282
+ import_react73.default.createElement(
560970
561283
  Text,
560971
561284
  { color: activeColor },
560972
561285
  activeIndicator,
560973
561286
  t.configScreen.apiKey
560974
561287
  ),
560975
- isCurrentlyEditing && import_react72.default.createElement(
561288
+ isCurrentlyEditing && import_react73.default.createElement(
560976
561289
  Box_default,
560977
561290
  { marginLeft: 3 },
560978
- import_react72.default.createElement(build_default2, { value: apiKey, onChange: (value) => setApiKey(stripFocusArtifacts(value)), placeholder: "sk-...", mask: "*" })
561291
+ import_react73.default.createElement(build_default2, { value: apiKey, onChange: (value) => setApiKey(stripFocusArtifacts(value)), placeholder: "sk-...", mask: "*" })
560979
561292
  ),
560980
- !isCurrentlyEditing && import_react72.default.createElement(
561293
+ !isCurrentlyEditing && import_react73.default.createElement(
560981
561294
  Box_default,
560982
561295
  { marginLeft: 3 },
560983
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, apiKey ? "*".repeat(Math.min(apiKey.length, 20)) : t.configScreen.notSet)
561296
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, apiKey ? "*".repeat(Math.min(apiKey.length, 20)) : t.configScreen.notSet)
560984
561297
  )
560985
561298
  );
560986
561299
  case "requestMethod":
560987
- return import_react72.default.createElement(
561300
+ return import_react73.default.createElement(
560988
561301
  Box_default,
560989
561302
  { key: field, flexDirection: "column" },
560990
- import_react72.default.createElement(
561303
+ import_react73.default.createElement(
560991
561304
  Text,
560992
561305
  { color: activeColor },
560993
561306
  activeIndicator,
560994
561307
  t.configScreen.requestMethod
560995
561308
  ),
560996
- !isCurrentlyEditing && import_react72.default.createElement(
561309
+ !isCurrentlyEditing && import_react73.default.createElement(
560997
561310
  Box_default,
560998
561311
  { marginLeft: 3 },
560999
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_b14 = requestMethodOptions.find((opt) => opt.value === requestMethod)) == null ? void 0 : _b14.label) || t.configScreen.notSet)
561312
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_b14 = requestMethodOptions.find((opt) => opt.value === requestMethod)) == null ? void 0 : _b14.label) || t.configScreen.notSet)
561000
561313
  )
561001
561314
  );
561002
561315
  case "systemPromptId": {
@@ -561011,19 +561324,19 @@ function ConfigFieldRenderer({ field, state }) {
561011
561324
  const activeNames = activeSystemPromptIds.map((id) => getSystemPromptNameById(id)).join(", ");
561012
561325
  display = t.configScreen.followGlobal.replace("{name}", activeNames);
561013
561326
  }
561014
- return import_react72.default.createElement(
561327
+ return import_react73.default.createElement(
561015
561328
  Box_default,
561016
561329
  { key: field, flexDirection: "column" },
561017
- import_react72.default.createElement(
561330
+ import_react73.default.createElement(
561018
561331
  Text,
561019
561332
  { color: activeColor },
561020
561333
  activeIndicator,
561021
561334
  t.configScreen.systemPrompt
561022
561335
  ),
561023
- !isCurrentlyEditing && import_react72.default.createElement(
561336
+ !isCurrentlyEditing && import_react73.default.createElement(
561024
561337
  Box_default,
561025
561338
  { marginLeft: 3 },
561026
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, display || t.configScreen.notSet)
561339
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, display || t.configScreen.notSet)
561027
561340
  )
561028
561341
  );
561029
561342
  }
@@ -561036,36 +561349,36 @@ function ConfigFieldRenderer({ field, state }) {
561036
561349
  } else if (activeCustomHeadersSchemeId) {
561037
561350
  display = t.configScreen.followGlobal.replace("{name}", getCustomHeadersSchemeNameById(activeCustomHeadersSchemeId));
561038
561351
  }
561039
- return import_react72.default.createElement(
561352
+ return import_react73.default.createElement(
561040
561353
  Box_default,
561041
561354
  { key: field, flexDirection: "column" },
561042
- import_react72.default.createElement(
561355
+ import_react73.default.createElement(
561043
561356
  Text,
561044
561357
  { color: activeColor },
561045
561358
  activeIndicator,
561046
561359
  t.configScreen.customHeadersField
561047
561360
  ),
561048
- !isCurrentlyEditing && import_react72.default.createElement(
561361
+ !isCurrentlyEditing && import_react73.default.createElement(
561049
561362
  Box_default,
561050
561363
  { marginLeft: 3 },
561051
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, display || t.configScreen.notSet)
561364
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, display || t.configScreen.notSet)
561052
561365
  )
561053
561366
  );
561054
561367
  }
561055
561368
  case "anthropicBeta":
561056
- return import_react72.default.createElement(
561369
+ return import_react73.default.createElement(
561057
561370
  Box_default,
561058
561371
  { key: field, flexDirection: "column" },
561059
- import_react72.default.createElement(
561372
+ import_react73.default.createElement(
561060
561373
  Text,
561061
561374
  { color: activeColor },
561062
561375
  activeIndicator,
561063
561376
  t.configScreen.anthropicBeta
561064
561377
  ),
561065
- import_react72.default.createElement(
561378
+ import_react73.default.createElement(
561066
561379
  Box_default,
561067
561380
  { marginLeft: 3 },
561068
- import_react72.default.createElement(
561381
+ import_react73.default.createElement(
561069
561382
  Text,
561070
561383
  { color: theme14.colors.menuSecondary },
561071
561384
  anthropicBeta ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561075,29 +561388,29 @@ function ConfigFieldRenderer({ field, state }) {
561075
561388
  )
561076
561389
  );
561077
561390
  case "anthropicCacheTTL":
561078
- return import_react72.default.createElement(
561391
+ return import_react73.default.createElement(
561079
561392
  Box_default,
561080
561393
  { key: field, flexDirection: "column" },
561081
- import_react72.default.createElement(
561394
+ import_react73.default.createElement(
561082
561395
  Text,
561083
561396
  { color: activeColor },
561084
561397
  activeIndicator,
561085
561398
  t.configScreen.anthropicCacheTTL
561086
561399
  ),
561087
- isEditing && isActive ? import_react72.default.createElement(
561400
+ isEditing && isActive ? import_react73.default.createElement(
561088
561401
  Box_default,
561089
561402
  { marginLeft: 3 },
561090
- import_react72.default.createElement(ScrollableSelectInput, { items: [
561403
+ import_react73.default.createElement(ScrollableSelectInput, { items: [
561091
561404
  { label: t.configScreen.anthropicCacheTTL5m, value: "5m" },
561092
561405
  { label: t.configScreen.anthropicCacheTTL1h, value: "1h" }
561093
561406
  ], initialIndex: anthropicCacheTTL === "5m" ? 0 : 1, isFocused: true, onSelect: (item) => {
561094
561407
  setAnthropicCacheTTL(item.value);
561095
561408
  state.setIsEditing(false);
561096
561409
  } })
561097
- ) : import_react72.default.createElement(
561410
+ ) : import_react73.default.createElement(
561098
561411
  Box_default,
561099
561412
  { marginLeft: 3 },
561100
- import_react72.default.createElement(
561413
+ import_react73.default.createElement(
561101
561414
  Text,
561102
561415
  { color: theme14.colors.menuSecondary },
561103
561416
  anthropicCacheTTL === "5m" ? t.configScreen.anthropicCacheTTL5m : t.configScreen.anthropicCacheTTL1h,
@@ -561107,19 +561420,19 @@ function ConfigFieldRenderer({ field, state }) {
561107
561420
  )
561108
561421
  );
561109
561422
  case "anthropicSpeed":
561110
- return import_react72.default.createElement(
561423
+ return import_react73.default.createElement(
561111
561424
  Box_default,
561112
561425
  { key: field, flexDirection: "column" },
561113
- import_react72.default.createElement(
561426
+ import_react73.default.createElement(
561114
561427
  Text,
561115
561428
  { color: activeColor },
561116
561429
  activeIndicator,
561117
561430
  t.configScreen.anthropicSpeed
561118
561431
  ),
561119
- isEditing && isActive ? import_react72.default.createElement(
561432
+ isEditing && isActive ? import_react73.default.createElement(
561120
561433
  Box_default,
561121
561434
  { marginLeft: 3 },
561122
- import_react72.default.createElement(ScrollableSelectInput, { items: [
561435
+ import_react73.default.createElement(ScrollableSelectInput, { items: [
561123
561436
  {
561124
561437
  label: t.configScreen.anthropicSpeedNotUsed,
561125
561438
  value: "__NONE__"
@@ -561133,26 +561446,26 @@ function ConfigFieldRenderer({ field, state }) {
561133
561446
  setAnthropicSpeed(item.value === "__NONE__" ? void 0 : item.value);
561134
561447
  state.setIsEditing(false);
561135
561448
  } })
561136
- ) : import_react72.default.createElement(
561449
+ ) : import_react73.default.createElement(
561137
561450
  Box_default,
561138
561451
  { marginLeft: 3 },
561139
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, anthropicSpeed === "fast" ? t.configScreen.anthropicSpeedFast : anthropicSpeed === "standard" ? t.configScreen.anthropicSpeedStandard : t.configScreen.anthropicSpeedNotUsed)
561452
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, anthropicSpeed === "fast" ? t.configScreen.anthropicSpeedFast : anthropicSpeed === "standard" ? t.configScreen.anthropicSpeedStandard : t.configScreen.anthropicSpeedNotUsed)
561140
561453
  )
561141
561454
  );
561142
561455
  case "enableAutoCompress":
561143
- return import_react72.default.createElement(
561456
+ return import_react73.default.createElement(
561144
561457
  Box_default,
561145
561458
  { key: field, flexDirection: "column" },
561146
- import_react72.default.createElement(
561459
+ import_react73.default.createElement(
561147
561460
  Text,
561148
561461
  { color: activeColor },
561149
561462
  activeIndicator,
561150
561463
  t.configScreen.enableAutoCompress
561151
561464
  ),
561152
- import_react72.default.createElement(
561465
+ import_react73.default.createElement(
561153
561466
  Box_default,
561154
561467
  { marginLeft: 3 },
561155
- import_react72.default.createElement(
561468
+ import_react73.default.createElement(
561156
561469
  Text,
561157
561470
  { color: theme14.colors.menuSecondary },
561158
561471
  enableAutoCompress ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561164,19 +561477,19 @@ function ConfigFieldRenderer({ field, state }) {
561164
561477
  case "autoCompressThreshold":
561165
561478
  {
561166
561479
  const actualThreshold = Math.floor(maxContextTokens * autoCompressThreshold / 100);
561167
- return import_react72.default.createElement(
561480
+ return import_react73.default.createElement(
561168
561481
  Box_default,
561169
561482
  { key: field, flexDirection: "column" },
561170
- import_react72.default.createElement(
561483
+ import_react73.default.createElement(
561171
561484
  Text,
561172
561485
  { color: activeColor },
561173
561486
  activeIndicator,
561174
561487
  t.configScreen.autoCompressThreshold
561175
561488
  ),
561176
- isCurrentlyEditing && import_react72.default.createElement(
561489
+ isCurrentlyEditing && import_react73.default.createElement(
561177
561490
  Box_default,
561178
561491
  { marginLeft: 3 },
561179
- import_react72.default.createElement(
561492
+ import_react73.default.createElement(
561180
561493
  Text,
561181
561494
  { color: theme14.colors.menuInfo },
561182
561495
  t.configScreen.enterValue,
@@ -561184,12 +561497,12 @@ function ConfigFieldRenderer({ field, state }) {
561184
561497
  autoCompressThreshold,
561185
561498
  "%"
561186
561499
  ),
561187
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, (_c6 = t.configScreen.autoCompressThresholdHint) == null ? void 0 : _c6.replace("{percentage}", autoCompressThreshold.toString()).replace("{maxContext}", maxContextTokens.toString()).replace("{actualThreshold}", actualThreshold.toLocaleString()))
561500
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, (_c6 = t.configScreen.autoCompressThresholdHint) == null ? void 0 : _c6.replace("{percentage}", autoCompressThreshold.toString()).replace("{maxContext}", maxContextTokens.toString()).replace("{actualThreshold}", actualThreshold.toLocaleString()))
561188
561501
  ),
561189
- !isCurrentlyEditing && import_react72.default.createElement(
561502
+ !isCurrentlyEditing && import_react73.default.createElement(
561190
561503
  Box_default,
561191
561504
  { marginLeft: 3, flexDirection: "column" },
561192
- import_react72.default.createElement(
561505
+ import_react73.default.createElement(
561193
561506
  Text,
561194
561507
  { color: theme14.colors.menuSecondary },
561195
561508
  autoCompressThreshold,
@@ -561198,23 +561511,23 @@ function ConfigFieldRenderer({ field, state }) {
561198
561511
  " ",
561199
561512
  "tokens"
561200
561513
  ),
561201
- isActive && import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.autoCompressThresholdDesc)
561514
+ isActive && import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.autoCompressThresholdDesc)
561202
561515
  )
561203
561516
  );
561204
561517
  }
561205
- return import_react72.default.createElement(
561518
+ return import_react73.default.createElement(
561206
561519
  Box_default,
561207
561520
  { key: field, flexDirection: "column" },
561208
- import_react72.default.createElement(
561521
+ import_react73.default.createElement(
561209
561522
  Text,
561210
561523
  { color: activeColor },
561211
561524
  activeIndicator,
561212
561525
  t.configScreen.autoCompressThreshold
561213
561526
  ),
561214
- isCurrentlyEditing && import_react72.default.createElement(
561527
+ isCurrentlyEditing && import_react73.default.createElement(
561215
561528
  Box_default,
561216
561529
  { marginLeft: 3 },
561217
- import_react72.default.createElement(
561530
+ import_react73.default.createElement(
561218
561531
  Text,
561219
561532
  { color: theme14.colors.menuInfo },
561220
561533
  t.configScreen.enterValue,
@@ -561222,26 +561535,26 @@ function ConfigFieldRenderer({ field, state }) {
561222
561535
  autoCompressThreshold
561223
561536
  )
561224
561537
  ),
561225
- !isCurrentlyEditing && import_react72.default.createElement(
561538
+ !isCurrentlyEditing && import_react73.default.createElement(
561226
561539
  Box_default,
561227
561540
  { marginLeft: 3 },
561228
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, autoCompressThreshold)
561541
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, autoCompressThreshold)
561229
561542
  )
561230
561543
  );
561231
561544
  case "showThinking":
561232
- return import_react72.default.createElement(
561545
+ return import_react73.default.createElement(
561233
561546
  Box_default,
561234
561547
  { key: field, flexDirection: "column" },
561235
- import_react72.default.createElement(
561548
+ import_react73.default.createElement(
561236
561549
  Text,
561237
561550
  { color: activeColor },
561238
561551
  activeIndicator,
561239
561552
  t.configScreen.showThinking
561240
561553
  ),
561241
- import_react72.default.createElement(
561554
+ import_react73.default.createElement(
561242
561555
  Box_default,
561243
561556
  { marginLeft: 3 },
561244
- import_react72.default.createElement(
561557
+ import_react73.default.createElement(
561245
561558
  Text,
561246
561559
  { color: theme14.colors.menuSecondary },
561247
561560
  showThinking ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561251,19 +561564,19 @@ function ConfigFieldRenderer({ field, state }) {
561251
561564
  )
561252
561565
  );
561253
561566
  case "streamingDisplay":
561254
- return import_react72.default.createElement(
561567
+ return import_react73.default.createElement(
561255
561568
  Box_default,
561256
561569
  { key: field, flexDirection: "column" },
561257
- import_react72.default.createElement(
561570
+ import_react73.default.createElement(
561258
561571
  Text,
561259
561572
  { color: activeColor },
561260
561573
  activeIndicator,
561261
561574
  t.configScreen.streamingDisplay
561262
561575
  ),
561263
- import_react72.default.createElement(
561576
+ import_react73.default.createElement(
561264
561577
  Box_default,
561265
561578
  { marginLeft: 3 },
561266
- import_react72.default.createElement(
561579
+ import_react73.default.createElement(
561267
561580
  Text,
561268
561581
  { color: theme14.colors.menuSecondary },
561269
561582
  streamingDisplay ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561273,19 +561586,19 @@ function ConfigFieldRenderer({ field, state }) {
561273
561586
  )
561274
561587
  );
561275
561588
  case "thinkingEnabled":
561276
- return import_react72.default.createElement(
561589
+ return import_react73.default.createElement(
561277
561590
  Box_default,
561278
561591
  { key: field, flexDirection: "column" },
561279
- import_react72.default.createElement(
561592
+ import_react73.default.createElement(
561280
561593
  Text,
561281
561594
  { color: activeColor },
561282
561595
  activeIndicator,
561283
561596
  t.configScreen.thinkingEnabled
561284
561597
  ),
561285
- import_react72.default.createElement(
561598
+ import_react73.default.createElement(
561286
561599
  Box_default,
561287
561600
  { marginLeft: 3 },
561288
- import_react72.default.createElement(
561601
+ import_react73.default.createElement(
561289
561602
  Text,
561290
561603
  { color: theme14.colors.menuSecondary },
561291
561604
  thinkingEnabled ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561295,37 +561608,37 @@ function ConfigFieldRenderer({ field, state }) {
561295
561608
  )
561296
561609
  );
561297
561610
  case "thinkingMode":
561298
- return import_react72.default.createElement(
561611
+ return import_react73.default.createElement(
561299
561612
  Box_default,
561300
561613
  { key: field, flexDirection: "column" },
561301
- import_react72.default.createElement(
561614
+ import_react73.default.createElement(
561302
561615
  Text,
561303
561616
  { color: activeColor },
561304
561617
  activeIndicator,
561305
561618
  t.configScreen.thinkingMode
561306
561619
  ),
561307
- import_react72.default.createElement(
561620
+ import_react73.default.createElement(
561308
561621
  Box_default,
561309
561622
  { marginLeft: 3 },
561310
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingMode === "tokens" ? t.configScreen.thinkingModeTokens : t.configScreen.thinkingModeAdaptive)
561623
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingMode === "tokens" ? t.configScreen.thinkingModeTokens : t.configScreen.thinkingModeAdaptive)
561311
561624
  )
561312
561625
  );
561313
561626
  case "thinkingBudgetTokens":
561314
561627
  if (thinkingMode !== "tokens")
561315
561628
  return null;
561316
- return import_react72.default.createElement(
561629
+ return import_react73.default.createElement(
561317
561630
  Box_default,
561318
561631
  { key: field, flexDirection: "column" },
561319
- import_react72.default.createElement(
561632
+ import_react73.default.createElement(
561320
561633
  Text,
561321
561634
  { color: activeColor },
561322
561635
  activeIndicator,
561323
561636
  t.configScreen.thinkingBudgetTokens
561324
561637
  ),
561325
- isCurrentlyEditing && import_react72.default.createElement(
561638
+ isCurrentlyEditing && import_react73.default.createElement(
561326
561639
  Box_default,
561327
561640
  { marginLeft: 3 },
561328
- import_react72.default.createElement(
561641
+ import_react73.default.createElement(
561329
561642
  Text,
561330
561643
  { color: theme14.colors.menuInfo },
561331
561644
  t.configScreen.enterValue,
@@ -561333,44 +561646,44 @@ function ConfigFieldRenderer({ field, state }) {
561333
561646
  thinkingBudgetTokens
561334
561647
  )
561335
561648
  ),
561336
- !isCurrentlyEditing && import_react72.default.createElement(
561649
+ !isCurrentlyEditing && import_react73.default.createElement(
561337
561650
  Box_default,
561338
561651
  { marginLeft: 3 },
561339
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingBudgetTokens)
561652
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingBudgetTokens)
561340
561653
  )
561341
561654
  );
561342
561655
  case "thinkingEffort":
561343
561656
  if (thinkingMode !== "adaptive")
561344
561657
  return null;
561345
- return import_react72.default.createElement(
561658
+ return import_react73.default.createElement(
561346
561659
  Box_default,
561347
561660
  { key: field, flexDirection: "column" },
561348
- import_react72.default.createElement(
561661
+ import_react73.default.createElement(
561349
561662
  Text,
561350
561663
  { color: activeColor },
561351
561664
  activeIndicator,
561352
561665
  t.configScreen.thinkingEffort
561353
561666
  ),
561354
- import_react72.default.createElement(
561667
+ import_react73.default.createElement(
561355
561668
  Box_default,
561356
561669
  { marginLeft: 3 },
561357
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingEffort)
561670
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, thinkingEffort)
561358
561671
  )
561359
561672
  );
561360
561673
  case "geminiThinkingEnabled":
561361
- return import_react72.default.createElement(
561674
+ return import_react73.default.createElement(
561362
561675
  Box_default,
561363
561676
  { key: field, flexDirection: "column" },
561364
- import_react72.default.createElement(
561677
+ import_react73.default.createElement(
561365
561678
  Text,
561366
561679
  { color: activeColor },
561367
561680
  activeIndicator,
561368
561681
  t.configScreen.geminiThinkingEnabled
561369
561682
  ),
561370
- import_react72.default.createElement(
561683
+ import_react73.default.createElement(
561371
561684
  Box_default,
561372
561685
  { marginLeft: 3 },
561373
- import_react72.default.createElement(
561686
+ import_react73.default.createElement(
561374
561687
  Text,
561375
561688
  { color: theme14.colors.menuSecondary },
561376
561689
  geminiThinkingEnabled ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561380,19 +561693,19 @@ function ConfigFieldRenderer({ field, state }) {
561380
561693
  )
561381
561694
  );
561382
561695
  case "geminiThinkingLevel":
561383
- return import_react72.default.createElement(
561696
+ return import_react73.default.createElement(
561384
561697
  Box_default,
561385
561698
  { key: field, flexDirection: "column" },
561386
- import_react72.default.createElement(
561699
+ import_react73.default.createElement(
561387
561700
  Text,
561388
561701
  { color: activeColor },
561389
561702
  activeIndicator,
561390
561703
  t.configScreen.geminiThinkingLevel
561391
561704
  ),
561392
- isCurrentlyEditing && import_react72.default.createElement(
561705
+ isCurrentlyEditing && import_react73.default.createElement(
561393
561706
  Box_default,
561394
561707
  { marginLeft: 3 },
561395
- import_react72.default.createElement(Select, { options: [
561708
+ import_react73.default.createElement(Select, { options: [
561396
561709
  { label: "MINIMAL", value: "minimal" },
561397
561710
  { label: "LOW", value: "low" },
561398
561711
  { label: "MEDIUM", value: "medium" },
@@ -561402,26 +561715,26 @@ function ConfigFieldRenderer({ field, state }) {
561402
561715
  state.setIsEditing(false);
561403
561716
  } })
561404
561717
  ),
561405
- !isCurrentlyEditing && import_react72.default.createElement(
561718
+ !isCurrentlyEditing && import_react73.default.createElement(
561406
561719
  Box_default,
561407
561720
  { marginLeft: 3 },
561408
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, geminiThinkingLevel.toUpperCase())
561721
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, geminiThinkingLevel.toUpperCase())
561409
561722
  )
561410
561723
  );
561411
561724
  case "responsesReasoningEnabled":
561412
- return import_react72.default.createElement(
561725
+ return import_react73.default.createElement(
561413
561726
  Box_default,
561414
561727
  { key: field, flexDirection: "column" },
561415
- import_react72.default.createElement(
561728
+ import_react73.default.createElement(
561416
561729
  Text,
561417
561730
  { color: activeColor },
561418
561731
  activeIndicator,
561419
561732
  t.configScreen.responsesReasoningEnabled
561420
561733
  ),
561421
- import_react72.default.createElement(
561734
+ import_react73.default.createElement(
561422
561735
  Box_default,
561423
561736
  { marginLeft: 3 },
561424
- import_react72.default.createElement(
561737
+ import_react73.default.createElement(
561425
561738
  Text,
561426
561739
  { color: theme14.colors.menuSecondary },
561427
561740
  responsesReasoningEnabled ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561431,24 +561744,24 @@ function ConfigFieldRenderer({ field, state }) {
561431
561744
  )
561432
561745
  );
561433
561746
  case "responsesReasoningEffort":
561434
- return import_react72.default.createElement(
561747
+ return import_react73.default.createElement(
561435
561748
  Box_default,
561436
561749
  { key: field, flexDirection: "column" },
561437
- import_react72.default.createElement(
561750
+ import_react73.default.createElement(
561438
561751
  Text,
561439
561752
  { color: activeColor },
561440
561753
  activeIndicator,
561441
561754
  t.configScreen.responsesReasoningEffort
561442
561755
  ),
561443
- !isCurrentlyEditing && import_react72.default.createElement(
561756
+ !isCurrentlyEditing && import_react73.default.createElement(
561444
561757
  Box_default,
561445
561758
  { marginLeft: 3 },
561446
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, responsesReasoningEffort.toUpperCase())
561759
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, responsesReasoningEffort.toUpperCase())
561447
561760
  ),
561448
- isCurrentlyEditing && import_react72.default.createElement(
561761
+ isCurrentlyEditing && import_react73.default.createElement(
561449
561762
  Box_default,
561450
561763
  { marginLeft: 3 },
561451
- import_react72.default.createElement(Select, { options: [
561764
+ import_react73.default.createElement(Select, { options: [
561452
561765
  { label: "NONE", value: "none" },
561453
561766
  { label: "LOW", value: "low" },
561454
561767
  { label: "MEDIUM", value: "medium" },
@@ -561460,25 +561773,49 @@ function ConfigFieldRenderer({ field, state }) {
561460
561773
  } })
561461
561774
  )
561462
561775
  );
561776
+ case "responsesReasoningMode":
561777
+ return import_react73.default.createElement(
561778
+ Box_default,
561779
+ { key: field, flexDirection: "column" },
561780
+ import_react73.default.createElement(
561781
+ Text,
561782
+ { color: activeColor },
561783
+ activeIndicator,
561784
+ t.configScreen.responsesReasoningMode
561785
+ ),
561786
+ !isCurrentlyEditing && import_react73.default.createElement(
561787
+ Box_default,
561788
+ { marginLeft: 3 },
561789
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, responsesReasoningMode ?? t.configScreen.responsesReasoningModeNone)
561790
+ ),
561791
+ isCurrentlyEditing && import_react73.default.createElement(
561792
+ Box_default,
561793
+ { marginLeft: 3 },
561794
+ import_react73.default.createElement(ResponsesReasoningModeSelect, { value: responsesReasoningMode, noneLabel: t.configScreen.responsesReasoningModeNone, onChange: (value) => {
561795
+ setResponsesReasoningMode(value);
561796
+ state.setIsEditing(false);
561797
+ } })
561798
+ )
561799
+ );
561463
561800
  case "responsesVerbosity":
561464
- return import_react72.default.createElement(
561801
+ return import_react73.default.createElement(
561465
561802
  Box_default,
561466
561803
  { key: field, flexDirection: "column" },
561467
- import_react72.default.createElement(
561804
+ import_react73.default.createElement(
561468
561805
  Text,
561469
561806
  { color: activeColor },
561470
561807
  activeIndicator,
561471
561808
  t.configScreen.responsesVerbosity
561472
561809
  ),
561473
- !isCurrentlyEditing && import_react72.default.createElement(
561810
+ !isCurrentlyEditing && import_react73.default.createElement(
561474
561811
  Box_default,
561475
561812
  { marginLeft: 3 },
561476
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, responsesVerbosity.toUpperCase())
561813
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, responsesVerbosity.toUpperCase())
561477
561814
  ),
561478
- isCurrentlyEditing && import_react72.default.createElement(
561815
+ isCurrentlyEditing && import_react73.default.createElement(
561479
561816
  Box_default,
561480
561817
  { marginLeft: 3 },
561481
- import_react72.default.createElement(Select, { options: [
561818
+ import_react73.default.createElement(Select, { options: [
561482
561819
  { label: "LOW", value: "low" },
561483
561820
  { label: "MEDIUM", value: "medium" },
561484
561821
  { label: "HIGH", value: "high" }
@@ -561489,19 +561826,19 @@ function ConfigFieldRenderer({ field, state }) {
561489
561826
  )
561490
561827
  );
561491
561828
  case "responsesFastMode":
561492
- return import_react72.default.createElement(
561829
+ return import_react73.default.createElement(
561493
561830
  Box_default,
561494
561831
  { key: field, flexDirection: "column" },
561495
- import_react72.default.createElement(
561832
+ import_react73.default.createElement(
561496
561833
  Text,
561497
561834
  { color: activeColor },
561498
561835
  activeIndicator,
561499
561836
  t.configScreen.responsesFastMode
561500
561837
  ),
561501
- import_react72.default.createElement(
561838
+ import_react73.default.createElement(
561502
561839
  Box_default,
561503
561840
  { marginLeft: 3 },
561504
- import_react72.default.createElement(
561841
+ import_react73.default.createElement(
561505
561842
  Text,
561506
561843
  { color: theme14.colors.menuSecondary },
561507
561844
  responsesFastMode ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561511,19 +561848,19 @@ function ConfigFieldRenderer({ field, state }) {
561511
561848
  )
561512
561849
  );
561513
561850
  case "chatThinkingEnabled":
561514
- return import_react72.default.createElement(
561851
+ return import_react73.default.createElement(
561515
561852
  Box_default,
561516
561853
  { key: field, flexDirection: "column" },
561517
- import_react72.default.createElement(
561854
+ import_react73.default.createElement(
561518
561855
  Text,
561519
561856
  { color: activeColor },
561520
561857
  activeIndicator,
561521
561858
  t.configScreen.chatThinkingEnabled
561522
561859
  ),
561523
- import_react72.default.createElement(
561860
+ import_react73.default.createElement(
561524
561861
  Box_default,
561525
561862
  { marginLeft: 3 },
561526
- import_react72.default.createElement(
561863
+ import_react73.default.createElement(
561527
561864
  Text,
561528
561865
  { color: theme14.colors.menuSecondary },
561529
561866
  chatThinkingEnabled ? t.configScreen.enabled : t.configScreen.disabled,
@@ -561533,67 +561870,67 @@ function ConfigFieldRenderer({ field, state }) {
561533
561870
  )
561534
561871
  );
561535
561872
  case "chatReasoningEffort":
561536
- return import_react72.default.createElement(
561873
+ return import_react73.default.createElement(
561537
561874
  Box_default,
561538
561875
  { key: field, flexDirection: "column" },
561539
- import_react72.default.createElement(
561876
+ import_react73.default.createElement(
561540
561877
  Text,
561541
561878
  { color: activeColor },
561542
561879
  activeIndicator,
561543
561880
  t.configScreen.chatReasoningEffort
561544
561881
  ),
561545
- !isCurrentlyEditing && import_react72.default.createElement(
561882
+ !isCurrentlyEditing && import_react73.default.createElement(
561546
561883
  Box_default,
561547
561884
  { marginLeft: 3 },
561548
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, chatReasoningEffort.toUpperCase())
561885
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, chatReasoningEffort.toUpperCase())
561549
561886
  )
561550
561887
  );
561551
561888
  case "advancedModel":
561552
- return import_react72.default.createElement(
561889
+ return import_react73.default.createElement(
561553
561890
  Box_default,
561554
561891
  { key: field, flexDirection: "column" },
561555
- import_react72.default.createElement(
561892
+ import_react73.default.createElement(
561556
561893
  Text,
561557
561894
  { color: activeColor },
561558
561895
  activeIndicator,
561559
561896
  t.configScreen.advancedModel
561560
561897
  ),
561561
- !isCurrentlyEditing && import_react72.default.createElement(
561898
+ !isCurrentlyEditing && import_react73.default.createElement(
561562
561899
  Box_default,
561563
561900
  { marginLeft: 3 },
561564
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, advancedModel || t.configScreen.notSet)
561901
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, advancedModel || t.configScreen.notSet)
561565
561902
  )
561566
561903
  );
561567
561904
  case "basicModel":
561568
- return import_react72.default.createElement(
561905
+ return import_react73.default.createElement(
561569
561906
  Box_default,
561570
561907
  { key: field, flexDirection: "column" },
561571
- import_react72.default.createElement(
561908
+ import_react73.default.createElement(
561572
561909
  Text,
561573
561910
  { color: activeColor },
561574
561911
  activeIndicator,
561575
561912
  t.configScreen.basicModel
561576
561913
  ),
561577
- !isCurrentlyEditing && import_react72.default.createElement(
561914
+ !isCurrentlyEditing && import_react73.default.createElement(
561578
561915
  Box_default,
561579
561916
  { marginLeft: 3 },
561580
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, basicModel || t.configScreen.notSet)
561917
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, basicModel || t.configScreen.notSet)
561581
561918
  )
561582
561919
  );
561583
561920
  case "supportsVision":
561584
- return import_react72.default.createElement(
561921
+ return import_react73.default.createElement(
561585
561922
  Box_default,
561586
561923
  { key: field, flexDirection: "column" },
561587
- import_react72.default.createElement(
561924
+ import_react73.default.createElement(
561588
561925
  Text,
561589
561926
  { color: activeColor },
561590
561927
  activeIndicator,
561591
561928
  t.configScreen.supportsVision
561592
561929
  ),
561593
- import_react72.default.createElement(
561930
+ import_react73.default.createElement(
561594
561931
  Box_default,
561595
561932
  { marginLeft: 3 },
561596
- import_react72.default.createElement(
561933
+ import_react73.default.createElement(
561597
561934
  Text,
561598
561935
  { color: theme14.colors.menuSecondary },
561599
561936
  supportsVision ? t.configScreen.supportsVisionYes : t.configScreen.supportsVisionNo,
@@ -561603,110 +561940,110 @@ function ConfigFieldRenderer({ field, state }) {
561603
561940
  )
561604
561941
  );
561605
561942
  case "visionConfig":
561606
- return import_react72.default.createElement(
561943
+ return import_react73.default.createElement(
561607
561944
  Box_default,
561608
561945
  { key: field, flexDirection: "column" },
561609
- import_react72.default.createElement(
561946
+ import_react73.default.createElement(
561610
561947
  Text,
561611
561948
  { color: activeColor },
561612
561949
  activeIndicator,
561613
561950
  t.configScreen.visionConfig
561614
561951
  ),
561615
- import_react72.default.createElement(
561952
+ import_react73.default.createElement(
561616
561953
  Box_default,
561617
561954
  { marginLeft: 3, flexDirection: "column" },
561618
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, t.configScreen.visionConfigSubtitle),
561619
- isActive && import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.visionConfigOpenHint)
561955
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, t.configScreen.visionConfigSubtitle),
561956
+ isActive && import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.visionConfigOpenHint)
561620
561957
  )
561621
561958
  );
561622
561959
  case "visionBaseUrl":
561623
- return import_react72.default.createElement(
561960
+ return import_react73.default.createElement(
561624
561961
  Box_default,
561625
561962
  { key: field, flexDirection: "column" },
561626
- import_react72.default.createElement(
561963
+ import_react73.default.createElement(
561627
561964
  Text,
561628
561965
  { color: activeColor },
561629
561966
  activeIndicator,
561630
561967
  t.configScreen.visionBaseUrl
561631
561968
  ),
561632
- isCurrentlyEditing && import_react72.default.createElement(
561969
+ isCurrentlyEditing && import_react73.default.createElement(
561633
561970
  Box_default,
561634
561971
  { marginLeft: 3 },
561635
- import_react72.default.createElement(build_default2, { value: visionBaseUrl, onChange: (value) => setVisionBaseUrl(stripFocusArtifacts(value)), placeholder: "https://api.openai.com/v1" })
561972
+ import_react73.default.createElement(build_default2, { value: visionBaseUrl, onChange: (value) => setVisionBaseUrl(stripFocusArtifacts(value)), placeholder: "https://api.openai.com/v1" })
561636
561973
  ),
561637
- !isCurrentlyEditing && import_react72.default.createElement(
561974
+ !isCurrentlyEditing && import_react73.default.createElement(
561638
561975
  Box_default,
561639
561976
  { marginLeft: 3 },
561640
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionBaseUrl || t.configScreen.notSet)
561977
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionBaseUrl || t.configScreen.notSet)
561641
561978
  )
561642
561979
  );
561643
561980
  case "visionBaseUrlMode":
561644
- return import_react72.default.createElement(
561981
+ return import_react73.default.createElement(
561645
561982
  Box_default,
561646
561983
  { key: field, flexDirection: "column" },
561647
- import_react72.default.createElement(
561984
+ import_react73.default.createElement(
561648
561985
  Text,
561649
561986
  { color: activeColor },
561650
561987
  activeIndicator,
561651
561988
  t.configScreen.visionBaseUrlMode
561652
561989
  ),
561653
- !isCurrentlyEditing && import_react72.default.createElement(
561990
+ !isCurrentlyEditing && import_react73.default.createElement(
561654
561991
  Box_default,
561655
561992
  { marginLeft: 3 },
561656
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionBaseUrlMode === "base" ? t.configScreen.baseUrlModeBase : visionBaseUrlMode === "endpoint" ? t.configScreen.baseUrlModeEndpoint : t.configScreen.baseUrlModeAuto)
561993
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionBaseUrlMode === "base" ? t.configScreen.baseUrlModeBase : visionBaseUrlMode === "endpoint" ? t.configScreen.baseUrlModeEndpoint : t.configScreen.baseUrlModeAuto)
561657
561994
  )
561658
561995
  );
561659
561996
  case "visionApiKey":
561660
- return import_react72.default.createElement(
561997
+ return import_react73.default.createElement(
561661
561998
  Box_default,
561662
561999
  { key: field, flexDirection: "column" },
561663
- import_react72.default.createElement(
562000
+ import_react73.default.createElement(
561664
562001
  Text,
561665
562002
  { color: activeColor },
561666
562003
  activeIndicator,
561667
562004
  t.configScreen.visionApiKey
561668
562005
  ),
561669
- isCurrentlyEditing && import_react72.default.createElement(
562006
+ isCurrentlyEditing && import_react73.default.createElement(
561670
562007
  Box_default,
561671
562008
  { marginLeft: 3 },
561672
- import_react72.default.createElement(build_default2, { value: visionApiKey, onChange: (value) => setVisionApiKey(stripFocusArtifacts(value)), placeholder: "sk-...", mask: "*" })
562009
+ import_react73.default.createElement(build_default2, { value: visionApiKey, onChange: (value) => setVisionApiKey(stripFocusArtifacts(value)), placeholder: "sk-...", mask: "*" })
561673
562010
  ),
561674
- !isCurrentlyEditing && import_react72.default.createElement(
562011
+ !isCurrentlyEditing && import_react73.default.createElement(
561675
562012
  Box_default,
561676
562013
  { marginLeft: 3 },
561677
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionApiKey ? "*".repeat(Math.min(visionApiKey.length, 20)) : t.configScreen.notSet)
562014
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionApiKey ? "*".repeat(Math.min(visionApiKey.length, 20)) : t.configScreen.notSet)
561678
562015
  )
561679
562016
  );
561680
562017
  case "visionRequestMethod":
561681
- return import_react72.default.createElement(
562018
+ return import_react73.default.createElement(
561682
562019
  Box_default,
561683
562020
  { key: field, flexDirection: "column" },
561684
- import_react72.default.createElement(
562021
+ import_react73.default.createElement(
561685
562022
  Text,
561686
562023
  { color: activeColor },
561687
562024
  activeIndicator,
561688
562025
  t.configScreen.visionRequestMethod
561689
562026
  ),
561690
- !isCurrentlyEditing && import_react72.default.createElement(
562027
+ !isCurrentlyEditing && import_react73.default.createElement(
561691
562028
  Box_default,
561692
562029
  { marginLeft: 3 },
561693
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_d4 = requestMethodOptions.find((opt) => opt.value === visionRequestMethod)) == null ? void 0 : _d4.label) || t.configScreen.notSet)
562030
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, ((_d4 = requestMethodOptions.find((opt) => opt.value === visionRequestMethod)) == null ? void 0 : _d4.label) || t.configScreen.notSet)
561694
562031
  )
561695
562032
  );
561696
562033
  case "visionModel":
561697
- return import_react72.default.createElement(
562034
+ return import_react73.default.createElement(
561698
562035
  Box_default,
561699
562036
  { key: field, flexDirection: "column" },
561700
- import_react72.default.createElement(
562037
+ import_react73.default.createElement(
561701
562038
  Text,
561702
562039
  { color: activeColor },
561703
562040
  activeIndicator,
561704
562041
  t.configScreen.visionModel
561705
562042
  ),
561706
- !isCurrentlyEditing && import_react72.default.createElement(
562043
+ !isCurrentlyEditing && import_react73.default.createElement(
561707
562044
  Box_default,
561708
562045
  { marginLeft: 3 },
561709
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionModel || t.configScreen.notSet)
562046
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, visionModel || t.configScreen.notSet)
561710
562047
  )
561711
562048
  );
561712
562049
  case "maxContextTokens":
@@ -561717,19 +562054,19 @@ function ConfigFieldRenderer({ field, state }) {
561717
562054
  return renderNumericField(field, t.configScreen.streamIdleTimeoutSec, streamIdleTimeoutSec);
561718
562055
  case "toolResultTokenLimit": {
561719
562056
  const actualLimit = Math.floor(maxContextTokens * toolResultTokenLimit / 100);
561720
- return import_react72.default.createElement(
562057
+ return import_react73.default.createElement(
561721
562058
  Box_default,
561722
562059
  { key: field, flexDirection: "column" },
561723
- import_react72.default.createElement(
562060
+ import_react73.default.createElement(
561724
562061
  Text,
561725
562062
  { color: activeColor },
561726
562063
  activeIndicator,
561727
562064
  t.configScreen.toolResultTokenLimit
561728
562065
  ),
561729
- isCurrentlyEditing && import_react72.default.createElement(
562066
+ isCurrentlyEditing && import_react73.default.createElement(
561730
562067
  Box_default,
561731
562068
  { marginLeft: 3 },
561732
- import_react72.default.createElement(
562069
+ import_react73.default.createElement(
561733
562070
  Text,
561734
562071
  { color: theme14.colors.menuInfo },
561735
562072
  t.configScreen.enterValue,
@@ -561737,12 +562074,12 @@ function ConfigFieldRenderer({ field, state }) {
561737
562074
  toolResultTokenLimit,
561738
562075
  "%"
561739
562076
  ),
561740
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, (_e2 = t.configScreen.toolResultTokenLimitHint) == null ? void 0 : _e2.replace("{percentage}", toolResultTokenLimit.toString()).replace("{maxContext}", maxContextTokens.toString()).replace("{actualLimit}", actualLimit.toLocaleString()))
562077
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, (_e2 = t.configScreen.toolResultTokenLimitHint) == null ? void 0 : _e2.replace("{percentage}", toolResultTokenLimit.toString()).replace("{maxContext}", maxContextTokens.toString()).replace("{actualLimit}", actualLimit.toLocaleString()))
561741
562078
  ),
561742
- !isCurrentlyEditing && import_react72.default.createElement(
562079
+ !isCurrentlyEditing && import_react73.default.createElement(
561743
562080
  Box_default,
561744
562081
  { marginLeft: 3, flexDirection: "column" },
561745
- import_react72.default.createElement(
562082
+ import_react73.default.createElement(
561746
562083
  Text,
561747
562084
  { color: theme14.colors.menuSecondary },
561748
562085
  toolResultTokenLimit,
@@ -561750,7 +562087,7 @@ function ConfigFieldRenderer({ field, state }) {
561750
562087
  actualLimit.toLocaleString(),
561751
562088
  " tokens"
561752
562089
  ),
561753
- isActive && import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.toolResultTokenLimitDesc)
562090
+ isActive && import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.toolResultTokenLimitDesc)
561754
562091
  )
561755
562092
  );
561756
562093
  }
@@ -561793,37 +562130,37 @@ function ConfigFieldRenderer({ field, state }) {
561793
562130
  return null;
561794
562131
  }
561795
562132
  const groupColor = isActive ? theme14.colors.menuSelected : theme14.colors.menuInfo;
561796
- return import_react72.default.createElement(
562133
+ return import_react73.default.createElement(
561797
562134
  Box_default,
561798
562135
  { key: groupField, flexDirection: "column" },
561799
- import_react72.default.createElement(
562136
+ import_react73.default.createElement(
561800
562137
  Text,
561801
562138
  { color: groupColor, bold: true },
561802
562139
  activeIndicator,
561803
562140
  expanded ? "\u25BC " : "\u25B6 ",
561804
562141
  label
561805
562142
  ),
561806
- import_react72.default.createElement(
562143
+ import_react73.default.createElement(
561807
562144
  Box_default,
561808
562145
  { marginLeft: 3 },
561809
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, t.configScreen.groupExpandHint)
562146
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, t.configScreen.groupExpandHint)
561810
562147
  )
561811
562148
  );
561812
562149
  }
561813
562150
  function renderNumericField(fieldKey, label, value) {
561814
- return import_react72.default.createElement(
562151
+ return import_react73.default.createElement(
561815
562152
  Box_default,
561816
562153
  { key: fieldKey, flexDirection: "column" },
561817
- import_react72.default.createElement(
562154
+ import_react73.default.createElement(
561818
562155
  Text,
561819
562156
  { color: activeColor },
561820
562157
  activeIndicator,
561821
562158
  label
561822
562159
  ),
561823
- isCurrentlyEditing && import_react72.default.createElement(
562160
+ isCurrentlyEditing && import_react73.default.createElement(
561824
562161
  Box_default,
561825
562162
  { marginLeft: 3 },
561826
- import_react72.default.createElement(
562163
+ import_react73.default.createElement(
561827
562164
  Text,
561828
562165
  { color: theme14.colors.menuInfo },
561829
562166
  t.configScreen.enterValue,
@@ -561831,30 +562168,31 @@ function ConfigFieldRenderer({ field, state }) {
561831
562168
  value
561832
562169
  )
561833
562170
  ),
561834
- !isCurrentlyEditing && import_react72.default.createElement(
562171
+ !isCurrentlyEditing && import_react73.default.createElement(
561835
562172
  Box_default,
561836
562173
  { marginLeft: 3 },
561837
- import_react72.default.createElement(Text, { color: theme14.colors.menuSecondary }, value)
562174
+ import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, value)
561838
562175
  )
561839
562176
  );
561840
562177
  }
561841
562178
  }
561842
- var import_react72;
562179
+ var import_react73;
561843
562180
  var init_ConfigFieldRenderer = __esm({
561844
562181
  async "dist/ui/pages/configScreen/ConfigFieldRenderer.js"() {
561845
562182
  "use strict";
561846
- import_react72 = __toESM(require_react(), 1);
562183
+ import_react73 = __toESM(require_react(), 1);
561847
562184
  await init_src();
561848
562185
  await init_build4();
561849
562186
  await init_build3();
561850
562187
  await init_ScrollableSelectInput();
562188
+ await init_ConfigSubViews();
561851
562189
  init_types8();
561852
562190
  }
561853
562191
  });
561854
562192
 
561855
562193
  // dist/ui/pages/configScreen/ConfigSelectPanel.js
561856
562194
  function ConfigSelectPanel({ state }) {
561857
- const { t, theme: theme14, currentField, setIsEditing, baseUrlMode, setBaseUrlMode, requestMethod, setRequestMethod, requestMethodOptions, visionBaseUrlMode, setVisionBaseUrlMode, visionRequestMethod, setVisionRequestMethod, thinkingMode, setThinkingMode, thinkingEffort, setThinkingEffort, geminiThinkingLevel, setGeminiThinkingLevel, responsesVerbosity, setResponsesVerbosity, anthropicSpeed, setAnthropicSpeed, chatReasoningEffort, setChatReasoningEffort, getCustomHeadersSchemeSelectItems, getCustomHeadersSchemeSelectedValue, applyCustomHeadersSchemeSelectValue } = state;
562195
+ const { t, theme: theme14, currentField, setIsEditing, baseUrlMode, setBaseUrlMode, requestMethod, setRequestMethod, requestMethodOptions, visionBaseUrlMode, setVisionBaseUrlMode, visionRequestMethod, setVisionRequestMethod, thinkingMode, setThinkingMode, thinkingEffort, setThinkingEffort, geminiThinkingLevel, setGeminiThinkingLevel, responsesReasoningMode, setResponsesReasoningMode, responsesVerbosity, setResponsesVerbosity, anthropicSpeed, setAnthropicSpeed, chatReasoningEffort, setChatReasoningEffort, getCustomHeadersSchemeSelectItems, getCustomHeadersSchemeSelectedValue, applyCustomHeadersSchemeSelectValue } = state;
561858
562196
  const getFieldLabel = () => {
561859
562197
  switch (currentField) {
561860
562198
  case "profile":
@@ -561881,6 +562219,8 @@ function ConfigSelectPanel({ state }) {
561881
562219
  return t.configScreen.geminiThinkingLevel.replace(":", "");
561882
562220
  case "responsesReasoningEffort":
561883
562221
  return t.configScreen.responsesReasoningEffort.replace(":", "");
562222
+ case "responsesReasoningMode":
562223
+ return t.configScreen.responsesReasoningMode.replace(":", "");
561884
562224
  case "responsesVerbosity":
561885
562225
  return t.configScreen.responsesVerbosity.replace(":", "");
561886
562226
  case "anthropicSpeed":
@@ -561895,24 +562235,24 @@ function ConfigSelectPanel({ state }) {
561895
562235
  return "";
561896
562236
  }
561897
562237
  };
561898
- return import_react73.default.createElement(
562238
+ return import_react74.default.createElement(
561899
562239
  Box_default,
561900
562240
  { flexDirection: "column" },
561901
- import_react73.default.createElement(
562241
+ import_react74.default.createElement(
561902
562242
  Text,
561903
562243
  { color: theme14.colors.menuSelected },
561904
562244
  "\u276F ",
561905
562245
  getFieldLabel()
561906
562246
  ),
561907
- import_react73.default.createElement(
562247
+ import_react74.default.createElement(
561908
562248
  Box_default,
561909
562249
  { marginLeft: 3, marginTop: 1 },
561910
- currentField === "profile" && import_react73.default.createElement(ProfileSelect, { state }),
561911
- currentField === "requestMethod" && import_react73.default.createElement(ScrollableSelectInput, { items: requestMethodOptions, initialIndex: requestMethodOptions.findIndex((opt) => opt.value === requestMethod), isFocused: true, onSelect: (item) => {
562250
+ currentField === "profile" && import_react74.default.createElement(ProfileSelect, { state }),
562251
+ currentField === "requestMethod" && import_react74.default.createElement(ScrollableSelectInput, { items: requestMethodOptions, initialIndex: requestMethodOptions.findIndex((opt) => opt.value === requestMethod), isFocused: true, onSelect: (item) => {
561912
562252
  setRequestMethod(item.value);
561913
562253
  setIsEditing(false);
561914
562254
  } }),
561915
- currentField === "baseUrlMode" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562255
+ currentField === "baseUrlMode" && import_react74.default.createElement(ScrollableSelectInput, { items: [
561916
562256
  { label: t.configScreen.baseUrlModeAuto, value: "auto" },
561917
562257
  { label: t.configScreen.baseUrlModeBase, value: "base" },
561918
562258
  {
@@ -561923,7 +562263,7 @@ function ConfigSelectPanel({ state }) {
561923
562263
  setBaseUrlMode(item.value);
561924
562264
  setIsEditing(false);
561925
562265
  } }),
561926
- currentField === "visionBaseUrlMode" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562266
+ currentField === "visionBaseUrlMode" && import_react74.default.createElement(ScrollableSelectInput, { items: [
561927
562267
  { label: t.configScreen.baseUrlModeAuto, value: "auto" },
561928
562268
  { label: t.configScreen.baseUrlModeBase, value: "base" },
561929
562269
  {
@@ -561934,21 +562274,21 @@ function ConfigSelectPanel({ state }) {
561934
562274
  setVisionBaseUrlMode(item.value);
561935
562275
  setIsEditing(false);
561936
562276
  } }),
561937
- currentField === "systemPromptId" && import_react73.default.createElement(SystemPromptSelect, { state }),
562277
+ currentField === "systemPromptId" && import_react74.default.createElement(SystemPromptSelect, { state }),
561938
562278
  currentField === "customHeadersSchemeId" && (() => {
561939
562279
  const items = getCustomHeadersSchemeSelectItems();
561940
562280
  const selected = getCustomHeadersSchemeSelectedValue();
561941
- return import_react73.default.createElement(ScrollableSelectInput, { items, limit: 10, initialIndex: Math.max(0, items.findIndex((opt) => opt.value === selected)), isFocused: true, onSelect: (item) => {
562281
+ return import_react74.default.createElement(ScrollableSelectInput, { items, limit: 10, initialIndex: Math.max(0, items.findIndex((opt) => opt.value === selected)), isFocused: true, onSelect: (item) => {
561942
562282
  applyCustomHeadersSchemeSelectValue(item.value);
561943
562283
  setIsEditing(false);
561944
562284
  } });
561945
562285
  })(),
561946
- (currentField === "advancedModel" || currentField === "basicModel" || currentField === "visionModel") && import_react73.default.createElement(ModelSelect, { state }),
561947
- currentField === "visionRequestMethod" && import_react73.default.createElement(ScrollableSelectInput, { items: requestMethodOptions, initialIndex: Math.max(0, requestMethodOptions.findIndex((opt) => opt.value === visionRequestMethod)), isFocused: true, onSelect: (item) => {
562286
+ (currentField === "advancedModel" || currentField === "basicModel" || currentField === "visionModel") && import_react74.default.createElement(ModelSelect, { state }),
562287
+ currentField === "visionRequestMethod" && import_react74.default.createElement(ScrollableSelectInput, { items: requestMethodOptions, initialIndex: Math.max(0, requestMethodOptions.findIndex((opt) => opt.value === visionRequestMethod)), isFocused: true, onSelect: (item) => {
561948
562288
  setVisionRequestMethod(item.value);
561949
562289
  setIsEditing(false);
561950
562290
  } }),
561951
- currentField === "thinkingMode" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562291
+ currentField === "thinkingMode" && import_react74.default.createElement(ScrollableSelectInput, { items: [
561952
562292
  { label: t.configScreen.thinkingModeTokens, value: "tokens" },
561953
562293
  {
561954
562294
  label: t.configScreen.thinkingModeAdaptive,
@@ -561958,7 +562298,7 @@ function ConfigSelectPanel({ state }) {
561958
562298
  setThinkingMode(item.value);
561959
562299
  setIsEditing(false);
561960
562300
  } }),
561961
- currentField === "thinkingEffort" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562301
+ currentField === "thinkingEffort" && import_react74.default.createElement(ScrollableSelectInput, { items: [
561962
562302
  {
561963
562303
  label: t.configScreen.manualInputOption,
561964
562304
  value: "__MANUAL_INPUT__"
@@ -561977,7 +562317,7 @@ function ConfigSelectPanel({ state }) {
561977
562317
  setThinkingEffort(item.value);
561978
562318
  setIsEditing(false);
561979
562319
  } }),
561980
- currentField === "geminiThinkingLevel" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562320
+ currentField === "geminiThinkingLevel" && import_react74.default.createElement(ScrollableSelectInput, { items: [
561981
562321
  {
561982
562322
  label: t.configScreen.manualInputOption,
561983
562323
  value: "__MANUAL_INPUT__"
@@ -561996,8 +562336,12 @@ function ConfigSelectPanel({ state }) {
561996
562336
  setGeminiThinkingLevel(item.value);
561997
562337
  setIsEditing(false);
561998
562338
  } }),
561999
- currentField === "responsesReasoningEffort" && import_react73.default.createElement(ReasoningEffortSelect, { state }),
562000
- currentField === "responsesVerbosity" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562339
+ currentField === "responsesReasoningEffort" && import_react74.default.createElement(ReasoningEffortSelect, { state }),
562340
+ currentField === "responsesReasoningMode" && import_react74.default.createElement(ResponsesReasoningModeSelect, { value: responsesReasoningMode, noneLabel: t.configScreen.responsesReasoningModeNone, onChange: (value) => {
562341
+ setResponsesReasoningMode(value);
562342
+ setIsEditing(false);
562343
+ } }),
562344
+ currentField === "responsesVerbosity" && import_react74.default.createElement(ScrollableSelectInput, { items: [
562001
562345
  { label: "LOW", value: "low" },
562002
562346
  { label: "MEDIUM", value: "medium" },
562003
562347
  { label: "HIGH", value: "high" }
@@ -562009,7 +562353,7 @@ function ConfigSelectPanel({ state }) {
562009
562353
  setResponsesVerbosity(item.value);
562010
562354
  setIsEditing(false);
562011
562355
  } }),
562012
- currentField === "chatReasoningEffort" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562356
+ currentField === "chatReasoningEffort" && import_react74.default.createElement(ScrollableSelectInput, { items: [
562013
562357
  {
562014
562358
  label: t.configScreen.manualInputOption,
562015
562359
  value: "__MANUAL_INPUT__"
@@ -562028,7 +562372,7 @@ function ConfigSelectPanel({ state }) {
562028
562372
  setChatReasoningEffort(item.value);
562029
562373
  setIsEditing(false);
562030
562374
  } }),
562031
- currentField === "anthropicSpeed" && import_react73.default.createElement(ScrollableSelectInput, { items: [
562375
+ currentField === "anthropicSpeed" && import_react74.default.createElement(ScrollableSelectInput, { items: [
562032
562376
  { label: t.configScreen.anthropicSpeedNotUsed, value: "__NONE__" },
562033
562377
  { label: t.configScreen.anthropicSpeedFast, value: "fast" },
562034
562378
  { label: t.configScreen.anthropicSpeedStandard, value: "standard" }
@@ -562041,21 +562385,21 @@ function ConfigSelectPanel({ state }) {
562041
562385
  }
562042
562386
  function ProfileSelect({ state }) {
562043
562387
  const { t, theme: theme14, profiles, activeProfile, markedProfiles, setMarkedProfiles, setErrors, setIsEditing, loadProfilesAndConfig } = state;
562044
- return import_react73.default.createElement(
562388
+ return import_react74.default.createElement(
562045
562389
  Box_default,
562046
562390
  { flexDirection: "column" },
562047
- profiles.length > 1 && import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, "Scroll to see more profiles (\u2191\u2193)"),
562048
- import_react73.default.createElement(ScrollableSelectInput, { items: profiles.map((p) => ({
562391
+ profiles.length > 1 && import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, "Scroll to see more profiles (\u2191\u2193)"),
562392
+ import_react74.default.createElement(ScrollableSelectInput, { items: profiles.map((p) => ({
562049
562393
  label: p.displayName,
562050
562394
  value: p.name,
562051
562395
  isActive: p.name === activeProfile
562052
562396
  })), limit: 5, initialIndex: Math.max(0, profiles.findIndex((p) => p.name === activeProfile)), isFocused: true, selectedValues: markedProfiles, renderItem: ({ label, isSelected, isMarked, isActive }) => {
562053
- return import_react73.default.createElement(
562397
+ return import_react74.default.createElement(
562054
562398
  Text,
562055
562399
  null,
562056
- import_react73.default.createElement(Text, { color: isMarked ? "yellow" : isSelected ? "cyan" : "white" }, isMarked ? "\u2713 " : " "),
562057
- isActive && import_react73.default.createElement(Text, { color: "green" }, "[active] "),
562058
- import_react73.default.createElement(Text, { color: isSelected ? "cyan" : "white" }, label)
562400
+ import_react74.default.createElement(Text, { color: isMarked ? "yellow" : isSelected ? "cyan" : "white" }, isMarked ? "\u2713 " : " "),
562401
+ isActive && import_react74.default.createElement(Text, { color: "green" }, "[active] "),
562402
+ import_react74.default.createElement(Text, { color: isSelected ? "cyan" : "white" }, label)
562059
562403
  );
562060
562404
  }, onSelect: (item) => {
562061
562405
  switchProfile(item.value);
@@ -562078,33 +562422,33 @@ function ProfileSelect({ state }) {
562078
562422
  });
562079
562423
  setErrors([]);
562080
562424
  } }),
562081
- import_react73.default.createElement(
562425
+ import_react74.default.createElement(
562082
562426
  Box_default,
562083
562427
  { flexDirection: "row", marginTop: 1 },
562084
- import_react73.default.createElement(
562428
+ import_react74.default.createElement(
562085
562429
  Box_default,
562086
562430
  { marginRight: 2 },
562087
- import_react73.default.createElement(Text, { color: theme14.colors.menuSelected }, t.configScreen.newProfile),
562088
- import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (n)")
562431
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSelected }, t.configScreen.newProfile),
562432
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (n)")
562089
562433
  ),
562090
- import_react73.default.createElement(
562434
+ import_react74.default.createElement(
562091
562435
  Box_default,
562092
562436
  { marginRight: 2 },
562093
- import_react73.default.createElement(Text, { color: theme14.colors.menuInfo }, t.configScreen.renameProfileShort),
562094
- import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (r)")
562437
+ import_react74.default.createElement(Text, { color: theme14.colors.menuInfo }, t.configScreen.renameProfileShort),
562438
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (r)")
562095
562439
  ),
562096
- import_react73.default.createElement(
562440
+ import_react74.default.createElement(
562097
562441
  Box_default,
562098
562442
  { marginRight: 2 },
562099
- import_react73.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.mark),
562100
- import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (space)")
562443
+ import_react74.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.mark),
562444
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (space)")
562101
562445
  ),
562102
- import_react73.default.createElement(
562446
+ import_react74.default.createElement(
562103
562447
  Box_default,
562104
562448
  null,
562105
- import_react73.default.createElement(Text, { color: theme14.colors.error }, t.configScreen.deleteProfileShort),
562106
- import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (d)"),
562107
- markedProfiles.size > 0 && import_react73.default.createElement(
562449
+ import_react74.default.createElement(Text, { color: theme14.colors.error }, t.configScreen.deleteProfileShort),
562450
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary }, " (d)"),
562451
+ markedProfiles.size > 0 && import_react74.default.createElement(
562108
562452
  Text,
562109
562453
  { color: theme14.colors.warning },
562110
562454
  "[",
@@ -562113,10 +562457,10 @@ function ProfileSelect({ state }) {
562113
562457
  )
562114
562458
  )
562115
562459
  ),
562116
- import_react73.default.createElement(
562460
+ import_react74.default.createElement(
562117
562461
  Box_default,
562118
562462
  { marginTop: 1 },
562119
- import_react73.default.createElement(Alert, { variant: "info" }, t.configScreen.profileSelectHint)
562463
+ import_react74.default.createElement(Alert, { variant: "info" }, t.configScreen.profileSelectHint)
562120
562464
  )
562121
562465
  );
562122
562466
  }
@@ -562124,12 +562468,12 @@ function SystemPromptSelect({ state }) {
562124
562468
  const { t, theme: theme14, pendingPromptIds, setPendingPromptIds, setIsEditing, setSystemPromptId, getSystemPromptSelectItems, getSystemPromptSelectedValue, applySystemPromptSelectValue } = state;
562125
562469
  const items = getSystemPromptSelectItems();
562126
562470
  const selected = getSystemPromptSelectedValue();
562127
- return import_react73.default.createElement(
562471
+ return import_react74.default.createElement(
562128
562472
  Box_default,
562129
562473
  { flexDirection: "column" },
562130
- import_react73.default.createElement(ScrollableSelectInput, { items, limit: 10, initialIndex: Math.max(0, items.findIndex((opt) => opt.value === selected)), isFocused: true, selectedValues: pendingPromptIds, renderItem: ({ label, value, isSelected, isMarked }) => {
562474
+ import_react74.default.createElement(ScrollableSelectInput, { items, limit: 10, initialIndex: Math.max(0, items.findIndex((opt) => opt.value === selected)), isFocused: true, selectedValues: pendingPromptIds, renderItem: ({ label, value, isSelected, isMarked }) => {
562131
562475
  const isMeta = value === "__FOLLOW__" || value === "__DISABLED__";
562132
- return import_react73.default.createElement(
562476
+ return import_react74.default.createElement(
562133
562477
  Text,
562134
562478
  { color: isSelected ? "cyan" : isMarked ? theme14.colors.menuInfo : "white" },
562135
562479
  isMeta ? "" : isMarked ? "[\u2713] " : "[ ] ",
@@ -562165,25 +562509,25 @@ function SystemPromptSelect({ state }) {
562165
562509
  setPendingPromptIds(/* @__PURE__ */ new Set());
562166
562510
  setIsEditing(false);
562167
562511
  } }),
562168
- import_react73.default.createElement(
562512
+ import_react74.default.createElement(
562169
562513
  Box_default,
562170
562514
  { marginTop: 1 },
562171
- import_react73.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.systemPromptMultiSelectHint || "Space: toggle | Enter: confirm | Esc: cancel")
562515
+ import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.systemPromptMultiSelectHint || "Space: toggle | Enter: confirm | Esc: cancel")
562172
562516
  )
562173
562517
  );
562174
562518
  }
562175
562519
  function ModelSelect({ state }) {
562176
562520
  const { t, theme: theme14, searchTerm, getCurrentOptions, getCurrentValue, handleModelChange } = state;
562177
- const [highlightedIndex, setHighlightedIndex] = (0, import_react73.useState)(0);
562521
+ const [highlightedIndex, setHighlightedIndex] = (0, import_react74.useState)(0);
562178
562522
  const options3 = getCurrentOptions();
562179
562523
  const modelCount = options3.length - 1;
562180
- return import_react73.default.createElement(
562524
+ return import_react74.default.createElement(
562181
562525
  Box_default,
562182
562526
  { flexDirection: "column" },
562183
- import_react73.default.createElement(
562527
+ import_react74.default.createElement(
562184
562528
  Box_default,
562185
562529
  null,
562186
- searchTerm && import_react73.default.createElement(
562530
+ searchTerm && import_react74.default.createElement(
562187
562531
  Text,
562188
562532
  { color: theme14.colors.menuInfo },
562189
562533
  t.configScreen.modelSelectFilterLabel,
@@ -562191,24 +562535,24 @@ function ModelSelect({ state }) {
562191
562535
  searchTerm,
562192
562536
  " "
562193
562537
  ),
562194
- import_react73.default.createElement(
562538
+ import_react74.default.createElement(
562195
562539
  Text,
562196
562540
  { color: theme14.colors.warning, bold: true },
562197
562541
  t.configScreen.modelSelectModelCount.replace("{count}", modelCount.toString()),
562198
562542
  options3.length > 10 && ` (${highlightedIndex + 1}/${options3.length})`
562199
562543
  )
562200
562544
  ),
562201
- import_react73.default.createElement(ScrollableSelectInput, { items: options3, limit: 10, disableNumberShortcuts: true, initialIndex: Math.max(0, options3.findIndex((opt) => opt.value === getCurrentValue())), isFocused: true, onSelect: (item) => {
562545
+ import_react74.default.createElement(ScrollableSelectInput, { items: options3, limit: 10, disableNumberShortcuts: true, initialIndex: Math.max(0, options3.findIndex((opt) => opt.value === getCurrentValue())), isFocused: true, onSelect: (item) => {
562202
562546
  handleModelChange(item.value);
562203
562547
  }, onHighlight: (item) => {
562204
562548
  const idx = options3.findIndex((o) => o.value === item.value);
562205
562549
  if (idx >= 0)
562206
562550
  setHighlightedIndex(idx);
562207
562551
  } }),
562208
- options3.length > 10 && import_react73.default.createElement(
562552
+ options3.length > 10 && import_react74.default.createElement(
562209
562553
  Box_default,
562210
562554
  null,
562211
- import_react73.default.createElement(Text, { dimColor: true, color: theme14.colors.menuSecondary }, t.configScreen.modelSelectScrollHint)
562555
+ import_react74.default.createElement(Text, { dimColor: true, color: theme14.colors.menuSecondary }, t.configScreen.modelSelectScrollHint)
562212
562556
  )
562213
562557
  );
562214
562558
  }
@@ -562222,7 +562566,7 @@ function ReasoningEffortSelect({ state }) {
562222
562566
  { label: "HIGH", value: "high" },
562223
562567
  ...supportsXHigh ? [{ label: "XHIGH", value: "xhigh" }] : []
562224
562568
  ];
562225
- return import_react73.default.createElement(ScrollableSelectInput, { items: effortOptions, initialIndex: Math.max(0, effortOptions.findIndex((opt) => opt.value === responsesReasoningEffort)), isFocused: true, onSelect: (item) => {
562569
+ return import_react74.default.createElement(ScrollableSelectInput, { items: effortOptions, initialIndex: Math.max(0, effortOptions.findIndex((opt) => opt.value === responsesReasoningEffort)), isFocused: true, onSelect: (item) => {
562226
562570
  if (item.value === "__MANUAL_INPUT__") {
562227
562571
  setIsEditing(false);
562228
562572
  state.setManualInputMode(true);
@@ -562233,209 +562577,16 @@ function ReasoningEffortSelect({ state }) {
562233
562577
  setIsEditing(false);
562234
562578
  } });
562235
562579
  }
562236
- var import_react73;
562580
+ var import_react74;
562237
562581
  var init_ConfigSelectPanel = __esm({
562238
562582
  async "dist/ui/pages/configScreen/ConfigSelectPanel.js"() {
562239
562583
  "use strict";
562240
- import_react73 = __toESM(require_react(), 1);
562584
+ import_react74 = __toESM(require_react(), 1);
562241
562585
  await init_src();
562242
562586
  await init_build3();
562243
562587
  await init_ScrollableSelectInput();
562244
562588
  init_configManager();
562245
- }
562246
- });
562247
-
562248
- // dist/ui/pages/configScreen/ConfigSubViews.js
562249
- function ProfileNameInputView({ state, inlineMode, title, subtitle, label, value, onChange, placeholder, hint }) {
562250
- const { theme: theme14, errors } = state;
562251
- return import_react74.default.createElement(
562252
- Box_default,
562253
- { flexDirection: "column", padding: 1 },
562254
- !inlineMode && import_react74.default.createElement(
562255
- Box_default,
562256
- { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
562257
- import_react74.default.createElement(
562258
- Box_default,
562259
- { flexDirection: "column" },
562260
- import_react74.default.createElement(dist_default5, { name: "rainbow" }, title),
562261
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, subtitle)
562262
- )
562263
- ),
562264
- import_react74.default.createElement(
562265
- Box_default,
562266
- { flexDirection: "column" },
562267
- import_react74.default.createElement(Text, { color: theme14.colors.menuInfo }, label),
562268
- import_react74.default.createElement(
562269
- Box_default,
562270
- { marginLeft: 2 },
562271
- import_react74.default.createElement(build_default2, { value, onChange: (nextValue) => onChange(stripFocusArtifacts(nextValue)), placeholder })
562272
- )
562273
- ),
562274
- errors.length > 0 && import_react74.default.createElement(
562275
- Box_default,
562276
- { marginTop: 1 },
562277
- import_react74.default.createElement(Text, { color: theme14.colors.error }, errors[0])
562278
- ),
562279
- import_react74.default.createElement(
562280
- Box_default,
562281
- { marginTop: 1 },
562282
- import_react74.default.createElement(Alert, { variant: "info" }, hint)
562283
- )
562284
- );
562285
- }
562286
- function ProfileCreateView({ state, inlineMode }) {
562287
- const { t, newProfileName, setNewProfileName } = state;
562288
- return import_react74.default.createElement(ProfileNameInputView, { state, inlineMode, title: t.configScreen.createNewProfile, subtitle: t.configScreen.enterProfileName, label: t.configScreen.profileNameLabel, value: newProfileName, onChange: setNewProfileName, placeholder: t.configScreen.profileNamePlaceholder, hint: t.configScreen.createHint });
562289
- }
562290
- function ProfileRenameView({ state, inlineMode }) {
562291
- const { t, renameProfileName, setRenameProfileName } = state;
562292
- return import_react74.default.createElement(ProfileNameInputView, { state, inlineMode, title: t.configScreen.renameProfile, subtitle: t.configScreen.enterRenameProfileName, label: t.configScreen.profileNameLabel, value: renameProfileName, onChange: setRenameProfileName, placeholder: t.configScreen.renameProfilePlaceholder, hint: t.configScreen.renameHint });
562293
- }
562294
- function ProfileDeleteView({ state, inlineMode }) {
562295
- const { t, theme: theme14, markedProfiles, errors } = state;
562296
- const profilesToDelete = Array.from(markedProfiles);
562297
- return import_react74.default.createElement(
562298
- Box_default,
562299
- { flexDirection: "column", padding: 1 },
562300
- !inlineMode && import_react74.default.createElement(
562301
- Box_default,
562302
- { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
562303
- import_react74.default.createElement(
562304
- Box_default,
562305
- { flexDirection: "column" },
562306
- import_react74.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.deleteProfile),
562307
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.confirmDelete)
562308
- )
562309
- ),
562310
- import_react74.default.createElement(
562311
- Box_default,
562312
- { flexDirection: "column" },
562313
- import_react74.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.confirmDeleteProfiles.replace("{count}", String(profilesToDelete.length))),
562314
- import_react74.default.createElement(Box_default, { marginTop: 1, flexDirection: "column" }, profilesToDelete.map((profileName) => import_react74.default.createElement(
562315
- Text,
562316
- { key: profileName, color: theme14.colors.menuSecondary },
562317
- "\u2022 ",
562318
- profileName
562319
- ))),
562320
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.deleteWarning)
562321
- ),
562322
- errors.length > 0 && import_react74.default.createElement(
562323
- Box_default,
562324
- { marginTop: 1 },
562325
- import_react74.default.createElement(Text, { color: theme14.colors.error }, errors[0])
562326
- ),
562327
- import_react74.default.createElement(
562328
- Box_default,
562329
- { marginTop: 1 },
562330
- import_react74.default.createElement(Alert, { variant: "warning" }, t.configScreen.confirmHint)
562331
- )
562332
- );
562333
- }
562334
- function LoadingView({ state, inlineMode }) {
562335
- const { t, theme: theme14 } = state;
562336
- return import_react74.default.createElement(
562337
- Box_default,
562338
- { flexDirection: "column", padding: 1 },
562339
- !inlineMode && import_react74.default.createElement(
562340
- Box_default,
562341
- { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
562342
- import_react74.default.createElement(
562343
- Box_default,
562344
- { flexDirection: "column" },
562345
- import_react74.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.title),
562346
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.loadingMessage)
562347
- )
562348
- ),
562349
- import_react74.default.createElement(
562350
- Box_default,
562351
- { flexDirection: "column" },
562352
- import_react74.default.createElement(
562353
- Box_default,
562354
- null,
562355
- import_react74.default.createElement(Spinner2, { type: "dots" }),
562356
- import_react74.default.createElement(
562357
- Text,
562358
- { color: theme14.colors.menuInfo },
562359
- " ",
562360
- t.configScreen.fetchingModels
562361
- )
562362
- ),
562363
- import_react74.default.createElement(
562364
- Box_default,
562365
- { marginLeft: 2 },
562366
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.fetchingHint)
562367
- )
562368
- ),
562369
- import_react74.default.createElement(
562370
- Box_default,
562371
- { flexDirection: "column", marginTop: 1 },
562372
- import_react74.default.createElement(Alert, { variant: "info" }, t.configScreen.loadingCancelHint)
562373
- )
562374
- );
562375
- }
562376
- function ManualInputView({ state, inlineMode }) {
562377
- const { t, theme: theme14, currentField, manualInputValue, loadError } = state;
562378
- return import_react74.default.createElement(
562379
- Box_default,
562380
- { flexDirection: "column", padding: 1 },
562381
- !inlineMode && import_react74.default.createElement(
562382
- Box_default,
562383
- { marginBottom: 1, borderStyle: "double", borderColor: theme14.colors.menuInfo, paddingX: 2 },
562384
- import_react74.default.createElement(
562385
- Box_default,
562386
- { flexDirection: "column" },
562387
- import_react74.default.createElement(dist_default5, { name: "rainbow" }, t.configScreen.manualInputTitle),
562388
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, t.configScreen.manualInputSubtitle)
562389
- )
562390
- ),
562391
- loadError && import_react74.default.createElement(
562392
- Box_default,
562393
- { flexDirection: "column", marginBottom: 1 },
562394
- import_react74.default.createElement(Text, { color: theme14.colors.warning }, t.configScreen.loadingError),
562395
- import_react74.default.createElement(Text, { color: theme14.colors.menuSecondary, dimColor: true }, loadError)
562396
- ),
562397
- import_react74.default.createElement(
562398
- Box_default,
562399
- { flexDirection: "column" },
562400
- import_react74.default.createElement(
562401
- Text,
562402
- { color: theme14.colors.menuInfo },
562403
- currentField === "advancedModel" && t.configScreen.advancedModel,
562404
- currentField === "basicModel" && t.configScreen.basicModel,
562405
- currentField === "visionModel" && t.configScreen.visionModel,
562406
- currentField === "thinkingEffort" && t.configScreen.thinkingEffort,
562407
- currentField === "geminiThinkingLevel" && t.configScreen.geminiThinkingLevel,
562408
- currentField === "responsesReasoningEffort" && t.configScreen.responsesReasoningEffort,
562409
- currentField === "chatReasoningEffort" && t.configScreen.chatReasoningEffort
562410
- ),
562411
- import_react74.default.createElement(
562412
- Box_default,
562413
- { marginLeft: 2 },
562414
- import_react74.default.createElement(
562415
- Text,
562416
- { color: theme14.colors.menuSelected },
562417
- `> ${manualInputValue}`,
562418
- import_react74.default.createElement(Text, { color: theme14.colors.menuNormal }, "_")
562419
- )
562420
- )
562421
- ),
562422
- import_react74.default.createElement(
562423
- Box_default,
562424
- { flexDirection: "column", marginTop: 1 },
562425
- import_react74.default.createElement(Alert, { variant: "info" }, t.configScreen.manualInputHint)
562426
- )
562427
- );
562428
- }
562429
- var import_react74;
562430
- var init_ConfigSubViews = __esm({
562431
- async "dist/ui/pages/configScreen/ConfigSubViews.js"() {
562432
- "use strict";
562433
- import_react74 = __toESM(require_react(), 1);
562434
- await init_src();
562435
- await init_dist8();
562436
- await init_build3();
562437
- await init_build4();
562438
- init_types8();
562589
+ await init_ConfigSubViews();
562439
562590
  }
562440
562591
  });
562441
562592
 
@@ -675229,6 +675380,7 @@ var init_ModelsPanel = __esm({
675229
675380
  const [isGeminiLevelSelecting, setIsGeminiLevelSelecting] = (0, import_react187.useState)(false);
675230
675381
  const [responsesReasoningEnabled, setResponsesReasoningEnabled] = (0, import_react187.useState)(false);
675231
675382
  const [responsesReasoningEffort, setResponsesReasoningEffort] = (0, import_react187.useState)("high");
675383
+ const [responsesReasoningMode, setResponsesReasoningMode] = (0, import_react187.useState)(void 0);
675232
675384
  const [responsesFastMode, setResponsesFastMode] = (0, import_react187.useState)(false);
675233
675385
  const [responsesVerbosity, setResponsesVerbosity] = (0, import_react187.useState)("medium");
675234
675386
  const [thinkingFocusIndex, setThinkingFocusIndex] = (0, import_react187.useState)(0);
@@ -675236,6 +675388,7 @@ var init_ModelsPanel = __esm({
675236
675388
  const [thinkingInputValue, setThinkingInputValue] = (0, import_react187.useState)("");
675237
675389
  const [isThinkingModeSelecting, setIsThinkingModeSelecting] = (0, import_react187.useState)(false);
675238
675390
  const [isThinkingEffortSelecting, setIsThinkingEffortSelecting] = (0, import_react187.useState)(false);
675391
+ const [isResponsesModeSelecting, setIsResponsesModeSelecting] = (0, import_react187.useState)(false);
675239
675392
  const [isVerbositySelecting, setIsVerbositySelecting] = (0, import_react187.useState)(false);
675240
675393
  const [anthropicSpeed, setAnthropicSpeed] = (0, import_react187.useState)(void 0);
675241
675394
  const [isSpeedSelecting, setIsSpeedSelecting] = (0, import_react187.useState)(false);
@@ -675243,7 +675396,7 @@ var init_ModelsPanel = __esm({
675243
675396
  const [chatReasoningEffort, setChatReasoningEffort] = (0, import_react187.useState)("high");
675244
675397
  const [isChatEffortSelecting, setIsChatEffortSelecting] = (0, import_react187.useState)(false);
675245
675398
  (0, import_react187.useEffect)(() => {
675246
- var _a20, _b14, _c6, _d4, _e2, _f, _g, _h, _i, _j, _k;
675399
+ var _a20, _b14, _c6, _d4, _e2, _f, _g, _h, _i, _j, _k, _l, _m;
675247
675400
  if (!visible) {
675248
675401
  return;
675249
675402
  }
@@ -675262,6 +675415,7 @@ var init_ModelsPanel = __esm({
675262
675415
  setThinkingInputMode(null);
675263
675416
  setThinkingInputValue("");
675264
675417
  setIsThinkingEffortSelecting(false);
675418
+ setIsResponsesModeSelecting(false);
675265
675419
  setIsVerbositySelecting(false);
675266
675420
  setIsSpeedSelecting(false);
675267
675421
  setErrorMessage("");
@@ -675277,11 +675431,12 @@ var init_ModelsPanel = __esm({
675277
675431
  setIsGeminiLevelSelecting(false);
675278
675432
  setResponsesReasoningEnabled(((_h = cfg.responsesReasoning) == null ? void 0 : _h.enabled) || false);
675279
675433
  setResponsesReasoningEffort(((_i = cfg.responsesReasoning) == null ? void 0 : _i.effort) || "high");
675434
+ setResponsesReasoningMode(((_j = cfg.responsesReasoning) == null ? void 0 : _j.mode) === "standard" || ((_k = cfg.responsesReasoning) == null ? void 0 : _k.mode) === "pro" ? cfg.responsesReasoning.mode : void 0);
675280
675435
  setResponsesFastMode(cfg.responsesFastMode || false);
675281
675436
  setResponsesVerbosity(cfg.responsesVerbosity || "medium");
675282
675437
  setAnthropicSpeed(cfg.anthropicSpeed);
675283
- setChatThinkingEnabled(((_j = cfg.chatThinking) == null ? void 0 : _j.enabled) || false);
675284
- setChatReasoningEffort(((_k = cfg.chatThinking) == null ? void 0 : _k.reasoning_effort) || "high");
675438
+ setChatThinkingEnabled(((_l = cfg.chatThinking) == null ? void 0 : _l.enabled) || false);
675439
+ setChatReasoningEffort(((_m = cfg.chatThinking) == null ? void 0 : _m.reasoning_effort) || "high");
675285
675440
  setIsChatEffortSelecting(false);
675286
675441
  }, [visible, advancedModel, basicModel]);
675287
675442
  (0, import_react187.useEffect)(() => {
@@ -675479,7 +675634,8 @@ var init_ModelsPanel = __esm({
675479
675634
  await updateSnowConfig({
675480
675635
  responsesReasoning: {
675481
675636
  enabled: next,
675482
- effort: responsesReasoningEffort
675637
+ effort: responsesReasoningEffort,
675638
+ mode: responsesReasoningMode
675483
675639
  }
675484
675640
  });
675485
675641
  return;
@@ -675501,6 +675657,7 @@ var init_ModelsPanel = __esm({
675501
675657
  thinkingEffort,
675502
675658
  geminiThinkingLevel,
675503
675659
  responsesReasoningEffort,
675660
+ responsesReasoningMode,
675504
675661
  applyChatThinkingEnabled,
675505
675662
  t
675506
675663
  ]);
@@ -675559,14 +675716,31 @@ var init_ModelsPanel = __esm({
675559
675716
  await updateSnowConfig({
675560
675717
  responsesReasoning: {
675561
675718
  enabled: responsesReasoningEnabled,
675562
- effort
675719
+ effort,
675720
+ mode: responsesReasoningMode
675563
675721
  }
675564
675722
  });
675565
675723
  } catch (err) {
675566
675724
  const message = err instanceof Error ? err.message : t.modelsPanel.saveFailed;
675567
675725
  setErrorMessage(message);
675568
675726
  }
675569
- }, [responsesReasoningEnabled]);
675727
+ }, [responsesReasoningEnabled, responsesReasoningMode]);
675728
+ const applyResponsesMode = (0, import_react187.useCallback)(async (mode) => {
675729
+ setErrorMessage("");
675730
+ try {
675731
+ setResponsesReasoningMode(mode);
675732
+ await updateSnowConfig({
675733
+ responsesReasoning: {
675734
+ enabled: responsesReasoningEnabled,
675735
+ effort: responsesReasoningEffort,
675736
+ mode
675737
+ }
675738
+ });
675739
+ } catch (err) {
675740
+ const message = err instanceof Error ? err.message : t.modelsPanel.saveFailed;
675741
+ setErrorMessage(message);
675742
+ }
675743
+ }, [responsesReasoningEnabled, responsesReasoningEffort]);
675570
675744
  const applyResponsesVerbosity = (0, import_react187.useCallback)(async (verbosity2) => {
675571
675745
  setErrorMessage("");
675572
675746
  try {
@@ -675622,7 +675796,7 @@ var init_ModelsPanel = __esm({
675622
675796
  if (requestMethod === "anthropic")
675623
675797
  return 4;
675624
675798
  if (requestMethod === "responses")
675625
- return 4;
675799
+ return 5;
675626
675800
  if (requestMethod === "gemini")
675627
675801
  return 2;
675628
675802
  if (requestMethod === "chat")
@@ -675653,6 +675827,10 @@ var init_ModelsPanel = __esm({
675653
675827
  setIsThinkingEffortSelecting(false);
675654
675828
  return;
675655
675829
  }
675830
+ if (isResponsesModeSelecting) {
675831
+ setIsResponsesModeSelecting(false);
675832
+ return;
675833
+ }
675656
675834
  if (isVerbositySelecting) {
675657
675835
  setIsVerbositySelecting(false);
675658
675836
  return;
@@ -675757,7 +675935,7 @@ var init_ModelsPanel = __esm({
675757
675935
  }
675758
675936
  return;
675759
675937
  }
675760
- if (isThinkingModeSelecting || isGeminiLevelSelecting || isThinkingEffortSelecting || isVerbositySelecting || isSpeedSelecting || isChatEffortSelecting) {
675938
+ if (isThinkingModeSelecting || isGeminiLevelSelecting || isThinkingEffortSelecting || isResponsesModeSelecting || isVerbositySelecting || isSpeedSelecting || isChatEffortSelecting) {
675761
675939
  return;
675762
675940
  }
675763
675941
  if (key.tab) {
@@ -675797,14 +675975,16 @@ var init_ModelsPanel = __esm({
675797
675975
  setIsThinkingEffortSelecting(true);
675798
675976
  }
675799
675977
  } else if (requestMethod === "responses") {
675800
- setIsVerbositySelecting(true);
675978
+ setIsResponsesModeSelecting(true);
675801
675979
  }
675802
675980
  } else if (thinkingFocusIndex === 4) {
675803
675981
  if (requestMethod === "anthropic") {
675804
675982
  setIsSpeedSelecting(true);
675805
675983
  } else if (requestMethod === "responses") {
675806
- void applyResponsesFastMode(!responsesFastMode);
675984
+ setIsVerbositySelecting(true);
675807
675985
  }
675986
+ } else if (thinkingFocusIndex === 5 && requestMethod === "responses") {
675987
+ void applyResponsesFastMode(!responsesFastMode);
675808
675988
  }
675809
675989
  return;
675810
675990
  }
@@ -675964,13 +676144,13 @@ var init_ModelsPanel = __esm({
675964
676144
  Text,
675965
676145
  { color: thinkingFocusIndex === 3 ? theme14.colors.menuSelected : theme14.colors.menuNormal },
675966
676146
  thinkingFocusIndex === 3 ? "\u276F " : " ",
675967
- t.configScreen.responsesVerbosity
676147
+ t.configScreen.responsesReasoningMode
675968
676148
  ),
675969
676149
  import_react187.default.createElement(
675970
676150
  Text,
675971
676151
  { color: theme14.colors.menuSelected },
675972
676152
  " ",
675973
- responsesVerbosity.toUpperCase()
676153
+ responsesReasoningMode ?? t.configScreen.responsesReasoningModeNone
675974
676154
  )
675975
676155
  ),
675976
676156
  requestMethod === "responses" && import_react187.default.createElement(
@@ -675980,6 +676160,22 @@ var init_ModelsPanel = __esm({
675980
676160
  Text,
675981
676161
  { color: thinkingFocusIndex === 4 ? theme14.colors.menuSelected : theme14.colors.menuNormal },
675982
676162
  thinkingFocusIndex === 4 ? "\u276F " : " ",
676163
+ t.configScreen.responsesVerbosity
676164
+ ),
676165
+ import_react187.default.createElement(
676166
+ Text,
676167
+ { color: theme14.colors.menuSelected },
676168
+ " ",
676169
+ responsesVerbosity.toUpperCase()
676170
+ )
676171
+ ),
676172
+ requestMethod === "responses" && import_react187.default.createElement(
676173
+ Box_default,
676174
+ null,
676175
+ import_react187.default.createElement(
676176
+ Text,
676177
+ { color: thinkingFocusIndex === 5 ? theme14.colors.menuSelected : theme14.colors.menuNormal },
676178
+ thinkingFocusIndex === 5 ? "\u276F " : " ",
675983
676179
  t.configScreen.responsesFastMode
675984
676180
  ),
675985
676181
  import_react187.default.createElement(
@@ -676069,6 +676265,21 @@ var init_ModelsPanel = __esm({
676069
676265
  setIsThinkingEffortSelecting(false);
676070
676266
  } })
676071
676267
  ),
676268
+ isResponsesModeSelecting && import_react187.default.createElement(
676269
+ Box_default,
676270
+ { marginTop: 1 },
676271
+ import_react187.default.createElement(ScrollableSelectInput, { items: [
676272
+ {
676273
+ label: t.configScreen.responsesReasoningModeNone,
676274
+ value: "none"
676275
+ },
676276
+ { label: "standard", value: "standard" },
676277
+ { label: "pro", value: "pro" }
676278
+ ], limit: 3, disableNumberShortcuts: true, initialIndex: Math.max(0, ["none", "standard", "pro"].indexOf(responsesReasoningMode ?? "none")), isFocused: true, onSelect: (item) => {
676279
+ void applyResponsesMode(item.value === "none" ? void 0 : item.value);
676280
+ setIsResponsesModeSelecting(false);
676281
+ } })
676282
+ ),
676072
676283
  isVerbositySelecting && import_react187.default.createElement(
676073
676284
  Box_default,
676074
676285
  { marginTop: 1 },
@@ -676145,7 +676356,7 @@ var init_ModelsPanel = __esm({
676145
676356
  setIsChatEffortSelecting(false);
676146
676357
  } })
676147
676358
  ),
676148
- !thinkingInputMode && !isThinkingModeSelecting && !isGeminiLevelSelecting && !isThinkingEffortSelecting && !isVerbositySelecting && !isSpeedSelecting && !isChatEffortSelecting && import_react187.default.createElement(
676359
+ !thinkingInputMode && !isThinkingModeSelecting && !isGeminiLevelSelecting && !isThinkingEffortSelecting && !isResponsesModeSelecting && !isVerbositySelecting && !isSpeedSelecting && !isChatEffortSelecting && import_react187.default.createElement(
676149
676360
  Box_default,
676150
676361
  { marginTop: 1 },
676151
676362
  import_react187.default.createElement(Text, { dimColor: true, color: theme14.colors.menuSecondary }, t.modelsPanel.navigationHint)
@@ -693692,7 +693903,7 @@ var require_package4 = __commonJS({
693692
693903
  "package.json"(exports2, module2) {
693693
693904
  module2.exports = {
693694
693905
  name: "snow-ai",
693695
- version: "0.8.13",
693906
+ version: "0.8.14",
693696
693907
  description: "Agentic coding in your terminal",
693697
693908
  license: "MIT",
693698
693909
  bin: {