source dump of claude code
at main 142 lines 13 kB view raw
1import { c as _c } from "react/compiler-runtime"; 2import React from 'react'; 3import { logEvent } from 'src/services/analytics/index.js'; 4import { Box, Link, Text } from '../ink.js'; 5import { updateSettingsForSource } from '../utils/settings/settings.js'; 6import { Select } from './CustomSelect/index.js'; 7import { Dialog } from './design-system/Dialog.js'; 8 9// NOTE: This copy is legally reviewed — do not modify without Legal team approval. 10export const AUTO_MODE_DESCRIPTION = "Auto mode lets Claude handle permission prompts automatically — Claude checks each tool call for risky actions and prompt injection before executing. Actions Claude identifies as safe are executed, while actions Claude identifies as risky are blocked and Claude may try a different approach. Ideal for long-running tasks. Sessions are slightly more expensive. Claude can make mistakes that allow harmful commands to run, it's recommended to only use in isolated environments. Shift+Tab to change mode."; 11type Props = { 12 onAccept(): void; 13 onDecline(): void; 14 // Startup gate: decline exits the process, so relabel accordingly. 15 declineExits?: boolean; 16}; 17export function AutoModeOptInDialog(t0) { 18 const $ = _c(18); 19 const { 20 onAccept, 21 onDecline, 22 declineExits 23 } = t0; 24 let t1; 25 if ($[0] === Symbol.for("react.memo_cache_sentinel")) { 26 t1 = []; 27 $[0] = t1; 28 } else { 29 t1 = $[0]; 30 } 31 React.useEffect(_temp, t1); 32 let t2; 33 if ($[1] !== onAccept || $[2] !== onDecline) { 34 t2 = function onChange(value) { 35 bb3: switch (value) { 36 case "accept": 37 { 38 logEvent("tengu_auto_mode_opt_in_dialog_accept", {}); 39 updateSettingsForSource("userSettings", { 40 skipAutoPermissionPrompt: true 41 }); 42 onAccept(); 43 break bb3; 44 } 45 case "accept-default": 46 { 47 logEvent("tengu_auto_mode_opt_in_dialog_accept_default", {}); 48 updateSettingsForSource("userSettings", { 49 skipAutoPermissionPrompt: true, 50 permissions: { 51 defaultMode: "auto" 52 } 53 }); 54 onAccept(); 55 break bb3; 56 } 57 case "decline": 58 { 59 logEvent("tengu_auto_mode_opt_in_dialog_decline", {}); 60 onDecline(); 61 } 62 } 63 }; 64 $[1] = onAccept; 65 $[2] = onDecline; 66 $[3] = t2; 67 } else { 68 t2 = $[3]; 69 } 70 const onChange = t2; 71 let t3; 72 if ($[4] === Symbol.for("react.memo_cache_sentinel")) { 73 t3 = <Box flexDirection="column" gap={1}><Text>{AUTO_MODE_DESCRIPTION}</Text><Link url="https://code.claude.com/docs/en/security" /></Box>; 74 $[4] = t3; 75 } else { 76 t3 = $[4]; 77 } 78 let t4; 79 if ($[5] === Symbol.for("react.memo_cache_sentinel")) { 80 t4 = true ? [{ 81 label: "Yes, and make it my default mode", 82 value: "accept-default" as const 83 }] : []; 84 $[5] = t4; 85 } else { 86 t4 = $[5]; 87 } 88 let t5; 89 if ($[6] === Symbol.for("react.memo_cache_sentinel")) { 90 t5 = { 91 label: "Yes, enable auto mode", 92 value: "accept" as const 93 }; 94 $[6] = t5; 95 } else { 96 t5 = $[6]; 97 } 98 const t6 = declineExits ? "No, exit" : "No, go back"; 99 let t7; 100 if ($[7] !== t6) { 101 t7 = [...t4, t5, { 102 label: t6, 103 value: "decline" as const 104 }]; 105 $[7] = t6; 106 $[8] = t7; 107 } else { 108 t7 = $[8]; 109 } 110 let t8; 111 if ($[9] !== onChange) { 112 t8 = value_0 => onChange(value_0 as 'accept' | 'accept-default' | 'decline'); 113 $[9] = onChange; 114 $[10] = t8; 115 } else { 116 t8 = $[10]; 117 } 118 let t9; 119 if ($[11] !== onDecline || $[12] !== t7 || $[13] !== t8) { 120 t9 = <Select options={t7} onChange={t8} onCancel={onDecline} />; 121 $[11] = onDecline; 122 $[12] = t7; 123 $[13] = t8; 124 $[14] = t9; 125 } else { 126 t9 = $[14]; 127 } 128 let t10; 129 if ($[15] !== onDecline || $[16] !== t9) { 130 t10 = <Dialog title="Enable auto mode?" color="warning" onCancel={onDecline}>{t3}{t9}</Dialog>; 131 $[15] = onDecline; 132 $[16] = t9; 133 $[17] = t10; 134 } else { 135 t10 = $[17]; 136 } 137 return t10; 138} 139function _temp() { 140 logEvent("tengu_auto_mode_opt_in_dialog_shown", {}); 141} 142//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImxvZ0V2ZW50IiwiQm94IiwiTGluayIsIlRleHQiLCJ1cGRhdGVTZXR0aW5nc0ZvclNvdXJjZSIsIlNlbGVjdCIsIkRpYWxvZyIsIkFVVE9fTU9ERV9ERVNDUklQVElPTiIsIlByb3BzIiwib25BY2NlcHQiLCJvbkRlY2xpbmUiLCJkZWNsaW5lRXhpdHMiLCJBdXRvTW9kZU9wdEluRGlhbG9nIiwidDAiLCIkIiwiX2MiLCJ0MSIsIlN5bWJvbCIsImZvciIsInVzZUVmZmVjdCIsIl90ZW1wIiwidDIiLCJvbkNoYW5nZSIsInZhbHVlIiwiYmIzIiwic2tpcEF1dG9QZXJtaXNzaW9uUHJvbXB0IiwicGVybWlzc2lvbnMiLCJkZWZhdWx0TW9kZSIsInQzIiwidDQiLCJsYWJlbCIsImNvbnN0IiwidDUiLCJ0NiIsInQ3IiwidDgiLCJ2YWx1ZV8wIiwidDkiLCJ0MTAiXSwic291cmNlcyI6WyJBdXRvTW9kZU9wdEluRGlhbG9nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBsb2dFdmVudCB9IGZyb20gJ3NyYy9zZXJ2aWNlcy9hbmFseXRpY3MvaW5kZXguanMnXG5pbXBvcnQgeyBCb3gsIExpbmssIFRleHQgfSBmcm9tICcuLi9pbmsuanMnXG5pbXBvcnQgeyB1cGRhdGVTZXR0aW5nc0ZvclNvdXJjZSB9IGZyb20gJy4uL3V0aWxzL3NldHRpbmdzL3NldHRpbmdzLmpzJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi9DdXN0b21TZWxlY3QvaW5kZXguanMnXG5pbXBvcnQgeyBEaWFsb2cgfSBmcm9tICcuL2Rlc2lnbi1zeXN0ZW0vRGlhbG9nLmpzJ1xuXG4vLyBOT1RFOiBUaGlzIGNvcHkgaXMgbGVnYWxseSByZXZpZXdlZCDigJQgZG8gbm90IG1vZGlmeSB3aXRob3V0IExlZ2FsIHRlYW0gYXBwcm92YWwuXG5leHBvcnQgY29uc3QgQVVUT19NT0RFX0RFU0NSSVBUSU9OID1cbiAgXCJBdXRvIG1vZGUgbGV0cyBDbGF1ZGUgaGFuZGxlIHBlcm1pc3Npb24gcHJvbXB0cyBhdXRvbWF0aWNhbGx5IOKAlCBDbGF1ZGUgY2hlY2tzIGVhY2ggdG9vbCBjYWxsIGZvciByaXNreSBhY3Rpb25zIGFuZCBwcm9tcHQgaW5qZWN0aW9uIGJlZm9yZSBleGVjdXRpbmcuIEFjdGlvbnMgQ2xhdWRlIGlkZW50aWZpZXMgYXMgc2FmZSBhcmUgZXhlY3V0ZWQsIHdoaWxlIGFjdGlvbnMgQ2xhdWRlIGlkZW50aWZpZXMgYXMgcmlza3kgYXJlIGJsb2NrZWQgYW5kIENsYXVkZSBtYXkgdHJ5IGEgZGlmZmVyZW50IGFwcHJvYWNoLiBJZGVhbCBmb3IgbG9uZy1ydW5uaW5nIHRhc2tzLiBTZXNzaW9ucyBhcmUgc2xpZ2h0bHkgbW9yZSBleHBlbnNpdmUuIENsYXVkZSBjYW4gbWFrZSBtaXN0YWtlcyB0aGF0IGFsbG93IGhhcm1mdWwgY29tbWFuZHMgdG8gcnVuLCBpdCdzIHJlY29tbWVuZGVkIHRvIG9ubHkgdXNlIGluIGlzb2xhdGVkIGVudmlyb25tZW50cy4gU2hpZnQrVGFiIHRvIGNoYW5nZSBtb2RlLlwiXG5cbnR5cGUgUHJvcHMgPSB7XG4gIG9uQWNjZXB0KCk6IHZvaWRcbiAgb25EZWNsaW5lKCk6IHZvaWRcbiAgLy8gU3RhcnR1cCBnYXRlOiBkZWNsaW5lIGV4aXRzIHRoZSBwcm9jZXNzLCBzbyByZWxhYmVsIGFjY29yZGluZ2x5LlxuICBkZWNsaW5lRXhpdHM/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRvTW9kZU9wdEluRGlhbG9nKHtcbiAgb25BY2NlcHQsXG4gIG9uRGVjbGluZSxcbiAgZGVjbGluZUV4aXRzLFxufTogUHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvZ0V2ZW50KCd0ZW5ndV9hdXRvX21vZGVfb3B0X2luX2RpYWxvZ19zaG93bicsIHt9KVxuICB9LCBbXSlcblxuICBmdW5jdGlvbiBvbkNoYW5nZSh2YWx1ZTogJ2FjY2VwdCcgfCAnYWNjZXB0LWRlZmF1bHQnIHwgJ2RlY2xpbmUnKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSAnYWNjZXB0Jzoge1xuICAgICAgICBsb2dFdmVudCgndGVuZ3VfYXV0b19tb2RlX29wdF9pbl9kaWFsb2dfYWNjZXB0Jywge30pXG4gICAgICAgIHVwZGF0ZVNldHRpbmdzRm9yU291cmNlKCd1c2VyU2V0dGluZ3MnLCB7XG4gICAgICAgICAgc2tpcEF1dG9QZXJtaXNzaW9uUHJvbXB0OiB0cnVlLFxuICAgICAgICB9KVxuICAgICAgICBvbkFjY2VwdCgpXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgICBjYXNlICdhY2NlcHQtZGVmYXVsdCc6IHtcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2F1dG9fbW9kZV9vcHRfaW5fZGlhbG9nX2FjY2VwdF9kZWZhdWx0Jywge30pXG4gICAgICAgIHVwZGF0ZVNldHRpbmdzRm9yU291cmNlKCd1c2VyU2V0dGluZ3MnLCB7XG4gICAgICAgICAgc2tpcEF1dG9QZXJtaXNzaW9uUHJvbXB0OiB0cnVlLFxuICAgICAgICAgIHBlcm1pc3Npb25zOiB7IGRlZmF1bHRNb2RlOiAnYXV0bycgfSxcbiAgICAgICAgfSlcbiAgICAgICAgb25BY2NlcHQoKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnZGVjbGluZSc6IHtcbiAgICAgICAgbG9nRXZlbnQoJ3Rlbmd1X2F1dG9fbW9kZV9vcHRfaW5fZGlhbG9nX2RlY2xpbmUnLCB7fSlcbiAgICAgICAgb25EZWNsaW5lKClcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxEaWFsb2cgdGl0bGU9XCJFbmFibGUgYXV0byBtb2RlP1wiIGNvbG9yPVwid2FybmluZ1wiIG9uQ2FuY2VsPXtvbkRlY2xpbmV9PlxuICAgICAgPEJveCBmbGV4RGlyZWN0aW9uPVwiY29sdW1uXCIgZ2FwPXsxfT5cbiAgICAgICAgPFRleHQ+e0FVVE9fTU9ERV9ERVNDUklQVElPTn08L1RleHQ+XG5cbiAgICAgICAgPExpbmsgdXJsPVwiaHR0cHM6Ly9jb2RlLmNsYXVkZS5jb20vZG9jcy9lbi9zZWN1cml0eVwiIC8+XG4gICAgICA8L0JveD5cblxuICAgICAgPFNlbGVjdFxuICAgICAgICBvcHRpb25zPXtbXG4gICAgICAgICAgLi4uKFwiZXh0ZXJuYWxcIiAhPT0gJ2FudCdcbiAgICAgICAgICAgID8gW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnWWVzLCBhbmQgbWFrZSBpdCBteSBkZWZhdWx0IG1vZGUnLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6ICdhY2NlcHQtZGVmYXVsdCcgYXMgY29uc3QsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgOiBbXSksXG4gICAgICAgICAgeyBsYWJlbDogJ1llcywgZW5hYmxlIGF1dG8gbW9kZScsIHZhbHVlOiAnYWNjZXB0JyBhcyBjb25zdCB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiBkZWNsaW5lRXhpdHMgPyAnTm8sIGV4aXQnIDogJ05vLCBnbyBiYWNrJyxcbiAgICAgICAgICAgIHZhbHVlOiAnZGVjbGluZScgYXMgY29uc3QsXG4gICAgICAgICAgfSxcbiAgICAgICAgXX1cbiAgICAgICAgb25DaGFuZ2U9e3ZhbHVlID0+XG4gICAgICAgICAgb25DaGFuZ2UodmFsdWUgYXMgJ2FjY2VwdCcgfCAnYWNjZXB0LWRlZmF1bHQnIHwgJ2RlY2xpbmUnKVxuICAgICAgICB9XG4gICAgICAgIG9uQ2FuY2VsPXtvbkRlY2xpbmV9XG4gICAgICAvPlxuICAgIDwvRGlhbG9nPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUN6QixTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLEdBQUcsRUFBRUMsSUFBSSxFQUFFQyxJQUFJ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