1016 Commits

Author SHA1 Message Date
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 ddb617e3f5 feat: enhanced worker pool with timeout/abort handling and replaced html2text with WASM converter
- Added `RequestOptions` interface to worker pool with support for `timeoutMs`, `signal`, and `transfer` properties.
- Added `stuckGracePeriodMs` configuration option to `WorkerPoolOptions` for graceful handling of stuck workers after timeout.
- Enhanced worker pool request method to accept `RequestOptions` object parameter instead of simple transfer array, enabling timeout and abort signal handling.
- Implemented comprehensive timeout and abort signal handling in worker pool with support for combined signals and grace period before force-terminating stuck workers.
- Removed html2text tool from coding agent in favor of native WASM html-to-markdown converter.
- Exported `RequestOptions` type from natives package public API.
2026-01-29 23:35:02 +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 37d5b69250 feat(highlight): replaced cli-highlight with rust-based syntax highlighting
- Added native syntax highlighting module powered by syntect library with ANSI color output support.
- Implemented highlightCode() function that applies syntax highlighting to code with language detection and customizable color themes.
- Implemented supportsLanguage() function to check if a given programming language is supported for syntax highlighting.
- Implemented getSupportedLanguages() function that returns list of all supported language identifiers.
- Replaced cli-highlight dependency with native syntect-based highlighting in coding-agent theme module.
- Added comprehensive language alias mappings supporting 50+ programming languages including TypeScript, Python, Rust, Go, C/C++, and web languages.
2026-01-29 12:01:11 +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 2abaddec84 chore: bump version to 8.12.6 2026-01-29 10:53:15 +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 a7ad179356 chore: bump version to 8.12.5 2026-01-29 09:49:52 +01:00
can1357 e9e106da1b refactor(natives/wasm): restructured WASM module loading to use import.meta.resolve() for better resolution
- Refactored WASM module loading to use import.meta.resolve() instead of URL constructor for better module resolution.
2026-01-29 09:47:43 +01:00
can1357 aa156af6e1 chore: bump version to 8.12.4 2026-01-29 09:34:06 +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