Download src/tools/FileReadTool/prompt.ts from chenbhao/codev: direct link, hf CLI and curl.
- Browser
- Download file 2.87 kB
-
https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileReadTool/prompt.ts
- Command line
-
hf download hf://chenbhao/codev@afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileReadTool/prompt.ts
-
curl -L -o prompt.ts https://huggingface.co/chenbhao/codev/resolve/afbc7edaae4e6bb0102ba024b49ce8be89d2264c/src/tools/FileReadTool/prompt.ts
2.87 kB
| import { isPDFSupported } from '../../utils/pdfUtils.js' | |
| import { BASH_TOOL_NAME } from '../BashTool/toolName.js' | |
| // Use a string constant for tool names to avoid circular dependencies | |
| export const FILE_READ_TOOL_NAME = 'Read' | |
| export const FILE_UNCHANGED_STUB = | |
| 'File unchanged since last read. The content from the earlier Read tool_result in this conversation is still current — refer to that instead of re-reading.' | |
| export const MAX_LINES_TO_READ = 2000 | |
| export const DESCRIPTION = 'Read a file from the local filesystem.' | |
| export const LINE_FORMAT_INSTRUCTION = | |
| '- Results are returned using cat -n format, with line numbers starting at 1' | |
| export const OFFSET_INSTRUCTION_DEFAULT = | |
| "- You can optionally specify a line offset and limit (especially handy for long files), but it's recommended to read the whole file by not providing these parameters" | |
| export const OFFSET_INSTRUCTION_TARGETED = | |
| '- When you already know which part of the file you need, only read that part. This can be important for larger files.' | |
| /** | |
| * Renders the Read tool prompt template. The caller (FileReadTool) supplies | |
| * the runtime-computed parts. | |
| */ | |
| export function renderPromptTemplate( | |
| lineFormat: string, | |
| maxSizeInstruction: string, | |
| offsetInstruction: string, | |
| ): string { | |
| return `Reads a file from the local filesystem. You can access any file directly by using this tool. | |
| Assume this tool is able to read all files on the machine. If the User provides a path to a file assume that path is valid. It is okay to read a file that does not exist; an error will be returned. | |
| Usage: | |
| - The file_path parameter must be an absolute path, not a relative path | |
| - By default, it reads up to ${MAX_LINES_TO_READ} lines starting from the beginning of the file${maxSizeInstruction} | |
| ${offsetInstruction} | |
| ${lineFormat} | |
| - This tool allows Claude Code to read images (eg PNG, JPG, etc). When reading an image file the contents are presented visually as Claude Code is a multimodal LLM.${ | |
| isPDFSupported() | |
| ? '\n- This tool can read PDF files (.pdf). For large PDFs (more than 10 pages), you MUST provide the pages parameter to read specific page ranges (e.g., pages: "1-5"). Reading a large PDF without the pages parameter will fail. Maximum 20 pages per request.' | |
| : '' | |
| } | |
| - This tool can read Jupyter notebooks (.ipynb files) and returns all cells with their outputs, combining code, text, and visualizations. | |
| - This tool can only read files, not directories. To read a directory, use an ls command via the ${BASH_TOOL_NAME} tool. | |
| - You will regularly be asked to read screenshots. If the user provides a path to a screenshot, ALWAYS use this tool to view the file at the path. This tool will work with all temporary file paths. | |
| - If you read a file that exists but has empty contents you will receive a system reminder warning in place of file contents.` | |
| } | |