269f7de483
- Redesigned hashline edit API to use discriminated union variants (replaceLine, replaceLines, insertAfter, insertBefore, substr) instead of nested src/dst structure. - Changed hash algorithm from xxHash64 hex to xxHash32 base36 encoding and increased hash length from 2 to 3 characters. - Added substr edit variant to match and replace content by unique substring when line hashes are unavailable. - Implemented line relocation heuristics to resolve stale line references when hash uniquely identifies a moved line. - Moved substr needle search from edit application phase to pre-validation phase for earlier error detection. - Migrated hashline edit type definitions from manual TypeScript interfaces to schema-derived types using Static<typeof schema> pattern.