mirror of
https://github.com/tinyhumansai/openhuman.git
synced 2026-07-29 22:23:01 +00:00
* feat(telegram): implement Telegram channel and attachment handling - Added `TelegramChannel` struct for managing Telegram Bot API interactions, including user management and message handling. - Introduced attachment parsing with `TelegramAttachment` and `TelegramAttachmentKind` to support various media types. - Implemented functions for parsing attachment markers and validating URLs, enhancing message processing capabilities. - Created a new module structure for Telegram, including `attachments`, `channel`, and `text` for better organization and maintainability. * feat(skills): implement skills registry management and E2E testing - Added functionality for fetching, searching, installing, and uninstalling skills from a remote registry. - Introduced new modules for registry operations and types, enhancing the skills management system. - Implemented E2E tests for skills registry interactions, ensuring robust functionality and integration. - Updated documentation to reflect new skills registry features and usage instructions. * refactor(coreRpcClient): remove socket RPC handling and streamline HTTP request logging - Eliminated socket-based RPC handling to simplify the core RPC client logic. - Updated logging to use a unified debug logger for both HTTP requests and errors. - Improved error handling for HTTP responses to ensure clarity in error reporting. * feat(skills): enhance skill setup handling and improve error management - Updated SkillActionButton to directly open the setup modal for skills requiring OAuth, bypassing the QuickJS runtime. - Enhanced SkillSetupWizard to handle OAuth configuration more effectively, ensuring smoother transitions during skill setup. - Improved error handling during skill startup and setup processes, providing clearer logging for failures. - Refactored skills loading logic in the Skills page to prioritize registry-based skill fetching, with fallback to runtime discovery. - Added skill installation handling in the Skills page, allowing for better user feedback during installation processes. * feat(deep-link): enhance OAuth handling and streamline token management - Updated desktopDeepLinkListener to improve skill connection handling after OAuth completion. - Introduced setSkillSetupComplete action to mark skills as connected immediately post-OAuth. - Refactored token fetching logic to ensure encrypted tokens are stored correctly, enhancing error handling and reducing redundant checks. - Added new permissions in default.json for improved window management capabilities. * feat(skills): enhance skill management with global engine and runtime controllers - Added global engine management for skill runtime access, allowing RPC handlers to interact with the runtime engine. - Introduced new runtime controllers for skills, including start, stop, status, setup_start, list_tools, sync, and call_tool, enhancing skill lifecycle management. - Updated schemas to include new skill controller functionalities, improving the overall skills management system. - Enhanced documentation and comments for clarity on new features and usage. * refactor(skills): update global engine management and enhance documentation - Replaced OnceLock with RwLock for the global RuntimeEngine, allowing for better testability and flexibility in engine management. - Updated the global_engine and require_engine functions to return cloned Arc references, improving usability. - Enhanced documentation comments for clarity on the global engine's usage and behavior in production and testing scenarios. * chore(todos): update TODO list with removal of Tauri from Rust core - Added a new item to the TODO list indicating the need to remove Tauri from the OpenHuman Rust core, streamlining the project structure. * feat(onboarding): revamp onboarding steps and introduce local AI model consent - Replaced the PrivacyStep with a new ScreenPermissionsStep to handle accessibility permissions. - Added LocalAIStep for user consent on local AI model usage and download initiation. - Introduced SkillsStep and ToolsStep for selecting skills and enabling tools during onboarding. - Updated onboarding state management to include local model consent, download status, and enabled tools. - Enhanced the overall onboarding flow with new components and improved user experience. * feat(onboarding): enhance onboarding flow with new WelcomeStep and updated LocalAIStep - Introduced a new WelcomeStep to guide users through the onboarding process. - Updated LocalAIStep to clarify local AI model usage and consent, including improved messaging on privacy and resource impact. - Enhanced ScreenPermissionsStep to emphasize local processing of accessibility data. - Adjusted total steps in onboarding to reflect the addition of the WelcomeStep, improving user experience. * refactor(tray): remove tray integration and related functionalities - Deleted the tray module and its associated operations, streamlining the project structure. - Removed references to Tauri app handle in various components, transitioning to a memory client for skill data persistence. - Updated skill instances and event loops to eliminate dependencies on tray functionalities, enhancing modularity. - Improved documentation to reflect the removal of tray-related features and clarify the new architecture. * feat(onboarding): introduce OnboardingOverlay and enhance onboarding flow - Added OnboardingOverlay component to display the onboarding process as a full-screen overlay when the user is not onboarded. - Updated the Onboarding component to include a new MnemonicStep for recovery phrase management. - Enhanced onboarding state management to track workspace onboarding flags and user onboarding status. - Refactored AppRoutes to streamline routing and integrate the new onboarding flow. - Removed deprecated onboarding logic from previous steps, improving overall user experience. * refactor(sidebar): simplify hidden paths and update ProtectedRoute tests - Removed '/onboarding' from the hiddenPaths in MiniSidebar to streamline route visibility. - Updated ProtectedRoute tests to reflect changes in onboarding handling, ensuring children render correctly when authenticated. * chore: format, fix E2E lint, and onboarding step polish Made-with: Cursor * style(onboarding): update background color for onboarding steps - Changed background color from black/30 to stone-900 for improved visual consistency across LocalAIStep, MnemonicStep, ScreenPermissionsStep, SkillsStep, ToolsStep, and WelcomeStep components. - Enhanced overall aesthetics of the onboarding flow. * fix(tests): update variable naming and comment out unused JavaScript content - Renamed workspace variable to `_ws` to indicate it is unused in the `test_registry_cache_ttl_expired` test. - Commented out the `js_content` variable to prevent unused variable warnings in the test setup. * refactor(tests): streamline JSON-RPC test setup and remove unused backend URL handling - Updated the JSON-RPC end-to-end test to always use the in-process Axum mock for backend settings, ensuring consistent test behavior. - Removed the conditional logic for external backend URLs, simplifying the test setup. - Ensured proper cleanup of mock join handles after test execution. * refactor(runtime): update skill startup process to use core RPC - Replaced the direct call to `runtimeStartSkill` with a `callCoreRpc` method for starting skills, enhancing the integration with the core RPC system. - Updated comments to reflect the new implementation details. - Made minor adjustments to the schema organization in Rust for better clarity on runtime controllers.
114 lines
4.7 KiB
JSON
114 lines
4.7 KiB
JSON
{
|
|
"name": "openhuman-app",
|
|
"version": "0.49.20",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"dev:web": "vite",
|
|
"dev:app": "source ../scripts/load-dotenv.sh && tauri dev",
|
|
"core:stage": "node ../scripts/stage-core-sidecar.mjs",
|
|
"build": "tsc && vite build",
|
|
"build:app": "tsc && vite build",
|
|
"compile": "tsc --noEmit",
|
|
"preview": "vite preview",
|
|
"tauri": "tauri",
|
|
"tauri:build:ui": "tauri build -- --bin OpenHuman",
|
|
"macos:build:intel": "source ../scripts/load-dotenv.sh && tauri build --bundles app dmg --target x86_64-apple-darwin -- --bin OpenHuman",
|
|
"macos:build:intel:debug": "yarn macos:build:intel --debug",
|
|
"macos:build:debug": "yarn macos:build:release --debug",
|
|
"macos:build:release": "source ../scripts/load-dotenv.sh && tauri build --bundles app dmg -- --bin OpenHuman",
|
|
"macos:build:release:signed": "source ../scripts/load-env.sh && tauri build --bundles app dmg -- --bin OpenHuman",
|
|
"macos:build:sign:release": "yarn macos:build:release:signed",
|
|
"macos:run": "open '../target/debug/bundle/macos/OpenHuman.app'",
|
|
"macos:dev": "yarn macos:build:debug && open '../target/debug/bundle/macos/OpenHuman.app'",
|
|
"test": "vitest run --config test/vitest.config.ts",
|
|
"test:unit": "vitest run --config test/vitest.config.ts",
|
|
"test:unit:watch": "vitest --config test/vitest.config.ts",
|
|
"test:watch": "vitest --config test/vitest.config.ts",
|
|
"test:coverage": "vitest run --config test/vitest.config.ts --coverage",
|
|
"test:rust": "bash ../scripts/test-rust-with-mock.sh",
|
|
"test:e2e:build": "bash ./scripts/e2e-build.sh",
|
|
"test:e2e:login": "bash ./scripts/e2e-login.sh",
|
|
"test:e2e:auth": "bash ./scripts/e2e-auth.sh",
|
|
"test:e2e:service-connectivity": "OPENHUMAN_SERVICE_MOCK=1 bash ./scripts/e2e-run-spec.sh test/e2e/specs/service-connectivity-flow.spec.ts service-connectivity",
|
|
"test:e2e:skills-registry": "bash ./scripts/e2e-run-spec.sh test/e2e/specs/skills-registry.spec.ts skills-registry",
|
|
"test:e2e": "yarn test:e2e:build && yarn test:e2e:login && yarn test:e2e:auth",
|
|
"test:e2e:all:flows": "bash ./scripts/e2e-run-all-flows.sh",
|
|
"test:e2e:all": "yarn test:e2e:build && yarn test:e2e:all:flows",
|
|
"test:all": "yarn test:coverage && yarn test:rust && yarn test:e2e",
|
|
"format": "prettier --write . && cargo fmt --manifest-path ../Cargo.toml --all",
|
|
"format:check": "prettier --check . && cargo fmt --manifest-path ../Cargo.toml --all --check",
|
|
"lint": "eslint . --ext .ts,.tsx",
|
|
"lint:fix": "eslint . --ext .ts,.tsx --fix",
|
|
"prepare": "husky"
|
|
},
|
|
"dependencies": {
|
|
"@heroicons/react": "^2.2.0",
|
|
"@noble/hashes": "^2.0.1",
|
|
"@noble/secp256k1": "^3.0.0",
|
|
"@reduxjs/toolkit": "^2.11.2",
|
|
"@scure/bip32": "^2.0.1",
|
|
"@scure/bip39": "^2.0.1",
|
|
"@sentry/react": "^10.38.0",
|
|
"@tauri-apps/api": "^2.10.0",
|
|
"@tauri-apps/plugin-deep-link": "^2",
|
|
"@tauri-apps/plugin-opener": "^2",
|
|
"@tauri-apps/plugin-os": "^2.3.2",
|
|
"@types/three": "^0.183.1",
|
|
"buffer": "^6.0.3",
|
|
"debug": "^4.4.3",
|
|
"lottie-react": "^2.4.1",
|
|
"os-browserify": "^0.3.0",
|
|
"process": "^0.11.10",
|
|
"react": "^19.1.0",
|
|
"react-dom": "^19.1.0",
|
|
"react-markdown": "^10.1.0",
|
|
"react-redux": "^9.2.0",
|
|
"react-router-dom": "^7.13.0",
|
|
"redux-logger": "^3.0.6",
|
|
"redux-persist": "^6.0.0",
|
|
"socket.io-client": "^4.8.3",
|
|
"three": "^0.183.2",
|
|
"util": "^0.12.5"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.39.2",
|
|
"@tailwindcss/forms": "^0.5.11",
|
|
"@tailwindcss/typography": "^0.5.19",
|
|
"@tauri-apps/cli": "2.10.0",
|
|
"@testing-library/dom": "^10.4.1",
|
|
"@testing-library/jest-dom": "^6.9.1",
|
|
"@testing-library/react": "^16.3.2",
|
|
"@trivago/prettier-plugin-sort-imports": "^6.0.2",
|
|
"@types/debug": "^4.1.12",
|
|
"@types/node": "^25.0.10",
|
|
"@types/react": "^19.1.8",
|
|
"@types/react-dom": "^19.1.6",
|
|
"@types/redux-logger": "^3.0.13",
|
|
"@typescript-eslint/eslint-plugin": "^8.54.0",
|
|
"@typescript-eslint/parser": "^8.54.0",
|
|
"@vitejs/plugin-react": "^4.6.0",
|
|
"@vitest/coverage-v8": "^4.0.18",
|
|
"@wdio/appium-service": "^9.24.0",
|
|
"@wdio/cli": "^9.24.0",
|
|
"@wdio/local-runner": "^9.24.0",
|
|
"@wdio/mocha-framework": "^9.24.0",
|
|
"@wdio/spec-reporter": "^9.24.0",
|
|
"autoprefixer": "^10.4.23",
|
|
"eslint": "^9.39.2",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-hooks": "^7.0.1",
|
|
"husky": "^9.1.7",
|
|
"jsdom": "^28.0.0",
|
|
"postcss": "^8.5.6",
|
|
"prettier": "^3.8.1",
|
|
"tailwindcss": "^3.4.19",
|
|
"typescript": "~5.8.3",
|
|
"vite": "^7.0.4",
|
|
"vite-plugin-node-polyfills": "^0.25.0",
|
|
"vitest": "^4.0.18"
|
|
}
|
|
}
|