- Flatten JSON using recursive traversal instead of iterative approach
- Extract header collection to shared util
- Import InitialValuesType from types.ts
- Replace bare primitive fallback with explicit error throw
- Use CRLF line endings to comply with RFC 4180
- Move InitialValuesType to types.ts
- Remove 'never' quote option — unsafe and produces invalid CSV when values contain double-quotes
- Widen delimiter type from union to string to support custom delimiters
• Extend filterTools query normalization with alpha+digit token concatenation (e.g. base + 64 -> base64)
• Document keyword-based synonym usage in filterTools
• Expand filterTools tests to cover alias-style queries like pdf join and base 64
Co-Authored-By: Warp <agent@warp.dev>
* Implement token-based, whitespace-robust search in filterTools:
* Normalize queries by trimming, lowercasing, and collapsing internal whitespace.
* Split normalized query into tokens and require every token to match at least one of: localized name, description, shortDescription, or keywords.
* Keep user-type filtering behavior the same and apply it before search filtering.
* Return all tools (post user-type filter) when the normalized query is empty or only whitespace.
* Make Hero autocomplete respect the new search behavior:* Use filterOptions={(options) => options} to disable MUI Autocomplete’s internal filtering.
* Rely solely on filterTools + filteredTools so queries like "pdf " behave the same as "pdf" and support multi-word, order-insensitive searches.
* Add unit tests for Phase 1 search behavior:
* New src/tools/index.test.ts covering:
* Empty and whitespace-only queries returning all tools.
* Word-order and extra-whitespace robustness for queries like "pdf merge" vs " merge pdf ".
* Case-insensitive matching and multi-word queries for the Base64 tool.
* Trailing spaces being ignored.
* Non-English behavior by using localized Spanish strings (e.g. "unir pdf") to confirm locale-agnostic token matching.
Co-Authored-By: Warp <agent@warp.dev>