singularity-forge/native/crates/engine/src
TÂCHES 60a3607ff7 feat: native Rust output truncation module (#268)
* feat: add native Rust output truncation module

Line-boundary-aware truncation for tool outputs (bash, grep, file reads),
replacing JS byte-counting with native Rust via napi-rs. Supports head,
tail, and both modes. Counts by UTF-8 bytes, respects line boundaries,
uses memchr for fast newline scanning.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

* fix: remove unsafe blocks and fix truncation message byte counts

Replace unsafe from_utf8_unchecked with safe from_utf8().expect() —
the invariant (splitting at newline boundaries) is sound but the perf
difference is negligible, so no reason to use unsafe.

Fix truncateOutput messages that reported the byte budget as "bytes
truncated" instead of the actual number of bytes removed.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 16:48:49 -06:00
..
ast.rs feat: add native ast module with ast-grep structural search and rewrite 2026-03-13 13:02:29 -06:00
clipboard.rs feat: add native clipboard module with arboard backend (#228) 2026-03-13 12:48:27 -06:00
diff.rs feat: add native Rust diff engine for edit tool 2026-03-13 14:11:40 -06:00
fd.rs merge: integrate native fd module (#231) 2026-03-13 13:13:43 -06:00
fs_cache.rs feat: add native glob and fs_cache modules with gitignore-aware discovery (#226) 2026-03-13 12:45:56 -06:00
glob.rs feat: add native glob and fs_cache modules with gitignore-aware discovery (#226) 2026-03-13 12:45:56 -06:00
glob_util.rs feat: add native glob and fs_cache modules with gitignore-aware discovery (#226) 2026-03-13 12:45:56 -06:00
grep.rs feat: Rust native engine scaffold with grep module 2026-03-13 12:21:09 -06:00
gsd_parser.rs feat: add native Rust GSD file parser for .gsd/ directory parsing 2026-03-13 14:12:17 -06:00
highlight.rs feat: add syntect-based syntax highlighting module to native engine (#227) 2026-03-13 12:47:02 -06:00
html.rs feat: add html-to-markdown native module 2026-03-13 12:40:42 -06:00
image.rs feat: add native image module — decode, encode, and resize via Rust image crate 2026-03-13 12:51:49 -06:00
json_parse.rs feat: native Rust streaming JSON parser (#266) 2026-03-13 16:21:58 -06:00
lib.rs feat: native Rust output truncation module (#268) 2026-03-13 16:48:49 -06:00
ps.rs feat: add cross-platform process tree kill module (ps) (#225) 2026-03-13 12:43:50 -06:00
stream_process.rs feat: native Rust bash stream processor for single-pass chunk processing (#271) 2026-03-13 16:34:17 -06:00
task.rs feat: add native image module — decode, encode, and resize via Rust image crate 2026-03-13 12:51:49 -06:00
text.rs feat: add ANSI-aware text measurement and slicing native module 2026-03-13 12:42:42 -06:00
truncate.rs feat: native Rust output truncation module (#268) 2026-03-13 16:48:49 -06:00
ttsr.rs feat: add native Rust TTSR regex engine via RegexSet 2026-03-13 13:57:12 -06:00
xxhash.rs feat: native Rust xxHash32 for hashline (#272) 2026-03-13 16:46:08 -06:00