mirror of
http://10.0.2.1:3031/sauer/claude-code.git
synced 2026-06-30 19:36:57 +10:00
122 lines
13 KiB
TypeScript
122 lines
13 KiB
TypeScript
|
|
import { c as _c } from "react/compiler-runtime";
|
||
|
|
import React from 'react';
|
||
|
|
import { handlePlanModeTransition } from '../../../bootstrap/state.js';
|
||
|
|
import { Box, Text } from '../../../ink.js';
|
||
|
|
import { type AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, logEvent } from '../../../services/analytics/index.js';
|
||
|
|
import { useAppState } from '../../../state/AppState.js';
|
||
|
|
import { isPlanModeInterviewPhaseEnabled } from '../../../utils/planModeV2.js';
|
||
|
|
import { Select } from '../../CustomSelect/index.js';
|
||
|
|
import { PermissionDialog } from '../PermissionDialog.js';
|
||
|
|
import type { PermissionRequestProps } from '../PermissionRequest.js';
|
||
|
|
export function EnterPlanModePermissionRequest(t0) {
|
||
|
|
const $ = _c(18);
|
||
|
|
const {
|
||
|
|
toolUseConfirm,
|
||
|
|
onDone,
|
||
|
|
onReject,
|
||
|
|
workerBadge
|
||
|
|
} = t0;
|
||
|
|
const toolPermissionContextMode = useAppState(_temp);
|
||
|
|
let t1;
|
||
|
|
if ($[0] !== onDone || $[1] !== onReject || $[2] !== toolPermissionContextMode || $[3] !== toolUseConfirm) {
|
||
|
|
t1 = function handleResponse(value) {
|
||
|
|
if (value === "yes") {
|
||
|
|
logEvent("tengu_plan_enter", {
|
||
|
|
interviewPhaseEnabled: isPlanModeInterviewPhaseEnabled(),
|
||
|
|
entryMethod: "tool" as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS
|
||
|
|
});
|
||
|
|
handlePlanModeTransition(toolPermissionContextMode, "plan");
|
||
|
|
onDone();
|
||
|
|
toolUseConfirm.onAllow({}, [{
|
||
|
|
type: "setMode",
|
||
|
|
mode: "plan",
|
||
|
|
destination: "session"
|
||
|
|
}]);
|
||
|
|
} else {
|
||
|
|
onDone();
|
||
|
|
onReject();
|
||
|
|
toolUseConfirm.onReject();
|
||
|
|
}
|
||
|
|
};
|
||
|
|
$[0] = onDone;
|
||
|
|
$[1] = onReject;
|
||
|
|
$[2] = toolPermissionContextMode;
|
||
|
|
$[3] = toolUseConfirm;
|
||
|
|
$[4] = t1;
|
||
|
|
} else {
|
||
|
|
t1 = $[4];
|
||
|
|
}
|
||
|
|
const handleResponse = t1;
|
||
|
|
let t2;
|
||
|
|
if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t2 = <Text>Claude wants to enter plan mode to explore and design an implementation approach.</Text>;
|
||
|
|
$[5] = t2;
|
||
|
|
} else {
|
||
|
|
t2 = $[5];
|
||
|
|
}
|
||
|
|
let t3;
|
||
|
|
if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t3 = <Box marginTop={1} flexDirection="column"><Text dimColor={true}>In plan mode, Claude will:</Text><Text dimColor={true}> · Explore the codebase thoroughly</Text><Text dimColor={true}> · Identify existing patterns</Text><Text dimColor={true}> · Design an implementation strategy</Text><Text dimColor={true}> · Present a plan for your approval</Text></Box>;
|
||
|
|
$[6] = t3;
|
||
|
|
} else {
|
||
|
|
t3 = $[6];
|
||
|
|
}
|
||
|
|
let t4;
|
||
|
|
if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t4 = <Box marginTop={1}><Text dimColor={true}>No code changes will be made until you approve the plan.</Text></Box>;
|
||
|
|
$[7] = t4;
|
||
|
|
} else {
|
||
|
|
t4 = $[7];
|
||
|
|
}
|
||
|
|
let t5;
|
||
|
|
if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t5 = {
|
||
|
|
label: "Yes, enter plan mode",
|
||
|
|
value: "yes" as const
|
||
|
|
};
|
||
|
|
$[8] = t5;
|
||
|
|
} else {
|
||
|
|
t5 = $[8];
|
||
|
|
}
|
||
|
|
let t6;
|
||
|
|
if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
|
||
|
|
t6 = [t5, {
|
||
|
|
label: "No, start implementing now",
|
||
|
|
value: "no" as const
|
||
|
|
}];
|
||
|
|
$[9] = t6;
|
||
|
|
} else {
|
||
|
|
t6 = $[9];
|
||
|
|
}
|
||
|
|
let t7;
|
||
|
|
if ($[10] !== handleResponse) {
|
||
|
|
t7 = () => handleResponse("no");
|
||
|
|
$[10] = handleResponse;
|
||
|
|
$[11] = t7;
|
||
|
|
} else {
|
||
|
|
t7 = $[11];
|
||
|
|
}
|
||
|
|
let t8;
|
||
|
|
if ($[12] !== handleResponse || $[13] !== t7) {
|
||
|
|
t8 = <Box flexDirection="column" marginTop={1} paddingX={1}>{t2}{t3}{t4}<Box marginTop={1}><Select options={t6} onChange={handleResponse} onCancel={t7} /></Box></Box>;
|
||
|
|
$[12] = handleResponse;
|
||
|
|
$[13] = t7;
|
||
|
|
$[14] = t8;
|
||
|
|
} else {
|
||
|
|
t8 = $[14];
|
||
|
|
}
|
||
|
|
let t9;
|
||
|
|
if ($[15] !== t8 || $[16] !== workerBadge) {
|
||
|
|
t9 = <PermissionDialog color="planMode" title="Enter plan mode?" workerBadge={workerBadge}>{t8}</PermissionDialog>;
|
||
|
|
$[15] = t8;
|
||
|
|
$[16] = workerBadge;
|
||
|
|
$[17] = t9;
|
||
|
|
} else {
|
||
|
|
t9 = $[17];
|
||
|
|
}
|
||
|
|
return t9;
|
||
|
|
}
|
||
|
|
function _temp(s) {
|
||
|
|
return s.toolPermissionContext.mode;
|
||
|
|
}
|
||
|
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImhhbmRsZVBsYW5Nb2RlVHJhbnNpdGlvbiIsIkJveCIsIlRleHQiLCJBbmFseXRpY3NNZXRhZGF0YV9JX1ZFUklGSUVEX1RISVNfSVNfTk9UX0NPREVfT1JfRklMRVBBVEhTIiwibG9nRXZlbnQiLCJ1c2VBcHBTdGF0ZSIsImlzUGxhbk1vZGVJbnRlcnZpZXdQaGFzZUVuYWJsZWQiLCJTZWxlY3QiLCJQZXJtaXNzaW9uRGlhbG9nIiwiUGVybWlzc2lvblJlcXVlc3RQcm9wcyIsIkVudGVyUGxhbk1vZGVQZXJtaXNzaW9uUmVxdWVzdCIsInQwIiwiJCIsIl9jIiwidG9vbFVzZUNvbmZpcm0iLCJvbkRvbmUiLCJvblJlamVjdCIsIndvcmtlckJhZGdlIiwidG9vbFBlcm1pc3Npb25Db250ZXh0TW9kZSIsIl90ZW1wIiwidDEiLCJoYW5kbGVSZXNwb25zZSIsInZhbHVlIiwiaW50ZXJ2aWV3UGhhc2VFbmFibGVkIiwiZW50cnlNZXRob2QiLCJvbkFsbG93IiwidHlwZSIsIm1vZGUiLCJkZXN0aW5hdGlvbiIsInQyIiwiU3ltYm9sIiwiZm9yIiwidDMiLCJ0NCIsInQ1IiwibGFiZWwiLCJjb25zdCIsInQ2IiwidDciLCJ0OCIsInQ5IiwicyIsInRvb2xQZXJtaXNzaW9uQ29udGV4dCJdLCJzb3VyY2VzIjpbIkVudGVyUGxhbk1vZGVQZXJtaXNzaW9uUmVxdWVzdC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgaGFuZGxlUGxhbk1vZGVUcmFuc2l0aW9uIH0gZnJvbSAnLi4vLi4vLi4vYm9vdHN0cmFwL3N0YXRlLmpzJ1xuaW1wb3J0IHsgQm94LCBUZXh0IH0gZnJvbSAnLi4vLi4vLi4vaW5rLmpzJ1xuaW1wb3J0IHtcbiAgdHlwZSBBbmFseXRpY3NNZXRhZGF0YV9JX1ZFUklGSUVEX1RISVNfSVNfTk9UX0NPREVfT1JfRklMRVBBVEhTLFxuICBsb2dFdmVudCxcbn0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvYW5hbHl0aWNzL2luZGV4LmpzJ1xuaW1wb3J0IHsgdXNlQXBwU3RhdGUgfSBmcm9tICcuLi8uLi8uLi9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB7IGlzUGxhbk1vZGVJbnRlcnZpZXdQaGFzZUVuYWJsZWQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9wbGFuTW9kZVYyLmpzJ1xuaW1wb3J0IHsgU2VsZWN0IH0gZnJvbSAnLi4vLi4vQ3VzdG9tU2VsZWN0L2luZGV4LmpzJ1xuaW1wb3J0IHsgUGVybWlzc2lvbkRpYWxvZyB9IGZyb20gJy4uL1Blcm1pc3Npb25EaWFsb2cuanMnXG5pbXBvcnQgdHlwZSB7IFBlcm1pc3Npb25SZXF1ZXN0UHJvcHMgfSBmcm9tICcuLi9QZXJtaXNzaW9uUmVxdWVzdC5qcydcblxuZXhwb3J0IGZ1bmN0aW9uIEVudGVyUGxhbk1vZGVQZXJtaXNzaW9uUmVxdWVzdCh7XG4gIHRvb2xVc2VDb25maXJtLFxuICBvbkRvbmUsXG4gIG9uUmVqZWN0LFxuICB3b3JrZXJCYWRnZSxcbn06IFBlcm1pc3Npb25SZXF1ZXN0UHJvcHMpOiBSZWFjdC5SZWFjdE5vZGUge1xuICBjb25zdCB0b29sUGVybWlzc2lvbkNvbnRleHRNb2RlID0gdXNlQXBwU3RhdGUoXG4gICAgcyA9PiBzLnRvb2xQZXJtaXNzaW9uQ29udGV4dC5tb2RlLFxuICApXG5cbiAgZnVuY3Rpb24gaGFuZGxlUmVzcG9uc2UodmFsdWU6ICd5ZXMnIHwgJ25vJyk6IHZvaWQge1xuICAgIGlmICh2YWx1ZSA9PT0gJ3llcycpIHtcbiAgICAgIGxvZ0V2ZW50KCd0ZW5ndV9wbGFuX2VudGVyJywge1xuICAgICAgICBpbnRlcnZpZXdQaGFzZUVuYWJsZWQ6IGlzUGxhbk1vZGVJbnRlcnZpZXdQaGFzZUVuYWJsZWQoKSxcbiAgICAgICAgZW50cnlNZXRob2Q6XG4gICAgICAgICAgJ3Rvb2wnIGFzIEFuYWx5dGljc01ldGFkYXRhX0lfVkVSSUZJRURfVEhJU19JU19OT1RfQ09ERV9PUl9GSUxFUEFUSFMsXG4gICAgICB9KVxuICAgICAgaGFuZGxlUGxhbk1vZGVUcmFuc2l0aW9uKHRvb2xQZXJtaXNzaW9uQ29udGV4dE1vZGUsICdwbGFuJylcbiAgICAgIG9uRG9uZSgpXG4gICAgICB0b29sVXNlQ29uZmlybS5vbkFsbG93KHt9LCBbXG4gICAgICAgIHsgdHlwZTogJ3NldE1vZGUnLCBtb2RlOiAncGxhbicsIGRlc3RpbmF0aW9uOiAnc2Vzc2lvbicgfSxcbiAgICAgIF0pXG4gICAgfSBlbHNlIHtcbiAgICAgIG9uRG9uZSgpXG4gICAgICBvblJlamVjdCgpXG4gICAgICB0b29sVXNlQ29uZmlybS5vblJlamVjdCgpXG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8UGVybWlzc2lvbkRpYWxvZ1xuICAgICAgY29sb3I9XCJwbGFuTW9kZVwiXG4gICAgICB0aXRsZT1cIkVudGVyIHBsYW4gbW9kZT9cIlxuICAgICAgd29ya2VyQmFkZ2U9e3dvcmtlckJhZGdlfVxuICAgID5cbiAgICAgIDxCb3ggZmxleERpcmVjdGlvbj1cImNvbHVtblwiIG1hcmdpblRvcD17MX0gcGFkZGluZ1g9ezF9PlxuICAgICAgICA8VGV4dD5cbiAgICAgICAgICBDbGF1ZGUgd2FudHMgdG8gZW50ZXIgcGxhbiBtb2RlIHRvIGV4cGxvcmUgYW5kIGRlc2lnbiBhblxuICAgICAgICAgIGltcGxlbWVudGF0aW9uIGFwcHJvYWNoLlxuICAgICAgICA8L1RleHQ+XG5cbiAgICAgICAgPEJveCBtYXJnaW5Ub3A9ezF9IGZsZXhEaXJlY3Rpb249XCJjb2x1bW5cIj5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5JbiBwbGFuIG1vZGUsIENsYXVkZSB3aWxsOjwvVGV4dD5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj4gwrcgRXhwbG9yZSB0aGUgY29kZWJhc2UgdGhvcm91Z2hseTwvVGV4dD5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj4gwrcgSWRlbnRpZnkgZXhpc3RpbmcgcGF0dGVybnM8L1RleHQ+XG4gICAgICAgICAgPFRleHQgZGltQ29sb3I+IMK3IERlc2lnbiBhbiBpbXBsZW1lbnRhdGlvbiBzdHJhdGVneTwvVGV4dD5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj4gwrcgUHJlc2VudCBhIHBsYW4gZm9yIHlvdXIgYXBwcm92YWw8L1RleHQ+XG4gICAgICAgIDwvQm94PlxuXG4gICAgICAgIDxCb3ggbWFyZ2luVG9wPXsxfT5cbiAgICAgICAgICA8VGV4dCBkaW1Db2xvcj5cbiAgICAgICAgICAgIE5vIGNvZGUgY2hhbmdlcyB3aWxsIGJlIG1hZGUgdW50aWwgeW91IGFwcHJvdmUgdGhlIHBsYW4uXG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L0JveD5cblxuICAgICAgICA8Qm9
|