source dump of claude code
at main 153 lines 18 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import * as React from 'react'; 3import { useState } from 'react'; 4import { useExitOnCtrlCDWithKeybindings } from 'src/hooks/useExitOnCtrlCDWithKeybindings.js'; 5import { Box, Text } from '../ink.js'; 6import { useKeybinding } from '../keybindings/useKeybinding.js'; 7import { ConfigurableShortcutHint } from './ConfigurableShortcutHint.js'; 8import { Select } from './CustomSelect/index.js'; 9import { Byline } from './design-system/Byline.js'; 10import { KeyboardShortcutHint } from './design-system/KeyboardShortcutHint.js'; 11import { Pane } from './design-system/Pane.js'; 12export type Props = { 13 currentValue: boolean; 14 onSelect: (enabled: boolean) => void; 15 onCancel?: () => void; 16 isMidConversation?: boolean; 17}; 18export function ThinkingToggle(t0) { 19 const $ = _c(27); 20 const { 21 currentValue, 22 onSelect, 23 onCancel, 24 isMidConversation 25 } = t0; 26 const exitState = useExitOnCtrlCDWithKeybindings(); 27 const [confirmationPending, setConfirmationPending] = useState(null); 28 let t1; 29 if ($[0] === Symbol.for("react.memo_cache_sentinel")) { 30 t1 = [{ 31 value: "true", 32 label: "Enabled", 33 description: "Claude will think before responding" 34 }, { 35 value: "false", 36 label: "Disabled", 37 description: "Claude will respond without extended thinking" 38 }]; 39 $[0] = t1; 40 } else { 41 t1 = $[0]; 42 } 43 const options = t1; 44 let t2; 45 if ($[1] !== confirmationPending || $[2] !== onCancel) { 46 t2 = () => { 47 if (confirmationPending !== null) { 48 setConfirmationPending(null); 49 } else { 50 onCancel?.(); 51 } 52 }; 53 $[1] = confirmationPending; 54 $[2] = onCancel; 55 $[3] = t2; 56 } else { 57 t2 = $[3]; 58 } 59 let t3; 60 if ($[4] === Symbol.for("react.memo_cache_sentinel")) { 61 t3 = { 62 context: "Confirmation" 63 }; 64 $[4] = t3; 65 } else { 66 t3 = $[4]; 67 } 68 useKeybinding("confirm:no", t2, t3); 69 let t4; 70 if ($[5] !== confirmationPending || $[6] !== onSelect) { 71 t4 = () => { 72 if (confirmationPending !== null) { 73 onSelect(confirmationPending); 74 } 75 }; 76 $[5] = confirmationPending; 77 $[6] = onSelect; 78 $[7] = t4; 79 } else { 80 t4 = $[7]; 81 } 82 const t5 = confirmationPending !== null; 83 let t6; 84 if ($[8] !== t5) { 85 t6 = { 86 context: "Confirmation", 87 isActive: t5 88 }; 89 $[8] = t5; 90 $[9] = t6; 91 } else { 92 t6 = $[9]; 93 } 94 useKeybinding("confirm:yes", t4, t6); 95 let t7; 96 if ($[10] !== currentValue || $[11] !== isMidConversation || $[12] !== onSelect) { 97 t7 = function handleSelectChange(value) { 98 const selected = value === "true"; 99 if (isMidConversation && selected !== currentValue) { 100 setConfirmationPending(selected); 101 } else { 102 onSelect(selected); 103 } 104 }; 105 $[10] = currentValue; 106 $[11] = isMidConversation; 107 $[12] = onSelect; 108 $[13] = t7; 109 } else { 110 t7 = $[13]; 111 } 112 const handleSelectChange = t7; 113 let t8; 114 if ($[14] === Symbol.for("react.memo_cache_sentinel")) { 115 t8 = <Box marginBottom={1} flexDirection="column"><Text color="remember" bold={true}>Toggle thinking mode</Text><Text dimColor={true}>Enable or disable thinking for this session.</Text></Box>; 116 $[14] = t8; 117 } else { 118 t8 = $[14]; 119 } 120 let t9; 121 if ($[15] !== confirmationPending || $[16] !== currentValue || $[17] !== handleSelectChange || $[18] !== onCancel) { 122 t9 = <Box flexDirection="column">{t8}{confirmationPending !== null ? <Box flexDirection="column" marginBottom={1} gap={1}><Text color="warning">Changing thinking mode mid-conversation will increase latency and may reduce quality. For best results, set this at the start of a session.</Text><Text color="warning">Do you want to proceed?</Text></Box> : <Box flexDirection="column" marginBottom={1}><Select defaultValue={currentValue ? "true" : "false"} defaultFocusValue={currentValue ? "true" : "false"} options={options} onChange={handleSelectChange} onCancel={onCancel ?? _temp} visibleOptionCount={2} /></Box>}</Box>; 123 $[15] = confirmationPending; 124 $[16] = currentValue; 125 $[17] = handleSelectChange; 126 $[18] = onCancel; 127 $[19] = t9; 128 } else { 129 t9 = $[19]; 130 } 131 let t10; 132 if ($[20] !== confirmationPending || $[21] !== exitState.keyName || $[22] !== exitState.pending) { 133 t10 = <Text dimColor={true} italic={true}>{exitState.pending ? <>Press {exitState.keyName} again to exit</> : confirmationPending !== null ? <Byline><KeyboardShortcutHint shortcut="Enter" action="confirm" /><ConfigurableShortcutHint action="confirm:no" context="Confirmation" fallback="Esc" description="cancel" /></Byline> : <Byline><KeyboardShortcutHint shortcut="Enter" action="confirm" /><ConfigurableShortcutHint action="confirm:no" context="Confirmation" fallback="Esc" description="exit" /></Byline>}</Text>; 134 $[20] = confirmationPending; 135 $[21] = exitState.keyName; 136 $[22] = exitState.pending; 137 $[23] = t10; 138 } else { 139 t10 = $[23]; 140 } 141 let t11; 142 if ($[24] !== t10 || $[25] !== t9) { 143 t11 = <Pane color="permission">{t9}{t10}</Pane>; 144 $[24] = t10; 145 $[25] = t9; 146 $[26] = t11; 147 } else { 148 t11 = $[26]; 149 } 150 return t11; 151} 152function _temp() {} 153//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRXhpdE9uQ3RybENEV2l0aEtleWJpbmRpbmdzIiwiQm94IiwiVGV4dCIsInVzZUtleWJpbmRpbmciLCJDb25maWd1cmFibGVTaG9ydGN1dEhpbnQiLCJTZWxlY3QiLCJCeWxpbmUiLCJLZXlib2FyZFNob3J0Y3V0SGludCIsIlBhbmUiLCJQcm9wcyIsImN1cnJlbnRWYWx1ZSIsIm9uU2VsZWN0IiwiZW5hYmxlZCIsIm9uQ2FuY2VsIiwiaXNNaWRDb252ZXJzYXRpb24iLCJUaGlua2luZ1RvZ2dsZSIsInQwIiwiJCIsIl9jIiwiZXhpdFN0YXRlIiwiY29uZmlybWF0aW9uUGVuZGluZyIsInNldENvbmZpcm1hdGlvblBlbmRpbmciLCJ0MSIsIlN5bWJvbCIsImZvciIsInZhbHVlIiwibGFiZWwiLCJkZXNjcmlwdGlvbiIsIm9wdGlvbnMiLCJ0MiIsInQzIiwiY29udGV4dCIsInQ0IiwidDUiLCJ0NiIsImlzQWN0aXZlIiwidDciLCJoYW5kbGVTZWxlY3RDaGFuZ2UiLCJzZWxlY3RlZCIsInQ4IiwidDkiLCJfdGVtcCIsInQxMCIsImtleU5hbWUiLCJwZW5kaW5nIiwidDExIl0sInNvdXJjZXMiOlsiVGhpbmtpbmdUb2dnbGUudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZUV4aXRPbkN0cmxDRFdpdGhLZXliaW5kaW5ncyB9IGZyb20gJ3NyYy9ob29rcy91c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MuanMnXG5pbXBvcnQgeyBCb3gsIFRleHQgfSBmcm9tICcuLi9pbmsuanMnXG5pbXBvcnQgeyB1c2VLZXliaW5kaW5nIH0gZnJvbSAnLi4va2V5YmluZGluZ3MvdXNlS2V5YmluZGluZy5qcydcbmltcG9ydCB7IENvbmZpZ3VyYWJsZVNob3J0Y3V0SGludCB9IGZyb20gJy4vQ29uZmlndXJhYmxlU2hvcnRjdXRIaW50LmpzJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi9DdXN0b21TZWxlY3QvaW5kZXguanMnXG5pbXBvcnQgeyBCeWxpbmUgfSBmcm9tICcuL2Rlc2lnbi1zeXN0ZW0vQnlsaW5lLmpzJ1xuaW1wb3J0IHsgS2V5Ym9hcmRTaG9ydGN1dEhpbnQgfSBmcm9tICcuL2Rlc2lnbi1zeXN0ZW0vS2V5Ym9hcmRTaG9ydGN1dEhpbnQuanMnXG5pbXBvcnQgeyBQYW5lIH0gZnJvbSAnLi9kZXNpZ24tc3lzdGVtL1BhbmUuanMnXG5cbmV4cG9ydCB0eXBlIFByb3BzID0ge1xuICBjdXJyZW50VmFsdWU6IGJvb2xlYW5cbiAgb25TZWxlY3Q6IChlbmFibGVkOiBib29sZWFuKSA9PiB2b2lkXG4gIG9uQ2FuY2VsPzogKCkgPT4gdm9pZFxuICBpc01pZENvbnZlcnNhdGlvbj86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFRoaW5raW5nVG9nZ2xlKHtcbiAgY3VycmVudFZhbHVlLFxuICBvblNlbGVjdCxcbiAgb25DYW5jZWwsXG4gIGlzTWlkQ29udmVyc2F0aW9uLFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCBleGl0U3RhdGUgPSB1c2VFeGl0T25DdHJsQ0RXaXRoS2V5YmluZGluZ3MoKVxuICBjb25zdCBbY29uZmlybWF0aW9uUGVuZGluZywgc2V0Q29uZmlybWF0aW9uUGVuZGluZ10gPSB1c2VTdGF0ZTxcbiAgICBib29sZWFuIHwgbnVsbFxuICA+KG51bGwpXG5cbiAgY29uc3Qgb3B0aW9ucyA9IFtcbiAgICB7XG4gICAgICB2YWx1ZTogJ3RydWUnLFxuICAgICAgbGFiZWw6ICdFbmFibGVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ2xhdWRlIHdpbGwgdGhpbmsgYmVmb3JlIHJlc3BvbmRpbmcnLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFsdWU6ICdmYWxzZScsXG4gICAgICBsYWJlbDogJ0Rpc2FibGVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ2xhdWRlIHdpbGwgcmVzcG9uZCB3aXRob3V0IGV4dGVuZGVkIHRoaW5raW5nJyxcbiAgICB9LFxuICBdXG5cbiAgLy8gVXNlIGNvbmZpZ3VyYWJsZSBrZXliaW5kaW5nIGZvciBFU0MgdG8gY2FuY2VsL2dvIGJhY2tcbiAgdXNlS2V5YmluZGluZyhcbiAgICAnY29uZmlybTpubycsXG4gICAgKCkgPT4ge1xuICAgICAgaWYgKGNvbmZpcm1hdGlvblBlbmRpbmcgIT09IG51bGwpIHtcbiAgICAgICAgc2V0Q29uZmlybWF0aW9uUGVuZGluZyhudWxsKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb25DYW5jZWw/LigpXG4gICAgICB9XG4gICAgfSxcbiAgICB7IGNvbnRleHQ6ICdDb25maXJtYXRpb24nIH0sXG4gIClcblxuICAvLyBVc2UgY29uZmlndXJhYmxlIGtleWJpbmRpbmcgZm9yIEVudGVyIHRvIGNvbmZpcm0gaW4gY29uZmlybWF0aW9uIG1vZGVcbiAgdXNlS2V5YmluZGluZyhcbiAgICAnY29uZmlybTp5ZXMnLFxuICAgICgpID0+IHtcbiAgICAgIGlmIChjb25maXJtYXRpb25QZW5kaW5nICE9PSBudWxsKSB7XG4gICAgICAgIG9uU2VsZWN0KGNvbmZpcm1hdGlvblBlbmRpbmcpXG4gICAgICB9XG4gICAgfSxcbiAgICB7IGNvbnRleHQ6ICdDb25maXJtYXRpb24nLCBpc0FjdGl2ZTogY29uZmlybWF0aW9uUGVuZGluZyAhPT0gbnVsbCB9LFxuICApXG5cbiAgZnVuY3Rpb24gaGFuZGxlU2VsZWN0Q2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZCA9IHZhbHVlID09PSAndHJ1ZSdcbiAgICBpZiAoaXNNaWRDb252ZXJzYXRpb24gJiYgc2VsZWN0ZWQgIT09IGN1cnJlbnRWYWx1ZSkge1xuICAgICAgc2V0Q29uZmlybWF0aW9uUGVuZGluZyhzZWxlY3RlZClcbiAgICB9IGVsc2Uge1xuICAgICAgb25TZWxlY3Qoc2VsZWN0ZWQpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UGFuZSBjb2xvcj1cInBlcm1pc3Npb25cIj5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICA8Qm94IG1hcmdpbkJvdHRvbT17MX0gZmxleERpcmVjdGlvbj1cImNvbHVtblwiPlxuICAgICAgICAgIDxUZXh0IGNvbG9yPVwicmVtZW1iZXJcIiBib2xkPlxuICAgICAgICAgICAgVG9nZ2xlIHRoaW5raW5nIG1vZGVcbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+RW5hYmxlIG9yIGRpc2FibGUgdGhpbmtpbmcgZm9yIHRoaXMgc2Vzc2lvbi48L1RleHQ+XG4gICAgICAgIDwvQm94PlxuXG4gICAgICAgIHtjb25maXJtYXRpb25QZW5kaW5nICE9PSBudWxsID8gKFxuICAgICAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIG1hcmdpbkJvdHRvbT17MX0gZ2FwPXsxfT5cbiAgICAgICAgICAgIDxUZXh0IGNvbG9yPVwid2FybmluZ1wiPlxuICAgICAgICAgICAgICBDaGFuZ2luZyB0aGlua2luZyBtb2RlIG1pZC1jb252ZXJzYXRpb24gd2lsbCBpbmNyZWFzZSBsYXRlbmN5IGFuZFxuICAgICAgICAgICAgICBtYXkgcmVkdWNlIHF1YWxpdHkuIEZvciBiZXN0IHJlc3VsdHMsIHNldCB0aGlzIGF0IHRoZSBzdGFydCBvZiBhXG4gICAgICAgICAgICAgIHNlc3Npb24uXG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICA8VGV4dCBjb2xvcj1cIndhcm5pbmdcIj5EbyB5b3Ugd2FudCB0byBwcm9jZWVkPzwvVGV4dD5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8Qm94IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIiBtYXJnaW5Cb3R0b209ezF9PlxuICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e2N1cnJlbnRWYWx1ZSA/ICd0cnVlJyA6ICdmYWxzZSd9XG4gICAgICAgICAgICAgIGRlZmF1bHRGb2N1c1ZhbHVlPXtjdXJyZW50VmFsdWUgPyAndHJ1ZScgOiAnZmFsc2UnfVxuICAgICAgICAgICAgICBvcHRpb25zPXtvcHRpb25zfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17aGFuZGxlU2VsZWN0Q2hhbmdlfVxuICAgICAgICAgICAgICBvbkNhbmNlbD17b25DYW5jZWwgPz8gKCgpID0+IHt9KX1cbiAgICAgICAgICAgICAgdmlzaWJsZU9wdGlvbkNvdW50PXsyfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0JveD5cbiAgICAgICAgKX1cbiAgICAgIDwvQm94PlxuICAgICAgPFRleHQgZGltQ29sb3IgaXRhbGljPlxuICAgICAgICB7ZXhpdFN0YXRlLnBlbmRpbmcgPyAoXG4gICAgICAgICAgPD5QcmVzcyB7ZXhpdFN0YXRlLmtleU5hbWV9IGFnYWluIHRvIGV4aXQ8Lz5cbiAgICAgICAgKSA6IGNvbmZpcm1hdGlvblBlbmRpbmcgIT09IG51bGwgPyAoXG4gICAgICAgICAgPEJ5bGluZT5cbiAgICAgICAgICAgIDxLZXlib2FyZFNob3J0Y3V0SGludCBzaG9ydGN1dD1cIkVudGVyXCIgYWN0aW9uPVwiY29uZmlybVwiIC8+XG4gICAgICAgICAgICA8Q29uZmlndXJhYmxlU2hvcnRjdXRIaW50XG4gICAgICAgICAgICAgIGFjdGlvbj1cImNvbmZpcm06bm9cIlxuICAgICAgICAgICAgICBjb250ZXh0PVwiQ29uZmlybWF0aW9uXCJcbiAgICAgICAgICAgICAgZmFsbGJhY2s9XCJFc2NcIlxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj1cImNhbmNlbFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQnlsaW5lPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxCeWxpbmU+XG4gICAgICAgICAgICA8S2V5Ym9hcmRTaG9ydGN1dEhpbnQgc2hvcnRjdXQ9XCJFbnRlclwiIGFjdGlvbj1cImNvbmZpcm1cIiAvPlxuICAgICAgICAgICAgPENvbmZpZ3VyYWJsZVNob3J0Y3V0SGludFxuICAgICAgICAgICAgICBhY3Rpb249XCJjb25maXJtOm5vXCJcbiAgICAgICAgICAgICAgY29udGV4dD1cIkNvbmZpcm1hdGlvblwiXG4gICAgICAgICAgICAgIGZhbGxiYWNrPVwiRXNjXCJcbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249XCJleGl0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9CeWxpbmU+XG4gICAgICAgICl9XG4gICAgICA8L1RleHQ+XG4gICAgPC9QYW5lPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEtBQUtBLEtBQUssTUFBTSxPQUFPO0FBQzlCLFNBQVNDLFFBQVEsUUFBUSxPQUFPO0FBQ2hDLFNBQVNDLDhCQUE4QixRQUFRLDZDQUE2QztBQUM1RixTQUFTQyxHQUFHLEVBQUVDLElBQUksUUFBUSxXQUFXO0FBQ3JDLFNBQVNDLGFBQWEsUUFBUSxpQ0FBaUM7QUFDL0QsU0FBU0Msd0JBQXdCLFFBQVEsK0JBQStCO0FBQ3hFLFNBQVNDLE1BQU0sUUFBUSx5QkFBeUI7QUFDaEQsU0FBU0MsTUFBTSxRQUFRLDJCQUEyQjtBQUNsRCxTQUFTQyxvQkFBb0IsUUFBUSx5Q0FBeUM7QUFDOUUsU0FBU0MsSUFBSSxRQUFRLHlCQUF5QjtBQUU5QyxPQUFPLEtBQUtDLEtBQUssR0FBRztFQUNsQkMsWUFBWSxFQUFFLE9BQU87RUFDckJDLFFBQVEsRUFBRSxDQUFDQyxPQUFPLEVBQUUsT0FBTyxFQUFFLEdBQUcsSUFBSTtFQUNwQ0MsUUFBUSxDQUFDLEVBQUUsR0FBRyxHQUFHLElBQUk7RUFDckJDLGlCQUFpQixDQUFDLEVBQUUsT0FBTztBQUM3QixDQUFDO0FBRUQsT0FBTyxTQUFBQyxlQUFBQyxFQUFBO0VBQUEsTUFBQUMsQ0FBQSxHQUFBQyxFQUFBO0VBQXdCO0lBQUFSLFlBQUE7SUFBQUMsUUFBQTtJQUFBRSxRQUFBO0lBQUFDO0VBQUEs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