Commit Graph

51 Commits

Author SHA1 Message Date
can1357 148f9e883d ci(workflows): added RUSTFLAGS configuration for x86-64-v3 CPU optimization in CI and native builds
- Added RUSTFLAGS environment variable configuration to CI workflow for x86-64-v3 CPU optimization across multiple build jobs.
- Added per-matrix rustflags configuration for native builds on x64 platforms (Linux, macOS Intel, Windows).
- Updated build-native script to default to native CPU optimization for local builds when not cross-compiling.
2026-02-10 22:06:34 +01:00
can1357 336963b815 ci(workflows): updated Bun binary build targets to use modern variants
- Updated Bun binary build targets to use modern variants for Linux x64 and Windows x64 builds.
2026-02-10 22:03:55 +01:00
can1357 ec801665bc refactor(env): migrated environment variables from OMP_ to PI_ prefix and centralized access via getEnv()
- Migrated environment variable access from direct process.env to centralized getEnv() utility function across all packages.
- Renamed environment variable prefix from OMP_ to PI_ throughout codebase (e.g., OMP_CODING_AGENT_DIR -> PI_CODING_AGENT_DIR).
- Removed automatic environment variable migration from PI_ to OMP_ prefixes via migrate-env.ts module.
- Removed env setting from configuration schema and applyEnvironmentVariables() method from settings.
- Updated CI/CD build configuration to use PI_COMPILED flag instead of OMP_COMPILED.
- Changed venvPath property in PythonRuntime from nullable (string | null) to optional (string | undefined).
2026-02-05 02:55:01 +01:00
can1357 2a131d201e feat(natives): fixed binary installs with embedded native addon extraction
- Added automatic extraction of embedded native addon payload to ~/.omp/natives/<version> on first run of compiled binaries.
- Added embed:native build script for generating platform-specific native addon payloads embedded in compiled binaries.
- Enhanced native addon loading to prioritize extracted embedded addon over downloaded versions.
- Improved error messages with platform-specific guidance for compiled vs npm-installed binaries.
- Refactored CI workflow to use reusable build_binary() function for cross-platform binary compilation.
2026-02-01 17:16:53 +01:00
can1357 5d80d0df7a chore: bump version to 9.6.0 2026-02-01 08:20:08 +01:00
can1357 1e8e058ead feat: added cross-compilation support via CARGO_BUILD_TARGET and environment variable overrides
- Added support for cross-compilation via CARGO_BUILD_TARGET environment variable, enabling builds for non-native targets like ARM64 Linux.
- Added support for overriding platform and architecture detection via TARGET_PLATFORM and TARGET_ARCH environment variables.
- Modified native build script to search for release artifacts in target-specific directories when cross-compiling.
- Updated CI workflow to use cross-compilation toolchain for ARM64 Linux builds instead of native ARM64 runners.
- Created comprehensive porting guide documenting how to port hot paths to pi-natives with anatomy, checklist, and troubleshooting sections.
2026-02-01 07:44:34 +01:00
can1357 1e52c837c8 feat(natives): added native addon distribution and platform validation to CLI update mechanism
- Added native addon distribution and installation support to the CLI update mechanism, enabling platform-specific native modules to be downloaded and installed alongside the main binary.
- Added platform validation in native addon loader to verify supported platforms (linux-x64, linux-arm64, darwin-x64, darwin-arm64, win32-x64) with helpful error messages for unsupported configurations.
- Enhanced native addon loading error messages to provide platform-specific troubleshooting guidance for both npm/bun installations and local development environments.
- Updated installation scripts (install.sh, install.ps1) to download and install native addon files alongside the main binary during CLI installation.
2026-02-01 05:17:06 +01:00
can1357 9bee79c8c3 ci(workflows): updated macOS runner from macos-13 to macos-15-intel in CI
- Updated macOS runner from macos-13 to macos-15-intel in CI pipeline.
2026-02-01 04:36:15 +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 ff8ec3426c chore: bump version to 9.2.0 2026-01-31 01:29:50 +01:00
can1357 a07f38b16e feat(grep): added grep CLI, diff highlighting, FileReader abstraction, and markdown improvements
- Added grep CLI subcommand with support for pattern matching, file globbing, context lines, and multiple output modes (content, files-with-matches, count).
- Added diff syntax highlighting support with distinct colors for inserted and deleted lines in code output.
- Implemented FileReader abstraction for cross-platform file reading with mmap support and 4MB size limit.
- Refactored worker pool initialization to support both compiled and development build environments using resolveWorkerSpecifier utility.
- Enhanced markdown rendering with improved inline style context handling and blockquote formatting with text wrapping.
- Replaced external strip-ansi dependency with Bun's built-in stripANSI method across all packages.
2026-01-31 01:27:36 +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
can1357 938beca49e chore: bump version to 8.6.0 2026-01-27 23:26:38 +01:00
can1357 f66e5dba9b build(config): refactored build and TypeScript configuration with Bun loaders
- Removed WASM generation script; use Bun `wasm?raw` loader for imports.
- Added bunfig.toml with loaders for `.md`, `.py`, and `.wasm?raw` text imports.
- Added types/assets/index.d.ts for global TypeScript module declarations.
- Unified TypeScript configuration with tsgo-based checking across monorepo.
- Removed build and WASM steps from install and publish pipelines.
2026-01-24 00:03:52 +01:00
can1357 0fe761dc4b build(deps): refactored TypeScript and package configuration across monorepo
- Added tsconfig.publish.json files to all packages with optimized publish-time configuration.
- Updated all package.json scripts with prepublishOnly hooks for correct type checking during publish.
- Added @oh-my-pi/omp-stats path mappings to root tsconfig.json for consistent imports.
- Added WASM generation script for photon module and integrated into install:dev script.
2026-01-23 13:46:06 +01:00
can1357 4c04c688d7 feat(omp-stats): added CLI stats command for omp-stats functionality
- Added stats command to CLI for accessing omp-stats functionality.
- Updated omp-stats package metadata with keywords and README.
2026-01-21 10:58:33 +01:00
can1357 7a081e1c7c feat: added React mutation testing package and coding-agent improvements
- Added new @oh-my-pi/react-edit-benchmark package for React source code mutation testing.
- Added --no-title flag to disable automatic session title generation in coding-agent.
- Changed default behavior of read tool to omit line numbers by default.
- Added environment variable support for edit tool configuration and fuzzy matching.
- Updated test files to use import.meta.dir for ES module compatibility.
- Added Prettier configuration and CI improvements for private package handling.
2026-01-19 16:16:55 +01:00
can1357 34f2fc0854 chore: bump version to 6.0.0 2026-01-19 01:38:04 +01:00
can1357 e496de869a feat(coding-agent): added support for new providers and updated keyboard shortcuts
- Updated keyboard shortcuts: Ctrl+P/Shift+Ctrl+P now cycle role models instead of models.
- Changed Ctrl+T to toggle todo list expansion instead of thinking block.
- Added support for openai-codex-responses, google-vertex, cursor providers.
- Updated settings structure to use modelRoles object and removed deprecated options.
- Removed WASM base64 generation script and simplified postinstall process.
- Updated SDK documentation to reflect async auth/model discovery and new auth storage path.
2026-01-19 01:32:04 +01:00
can1357 5a601bb0c0 feat: added Windows ARM64 support and streaming WASM loading with base64 fallback
- Added Windows ARM64 binary support and architecture detection in installers.
- Updated WASM loading to use streaming with base64 fallback for binary compatibility.
- Moved TTSR settings to dedicated tab and expanded abbreviation to Time Traveling Stream Rules.
- Added comprehensive install testing infrastructure with Docker validation.
- Updated package name from @oh-my-pi/omp-coding-agent to @oh-my-pi/pi-coding-agent.
2026-01-19 01:23:27 +01:00
can1357 ffe79ab5b9 chore: bump version to 5.7.67 2026-01-19 00:04:19 +01:00
can1357 f9a7159035 fix(coding-agent): replace sharp with wasm-vips for cross-platform support 2026-01-12 11:45:26 +01:00
can1357 903e4145e7 chore: bump version to 4.8.0 2026-01-12 11:11:59 +01:00
can1357 bf770d7b96 fix(coding-agent): move sharp to optional dependencies for arm64 support 2026-01-12 11:08:33 +01:00
can1357 85957889c9 refactor(ci): consolidated workflows and added caching
- Merged ci.yml and publish.yml into single workflow
- Added bun dependency caching via actions/cache
- Added concurrency groups to cancel stale runs
- Changed to --frozen-lockfile for CI installs
- Added --only-failures flag to hide passed/skipped tests
- Release job now conditional on tag push (no more double runs)
2026-01-12 01:33:04 +01:00
can1357 9044a5bd2c chore: bump version to 4.2.3 2026-01-11 04:38:09 +01:00
can1357 4cef97d29a feat: changed find tool to include hidden files by default, added test job to publish workflow
- Changed default for `hidden` option in find tool from `false` to `true`, now including hidden files by default.
- Added test job to publish workflow that runs before build.
2026-01-11 04:33:22 +01:00
can1357 301f52c716 ci(publish): consolidated cross-platform build to single runner
- Removed matrix strategy; all binaries built on ubuntu-latest
- Added cross-platform native binding installation for bun
- Simplified artifact handling by building directly in packages/coding-agent/binaries
- Added tag input for workflow_dispatch
2026-01-07 03:04:25 +01:00
can1357 d883b84be6 chore: bump version to 3.20.0 2026-01-06 01:26:37 +01:00
can1357 790a5370bb feat: renamed binary from pi to omp with config migration support
- Renamed CLI binary and package from 'pi' to 'omp' across all platforms and installers.
- Changed environment variable prefix from PI_* to OMP_* with automatic migration support.
- Changed configuration directory from ~/.pi/ to ~/.omp/ with multi-path fallback discovery.
- Added getConfigDirPaths(), findConfigFile(), and readConfigFile() functions for config resolution across .omp, .pi, and .claude directories.
2026-01-03 15:54:45 +01:00
can1357 937646d0e1 chore: bump version to 2.1.1337 2026-01-03 14:24:01 +01:00
can1357 a6715fb8f0 build(coding-agent): embedded assets into binary to eliminate runtime reads
- Embedded assets (themes, templates, agents, commands) directly into binary at compile time using Bun imports.
- Removed runtime filesystem reads for bundled assets in favor of static build-time imports.
- Simplified build scripts by removing copy-assets steps and compiling directly from TypeScript source.
- Updated publish workflow to use bun publish with NPM_CONFIG_TOKEN environment variable.
- Added TypeScript declarations for importing .md, .css, .html, and .js files as text strings.
2026-01-03 13:48:40 +01:00
can1357 084de48d4b fix: updated CI workflows and TypeBox validation for build compatibility
- Updated CI workflows to include explicit coding-agent build step for proper binary compilation.
- Changed TypeBox validation from ts-expect-error to explicit any cast to resolve CJS/ESM type mismatch.
2026-01-02 22:55:00 +01:00
can1357 2665c03402 fix: corrected test expectations and template string interpolation 2026-01-02 22:52:27 +01:00
can1357 8f24c93b59 ci: added imagemagick for tests 2026-01-02 22:49:03 +01:00
can1357 ddc240592f ci(workflows): consolidated release automation into unified publish workflow
- Replaced build-binaries workflow with unified publish workflow to consolidate release automation.
- Added matrix-based parallel binary builds across platforms for faster release cycles.
- Simplified CI workflow by removing concurrency settings and adding CLI smoke tests.
- Added npm publish step with provenance support for secure package distribution.
- Introduced skip_npm input to allow binary-only releases when needed.
2026-01-02 22:40:25 +01:00
can1357 1cee37cf92 build: migrated from Node.js to Bun for native TypeScript support
- Migrated from Node.js to Bun runtime to leverage native TypeScript execution and faster startup times.
- Replaced npm with bun package manager and updated lockfile format.
- Converted Node.js APIs (child_process, fs, readline) to Bun equivalents across all packages.
- Updated shebang lines from node/tsx to bun for CLI entry points.
- Removed TypeScript build step by using source files directly as package entry points.
- Updated CI workflows to use Bun instead of Node.js for installation and testing.
2026-01-02 13:46:05 +01:00
Mario Zechner c1aea4539e Include examples/ folder in binary release archives 2025-12-17 21:27:07 +01:00
Mario Zechner bae9e4ae46 Pin Bun to 1.3.4 for cross-compile compatibility 2025-12-17 18:45:14 +01:00
Mario Zechner 301fd9df86 Fix build-binaries workflow: use latest Bun version 2025-12-17 18:40:52 +01:00
Mario Zechner 973d93ca54 Fix build: pin Bun to 1.2.20 for cross-compilation support 2025-12-17 18:40:19 +01:00
Daniel Nouri ac09e63667 fix(ci): correct theme path in release workflow (#162)
Build outputs to dist/modes/interactive/theme/*.json but workflow
expected dist/theme/*.json. The copy-binary-assets script creates
dist/theme/ but CI never invokes it.

Fixes v0.18.0 release failure:
https://github.com/badlogic/pi-mono/actions/runs/20082833642
2025-12-10 21:40:41 +01:00
Mario Zechner d2ce80a365 Simplified CI setup 2025-12-03 15:12:21 +01:00
Mario Zechner 0ff8557c4c Use ordered root build instead of parallel workspace build in CI 2025-12-03 15:05:04 +01:00
Mario Zechner 92f3aaefb7 Add web-ui/example to workspaces, remove CI workaround 2025-12-03 14:27:02 +01:00
Mario Zechner 822e974095 ci: install fd and ripgrep for coding-agent tests 2025-12-02 16:36:36 +01:00
Peter Steinberger 2ce124f1fb Add CI workflow and fix workspace tests 2025-12-02 12:53:53 +00:00
Mario Zechner 9e69b2694f ci: build all packages before creating binaries 2025-12-02 12:32:41 +01:00
Mario Zechner 3b6fde0900 ci: name binary 'pi' inside archives for easier use 2025-12-02 12:29:35 +01:00
Mario Zechner 3c88aad7e2 ci: add manual trigger for build workflow 2025-12-02 12:23:14 +01:00