Something went wrong. Try again.
source dump of claude code forked from oppi.li/claude-code
Something went wrong. Try again.
1.2 kB · 31 lines
TypeScript
at main
1234567891011121314151617181920212223242526272829303132import { createHash, randomUUID } from 'crypto'import { tmpdir } from 'os'import { join } from 'path'
/** * Generate a temporary file path. * * @param prefix Optional prefix for the temp file name * @param extension Optional file extension (defaults to '.md') * @param options.contentHash When provided, the identifier is derived from a * SHA-256 hash of this string (first 16 hex chars). This produces a path * that is stable across process boundaries — any process with the same * content will get the same path. Use this when the path ends up in content * sent to the Anthropic API (e.g., sandbox deny lists in tool descriptions), * because a random UUID would change on every subprocess spawn and * invalidate the prompt cache prefix. * @returns Temp file path */export function generateTempFilePath( prefix: string = 'claude-prompt', extension: string = '.md', options?: { contentHash?: string },): string { const id = options?.contentHash ? createHash('sha256') .update(options.contentHash) .digest('hex') .slice(0, 16) : randomUUID() return join(tmpdir(), `${prefix}-${id}${extension}`)}