Commit Graph

576 Commits

Author SHA1 Message Date
can1357 c803338101 chore: bump version to 9.5.1 2026-02-01 06:27:00 +01:00
can1357 a1f674c156 chore: bump version to 9.5.0 2026-02-01 05:56:09 +01:00
can1357 eabbde0c8a feat(natives): migrated native bindings from WASM to Node.js N-API with ripgrep-backed grep module
- Migrated native bindings from WebAssembly (wasm-bindgen) to Node.js N-API architecture for improved performance and platform support.
- Replaced worker pool-based async architecture with synchronous native addon calls, eliminating thread overhead and simplifying the API.
- Added new grep module with ripgrep-backed filesystem search supporting parallel processing, glob filtering, and context line extraction.
- Updated build system to compile Rust crates to platform-specific .node binaries instead of WASM modules.
- Removed WASI implementation and worker pool infrastructure no longer needed with N-API native bindings.
- Updated CI/CD pipeline to build native addons for multiple platforms (Linux x64/arm64, macOS x64/arm64, Windows x64) and include them in releases.
2026-01-31 18:02:56 +01:00
can1357 12eeb63041 chore: bump version to 9.4.0 2026-01-31 14:02:24 +01:00
can1357 cdebcc6183 chore: bump version to 9.3.1 2026-01-31 10:04:26 +01:00
can1357 7d0b8c80c8 chore: bump version to 9.3.0 2026-01-31 07:54:10 +01:00
can1357 8a2cb1df32 chore: bump version to 9.2.5 2026-01-31 07:17:11 +01:00
can1357 e85c4b83ad chore: bump version to 9.2.4 2026-01-31 06:30:41 +01:00
can1357 d0651d16f9 chore: bump version to 9.2.3 2026-01-31 05:22:22 +01:00
can1357 3ea1014e10 chore: bump version to 9.2.2 2026-01-31 02:11:53 +01:00
can1357 4e4fb944c5 chore: bump version to 9.2.1 2026-01-31 01:35:32 +01:00
can1357 ff8ec3426c chore: bump version to 9.2.0 2026-01-31 01:29:50 +01:00
can1357 27d7e66be6 chore: bump version to 9.1.1 2026-01-30 01:27:47 +01:00
can1357 cdb4f72cbc chore: bump version to 9.1.0 2026-01-30 01:13:03 +01:00
can1357 47dc81720c feat(natives/wasm): added GIF and WebP export methods to PhotonImage
- Added `get_bytes_gif()` method to PhotonImage for exporting images as GIF bytes.
- Added `get_bytes_webp()` method to PhotonImage for exporting images as lossless WebP bytes.
- Enabled 'gif' and 'webp' features for the image crate dependency.
2026-01-30 01:06:49 +01:00
can1357 f28d0bc507 chore: bump version to 9.0.0 2026-01-30 00:23:37 +01:00
can1357 fa68a6606b chore: bump version to 8.13.0 2026-01-29 23:35:38 +01:00
can1357 0eaa18c15b feat(html-to-markdown): added bundled HTML-to-Markdown conversion via Rust natives
- Added HTML to Markdown conversion functionality via new WASM binding in pi-natives crate with configurable options for content cleaning and image skipping.
- Exported htmlToMarkdown async function from @oh-my-pi/pi-natives package with worker pool support for efficient HTML to Markdown conversion.
- Integrated native WASM HTML to Markdown converter as the primary conversion method in fetch tool, replacing text-only rendering with markdown output.
- Added html-to-markdown-rs dependency to pi-natives crate for server-side HTML to Markdown conversion with preprocessing support.
- Added comprehensive test coverage for htmlToMarkdown function including headings, links, lists, code blocks, and conversion options.
2026-01-29 23:25:56 +01:00
can1357 d1be6e541b chore: bump version to 8.12.10 2026-01-29 15:43:01 +01:00
can1357 3f59a73b83 refactor: restructured TUI and file streaming APIs with WASM optimization
- Removed TUI layout engine exports from public API surface.
- Replaced Bun.file().stream() with fs/promises for manual buffer reading in file streaming.
- Added AbortSignal support to streamLinesFromFile for cancellation capability.
- Removed stdin monitoring feature that detected stalled input after 10 seconds.
- Removed cli-highlight and highlight.js dependencies from lock file.
- Rebuilt WASM module with reduced binary size (2.1% reduction).
2026-01-29 15:16:37 +01:00
can1357 e6e217c8f1 chore: bump version to 8.12.9 2026-01-29 11:33:27 +01:00
can1357 6d23309f14 chore: bump version to 8.12.8 2026-01-29 11:19:52 +01:00
can1357 2aa046c053 chore: bump version to 8.12.7 2026-01-29 11:03:59 +01:00
can1357 8ef11355e7 perf(tui,natives): added native text utilities with JS fast path for short strings
- Added native text utilities in pi-natives (visible width, truncation, slicing, segment extraction)
- Wired pi-tui to use native implementations with short-string JS fast path
- Optimized key matching via cached parsed key ids
- Refactored visual truncation to reuse Text instances
- Reduced theme color lookups by switching from Map to plain records
- Regenerated WASM artifacts

Benchmarks (after vs before, lower is better):
- truncateToWidth/ansi: 20.37ms vs 38.13ms (2000 iters)
- sliceWithWidth/ansi: 5.12ms vs 20.39ms
- extractSegments/ansi: 8.92ms vs 27.60ms
- truncateToVisualLines: 3.51ms vs 411.55ms (500 iters)
- visibleWidth/ansi: 0.24ms vs 0.31ms
2026-01-29 10:47:55 +01:00
can1357 28bf9057e3 chore: fix *.rs formatting 2026-01-29 09:33:01 +01:00
can1357 978b93ba62 refactor: migrated native tools to WASM-based implementation
- Consolidated grep, find, and image processing into a new `@oh-my-pi/pi-natives` WASM package.
- Eliminated subprocess overhead and simplified JS tool implementations.
- Updated CI to include Rust workspace, linting, formatting, and WASM build steps.
- Documented `Promise.withResolvers()` and `using` declarations for wasm-bindgen.
2026-01-29 09:29:21 +01:00