Commit Graph
800 Commits
Author SHA1 Message Date
sanil jain 3bd86fa4d4 Fix ORT mutex poisoning: serialize ingestion tests
CI runner lacks libonnxruntime so ORT Session::builder panics inside
its internal std::Mutex, poisoning it for the parallel test. Running
them serially avoids the second test hitting the poisoned mutex.
2026-03-31 18:41:29 +05:30
sanil jain 9e6e8cafa5 Fix cargo fmt for fixture path helper 2026-03-31 18:25:34 +05:30
sanil jain c981c33c78 Fix fixture path to use platform-agnostic Path::join
The test fixture loader used Windows backslashes which broke on Linux CI.
2026-03-31 18:20:15 +05:30
sanil jain 0dc1dc25aa Fix CI: remove duplicate libloading in Cargo.lock and cargo fmt
- Remove duplicate `libloading` package entry in Cargo.lock that caused
  `failed to parse lock file` build errors
- Remove extra blank line in ingestion.rs:1098 to pass cargo fmt check
2026-03-31 18:10:16 +05:30
sanil jain c396014632 Merge Linux ONNX runtime fixes into relex branch 2026-03-31 17:49:33 +05:30
sanil jain 076b8beb36 Add Linux ONNX runtime bootstrap for relex 2026-03-31 17:28:49 +05:30
sanil jain 55cd5bef45 Fix Linux ONNX runtime loading for embeddings 2026-03-31 17:28:20 +05:30
sanil jain b7835eb843 Add GLiNER relex ingestion pipeline 2026-03-31 14:11:26 +05:30
sanil jain 16e5ac543c Add core memory RPC surface 2026-03-31 14:01:51 +05:30
Steven Enamakel d03dbb5fb5 Enhance README and add BUILDING guide
- Added an "Early Beta" note to the README to inform users about the development status.
- Updated the download instructions in the README for clarity and added a script for global installation.
- Introduced a new BUILDING.md file detailing the steps to build and install OpenHuman from source or via stable releases.
- Added a placeholder install script to guide users on future installation options.
2026-03-30 23:27:18 -07:00
Steven EnamakelandGitHub 75196438ee Update quote wording in README.md 2026-03-30 23:12:07 -07:00
Steven EnamakelandGitHub 9da7d37edd Update README.md 2026-03-30 23:11:16 -07:00
Steven Enamakel 27acdb18f1 Merge remote-tracking branch 'upstream/main' 2026-03-30 21:49:32 -07:00
github-actions[bot] 48272e47d3 chore(release): v0.49.32 v0.49.32 2026-03-31 04:45:03 +00:00
Steven Enamakel 199303e110 refactor(release): enhance macOS app signing process
- Updated the signing workflow to sign non-main binaries (sidecars) before the main .app bundle, improving compliance with Apple notarization requirements.
- Added diagnostic output to display the main executable name and list contents of the app bundle for better visibility during the signing process.
- Improved comments for clarity on the new signing steps and their significance in the overall workflow.
2026-03-30 21:45:01 -07:00
Steven Enamakel 7f790b6a61 Merge branch 'main' of github.com:tinyhumansai/openhuman 2026-03-30 21:44:17 -07:00
Steven Enamakel ca8b7f7be0 refactor(release): enhance macOS app signing workflow
- Updated the signing process to include signing of non-main binaries (sidecars) before the main .app bundle, improving compliance with Apple notarization requirements.
- Added diagnostic output to list contents of the app bundle and main executable for better visibility during the signing process.
- Improved comments for clarity on the new signing steps and their significance in the overall workflow.
2026-03-30 21:44:16 -07:00
github-actions[bot] 3e756d958a chore(release): v0.49.31 2026-03-31 04:25:55 +00:00
Steven Enamakel a2c5901468 refactor(service): improve daemon executable name matching
- Adjusted the formatting of the name matching logic for the daemon executable in `common.rs` to enhance readability.
- Ensured consistency in the checks for the executable name across different operating systems, maintaining clarity in the codebase.
2026-03-30 21:25:26 -07:00
Steven Enamakel 4058095a94 refactor(release): enhance DMG notarization and stapling process
- Updated the build script to re-create the DMG with the stapled .app, ensuring compliance with Apple notarization requirements.
- Added notarization step for the DMG using xcrun notarytool, improving the overall security and integrity of the release process.
- Enhanced comments for clarity on the new notarization and stapling steps.
2026-03-30 21:24:30 -07:00
Steven Enamakel 9b6b8d4442 refactor(build): rename core binary to openhuman-core and update workflows
- Changed the default binary name from "openhuman" to "openhuman-core" in Cargo.toml and related scripts.
- Updated build and test workflows to reference the new binary name, ensuring consistency across the project.
- Adjusted paths and executable checks in the codebase to accommodate the renamed binary, improving clarity and maintainability.
2026-03-30 21:20:13 -07:00
Steven Enamakel 3ed27421a8 refactor(release): simplify macOS app signing process
- Updated the signing workflow to focus solely on signing the entire .app bundle with hardened runtime, eliminating unnecessary sidecar signing steps.
- Enhanced diagnostic output to list the contents of the app bundle before signing, improving visibility during the process.
- Improved comments for clarity on the new streamlined signing approach and its compliance with Apple notarization requirements.
2026-03-30 21:11:51 -07:00
Steven Enamakel dccd77c971 refactor(release): refine macOS app signing process
- Updated the re-signing workflow to focus on signing sidecar binaries and frameworks with hardened runtime, ensuring compliance with Apple notarization requirements.
- Enhanced diagnostic output for better visibility during the signing process, including verification of sidecar binaries.
- Improved comments for clarity on the signing steps and their significance in the overall workflow.
- Bumped version to 0.49.30 in Cargo.lock to reflect changes.
2026-03-30 19:28:42 -07:00
Steven Enamakel 9bdc742967 refactor(release): improve macOS app re-signing process
- Updated the re-signing workflow to strip existing signatures before signing binaries and frameworks, ensuring compliance with Apple notarization requirements.
- Changed the signing approach to an inside-out method, signing nested code first and then the outer .app bundle.
- Enhanced diagnostic output for better visibility during the signing process.
- Updated comments for clarity on the new signing steps and their importance.
2026-03-30 19:24:38 -07:00
github-actions[bot] e65432ea1d chore(release): v0.49.30 2026-03-31 02:10:45 +00:00
github-actions[bot] 9117db458a chore(release): v0.49.29 2026-03-31 01:51:54 +00:00
Steven Enamakel da6c5ef05f Merge branch 'main' of github.com:tinyhumansai/openhuman 2026-03-30 18:51:16 -07:00
Steven Enamakel 00a656c300 refactor(release): streamline macOS app re-signing process
- Consolidated the re-signing of the entire .app bundle into a single command with the `--deep` option, improving efficiency and reliability.
- Removed redundant sidecar re-signing loops, simplifying the signing workflow.
- Enhanced diagnostic output to list contents of the app bundle, aiding in troubleshooting.
- Updated comments for clarity on the signing process and its requirements.
2026-03-30 18:51:16 -07:00
github-actions[bot] 0bb8ef4edb chore(release): v0.49.28 2026-03-31 01:35:24 +00:00
Steven Enamakel 2e528fe32c feat(release): enhance macOS signing process in release workflow
- Added steps to ensure the signing identity is available by creating and managing a keychain for certificate import.
- Implemented security commands to unlock the keychain and import the signing certificate, improving the reliability of the signing process.
- Cleaned up temporary certificate files after use to maintain a secure environment.
2026-03-30 18:32:37 -07:00
Steven Enamakel 242a0b1e9c feat(release): enhance macOS build workflow to locate .app bundle
- Added a new step to locate the macOS .app bundle dynamically, improving reliability in finding the application during the release process.
- Updated subsequent steps to utilize the located .app path and bundle directory, ensuring correct signing and notarization of the application.
- Enhanced error handling to provide clearer feedback if the .app bundle cannot be found.
2026-03-30 18:32:28 -07:00
github-actions[bot] cbb8b312a5 chore(release): v0.49.27 2026-03-31 01:20:47 +00:00
github-actions[bot] cc70dd2104 chore(release): v0.49.26 2026-03-31 00:53:26 +00:00
271394ade1 Fix/skills 3 (#103)
* refactor(skills): migrate to registry-based skill management and update state handling

- Replaced Redux-based skill state management with hooks for improved performance, utilizing `useAvailableSkills`, `useSkillSnapshot`, and `useAllSkillSnapshots`.
- Streamlined skill list derivation and sorting logic to enhance clarity and maintainability.
- Updated components to reflect the new state management approach, ensuring real-time updates and compatibility with existing code.
- Bumped OpenHuman version to 0.49.24 in Cargo.lock.

* refactor(skills): update skill state handling and remove Redux dependencies

- Simplified skill state management by replacing Redux-based logic with direct references to runtime maps.
- Adjusted the SkillsGrid component to derive skill sync summary text without relying on skill states.
- Removed unused Redux configurations and tests related to skills, streamlining the codebase.

* fix(skills): make notifyOAuthComplete resilient when no local runtime

notifyOAuthComplete and triggerSync no longer throw when the frontend
SkillManager has no local runtime instance. They persist setup_complete
via RPC first, then try core RPC pass-through as fallback.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(skills): clean up imports and improve configuration handling

- Consolidated import statements in the SkillsGrid component for better readability.
- Updated the DEV_FORCE_ONBOARDING constant in the config file to enhance clarity and maintainability by combining conditions into a single line.

* feat(skills): add SkillDebugModal for runtime skill inspection

- Introduced SkillDebugModal component to inspect a skill's runtime state, including metadata, published state, and tool definitions.
- Integrated the modal into the SkillCard component, allowing users to open it for debugging purposes.
- Implemented functionality for calling tools and displaying results, enhancing the debugging experience for skills.

* feat(skills): enhance OAuth deep link handling and skill management

- Improved the OAuth deep link process by adding steps to persist setup completion, start the skill in the core runtime, and notify the skill of OAuth completion.
- Enhanced error handling for starting skills and notifying OAuth completion, ensuring resilience in the skill management workflow.
- Updated logging throughout the process to provide better insights into the state and actions taken during OAuth handling and tool calls.

* chore(build): update Tauri configuration and add macOS build script

- Disabled the creation of updater artifacts in the Tauri configuration to streamline the build process.
- Introduced a new script for building and code-signing macOS Tauri releases, including notarization steps and environment variable validation.
- Updated environment loading logic to source from the correct secrets file for improved configuration management.

* feat(build): add pre-signing for sidecar binaries in macOS build script

- Implemented pre-signing of sidecar binaries with hardened runtime and entitlements to comply with Apple notarization requirements.
- Enhanced the build script to verify and sign all executables in the specified sidecar directory, ensuring proper code-signing before the build process.

* feat(build): implement pre-signing for sidecar binaries in macOS build script

- Added functionality to pre-sign sidecar binaries with hardened runtime and entitlements to meet Apple notarization requirements.
- Enhanced the build script to verify and sign all executables in the specified sidecar directory, ensuring compliance before the build process.

* feat(build): enhance macOS build process with notarization and sidecar re-signing

- Added a new step to the release workflow for re-signing sidecar binaries with hardened runtime and notarization after the build process.
- Updated the build script to remove pre-signing of sidecar binaries, ensuring notarization is handled separately for compliance with Apple requirements.
- Improved the overall build process by verifying and re-signing all executables within the .app bundle, including frameworks and resources, before notarization.
- Implemented DMG re-packaging after notarization to ensure the latest signed application is included in the distribution.

* refactor(capture): consolidate import statements for AppContext and WindowBounds

- Combined separate import statements for AppContext and WindowBounds into a single line for improved readability and organization in the capture module.

* refactor(logging): improve log formatting for better readability

- Updated log statements in various files to use multi-line formatting for improved clarity and consistency.
- Enhanced the SkillDebugModal and event loop logging to streamline the output and make it easier to read.
- Refactored log messages in js_handlers and ops_net to maintain uniformity in logging style.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 17:52:32 -07:00
github-actions[bot] e2820180ba chore(release): v0.49.25 2026-03-30 23:31:31 +00:00
777c98ef7c feat(skills): registry-based skill management + RPC state migration (#98)
* refactor(tauriCommands): streamline RPC method calls for skill management

- Simplified the syntax of RPC method calls in the `tauriCommands.ts` file by removing unnecessary line breaks, enhancing code readability.
- Updated descriptions in the `schemas.rs` file to maintain consistent formatting for RPC method descriptions, improving documentation clarity.

* chore(release): bump OpenHuman version to 0.49.23 in Cargo.lock

* feat(skills): add skill status management in desktopDeepLinkListener

- Introduced a new action `setSkillStatus` to manage the skill's connection status.
- Updated the OAuth deep link handling to dispatch the skill status as 'ready' upon successful connection, improving state management for skills.

* feat(screen_intelligence): implement capture mode for screenshots

- Added a `CaptureMode` enum to differentiate between windowed and fullscreen screenshot captures.
- Enhanced the `capture_screen_image_ref_for_context` function to determine capture mode based on window bounds, with fallback to fullscreen.
- Implemented logic to downscale screenshots exceeding size limits when captured in fullscreen mode.
- Introduced a new `parse_foreground_output` function to parse application context from AppleScript output, improving context retrieval for screenshots.

* chore(build): update Tauri configuration to remove updater artifacts creation

- Modified the TAURI_CONFIG_OVERRIDE to exclude the creation of updater artifacts during the build process, streamlining the build workflow.

* feat(accessibility): enhance accessibility state and add capture test functionality

- Introduced new properties `captureTestResult` and `isCaptureTestRunning` to the `AccessibilityState` interface for managing capture test states.
- Added `CaptureTestResult` and `CaptureTestContextInfo` interfaces to define the structure of capture test results.
- Implemented `openhumanScreenIntelligenceCaptureTest` function to initiate screen intelligence capture tests, improving accessibility features.

* feat(debug): add Screen Intelligence Debug Panel for enhanced diagnostics

- Introduced a new `ScreenIntelligenceDebugPanel` component to display accessibility status, session information, and capture test results.
- Integrated the debug panel into the existing `ScreenIntelligencePanel`, allowing users to expand and collapse the debug section.
- Updated accessibility state management to include `captureTestResult` and `isCaptureTestRunning` for improved testing feedback.
- Enhanced test setup to accommodate new debug functionalities.

* feat(screen_intelligence): implement custom hook for screen intelligence items

- Added `useScreenIntelligenceItems` hook to fetch and manage screen intelligence items from the accessibility state.
- Integrated the hook into the `Intelligence` component, combining items from both memory and screen intelligence sources.
- Enhanced loading state management to reflect the combined loading status of both data sources.

* test(screen_intelligence): add unit tests for useScreenIntelligenceItems mapping and confidenceToPriority functions

- Introduced tests for the mapping logic of AccessibilityVisionSummary to ActionableItem, ensuring correct transformation of properties.
- Added tests for confidenceToPriority function to validate priority assignment based on confidence levels.
- Included edge cases such as handling empty arrays, null app names, and long actionable notes truncation.

* feat(mnemonic): update mnemonic handling to support variable word counts

- Refactored mnemonic import logic to accommodate BIP39 phrase lengths (12, 15, 18, 21, 24 words).
- Updated state initialization and validation to dynamically adjust based on the allowed word counts.
- Enhanced user prompts to reflect the new word count options for recovery phrases.
- Adjusted focus handling for input fields to improve user experience during phrase entry.

* refactor(skills): migrate skill state management to RPC-based hooks

- Replaced Redux-based skill state management with RPC-backed hooks for improved performance and reactivity.
- Introduced `useSkillSnapshot` and `useAllSkillSnapshots` hooks to fetch skill states directly from the Rust core.
- Updated components to utilize the new hooks, enhancing the overall architecture and reducing dependency on Redux.
- Added event listeners to trigger state updates in response to skill state changes, ensuring real-time updates across the application.

* fix(lint): merge duplicate tauriCommands import in accessibilitySlice test

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* refactor(tests): remove eslint-disable comment from screen intelligence E2E test file

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 16:31:02 -07:00
github-actions[bot] 419ffb1731 chore(release): v0.49.24 2026-03-30 22:40:43 +00:00
Steven Enamakel 1f688d102f Merge remote-tracking branch 'upstream/main' 2026-03-30 15:36:22 -07:00
Steven Enamakel 33421503a9 feat(skills): refactor skill management functions to use new RPC methods
- Replaced direct Tauri invocations with a unified `callCoreRpc` function for skill management operations, enhancing code consistency and maintainability.
- Updated functions for listing, discovering, starting, stopping, and managing skill data to utilize the new RPC schema.
- Added new RPC handlers for skill discovery, listing, data reading, writing, enabling, disabling, and checking if a skill is enabled, expanding the skills management capabilities.
- Enhanced the SkillManifest struct to support serialization, improving data handling for skill manifests.
2026-03-30 15:36:21 -07:00
Steven Enamakel 9261561f25 chore(release): update release workflow to create draft releases
- Changed the workflow to create draft releases instead of published ones.
- Added a new job to publish the draft release after successful builds, enhancing the release process.
- Updated relevant steps to reflect the new draft status for releases.
2026-03-30 15:35:34 -07:00
github-actions[bot] c7bd2bc063 chore(release): v0.49.23 2026-03-30 22:32:45 +00:00
Steven Enamakel d9cc41be05 Merge remote-tracking branch 'upstream/main' 2026-03-30 15:29:35 -07:00
Steven Enamakel eabaf54065 feat(skills): add RPC schema and handler for remote procedure calls
- Introduced a new RPC schema to facilitate sending arbitrary RPC methods to running skills.
- Implemented the `handle_skills_rpc` function to process RPC requests, including skill ID, method name, and optional parameters.
- Updated the controller schemas to include the new RPC functionality, enhancing the skills management system.
2026-03-30 15:29:21 -07:00
Steven Enamakel eacf7f1678 chore: update macOS sidecar signing process and add entitlements
- Introduced a new entitlements file for the sidecar to enhance security during code signing.
- Updated the GitHub Actions workflow to utilize the entitlements file in the signing process.
- Bumped OpenHuman version to 0.49.21 in Cargo.lock for dependency management.
- Configured tauri.conf.json to reference the new entitlements file for macOS builds.
2026-03-30 15:29:15 -07:00
github-actions[bot] bfd0eb6af8 chore(release): v0.49.22 2026-03-30 22:10:45 +00:00
Steven Enamakel 7c0c381196 chore: update dependencies and configuration for OpenSSL integration
- Added `openssl-sys` and `openssl-src` dependencies in Cargo.toml and Cargo.lock for enhanced cryptographic support.
- Updated `tauri.conf.json` to streamline build targets by removing the updater option, simplifying the configuration.
2026-03-30 15:09:51 -07:00
Steven Enamakel c0d0419c1a Merge remote-tracking branch 'upstream/main' 2026-03-30 15:03:01 -07:00
github-actions[bot] 120ea59d36 chore(release): v0.49.21 2026-03-30 22:02:42 +00:00
Steven Enamakel 9dd95fa5a2 refactor: move Rust quality checks to typecheck.yml and simplify build workflow
- Removed the Rust quality job from build.yml and added it to typecheck.yml, consolidating Rust-related checks into a single workflow.
- Streamlined the build process by eliminating unnecessary dependencies and steps in the build.yml file, focusing solely on building the Tauri app.
2026-03-30 15:01:52 -07:00
fe277e1ef2 docs: REPL / interactive shell design (#92) (#96)
* docs: design document for openhuman REPL / interactive shell (#92)

Design-first writeup covering problem statement, UX sketch with example
sessions (skills + non-skill flows), architecture showing how the REPL
reuses existing invoke_method/controller registry/RuntimeEngine without
duplicating logic, safety rules for secret redaction, and phased
implementation milestones (MVP → skills commands → script/batch mode).

Closes #92

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* chore: update dependencies and enhance onboarding logic

- Updated Cargo.lock and Cargo.toml to include new dependencies: `clipboard-win`, `endian-type`, `error-code`, `fd-lock`, `home`, `nibble_vec`, `radix_trie`, `rustyline`, and `unicode-segmentation`.
- Enhanced the OnboardingOverlay component to wait for user profile loading before checking onboarding status, improving user experience during onboarding.
- Adjusted dependency versions and added features for `rustyline` in Cargo.toml.

* feat(repl): implement interactive REPL for OpenHuman core

- Added a new REPL module to provide an interactive shell for users, allowing command execution and evaluation.
- Integrated REPL functionality into the CLI, enabling commands like `openhuman repl` and support for options such as `--eval` and `--batch`.
- Enhanced command parsing and execution flow to maintain consistency with existing JSON-RPC server logic, ensuring no duplication of functionality.
- Updated CLI help documentation to include REPL usage instructions.
- Introduced Apple certificate import and code signing steps in the GitHub Actions workflow for macOS, enhancing sidecar security.

This commit lays the groundwork for a more interactive user experience and strengthens the security of the sidecar binary.

* refactor(repl): remove tool_warning_shown field from ReplState

- Eliminated the `tool_warning_shown` boolean field from the `ReplState` struct, simplifying the state management within the REPL module.
- Updated the constructor to reflect the removal of this field, ensuring consistency in the initialization of `ReplState`.

* refactor(build): simplify Tauri build command in workflow

- Removed unnecessary parameters from the Tauri build command in the GitHub Actions workflow, streamlining the build process.
- Improved readability of the build configuration by eliminating redundant options.

* chore(tauri): update build targets in tauri.conf.json

- Changed the build targets from a single string to an array, specifying individual target formats for improved clarity and flexibility in the build process.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 14:57:06 -07:00