| 12345678910111213141516171819202122232425262728 |
- /**
- * Content identity for workspace instruction duplicate suppression.
- *
- * @module @deepseek-ai/dsh-workspace-context/digest
- */
- import { createHash } from 'node:crypto'
- /**
- * Compute the content identity used across instruction loading and session state.
- * @param content - exact UTF-8 instruction text.
- * @returns lowercase SHA-1 digest in hexadecimal form.
- */
- export function instructionContentSha1(content: string): string {
- return createHash('sha1').update(content).digest('hex')
- }
- /**
- * Compute the whitespace-insensitive identity used for per-directory duplicate
- * suppression. Leading and trailing whitespace is trimmed before hashing so a
- * symlinked or byte-copied sibling that differs only by surrounding whitespace
- * still collapses to a single rendered file.
- * @param content - exact UTF-8 instruction text.
- * @returns SHA-1 digest of the trimmed content.
- */
- export function trimmedInstructionDigest(content: string): string {
- return instructionContentSha1(content.trim())
- }
|