Download src/tools/FileEditTool/prompt.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 1.9 kB
-
https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileEditTool/prompt.ts
- Command line
-
hf download hf://chenbhao/codev@afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileEditTool/prompt.ts
-
curl -L -o prompt.ts https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileEditTool/prompt.ts
1.9 kB
| import { isCompactLinePrefixEnabled } from '../../utils/file.js' | |
| import { FILE_READ_TOOL_NAME } from '../FileReadTool/prompt.js' | |
| function getPreReadInstruction(): string { | |
| return `\n- You must use your \`${FILE_READ_TOOL_NAME}\` tool at least once in the conversation before editing. This tool will error if you attempt an edit without reading the file. ` | |
| } | |
| export function getEditToolDescription(): string { | |
| return getDefaultEditDescription() | |
| } | |
| function getDefaultEditDescription(): string { | |
| const prefixFormat = isCompactLinePrefixEnabled() | |
| ? 'line number + tab' | |
| : 'spaces + line number + arrow' | |
| const minimalUniquenessHint = | |
| process.env.USER_TYPE === 'ant' | |
| ? `\n- Use the smallest old_string that's clearly unique — usually 2-4 adjacent lines is sufficient. Avoid including 10+ lines of context when less uniquely identifies the target.` | |
| : '' | |
| return `Performs exact string replacements in files. | |
| Usage:${getPreReadInstruction()} | |
| - When editing text from Read tool output, ensure you preserve the exact indentation (tabs/spaces) as it appears AFTER the line number prefix. The line number prefix format is: ${prefixFormat}. Everything after that is the actual file content to match. Never include any part of the line number prefix in the old_string or new_string. | |
| - ALWAYS prefer editing existing files in the codebase. NEVER write new files unless explicitly required. | |
| - Only use emojis if the user explicitly requests it. Avoid adding emojis to files unless asked. | |
| - The edit will FAIL if \`old_string\` is not unique in the file. Either provide a larger string with more surrounding context to make it unique or use \`replace_all\` to change every instance of \`old_string\`.${minimalUniquenessHint} | |
| - Use \`replace_all\` for replacing and renaming strings across the file. This parameter is useful if you want to rename a variable for instance.` | |
| } | |