+
+ {
+ const separator = value.indexOf("/");
+ if (separator < 1 || !onModelChange) return;
+ void runMutation(() =>
+ onModelChange(
+ value.slice(0, separator),
+ value.slice(separator + 1),
+ ),
+ );
+ }}
+ />
+ ({
+ value: level,
+ label: t(THINKING_KEYS[level]),
+ }),
+ )}
+ onChange={(value) => {
+ if (!onThinkingLevelChange) return;
+ void runMutation(() =>
+ onThinkingLevelChange(value as ChatThinkingLevel),
+ );
+ }}
+ />
+
+ {(byteLength > MAX_INPUT_BYTES * 0.8 || tooLarge) && (
+
+ {formatNumber(byteLength)} / {formatNumber(MAX_INPUT_BYTES)}
+
+ )}
+ {showStop && (
+
+ )}
+ {(!running || hasDraft) && (
+
+ )}
- {(byteLength > MAX_INPUT_BYTES * 0.8 || tooLarge) && (
-