* chore: update dependencies and remove unused packages
- Removed several unused dependencies from package.json, including `@tauri-apps/plugin-shell`, `@types/react-router-dom`, `immer`, `qrcode.react`, and `@testing-library/user-event`.
- Updated the Vite configuration to exclude `telegram` from the optimizeDeps include list.
- Cleaned up yarn.lock by removing references to deleted packages.
- Deleted outdated GitHub Actions workflows for macOS ARM64 build, package and publish, and update changelog.
* refactor: consolidate CLI binaries and update configurations
- Renamed the main binary from `openhuman-core` to `openhuman` for consistency across the project.
- Removed the `openhuman-cli` and `openhuman-core` binaries, consolidating functionality into the new `openhuman` binary.
- Updated build configurations in GitHub Actions and Tauri to reflect the new binary name and paths.
- Adjusted the Tailwind and Vite configurations to point to the correct HTML and source directories.
- Introduced a new method in the Rust core server for handling JSON-RPC calls, enhancing the API structure.
* chore: update subproject commit reference in skills
* chore: update Rust test workflow and improve CLI command formatting
- Modified the GitHub Actions workflow to include a new job for running Rust tests in the workspace.
- Updated the `test:rust` command in `package.json` to run tests for the entire workspace.
- Refactored CLI command definitions in `openhuman.rs` for improved readability by consolidating struct fields into single lines.
* chore: enhance E2E testing scripts and workflows
- Updated `.prettierignore` to exclude the `rust-core` directory.
- Added new E2E testing commands in `package.json` for running all flows and improved formatting commands to include `cargo fmt`.
- Enhanced GitHub Actions workflows to streamline E2E testing, including new scripts for running individual specs and all flows sequentially.
- Refactored existing E2E scripts to utilize a common function for running tests, improving maintainability and readability.
- Introduced a new script for resolving Node.js and Appium dependencies, ensuring compatibility for E2E tests.
- Cleaned up and simplified existing E2E scripts by removing redundant code and consolidating functionality.
* chore: update GitHub Actions workflows for Tauri build process
- Modified build and release workflows to reference the correct target directory for Rust binaries, ensuring compatibility with the Cargo workspace structure.
- Adjusted caching configuration in the test workflow for consistency and improved readability.
- Standardized environment variable formatting in the test workflow to enhance clarity.
* fix: standardize string formatting in GitHub Actions workflows
- Updated the test workflow to use single quotes for cache configuration and environment variables, enhancing consistency across the file.
* chore: add Cargo.toml and Cargo.lock for rust-core workspace
- Introduced a new workspace for the rust-core module with its own Cargo.toml.
- Added Cargo.lock to manage dependencies for the rust-core module.
- Updated .gitignore to exclude the target directory generated by Cargo.
- Modified GitHub Actions workflow to build from the new rust-core path instead of src-tauri.
* feat: enhance memory and authentication models in rust-core
- Added new `memory` module to handle persistent memory operations for skills, including methods for storing and querying skill data.
- Introduced `models` module with `auth` and `socket` submodules to manage user session and socket connection states.
- Updated `lib.rs` to include new modules and ensure proper integration within the rust-core workspace.
- Modified `eslint.config.js` to ignore target directories in linting processes.
* feat: integrate Tauri and QuickJS support in rust-core
- Added `tauri` and `rquickjs` as optional dependencies in `Cargo.toml` to enable Tauri integration and JavaScript execution.
- Introduced `CronScheduler` and `PingScheduler` modules for managing scheduled tasks and health checks for skills.
- Implemented `MemoryState` struct for shared app-state management in the memory client.
- Updated the runtime module to include new schedulers and ensure proper integration with Tauri features.
- Enhanced the skill registry to support new functionalities related to skill management and communication.
* chore: update ESLint configuration and refactor Rust module imports
- Added 'rust-core/**' to ESLint ignore list to streamline linting processes.
- Refactored import paths in Rust modules to directly reference the `memory` module, enhancing clarity and maintainability.
- Improved formatting in JavaScript files for better readability and consistency.
* refactor: rename rust-core to openhuman-core and update dependencies
- Renamed the `rust-core` module to `openhuman-core` across all files for consistency.
- Updated `Cargo.lock` to include `openhuman-core` as a new dependency and removed `rust-core`.
- Adjusted import paths in the codebase to reflect the new module name, ensuring all references are updated.
- Enhanced the Tauri integration by modifying dependencies in `src-tauri/Cargo.toml` to point to `openhuman-core`.
* refactor: simplify platform detection using match statements
- Replaced multiple if-else statements with match expressions in `current_platform`, `get_platform`, and `register` functions for improved readability and maintainability.
- Removed unnecessary conditional compilation for Android and iOS in the `SocketManager` and `tauri_bridge` modules, streamlining the codebase.
- Enhanced the `send_notification` function to handle platform checks more efficiently.
* refactor: update platform detection to use std::env::consts
- Replaced `cfg!(target_os = "os_name")` checks with `std::env::consts::OS` for improved clarity and consistency across the codebase.
- Added `rppal` as an optional dependency in `Cargo.toml` for Raspberry Pi support.
- Cleaned up platform-specific code in various modules, enhancing maintainability.
* refactor: streamline platform-specific code and improve readability
- Replaced conditional compilation with `std::env::consts::OS` checks in various modules to enhance clarity and maintainability.
- Simplified platform detection logic in `available_disk_space_mb`, `ensure_arduino_cli`, and `open_in_brave` functions.
- Updated `screenshot_command_exists` test to conditionally skip based on the operating system.
- Cleaned up unnecessary `#[cfg]` attributes, focusing on a more consistent approach across the codebase.
* feat: introduce comprehensive AI configuration and memory management
- Added multiple configuration files for OpenHuman AI, including `AGENTS.md`, `BOOTSTRAP.md`, `CONSCIOUS_LOOP.md`, `IDENTITY.md`, `MEMORY.md`, `README.md`, `SOUL.md`, `TOOLS.md`, and `USER.md` to define agent roles, onboarding processes, identity, memory management, and tool capabilities.
- Implemented an encryption layer for AI memory storage in `encryption.rs`, utilizing AES-256-GCM for secure data handling.
- Updated `lib.rs` to include the new AI module structure, enhancing the overall architecture and maintainability of the codebase.
* refactor: update dependencies and configuration for improved structure
- Removed `android_logger` and related packages from `Cargo.lock` and `Cargo.toml`, streamlining the dependency list.
- Adjusted the `APP_IDENTIFIER` constant in `config.rs` to reflect the new application identifier.
- Updated resource paths in `tauri.conf.json` for better organization.
- Enhanced platform-specific dependency management in `Cargo.toml` for clarity and maintainability.
* fix(core): gate ai module behind tauri-host feature
* refactor: update AI loading mechanisms and improve platform handling
- Refactored the AI configuration loading in `loader.ts` and `tools/loader.ts` to utilize Tauri commands for desktop environments, enhancing performance and reliability.
- Updated paths for AI markdown files to reflect the new `rust-core` structure.
- Introduced a new end-to-end test for Tauri command interactions in `tauriCoreBridge.e2e.test.ts`.
- Cleaned up platform-specific code across various modules, ensuring a more consistent approach to handling desktop and web contexts.
* feat: add sidecar core binary build and staging for Tauri bundler
- Implemented build steps for the sidecar core binary in multiple workflows, targeting both x86_64-unknown-linux-gnu and aarch64-apple-darwin architectures.
- Added staging steps to copy the built binaries into the Tauri resources directory, ensuring proper integration for application bundling.
- Updated relevant workflows to enhance the build process and streamline artifact management.
* refactor: enhance AI loading logic for Tauri integration
- Updated `loader.ts` and `tools/loader.ts` to prioritize Tauri commands for loading configurations in desktop environments, with a fallback to bundled markdown files for web contexts.
- Adjusted test mocks to reflect the new file paths for tools markdown.
- Improved test setup to mock Tauri API behavior accurately.
* docs: update CLAUDE.md and remove Android build scripts from package.json
- Added a new section in CLAUDE.md detailing the runtime scope, clarifying that Tauri is desktop-only and should not include mobile or web branches.
- Removed Android development and build scripts from package.json to streamline the project for desktop platforms only.
* refactor: streamline import statements and enhance test mock structure
- Reordered import statements in `loader.ts` and `tools/loader.ts` for consistency.
- Simplified mock implementation in `tauriCoreBridge.e2e.test.ts` to improve readability and maintainability.
- Added external binary configuration in `build.rs` to support resource management during local builds.
* test: stabilize core/unit test paths and tauri build-test config
* chore: update subproject commit reference in skills
* chore: update Tauri build configuration to include custom environment variable
- Modified the Tauri build command in the GitHub Actions workflow to set a custom configuration for updater artifacts, enhancing the build process for the x86_64-unknown-linux-gnu target.
* fix: remove standalone bins from Cargo.toml to fix Tauri bundler failure
Tauri's bundler reads all [[bin]] entries from Cargo.toml and tries to
copy them into the app bundle, even when gated behind required-features.
This caused CI to fail with "openhuman-cli does not exist" because only
the OpenHuman binary was compiled.
- Remove openhuman-cli and openhuman-core [[bin]] entries from Cargo.toml
- Add autobins = false to prevent Cargo auto-discovering src/bin/*.rs
- Remove --bin OpenHuman flag from build/package-and-publish/release workflows
- In release.yml, inject [[bin]] entries temporarily for standalone build step
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: move standalone bins out of src/bin/ to prevent Tauri auto-discovery
Tauri CLI and Cargo both auto-discover src/bin/*.rs as binary targets,
regardless of autobins = false. Moving the files to src/standalone/
ensures they are completely invisible to the Tauri bundler.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: disable updater artifacts in build workflow
The build workflow is a CI check and doesn't have TAURI_SIGNING_PRIVATE_KEY.
Pass a config override to disable createUpdaterArtifacts for this workflow.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: clear updater pubkey in build workflow to skip signing
The updater plugin has a pubkey configured which triggers signing even
with createUpdaterArtifacts disabled. Clear the pubkey via config override.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: skip bundling in build workflow with --bundles none
The CI build check only needs to verify compilation succeeds, not
produce signed bundles. Using --bundles none skips the bundler entirely,
avoiding the TAURI_SIGNING_PRIVATE_KEY requirement.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Upgraded Tauri CLI version from 2.9.6 to 2.10.0 in package.json and yarn.lock.
- Modified build commands in various workflow files to include the `--bin OpenHuman` argument, ensuring the correct binary is targeted during builds for macOS and Linux.
- Streamlined argument handling in the build workflows for consistency across platforms.
- Bumped OpenHuman version in Cargo.lock from 0.49.11 to 0.49.12.
- Cleaned up the release workflow by standardizing argument formatting for better consistency across platforms.
- Made minor formatting adjustments in Conversations component for improved readability.
- Updated the OpenHuman version in Cargo.lock from 0.49.8 to 0.49.11.
- Adjusted the release workflow to conditionally pass the `--bin OpenHuman` argument only on macOS, improving compatibility for Linux packaging.
- Updated the release workflow to ensure the `--bin OpenHuman` argument is correctly passed to Cargo by adding an additional separator. This change addresses an issue with Yarn v1 stripping the argument layer, improving the build process for standalone binaries.
- Commented out macOS build configurations in the release workflow to focus on ensuring the flow works correctly.
- Added steps to build and upload standalone CLI binaries for `openhuman-core` and `openhuman-cli`.
- Updated `Cargo.toml` to require the `standalone-bins` feature for both binaries, streamlining the build process.
- Eliminated the Tauri integration files and related functions to streamline the tools discovery process.
- Updated the tools discovery logic to utilize a mock registry instead of relying on Tauri, enhancing compatibility and simplifying the workflow.
- Adjusted comments in the release workflow to reflect the changes in tools discovery and removed references to the now-removed Tauri binary.
- Updated comments in the GitHub Actions release workflow to clarify the handling of feature-gated binaries for macOS codesigning.
- Removed unnecessary required features for `openhuman-core` and `openhuman-cli` in Cargo.toml to streamline the configuration.
- Modified the Tauri signing key configuration in the GitHub Actions workflow to allow fallback to an updater private key if the primary key is not set.
- Added comments in the release workflow to clarify the handling of app binaries and feature-gated helper binaries for macOS codesigning.
- Updated the public key in the Tauri configuration for the updater plugin to a new value for improved security.
- Introduced a new GitHub Actions workflow for building Tauri applications on macOS Apple Silicon (aarch64).
- Created a script to facilitate local execution of the macOS ARM64 build process, including handling secrets and environment variables.
- Updated existing workflows to replace the APPLE_APP_SPECIFIC_PASSWORD with a more generic APPLE_PASSWORD for consistency.
- Modified example secrets file to reflect the new password structure.
- Added a step to generate a fingerprint for Cargo.lock, skipping the first 7 lines to focus on dependency changes.
- Updated caching strategy for Cargo registry and git sources to utilize the new fingerprint for improved cache efficiency.
* chore: update AlphaHuman version to 0.49.3 and configure updater plugin in tauri.conf.json
- Bumped the AlphaHuman package version in Cargo.lock to 0.49.3.
- Added updater configuration in tauri.conf.json to enable automatic updates with specified endpoints.
* refactor: rename AlphaHuman to OpenHuman across the codebase
- Updated all instances of "AlphaHuman" to "OpenHuman" in comments, tooltips, and constants to reflect the new branding.
- Adjusted relevant documentation and prompts to ensure consistency with the new name.
* refactor: update documentation and configurations to reflect OpenHuman branding
- Replaced all instances of "AlphaHuman" with "OpenHuman" in documentation, comments, and configuration files to ensure consistency with the new branding.
- Updated deep link URLs and related authentication flows to use the new "openhuman://" scheme.
- Adjusted paths and references in the skills system and other related files to align with the new project name.te
* refactor: standardize OpenHuman references and update configurations
- Replaced all instances of "AlphaHuman" with "OpenHuman" across documentation, comments, and configuration files to maintain branding consistency.
- Updated URLs and paths to reflect the new "openhuman://" scheme.
- Adjusted environment variable names and related settings to align with the new project identity.
- Enhanced documentation for clarity and accuracy regarding the OpenHuman framework.r
* chore: update subproject commit reference in skills directory
* refactor: update backend URL to reflect new service domain
- Changed default backend URL from "https://api.openhuman.xyz" to "https://api.tinyhumans.ai" in both JavaScript and Rust configuration files.
- Ensured consistency across the codebase regarding the new backend service endpoint.
* feat: introduce identity and migration modules for OpenHuman
- Added a new identity module to support AIEOS v1.1 JSON format, including structures for identity, psychology, linguistics, motivations, capabilities, physicality, history, and interests.
- Implemented a migration module to facilitate data migration from OpenClaw memory, including SQLite and Markdown sources, with detailed reporting on migration statistics and warnings.
- Established utility functions for handling multimodal content and image processing within the OpenHuman framework.
- Enhanced the agent system with new dispatcher and classifier functionalities to improve tool management and message classification.
* chore: remove Android project files and configurations
- Deleted various Android project files including .editorconfig, .gitignore, build.gradle.kts, gradle.properties, and others to clean up the project structure.
- Removed all related resources, layouts, and source files from the Android app directory to streamline the codebase.
- This cleanup is part of a larger effort to refactor and simplify the project structure.
* refactor: update login flow and remove Telegram integration
- Removed the TelegramLoginButton component and its references from the OAuthLoginSection, streamlining the login options.
- Updated the AppRoutes to remove the login route, reflecting changes in the authentication flow.
- Enhanced the RotatingTetrahedronCanvas component with improved geometry and lighting effects for better visual presentation.
- Adjusted the TypewriterGreeting component's styling for consistency.
- Cleaned up the Welcome page to integrate the OAuthLoginSection directly, improving user experience.
* chore: update subproject commit reference in skills directory
* chore: update test configurations and improve test assertions
- Modified test scripts in package.json to use a specific Vitest configuration file for consistency.
- Updated assertions in loader tests to ensure loading durations are non-negative.
- Enhanced tool loading tests to clarify expected behavior regarding localStorage and cache management.
- Adjusted agent tool registry tests to improve error handling and ensure accurate statistics.
- Refined device detection tests to reflect updated fallback URLs.
* fix: enhance parameter formatting and remove unused components
- Updated the `formatParameters` function to handle cases where schema properties are empty, returning a more informative response.
- Deleted the `DownloadScreen` component and associated device detection utilities to streamline the codebase and remove unused functionality.
- Adjusted tests to reflect changes in the tool loading and agent tool registry, ensuring accuracy in assertions.
* chore: simplify Vitest configuration by removing unused include patterns
- Updated the Vitest configuration to remove unnecessary test file patterns, streamlining the test setup for better clarity and maintainability.
* refactor: update paths and comments for AI configuration and file watching
- Modified Vite configuration to ignore only the `src-tauri` directory.
- Updated logging messages to reflect the correct path for writing AI configuration files.
- Adjusted fetch calls in the file watcher to use the new path for `TOOLS.md`.
- Revised comments and logic in Rust code to clarify the handling of AI configuration file paths, including legacy fallback options.
* chore: remove unused updater secrets from GitHub Actions workflow
- Deleted UPDATER_GIST_URL and UPDATER_GIST_ID environment variables from the package-and-publish workflow, streamlining the configuration.
* chore: comment out Vitest thresholds for clarity
- Commented out the thresholds section in the Vitest configuration to improve clarity and maintainability, as it is currently not in use.
* ran formatter
* chore: update updater public key in tauri configuration
- Replaced the existing public key in the updater plugin configuration with a new value to ensure proper functionality and security.
* chore: update ESLint configuration and refactor components
- Added `localStorage` and `sessionStorage` as readonly globals in ESLint configuration for better linting support.
- Removed unused imports from `SkillsPanel.tsx` to clean up the code.
- Changed the type of `watcherInterval` in `file-watcher.ts` for improved type safety.
- Refactored toast management logic in `Intelligence.tsx` to enhance clarity and maintainability.
- Simplified import statements in `IntelligenceProvider.tsx` for consistency.
- Streamlined object property shorthand in `agentToolRegistry.ts` for cleaner code.
* refactor: improve error handling and type safety in Intelligence component
- Enhanced toast notification logic to defer state updates, preventing potential issues with setState in effects.
- Updated the source filter dispatch to use a more specific type for improved type safety.
* refactor: enhance type safety across various components and services
- Updated type definitions from `any` to `unknown` in multiple files to improve type safety and prevent potential runtime errors.
- Refactored state management in `TauriCommandsPanel` to use more specific types.
- Adjusted context and parameters in several interfaces to ensure consistent typing.
- Added ESLint directive to `polyfills.ts` for intentional global assignments.
- Streamlined type handling in utility functions and API responses for better clarity and maintainability.
* refactor: streamline import statements and improve code clarity
- Consolidated import statements in `agentToolRegistry.ts` and `intelligenceSlice.ts` for better readability.
- Simplified the `createTestStore` function in `test-utils.tsx` to enhance code conciseness.
- Cleaned up the `isExecutionStepProgressEvent` function in `intelligence-chat-api.ts` for improved clarity and maintainability.
- Included a new step to install dependencies for the skills directory in the GitHub Actions release workflow to ensure all necessary packages are available for the build process.
- Renamed the cleanup job in the GitHub Actions workflow to better reflect its purpose of removing releases and tags if the build fails.
- Updated the version of the AlphaHuman package in Cargo.lock to 0.49.1.
- Introduced a new job to remove GitHub releases and associated tags if the build artifacts fail or are cancelled after a successful release creation.
- Implemented error handling for invalid release IDs and missing tags during the cleanup process.
- Added `tauri.key` and `tauri.key.pub` to .gitignore.
- Removed Telegram-related environment variables from CLAUDE.md and documentation.
- Updated GitHub Actions workflows to use the latest version of `tauri-action`.
- Deleted legacy version bump workflow and added a new changelog update workflow.
- Introduced a script for testing release workflows locally.
- Removed Telegram-related environment variables from workflows.
- Updated GitHub repository references in workflows to reflect new project ownership.
- Changed default skills GitHub repository in configuration to align with rebranding.
- Removed outdated workflows for lander deployment and PR creation from develop to main.
- Updated build workflow to trigger on push events.
- Renamed version bump workflow to indicate it's legacy.
- Simplified CLAUDE.md by removing unnecessary introductory text.