- Updated all references to `AlphaHuman` in UI text, deep link handlers, configuration files, and comments.
- Replaced links, filenames, and identifiers to align with the new `OpenHuman` branding.
- Ensured consistency in code comments, documentation, and test cases.
* Update Welcome page to integrate OAuth provider and adjust branding
- Added OAuthProviderButton to the Welcome component for Google authentication.
- Updated the branding from AlphaHuman to OpenHuman in the FeaturesStep component.
- Removed unnecessary Lottie animation from the Onboarding page for a cleaner layout.
- Changed the backend URL to point to the new API endpoint for TinyHumans.
* Refactor routing and sidebar components for improved clarity
- Commented out the Mnemonic route and related logic in AppRoutes for future consideration.
- Updated MiniSidebar to comment out the Invite Friends section.
- Removed unused navigation logic and upgrade call-to-action from the Home page.
- Adjusted Onboarding navigation to redirect to Home instead of Mnemonic.
* Comment out unused settings menu items for future consideration in SettingsHome component
* Add core process and RPC functionality for Alphahuman
- Introduced new binaries: `alphahuman-core` and `alphahuman-cli` for core process management and command-line interaction.
- Implemented `CoreProcessHandle` for managing the lifecycle of the core process.
- Added `core_rpc` module for handling RPC requests and responses.
- Created `core_server` module to manage core server logic and routing.
- Updated `alphahuman` commands to utilize the new RPC structure for health checks, security policies, and configuration management.
- Refactored existing code to streamline interactions with the core process and improve overall architecture.
* Update dependencies and enhance CLI functionality
- Added `clap` for command-line argument parsing in the `alphahuman-cli`.
- Updated `Cargo.lock` and `Cargo.toml` to include `clap` and its features.
- Refactored `alphahuman-cli` to utilize structured command handling with subcommands.
- Improved core process management and logging in `core_process.rs`.
- Enhanced routing and error handling in `core_server.rs` with new root and not found handlers.
- Updated various commands in `alphahuman.rs` to ensure core process is running before executing RPC calls.
* Enhance service management and CLI functionality
- Added new functions for daemon program arguments and command line construction in the service module.
- Updated macOS and Linux installation functions to dynamically generate program arguments and command lines.
- Introduced a new `Reinstall` command in the CLI for easier service management.
- Refactored service command handling to utilize local service functions for improved clarity and maintainability.
* Refactor daemon references to agent in components and hooks
- Updated terminology from "Daemon" to "Agent" in MiniSidebar, DaemonHealthPanel, and TauriCommandsPanel for consistency.
- Modified useDaemonHealth hook to probe agent status and handle agent lifecycle management.
- Introduced new agent server status interface and function in Tauri commands for improved status checking.
- Adjusted related comments and error handling to reflect the changes in terminology.
* Refactor Home component and enhance macOS service management
- Updated Home component to navigate to in-app conversations instead of opening a Telegram bot link.
- Improved macOS service management by implementing modern lifecycle commands and adding compatibility fallbacks for service control.
- Introduced new utility functions for handling macOS GUI domain and service targets.
* Refactor Home component to enhance navigation
- Removed SkillsGrid component and replaced it with a button that navigates to the Skills page.
- Improved layout with additional margin for better spacing in the Home component.
- Added `chat_send` and `chat_cancel` Tauri commands for backend-driven conversation loops.
- Moved agentic loop logic from frontend to Rust, optimizing performance and reducing frontend responsibilities.
- Implemented event protocol (`chat:tool_call`, `chat:tool_result`, `chat:done`, `chat:error`) to communicate loop progress to the frontend.
- Introduced AI config loading, OpenClaw context building, and cancellation support for chat requests.
* feat: add .mcp.json for MCP server configuration
- Introduced `.mcp.json` with server details for managing MCP integrations
- Defines `readme` server with HTTP type and URL endpoint configuration
* fix: Update skills submodule with Telegram error handling improvements
- Fixed setup flow showing false success when TDLib errors occurred
- Improved async error handling in setup steps
- Added client reset mechanisms for error recovery
- Enhanced error messaging for better user experience
- Cleaned up excessive debug logging while maintaining error logs
Resolves issue where Telegram setup showed success modal despite underlying TDLib errors.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* chore: bump version to 0.45.0 [skip ci]
* chore: bump version to 0.46.0 [skip ci]
* chore: bump version to 0.47.0
* feat: comprehensive redesign of Tauri Command Console
Transform 845-line admin interface into premium crypto-styled experience:
- Complete architectural redesign with 6 logical categories
- Premium card system with priority-based styling (Ocean blue, Slate, Amber)
- Progressive disclosure system (Basic → Advanced → Developer modes)
- Contextual descriptions for all 60+ form fields
- Responsive design with desktop grid and mobile accordion
- 100% functionality preservation while dramatically improving UX
Categories reorganized:
• System Configuration (Critical - API keys, model settings)
• Runtime & Execution (Critical - V8 engine, skills, services)
• Security & Data (Critical - encryption, integrations)
• Network & Infrastructure (Infrastructure - gateway, tunnels, memory)
• Development & Operations (Development - diagnostics, hardware)
• Interactive Tools (Tools - agent chat, output console)
Components added:
- SectionCard: Priority-based collapsible sections
- InputGroup: Consistent form field organization
- ActionPanel: Enhanced action buttons with loading states
Features:
- Smart progressive disclosure with user preference memory
- Contextually accurate field descriptions and guidance
- Professional typography using Cabinet Grotesk and Inter
- Sophisticated color gradients matching crypto aesthetic
- Mobile-responsive accordion behavior
- Accessibility improvements with proper ARIA labeling
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* refactor: remove tooltips and reposition descriptions in Tauri Commands Panel
- Remove tooltip system entirely from InputGroup components
- Move full descriptions directly below labels instead of after input fields
- Improve spacing and readability throughout interface
- Delete unused Tooltip component and textUtils utilities
- Enhance Field and CheckboxField components with better typography
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* style: improve spacing and layout in Tauri Commands Panel
- Enhance spacing between sections and components for better readability
- Improve grid gaps and padding throughout the interface
- Refine ActionPanel and SectionCard component spacing
- Better organize skills display with improved item spacing
- Polish overall visual hierarchy and component alignment
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: implement comprehensive UI consistency for Tauri Command Console
- Replace all white backgrounds with sophisticated dark theme styling
- Update input fields with bg-stone-900/40 and proper focus states
- Implement custom button system replacing DaisyUI dependencies
- Apply consistent glass morphism patterns throughout interface
- Enhance checkbox and form component styling for better integration
- Fix textarea elements with proper dark theme colors and borders
- Add professional hover states and accessibility improvements
- Achieve perfect visual consistency with Intelligence and Skills pages
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: implement accordion pattern for System Configuration, Runtime & Execution, and Security & Data sections
- Convert three critical sections to use collapsible accordion pattern
- Add isSectionVisible() conditional wrappers for progressive disclosure
- Change collapsible={false} to collapsible={true} for all three sections
- Add defaultExpanded={!isCollapsed()} for consistent state management
- Fix section ID consistency in getSectionVisibility() function
- Maintain all existing functionality and content
- Provide consistent UX matching Network & Infrastructure pattern
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* style: standardize all sections with Network & Infrastructure color scheme
- Change all priority values to "infrastructure" for visual consistency
- System Configuration: priority="critical" → "infrastructure"
- Runtime & Execution: priority="critical" → "infrastructure"
- Security & Data: priority="critical" → "infrastructure"
- Development & Operations: priority="development" → "infrastructure"
- Interactive Tools: priority="tools" → "infrastructure"
All sections now use unified slate gradient backgrounds and icon colors
for a cohesive, professional appearance throughout the interface.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* fix: resolve JSX syntax error in Interactive Tools section
- Fix extra '>' character in ChatBubbleLeftRightIcon icon prop
- Corrects TypeScript compilation error on line 1050
- Ensures proper JSX syntax for SectionCard component
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
* feat: remove view mode selector and always show all 6 sections
- Remove view mode state and selector UI (basic/advanced/developer)
- Always show all sections: System Configuration, Runtime & Execution, Security & Data, Network & Infrastructure, Development & Operations, Interactive Tools
- All sections start expanded by default for immediate access
- Simplify section visibility logic to always return true
- Keep loading indicator positioned on the right
- Improve UX by removing unnecessary progressive disclosure
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
---------
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
* Enhance socket connection logging and URL handling
- Added logging for the backend URL in the `runtime_socket_connect` function to improve traceability.
- Updated the `SocketManager` to convert HTTP/HTTPS URLs to WebSocket URLs, enhancing connection handling.
- Improved error logging to capture detailed error chains during connection failures, aiding in debugging.
* Enhance TDLib integration and macOS bundling process
- Updated build.rs to include a setup function for TDLib, ensuring the correct version is used based on the target OS.
- Added a new script, build-tdlib-from-source.sh, to facilitate building TDLib from source for macOS with the appropriate deployment target.
- Modified .gitignore to exclude the new tdlib-local and tdlib-build directories.
- Updated tauri.conf.json to streamline TDLib references and ensure compatibility with the new bundling process.
- Removed outdated bundling scripts to simplify the build workflow.
* Refactor socket management and update dependencies
- Updated `build.rs` to correctly reference architecture-specific paths for local TDLib builds.
- Replaced `rust_socketio` with `tf-rust-socketio` in `Cargo.toml` and `socket_manager.rs` to align with the new dependency structure.
- Enhanced logging in `socket_manager.rs` for better connection diagnostics and pre-flight checks.
- Updated `build-tdlib-from-source.sh` to define architecture-specific build and install directories, improving build isolation.
* Update TDLib installation process and refine socket payload handling
- Modified `build-tdlib-from-source.sh` to manually install `tdjson` libraries, addressing potential installation failures.
- Updated `socket_manager.rs` to handle payloads with an additional parameter in `Payload::Text`, improving data extraction and connection management.
* Add macOS TDLib binary for version 1.8.29
- Introduced the `libtdjson.1.8.29.dylib` binary to the macOS TDLib prebuilt directory, enabling integration with the latest TDLib features and improvements.
* Refactor SocketManager to use WebSocket and update dependencies
- Replaced `tf-rust-socketio` with a WebSocket-based implementation using `tokio-tungstenite`, enhancing connection stability and compatibility.
- Updated `Cargo.toml` to include new features for `reqwest` and removed deprecated dependencies.
- Improved documentation in `socket_manager.rs` to clarify the new WebSocket connection handling and its implications for Android.
- Streamlined connection lifecycle management and error handling for better performance and maintainability.
* chore: add CI secrets management and local testing script
- Added ci-secrets.example.json to provide a template for CI secrets configuration.
- Introduced test-ci-local.sh script to facilitate local testing of the package-and-publish workflow using act.
- Updated .gitignore to exclude the actual ci-secrets.json file containing sensitive tokens.
* chore: enhance local testing and environment loading scripts
- Added scripts to load environment variables from .env and JSON files, improving local development setup.
- Introduced ci-event.json to simulate GitHub event payloads for local CI testing.
- Updated test-ci-local.sh to utilize the new event JSON for better integration with local testing workflows.
- Modified .gitignore to include ci-secrets.local.json for local secret management.
* chore: enhance environment loading and improve V8 memory management
- Updated load-env.sh to conditionally load ci-secrets.local.json and set APPLE_PASSWORD for notarization.
- Introduced a delay in auto-starting skills to prevent memory spikes during initialization.
- Adjusted V8 runtime memory settings to minimize initial heap allocation, reducing the risk of OOM errors.
* chore: update version bump workflow to modify tauri.conf.json
- Changed the version update process to reflect changes in tauri.conf.json instead of Cargo.toml.
- Adjusted the commit message to indicate the inclusion of tauri.conf.json in the version bump process.
* chore: migrate from V8 to QuickJS runtime and update related configurations
- Replaced V8 runtime references with QuickJS throughout the codebase, including updates to initialization and error handling.
- Modified package.json to change the build command for macOS to source environment variables correctly.
- Updated Cargo.toml to remove deno_core dependency and include rquickjs with appropriate features.
- Cleaned up unused V8-related code and comments in the runtime modules.
- Adjusted skill manifest checks to support QuickJS compatibility.
* refactor: implement QuickJS runtime and remove V8 references
- Replaced V8 engine with QuickJS in the runtime module, updating related imports and initialization logic.
- Introduced new `qjs_engine.rs` and `qjs_skill_instance.rs` files to handle QuickJS-specific functionality.
- Removed the deprecated `v8_skill_instance.rs` and associated V8-related code.
- Updated JavaScript bootstrap code to align with QuickJS operations and APIs.
- Adjusted documentation and comments to reflect the transition to QuickJS.
* refactor: update IdbStorage to use parking_lot::Mutex for improved concurrency
- Changed the connection management in IdbStorage from RwLock to parking_lot::Mutex for better performance.
- Updated related methods to reflect the new locking mechanism, enhancing the efficiency of database operations.
- Adjusted the IdbOpenResult struct to include serde::Serialize for potential serialization needs.
* refactor: update QuickJS skill instance and timer management
- Modified memory limit and stack size settings in QjsSkillInstance to be asynchronous, improving performance.
- Cleaned up imports in qjs_ops.rs by removing unused dependencies and enhancing function definitions for clarity.
- Refactored timer management functions for better readability and efficiency, including renaming and restructuring comments.
* chore: update package.json scripts and clean up build.rs
- Added a new script for running the Tauri app with environment variable loading.
- Simplified the macOS development command to use a dedicated build script.
- Removed unnecessary environment variable logging from build.rs to streamline the build process.
- Cleaned up commented-out sections in the GitHub Actions workflow for Android packaging.
- Updated the event handling in the Tauri application to use a match statement for better clarity and maintainability.
- Added graceful shutdown logic for TDLib during application exit to prevent crashes related to C++ destructors.
- Enhanced the TDLib manager to signal shutdown and exit the receive loop cleanly, improving application stability.
- Updated the package-and-publish.yml workflow to utilize Tauri's native bundling for TDLib on macOS, removing the need for post-build scripts.
- Modified build.rs to copy TDLib and its dependencies to the libraries/ directory, ensuring they are included in the app bundle.
- Updated tauri.conf.json to reference the newly bundled TDLib and its dependencies.
- Added entries to .gitignore for the new libraries directory.
- Added a new build command in package.json for building the app with skills integration.
- Updated tauri.conf.json to use the new build command before building the app.
- Enhanced the RuntimeEngine to manage a resource directory for bundled skills in production, improving resource handling.
- Implemented logic to locate skills from various directories, including bundled resources, ensuring flexibility in both development and production environments.
- Added a macOS deployment target of 10.15 in the package-and-publish.yml workflow to ensure compatibility with std::filesystem used by llama.cpp.
- Updated tauri.conf.json to set the minimum system version for macOS to 10.15, aligning with the new deployment requirements.
* chore: add simulation function for deep link testing in development
- Introduced a simulation function for deep links in the development environment to facilitate testing.
- The function allows developers to simulate deep link URLs without affecting production behavior.
* feat: implement QuickJS skill runtime integration
- Added a new QuickJS skill runtime engine to manage skill execution within the application.
- Introduced commands for skill management, including discovery, starting, stopping, and querying skill states.
- Implemented a SQLite database bridge for each skill to handle data storage.
- Enhanced the application structure with new modules for runtime management, skill instances, and manifest parsing.
- Updated dependencies in Cargo.toml and Cargo.lock to support new features.
* refactor: improve code readability and formatting in DownloadScreen and deviceDetection
- Enhanced the button className formatting in DownloadScreen for better readability.
- Reformatted the fetchLatestRelease and parseReleaseAssetsByArchitecture functions in deviceDetection for improved clarity and maintainability.
- Utilized multiline formatting for complex conditions to enhance code structure.
* feat: integrate Rust-native Socket.io client for persistent connections
- Implemented a SocketManager in Rust to handle Socket.io connections, ensuring persistence across app backgrounding.
- Updated SocketProvider to connect/disconnect using Rust-native methods in Tauri mode.
- Enhanced Tauri event listeners for socket state changes and server events.
- Refactored socket handling logic to differentiate between web and Tauri modes, improving maintainability and clarity.
- Added new commands for connecting, disconnecting, and emitting events through the Rust socket.
* refactor: remove Telegram login commands and related functionality
- Deleted the startTelegramLogin and startTelegramLoginWithUrl functions from the Tauri commands.
- Removed associated references in the Rust command module and utility file.
- This cleanup simplifies the codebase by eliminating unused Telegram login features.
* feat: add cron scheduling functionality for skills
- Introduced a new CronScheduler to manage scheduled tasks for skills, allowing for cron expression parsing and execution.
- Added a cron bridge to expose scheduling methods to skill contexts, enabling skills to register, unregister, and list cron schedules.
- Updated the RuntimeEngine to initialize and manage the cron scheduler, ensuring it runs in the background.
- Enhanced skill instances to support cron scheduling through a new BridgeDeps structure.
- Updated dependencies in Cargo.toml and Cargo.lock to include the cron crate.
* feat: add Android support and enhance dependencies
- Introduced Android-specific build and run commands in package.json for Tauri.
- Updated Cargo.toml to include OpenSSL for Android and adjusted reqwest for cross-platform TLS support.
- Added new mobile capabilities configuration for Android and iOS.
- Implemented a foreground service in the Android app to maintain the Rust backend process.
- Added various Android resources including layouts, icons, and notification handling.
- Updated Cargo.lock with new dependencies for improved functionality.
* chore: update .gitignore and AndroidManifest.xml for deep link support
- Added .kotlin and .cargo to .gitignore to exclude Kotlin and Cargo build artifacts.
- Updated AndroidManifest.xml with comments for the deep link plugin, clarifying its auto-generated nature.
* feat: enhance store configuration for development testing
- Added functionality to auto-inject a JWT token from environment variables during development.
- Implemented automatic onboarding for users once their profile is fetched, improving the testing experience.
* feat: enhance socket connection handling and add Android logging support
- Updated the Rust socket connection command to accept an optional URL parameter, allowing for dynamic backend URL configuration.
- Integrated Android logging capabilities using the android_logger crate, ensuring logs are properly routed to logcat.
- Improved error handling in the SocketManager to log connection errors and successful connections for better debugging.
* feat: implement notification permission handling and enhance foreground service in Android
- Added runtime permission request for POST_NOTIFICATIONS in MainActivity to comply with API 33+ requirements.
- Updated RuntimeService to specify foreground service type for API 34+ compatibility.
- Improved logging levels in the Rust backend for better debugging and monitoring of socket connections and skill discovery.
* feat: integrate QuickJS skill management and service
- Added QuickJS skill hooks for retrieving and managing QuickJS skills from Redux.
- Implemented a QuickJS service to handle skill lifecycle, preferences, and IPC calls with the Rust backend.
- Enhanced the skills state in Redux to include QuickJS skills, enabling better management and state tracking.
- Updated the store configuration to persist QuickJS skills state across sessions.
- Introduced new commands in the Rust backend for enabling/disabling skills and managing preferences.
- Improved the SkillProvider to initialize the QuickJS service during app startup.
* refactor: transition skill management to QuickJS runtime
- Removed legacy skill catalog and loading logic, replacing it with QuickJS runtime integration for skill discovery and management.
- Updated SkillProvider to utilize QuickJS for skill registration and lifecycle management.
- Simplified skill data handling by directly invoking the Rust backend for skill operations.
- Enhanced error handling and logging for skill loading processes.
- Cleaned up unused interfaces and functions related to previous skill management methods.
* refactor: remove unused skill commands and plugins
- Deleted the skills command module and related functions to streamline the codebase.
- Removed dependencies on the tauri-plugin-shell and other unused plugins from Cargo.toml and Cargo.lock.
- Updated the authentication module by removing the exchange_token function and its associated structures.
- Simplified the capabilities configuration by eliminating shell-related permissions.
- Enhanced the runtime engine to support new JSON-RPC commands for skill data management.
* feat: expose whitelisted environment values to skills
- Added `platform.env(key)` function to retrieve whitelisted environment values for skills.
- Implemented `get_skill_env` function to provide access to `BACKEND_URL` and `PLATFORM`.
- Updated `get_backend_url` to check for `VITE_BACKEND_URL` before falling back to `BACKEND_URL`.
- Enhanced the QuickJS runtime to support the new environment functionality.
* feat: fix skills enable/disable flow, setup pipeline, and status derivation
- Add SkillSetup struct to Rust manifest and include setup field in
discovery response so the frontend knows which skills need setup
- Map setup field in SkillProvider discoverSkills()
- Fix SkillsGrid to use real hasSetup from manifest instead of hardcoding false
- Add contextual Enable/Setup/Configure/Retry buttons in management modal
- Add status indicator dots to compact skill table rows
- Fix deriveConnectionStatus to return "connected" for ready skills with
completed setup that don't push host state (e.g. cron-based skills)
- Add select option renderer in SkillManagementPanel for non-boolean options
- Add dotenvy crate to load .env file at Rust startup so env vars like
VITE_BACKEND_URL are available to the runtime engine and skills
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: add platform support for skills and enhance manifest handling
- Introduced platform filtering for skills in the SkillManifest, allowing skills to specify supported platforms.
- Updated QuickJSManifest and runtime engine to handle platform checks, ensuring skills are only loaded on compatible platforms.
- Added new build and watch commands for skills in package.json to streamline development.
- Enhanced the Rust backend to log unsupported skills based on platform restrictions.
* feat: update skills submodule with TypeScript pipeline and test harness
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* feat: transition from QuickJS to V8 runtime for skill management
- Replaced QuickJS with V8 (via deno_core) for improved JavaScript execution and WASM support.
- Updated skill management logic to utilize the new V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and added platform compatibility checks.
- Introduced new dependencies and updated Cargo.toml to reflect changes in the skill execution environment.
- Refactored related modules and commands to align with the V8 integration, ensuring a seamless transition for skill operations.
* refactor: clean up dead code in IdbStorage and enhance ops module
- Removed unused `#[allow(dead_code)]` annotations from the IdbStorage struct and its methods to improve code clarity.
- Introduced new timer and WebSocket state management structures in the ops module, laying groundwork for future enhancements.
- Added timer and WebSocket operation functions, including `op_timer_start`, `op_timer_cancel`, and WebSocket connection handling, to support asynchronous operations.
* feat: implement high-level TDLib service with V8 integration
- Introduced a new `TdlibV8Service` to manage TDLib client instances using the V8 runtime.
- Added a `MockTdClient` for development and testing, simulating TDLib responses for various queries.
- Enhanced the bootstrap script to initialize and manage TDLib clients, including methods for sending queries and retrieving authentication states.
- Updated the `mod.rs` file to include the new service module and improved documentation for clarity.
- Refactored existing code to support the new TDLib integration, ensuring a seamless experience for skill management.
* refactor: update V8 runtime integration and platform handling
- Updated the V8 runtime integration to ensure it is only available on desktop platforms, with appropriate error handling for mobile.
- Refactored the `SocketManager` and command implementations to conditionally include desktop-only features, enhancing clarity and maintainability.
- Cleaned up the `Cargo.toml` to reflect the changes in V8 runtime availability and added relevant documentation.
- Removed dead code related to mobile platform handling in the TDLib integration, ensuring a streamlined codebase.
* chore: update skills submodule to latest commit
- Updated the skills submodule to the latest commit (19a18e8), ensuring alignment with recent changes and improvements in the codebase.
* refactor: transition from QuickJS to V8 runtime for skill management
- Updated the skills submodule to the latest commit, reflecting the transition from QuickJS to V8 for improved JavaScript execution.
- Refactored skill management logic to utilize the V8 runtime, including changes to the RuntimeEngine and skill instance handling.
- Enhanced manifest handling to support the new runtime and updated platform compatibility checks.
- Removed dead code related to QuickJS, ensuring a streamlined codebase.
- Updated comments and documentation to reflect the changes in runtime integration.
* feat: enhance logging and update timer operations in V8 integration
- Added logging for skill discovery and manifest processing in the V8 runtime, improving traceability during skill management.
- Updated timer operation functions to use new prefixed names (`op_ah_timer_start` and `op_ah_timer_cancel`) to avoid conflicts with deno_core built-ins.
- Implemented a mechanism to load .env files from various locations, ensuring environment variables are available for configuration.
- Enhanced the `get_backend_url` function to include debug logging for better visibility of the backend URL resolution process.
* chore: update skills submodule to latest commit and enhance logging
- Updated the skills submodule to the latest commit (54c40a1), ensuring alignment with recent changes.
- Added console logging for skill manifests during discovery in the SkillsGrid component to improve debugging and traceability.
* refactor: clean up and format code in DownloadScreen and SkillsGrid components
- Improved code readability by formatting multi-line statements in the DownloadScreen and SkillsGrid components.
- Removed unnecessary type imports in DownloadScreen for clarity.
- Enhanced the structure of the SkillsGrid component by adjusting the layout of JSX elements for better maintainability.
- Updated socketService to ensure consistent import order and improved logging in TauriSocket utility functions.
* chore: update development script in package.json
- Replaced the existing setup-python-sidecar script with a new dev:app script to streamline the development process for Tauri applications, enabling better debugging with RUST_BACKTRACE and RUST_LOG settings.
* refactor: update load method to accept additional parameters
- Modified the load method in SkillRuntime to accept an optional additionalParams argument, enhancing flexibility for skill loading.
- Ensured compatibility by using a fallback to an empty object when additionalParams is not provided.
* refactor: improve JSX structure in SkillsGrid component
- Enhanced the formatting of the connection status indicator in the SkillsGrid component for better readability.
- Adjusted the indentation and spacing to maintain consistent code style and improve maintainability.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
* Add submodule for skills and initialize skills repository
- Created a new .gitmodules file to include the skills submodule.
- Initialized the skills submodule with a commit reference, linking to the skills repository on GitHub.
This update integrates the skills component into the project, enhancing the AI system's capabilities.
* Implement subscription billing UI with Stripe and Coinbase integration
Replace the placeholder BillingPanel with a working subscription billing
interface. Users can view their current plan and token usage, upgrade via
Stripe (card) or Coinbase (crypto, annual-only), and manage subscriptions
through Stripe's Customer Portal. Adds billing API service and types.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Add unified skill system with core type definitions and management features
- Introduced a comprehensive skill system that includes lifecycle management, tool definitions, state management, entity extensions, and intelligence rules.
- Implemented a skill state manager using Zustand for managing skill-specific state.
- Created an entity extension registry for registering new entity and relation types.
- Developed an intelligence engine for evaluating rules and executing actions based on events.
- Established a unified tool registry to streamline tool management across various integrations.
This update enhances the AI system's capabilities by providing a robust framework for skill management and interaction.
* Add billing helpers and refactor BillingPanel for improved plan management
- Introduced a new `billingHelpers.ts` file containing plan metadata, utility functions for plan management, and pricing calculations.
- Refactored `BillingPanel` to utilize the new billing helpers, streamlining the display of plan information and pricing.
- Added unit tests for billing helpers to ensure functionality and correctness of plan-related operations.
This update enhances the billing system's structure and maintainability, providing a clearer separation of concerns for plan management.
* Enhance skill management system with new features and integrations
- Added path aliases in `tsconfig.json` for improved module resolution.
- Updated `vite.config.ts` to include skill types path for better integration.
- Integrated `SkillsProvider` into the application to manage skill lifecycle, including registration and activation of virtual skills like Telegram, bulk operations, and reminders.
- Implemented a unified skill system with a new orchestrator for managing skill states and tool definitions.
- Enhanced bundled skill loading mechanism to utilize a unified skill system, improving the overall architecture and maintainability.
This update strengthens the skill management framework, enabling better organization and functionality within the AI system.
* Adopt supermemory patterns into AI memory system
Port 5 patterns from claude-supermemory reference implementation to fill
gaps in the existing memory pipeline:
1. Tool observation compression — compress verbose tool outputs before
compaction summarization and memory flush, saving tokens and signal
2. Categorized memory context — render memory as structured XML with
profile facts, recent context, and search results with dedup
3. Relative timestamps — surface updated_at from FTS chunks and display
human-readable relative times in search results
4. Memory deduplication on write — filter duplicate facts before appending
to memory files during flush
5. Auto-capture on session end — lightweight memory flush for short sessions
that never trigger compaction
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Refactor TelegramMCPServer to delegate entirely to unified tool registry
The server was still maintaining its own tool map with 80+ handler entries
and legacy fallback paths. Now it delegates all tool listing and execution
to skillOrchestrator.toolRegistry, matching the architecture established
in the skills system. Updated tests to mock the unified registry instead
of individual tool handlers.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Consolidate skill system and migrate Telegram state to Zustand
Remove legacy skill implementations (src/lib/ai/skills/, src/lib/mcp/skills/)
and consolidate everything into the unified skill orchestrator at
src/lib/skills/. Add runtime skill subprocess support with stdio JSON-RPC
transport for Python/Node/Deno skills.
Key changes:
- Delete old SkillRegistry, installer, loader, runner, frontmatter parser
- Delete MCP skills layer (bulk.ts, reminders.ts, index.ts) and move
skill definitions to src/lib/skills/definitions/
- Add RuntimeHost and StdioTransport for subprocess-based skills
- Add shell plugin (tauri-plugin-shell) with scoped permissions for
python3, node, deno, npx executables
- Extend orchestrator with runtime skill lifecycle (spawn, load, activate,
tick, deactivate, shutdown) and reverse RPC handling
- Add overrideTier parameter to enforceRateLimit for unified registry
- Decouple prompt system from old SkillEntry type
- Remove old SkillRegistry from AIProvider
- Migrate Telegram state functions from Redux dispatch to Zustand store
- Add Telegram Zustand store, selectors, actions, migration utilities
- Add hello-python example skill
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Migrate Telegram state from Redux to Zustand
Replace the Redux telegram slice with a Zustand store using immer middleware.
All 49 reducers ported as store methods, 5 thunks converted to standalone async
functions, and 30+ selectors migrated to Zustand hooks and plain functions.
Updates all consumers: services, API helpers, tool adapters, and UI components.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Refactor skill management and remove Telegram components
- Updated TODO.md to include integration of the payments flow.
- Refactored App.tsx to remove unused TelegramProvider and SkillsProvider, streamlining the component structure.
- Deleted obsolete test fixtures related to Telegram state and skills, including mcpContext.ts, rootState.ts, telegramState.ts, and TelegramConnection components.
- Removed legacy skill loading and entity extension files, consolidating the skill system into a unified orchestrator.
- Updated documentation to reflect changes in skill management and structure.
This commit enhances the overall architecture by eliminating deprecated components and improving the skill management framework.
* Update skills submodule to latest commit 22e42c9, ensuring alignment with the current project structure and dependencies.
* Integrate Python skills system with JSON-RPC IPC and interactive setup UI
Wire the Python skills runtime into the Tauri frontend via the shell plugin,
communicating over JSON-RPC 2.0 stdin/stdout. Replace "Coming Soon" Telegram
entries in onboarding and settings with a live setup wizard that drives the
skill's multi-step authentication flow.
- Phase 0: Create skill.py SkillDefinition for Telegram, update __main__.py
to use SkillServer (MCP preserved via --mcp flag)
- Phase 1: Add skills lib (types, transport, runtime, manager, paths),
Redux skillsSlice with persistence, setup UI components
(SetupFormRenderer, SkillSetupWizard, SkillSetupModal)
- Phase 2: Add SkillProvider to provider chain, Rust skill data I/O commands
- Phase 3: Tool bridge for AI registry integration in AIProvider
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* Update skill management and billing helpers
- Updated skills submodule to the latest commit, ensuring alignment with project dependencies.
- Refactored SkillSetupWizard to ensure the skill is running before starting the setup flow, improving user experience.
- Adjusted billingHelpers test to import PlanTier from the correct path, enhancing type safety.
- Modified embedQuery method in NullEmbeddingProvider to accept a parameter, improving method signature clarity.
These changes enhance the overall functionality and maintainability of the skill management and billing systems.
* Enhance deep link handling and skill setup error management
- Added a note in CLAUDE.md regarding the requirement to run the .app for deep link testing on macOS.
- Introduced a simulation feature for deep links in development mode within desktopDeepLinkListener.ts.
- Updated SkillSetupWizard to throw descriptive errors if a skill fails to start, improving error handling and user feedback.
These changes improve the development experience and robustness of the skill setup process.
* Add Python sidecar setup script and update dependencies
- Introduced a new script `setup-python-sidecar.mjs` to symlink the system Python to the Tauri runtime for local development.
- Updated the `package.json` to include a new npm script for setting up the Python sidecar.
- Changed the version specification for `@tauri-apps/plugin-shell` from `^2` to `~2` for more controlled updates.
- Updated the `tauri.conf.json` to include the new Python sidecar in the external binaries list.
- Updated the skills submodule to the latest commit for alignment with project dependencies.
These changes enhance the development workflow for Python skills integration and improve dependency management.
* Update skills submodule to latest commit and modify TODO.md
- Updated the skills submodule to the latest commit for better alignment with project dependencies.
- Added a note in TODO.md to skip the connect account page and redirect to the home page during the payment flow integration.
These changes ensure the project remains up-to-date and clarify the next steps for the payment flow implementation.
* Refactor Python sidecar integration and enhance skill runtime management
- Updated `setup-python-sidecar.mjs` to symlink system Python to `src-tauri/runtime-skill-python-<target>` for local development.
- Introduced new commands in Rust for retrieving the current working directory and virtual environment site-packages for Python skills.
- Modified `SkillTransport` to support spawning skills using the sidecar for bundled runtimes, improving the execution flow.
- Updated `tauri.conf.json` to reflect changes in external binaries and added documentation for the Python sidecar setup.
- Adjusted skill management to ensure proper error handling and logging during skill execution.
These changes streamline the development process for Python skills and enhance the overall robustness of the skill management system.
* Enhance skill connection indicators and logging
- Added a new `TelegramConnectionIndicator` component to display real-time connection status for the Telegram skill.
- Integrated `useSkillConnectionStatus` hook across various components to provide unified connection status for skills.
- Updated `ConnectionsPanel` and `ConnectStep` to utilize the new connection status logic, improving user feedback during skill setup.
- Enhanced logging in `SocketService` and `SocketProvider` for better debugging and error tracking.
- Introduced utility functions for sanitizing sensitive data before logging, ensuring security during error handling.
These changes improve the user experience by providing clear connection statuses and enhance the robustness of the logging system.
* Remove console logging from SocketProvider for cleaner code
- Eliminated console log statements related to socket connection and disconnection events, as well as error handling, to streamline the codebase.
- This change enhances the maintainability of the SocketProvider component by reducing unnecessary logging clutter.
* Enhance SocketService with MCP transport and tool management
- Introduced `SocketIOMCPTransportImpl` for handling client-server MCP requests, improving communication efficiency.
- Updated the `mcp:listTools` event to aggregate tools from all ready skills, providing a comprehensive tool list in response to requests.
- Enhanced the `mcp:toolCall` event to validate tool name formats and handle tool calls asynchronously, improving error handling and logging.
- Added a method to retrieve the MCP transport instance, enhancing the SocketService's functionality.
These changes improve the robustness and usability of the SocketService in managing MCP interactions.
* Remove logger service and replace with debug package in SocketService
- Deleted the custom logger implementation in favor of using the `debug` package for logging in the SocketService.
- Updated the SocketService to enable logging based on the development environment, improving debugging capabilities.
These changes streamline the logging process and enhance the maintainability of the codebase.
* Add SkillsGrid component to enhance skill management interface
- Introduced a new SkillsGrid component to display a grid of skills with connection statuses and setup options.
- Implemented skill icons and status badges for better visual representation of skill states.
- Integrated skills catalog loading functionality to dynamically fetch and display available skills.
- Updated Home component to include the SkillsGrid, improving user interaction with skills.
These changes enhance the user experience by providing a clear and interactive skills management interface.
* Update skills submodule and add skills catalog JSON
- Updated the skills submodule to the latest commit for improved functionality.
- Introduced a new `skills-catalog.json` file containing detailed descriptions and configurations for various skills, enhancing the skills management system.
- Enhanced the `SkillsGrid` component to validate skill names, ensuring they do not contain underscores, which are reserved for tool namespacing.
These changes improve the robustness of the skills management interface and ensure better adherence to naming conventions.
* Update skills submodule and modify tool name formatting in SocketService
- Updated the skills submodule to the latest commit for improved functionality.
- Changed the tool name formatting in SocketService to use double underscores instead of single underscores, enhancing clarity in tool identification.
These changes ensure better alignment with naming conventions and improve the overall functionality of the skills management system.
* Add DownloadScreen component and update Welcome page
- Introduced a new DownloadScreen component to provide users with platform-specific download options for the application.
- Updated the Welcome page to conditionally display the DownloadScreen for web users while showing the Telegram login button for Tauri users.
- Modified the greeting text and adjusted layout for improved user experience.
These changes enhance the onboarding process by offering clear download options based on the user's platform.
* Enhance AppRoutes and Welcome component for web detection
- Added logic in AppRoutes to determine if the application is running on the web or Tauri, using the `isTauri` utility.
- Updated the Welcome component to accept a prop indicating the platform, allowing for tailored rendering based on the environment.
- This change improves the onboarding experience by providing a more context-aware interface for users depending on their platform.
* Refactor SkillsGrid and Home components for improved clarity
- Removed unused Telegram and Gmail connection indicators from the Home component to streamline the interface.
- Simplified the SkillCard function in SkillsGrid by renaming the description parameter for better clarity.
- These changes enhance code readability and maintainability by eliminating unnecessary components and improving parameter naming.
---------
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
- Changed all references of the deep link scheme in documentation and code to `alphahuman://` to align with the new branding.
- Updated the Telegram login flow documentation to reflect the new deep link handling.
- Adjusted various files to ensure consistency in the authentication process across platforms.
This update enhances the clarity and branding of the authentication flow for the desktop application.
- Introduced a new documentation file detailing the Telegram login flow for the desktop client, including system-browser authentication and deep link handling.
- Updated the TelegramLoginButton component to initiate the login process using the backend URL for Tauri desktop applications.
- Enhanced deep link listener to validate incoming URLs and manage session tokens more effectively.
- Refactored utility functions to streamline Tauri environment checks and improve code clarity.
This update improves the onboarding experience for desktop users and provides comprehensive guidance on implementing Telegram login functionality.
- Replaced the favicon in index.html with a new alpha.svg icon.
- Enhanced package.json with new macOS-specific build and run scripts for Tauri.
- Added a comprehensive macOS background execution implementation, including a system tray menu and autostart functionality.
- Updated Tauri configuration to support tray icon and macOS private API features.
- Introduced new capabilities for autostart and tray management in the application.
This update improves the user experience on macOS by providing a seamless background execution feature and a visually updated application icon.
- Introduced @tauri-apps/plugin-deep-link for handling deep link events
- Implemented setup for deep link listener in main application entry
- Enhanced Login page to support Telegram authentication via deep links
- Created utility functions for building and handling deep links
- Added configuration for backend URL management
- Updated Tauri configuration to support deep link plugin
This update enhances the user experience by allowing seamless transitions between web and desktop applications through deep linking.