Commit Graph

11 Commits

Author SHA1 Message Date
can1357 5a4a6670b1 feat(pi-walker): ignored parent rules that cover explicitly rooted walks
- Updated gitignore loading to filter out ancestor ignore rules that match the current explicit walk root.
- Retained unrelated parent ignore rules and processed local ignore files within the root normally.
- Added a regression test to ensure ignored roots still respect nested ignore rules.
2026-07-11 07:33:18 +02:00
roboomp 1aa31c062d fix(native): bounded inherited ignore files
Stop pi-walker from applying .gitignore/.ignore files from unrelated ancestors above an explicit non-repository search root. Preserve repo-root ignore inheritance when scanning a subdirectory inside a repository.

Fixes #4706
2026-07-06 14:07:41 +00:00
can1357 cb30c981a0 feat(walker): implemented parallel filesystem traversal with streaming grep
- Introduced parallel streaming grep with windowed result processing to enhance search performance and memory management.
- Implemented stateful parallel file walking with buffer pooling and directory entry record caching to minimize memory allocations.
- Optimized ignore state derivation by using directory entry names instead of stat probes.
- Added comprehensive unit and performance tests covering parallel traversal correctness, early termination, and streaming behavior.
2026-07-04 11:22:04 +02:00
metaphorics 977e43f7f5 style(rust): format cleanup changes
Formats Rust files touched by the cleanup commits after cherry-picking them onto current upstream/main.

Op: compress
2026-07-03 09:31:52 +09:00
metaphorics cb80aaa6fb refactor(pi-walker): behavior-preserving cleanup\n\nOp: compress 2026-07-03 09:31:43 +09:00
can1357 266dca118f refactor(pi-walker): made file type conversion helper functions const
- Converted `file_type_from_dtype` and `file_type_from_mode` into const functions.
- Removed the unused `OsStringExt` import.
2026-07-01 02:56:16 +02:00
can1357 bdb33a184d feat(coding-agent/modes): tracked and migrate stream-key placeholders for tool calls
- Added `#streamTurnNonce` to prevent aborted streaming turns from corrupting content indexes of subsequent messages.
- Implemented temporary stream-key generation using content position and turn nonces for previewing tool calls without native IDs.
- Added migration logic to key pending tool previews by their real ID and rekey `ToolArgsRevealController` once the real ID is parsed.
2026-07-01 00:34:21 +02:00
can1357 7c0e64dbd9 refactor: streamlined directory traversal by consolidating native scanners and removing fallback walker
- Removed the ignore-based fallback walker implementation and its associated dependencies.
- Simplified the directory traversal to consistently use native scanners across all platforms.
- Eliminated `WalkError::Unsupported` and `WalkStatus::Unsupported` error handling across all dependent crates.
- Added a depth-first sorting fallback for native traversal and implemented recursion detection using a symlink stack.
2026-07-01 00:24:27 +02:00
can1357 6f657daa4c feat(pi-walker): configured walk builder to not require a git repository
- Disabled the git repository requirement in the WalkBuilder configuration when git features are enabled.
2026-07-01 00:01:12 +02:00
can1357 13b1b5b134 refactor: migrated concurrency primitives to flume and parking_lot
- Replaced standard and tokio mpsc channels with flume channels across workspace crates to simplify thread synchronization.
- Swapped standard Mutex guards for parking_lot Mutexes to avoid manual lock poisoning handling and improve performance.
- Declared workspace-wide dependencies for flume and parking_lot in root and member Cargo manifests.
2026-06-30 23:45:42 +02:00
can1357 31d9fb1145 refactor: consolidated filesystem traversal into a dedicated library
- Replaced custom fast-walk and fs-cache implementations in pi-natives with a new dedicated pi-walker library.
- Integrated the thread-safe, parallel pi-walker library across pi-natives, pi-shell, pi-uu-grep, and uu-find.
- Rewrote file search, fuzzy finding, and glob-matching logic to leverage pi-walker configurations and visitor traits.
- Optimized shell process tracking in pi-shell by replacing global descendant-diff logic with an isolated, per-run SpawnRegistry.
- Added parallel rayon-based walking and optimized fast paths for directory scanning and entry classification.
2026-06-30 23:25:50 +02:00