mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-28 13:32:23 +00:00
df54838ad7c6cd49dfd52dfebf335eb644010e5c
4
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
bfaabd3b86 |
fix/rename (#20)
* 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. |
||
|
|
58969667d9 |
fix: add ESLint and Prettier configuration (#15)
* ran prettier * Refactor ESLint configuration to use ES module syntax and enhance TypeScript support - Converted CommonJS `require` statements to ES module `import` syntax for better compatibility with modern JavaScript. - Added new paths to ignore in ESLint configuration to exclude additional directories. - Updated TypeScript file patterns to be more specific, improving linting accuracy. - Adjusted React hooks rules to allow certain patterns, enhancing flexibility in component design. These changes improve the maintainability and clarity of the ESLint configuration, aligning it with current best practices. * Refactor ESLint configuration to use ES module syntax and enhance TypeScript support - Converted CommonJS `require` statements to ES module `import` syntax for better compatibility with modern JavaScript. - Added new paths to ignore in ESLint configuration to exclude additional directories. - Updated TypeScript file patterns to be more specific, improving linting accuracy. - Introduced new React hooks rules and adjusted existing rules for better adherence to best practices. - Made minor adjustments to import statements across various files for consistency and clarity. These changes improve the overall linting setup and ensure better code quality across the project. * Refactor import statements across multiple files for consistency - Updated import statements to use TypeScript's `type` syntax for type imports, enhancing clarity and consistency across the codebase. - Consolidated imports from the same module into single statements, improving readability and maintainability. These changes streamline the code structure and align with best practices for TypeScript imports. * Refactor import statements in memory manager for improved clarity - Updated import statements to consolidate type imports and enhance readability. - Removed redundant imports, streamlining the code structure in the memory manager file. These changes align with best practices for TypeScript imports and improve maintainability. * Add Husky for pre-commit and pre-push hooks - Introduced Husky to manage Git hooks, enhancing the development workflow. - Added pre-commit and pre-push scripts to enforce code formatting and linting checks before commits and pushes. - Updated package.json to include Husky as a dependency and added a prepare script for setup. These changes improve code quality and ensure adherence to formatting and linting standards during the development process. * Refactor import statements for improved clarity and consistency - Updated import statements across multiple files to consolidate type imports and enhance readability. - Adjusted the order of imports for better organization and alignment with best practices in TypeScript. These changes streamline the code structure and improve maintainability throughout the project. * ran formatter * Refactor import statements and improve code formatting across multiple files - Consolidated and reordered import statements for better clarity and consistency in `SkillsGrid.tsx`, `SkillProvider.tsx`, and `index.ts`. - Enhanced readability by adjusting formatting and removing redundant lines. - These changes align with best practices for TypeScript imports and improve overall maintainability of the codebase. * Refactor and optimize code in multiple components - Removed redundant properties from the `STATUS_DISPLAY` object in `SkillsGrid.tsx` to streamline status handling. - Consolidated import statements in `SettingsModal.tsx` for improved organization. - Simplified state management and error handling in `BillingPanel.tsx`, enhancing performance and readability. - Added `REHYDRATE` import to `index.ts` for better state persistence management. These changes improve code clarity, maintainability, and align with best practices in TypeScript development. * Consolidate import statements in SettingsModal.tsx for improved organization * Add Prettier and ESLint checks to typecheck workflow - Integrated a Prettier formatting check to ensure code style consistency. - Added an ESLint step to enforce code quality and catch potential issues. - These enhancements improve the development workflow by automating formatting and linting checks during the typecheck process. * Add activeSkillDescription state to ConnectionsPanel and ConnectStep - Introduced activeSkillDescription state in both ConnectionsPanel and ConnectStep components to store and manage skill descriptions. - Updated the SkillSetupModal to accept skillDescription as a prop, enhancing the modal's functionality and data handling. These changes improve the user experience by providing more detailed information about skills during the connection setup process. * Enhance pre-push hook to include TypeScript compile check - Added a TypeScript compile check to the pre-push script, ensuring that code compiles successfully before pushing. - Updated error handling to include compile errors alongside formatting and linting issues, providing clearer feedback to developers. These changes improve the reliability of the codebase by preventing non-compiling code from being pushed. * Update GitHub workflows for pull request handling and publishing logic - Modified the package-and-publish workflow to support pull request events, ensuring proper handling of branches. - Adjusted the SHOULD_PUBLISH environment variable to differentiate between pull requests and main branch events. - Updated the pr-protection workflow to focus solely on the main branch, removing references to the master branch. These changes enhance the CI/CD process by refining branch handling and improving clarity in workflow conditions. |
||
|
|
e2833f27e0 |
Adopt supermemory patterns into AI memory system (#11)
* 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> |
||
|
|
577ffcd27c | Initialize Tauri application with React and TypeScript setup, including essential configuration files, project structure, and initial assets. Added .gitignore, package.json, and README.md for project documentation and setup instructions. |