Commit Graph
20 Commits
Author SHA1 Message Date
cyrus 72fe40db84 Remove noisy logs and update package references
Redundant debug logs in the daemon were removed to reduce noise in the logging system. Updated package references in `yarn.lock` and `package.json` to use `registry.npmjs.org` instead of `registry.yarnpkg.com`, ensuring consistency in package resolution.
2026-03-05 21:22:12 +05:30
Mega MindandGitHub c3718d9e4f Feat/final flow check (#155)
* feat: add mnemonic recovery flow and encryption key management

- Introduced a new Mnemonic page for users to generate or import their recovery phrase.
- Updated routing to redirect users to the Mnemonic page after onboarding.
- Enhanced state management to store and retrieve AES encryption keys derived from the mnemonic.
- Added utility functions for generating and validating BIP39 mnemonic phrases.
- Updated selectors and reducers to handle encryption key state in the auth slice.
- Included new dependencies for cryptographic operations.

* feat: integrate Web3 wallet functionality and enhance state management

- Added WalletInfoSection component to display connected wallet address, network, and balance.
- Updated auth slice to manage primary wallet address derived from mnemonic.
- Enhanced SkillManager to pass wallet address as load parameters for wallet skill.
- Introduced utility function to derive EVM wallet address from mnemonic.
- Updated dependencies for cryptographic operations related to wallet functionality.

* fix: improve error handling and network selection in WalletInfoSection

- Enhanced the parsing of network data to ensure robustness against undefined values.
- Updated network selection logic to prioritize valid entries and provide a fallback.
- Improved error logging for better debugging of wallet information loading issues.
- Adjusted balance retrieval to handle cases where chain_id may be missing.

* feat: add socket event contract for Tauri integration

- Documented the socket event contract for communication between the backend and frontend in Tauri mode.
- Introduced constants for `REQUEST_ENCRYPTION_KEY` and `ENCRYPTION_KEY_EVENT` to facilitate encryption key management.
- Updated `setupTauriSocketListeners` to handle the encryption key request and response flow.

* Refactor wallet information fetching and connection status handling

- Updated `WalletInfoSection` to improve loading state management and error handling during wallet info retrieval.
- Introduced a retry mechanism for fetching wallet information with a maximum of 5 attempts.
- Enhanced connection status logic in `SkillsGrid` to treat missing authentication status as connected.
- Added a new method in `SkillManager` to set the wallet address and notify the wallet skill accordingly.

* feat: add integration token fetching and decryption functionality

- Introduced `fetchIntegrationTokens` API call to retrieve encrypted OAuth tokens for integrations.
- Implemented decryption logic for integration tokens using a provided key.
- Enhanced deep link handling to support fetching and storing integration tokens upon successful OAuth login.
- Added utility functions for hex and base64 conversions to facilitate token decryption.
- Updated `authApi.ts` and `desktopDeepLinkListener.ts` to integrate new functionality.

* refactor: move integration token encryption/decryption logic to a new utility file

- Extracted encryption and decryption functions for integration tokens into `integrationTokensCrypto.ts`.
- Removed redundant functions from `desktopDeepLinkListener.ts` to streamline the code.
- Updated deep link handling to store only the encrypted tokens instead of decrypted ones.
- Improved type definitions for integration tokens and their payloads.

* feat: enhance Gmail skill integration and state management

- Updated `SkillManager` to accept an optional access token for Gmail during OAuth completion.
- Introduced `gmailSlice` to manage Gmail user profile and emails in the Redux store.
- Implemented synchronization of Gmail skill state with the Redux store to keep user data updated.
- Refactored `SkillProvider` to handle Gmail state changes and fetch initial state from the backend.
- Adjusted deep link handling to pass decrypted access tokens for Gmail integration.
- Modified API endpoint for onboarding completion to remove the Telegram prefix.

* feat: implement Gmail metadata synchronization to backend

- Added a new utility function `syncGmailMetadataToBackend` to emit Gmail profile and email summaries to the backend via the `integration:metadata-sync` socket event.
- Updated `SkillProvider` to call the new synchronization function, ensuring Gmail skill state is sent to the backend when updated.

* refactor: update Tauri socket event handling and improve Mnemonic component typing

- Revised the Tauri socket event contract to clarify that encryption key handling is managed via the API instead of the socket.
- Removed outdated socket event constants related to encryption key requests from `tauriSocket.ts`.
- Enhanced type definitions in the `Mnemonic` component by specifying the event type for keyboard events.

* fix: update Gmail provider constant and adjust metadata synchronization logic

- Changed the constant for the Google provider from 'google' to 'gmail' for clarity.
- Commented out the email metadata synchronization logic in `syncGmailMetadataToBackend` to prevent potential issues with undefined email states.

* feat: implement Gmail metadata synchronization service

- Added a new file `metadataSync.ts` to handle the synchronization of Gmail profile and email summaries to the backend via the `integration:metadata-sync` socket event.
- Updated import paths in `SkillProvider` to reflect the new location of the Gmail metadata synchronization function.
- Enhanced type definitions for Gmail profile and email summaries to ensure proper data structure during synchronization.

* refactor: clean up code formatting and improve readability across multiple components

- Standardized import statements and formatting in various files, including `WalletInfoSection`, `AgentChatPanel`, and `SkillsPanel`.
- Enhanced readability by adjusting line breaks and spacing in JSX elements and function definitions.
- Improved consistency in the use of arrow functions and destructuring across components.
- Updated type definitions and ensured proper alignment of code for better maintainability.

* feat: enhance error handling in WalletInfoSection and improve user feedback

- Added error reporting functionality in `WalletInfoSection` to capture and enqueue errors when wallet info fails to load.
- Updated `Mnemonic` component to handle user state more robustly, ensuring encryption key is only set if the user is loaded.
- Refactored `TauriCommandsPanel` to improve string comparisons for loading states by converting to lowercase.
- Adjusted deep link handling in `desktopDeepLinkListener` to use trimmed hex values for encryption key conversion.

* fix: improve balance parsing and error handling in WalletInfoSection

- Updated balance parsing logic in `WalletInfoSection` to ensure that non-finite values default to zero.
- Enhanced error handling in `desktopDeepLinkListener` by adding error reporting for invalid encryption keys and conversion failures, improving user feedback and debugging capabilities.

* Merge remote-tracking branch 'upstream/develop' into feat/final-flow-check

* chore: update submodule URL for skills repository to use HTTPS

* chore: update skills submodule to latest commit and enhance SkillsGrid component

- Updated the skills submodule to the latest commit for improved functionality.
- Refactored `SkillsGrid` to better handle skill setup logic, ensuring accurate representation of skills with setup requirements.
- Cleaned up code formatting and improved readability in various components, including `SkillActionButton` and `desktopDeepLinkListener`.

* feat: implement Notion metadata synchronization and user profile management

- Added a new service `metadataSync.ts` to handle synchronization of Notion user metadata to the backend via the `integration:metadata-sync` socket event.
- Introduced a new Redux slice `notionSlice.ts` for managing the Notion user profile state.
- Updated `SkillProvider` to fetch and sync Notion user profile upon connection, ensuring seamless integration with the backend.
- Enhanced the store configuration to include the new Notion reducer.

* refactor: remove unnecessary console warnings in SkillProvider

- Eliminated console warnings related to Notion user retrieval errors and auto-loading skills, streamlining the logging process for better clarity and reducing noise in the console output.
- Improved code readability by cleaning up commented-out warning messages that were no longer needed.
2026-03-04 14:33:17 +05:30
694dcfe3cc Feat/openclaw work - #131 (#151)
* feat: add initial project structure and documentation

- Introduced the GNU General Public License (GPL) v3 in LICENSE file.
- Added MCP configuration in .claude/mcp.json for server integration.
- Created architecture documentation in docs/ARCHITECTURE.md outlining the platform's design and components.
- Defined MVP specifications in docs/MVP.md for the Telegram-based Agent Assistant.
- Established API reference for team management in docs/teams-api-reference.md.
- Set up basic HTML structure in public/index.html and added logo image in public/logo.png.

* feat: add initial project documentation and HTML structure

- Introduced CODE_OF_CONDUCT.md to establish community guidelines and standards for behavior.
- Created CONTRIBUTING.md to outline contribution process, development setup, and project conventions.
- Added SECURITY.md to define the security policy, supported versions, and reporting procedures for vulnerabilities.
- Established basic HTML structure in index.html for the application interface.

* chore: remove hello-python skill files

- Deleted skill.json and skill.py files for the Hello Python example runtime skill, as they are no longer needed in the project.

* feat: port tinyhuman agent runtime from ZeroClaw into Tauri backend

Port daemon supervisor, health registry, security (policy, secrets, audit,
pairing), agent traits, and config modules from ZeroClaw (MIT) into a new
tinyhuman/ module under src-tauri/src/. The daemon auto-starts on desktop
and shuts down gracefully on app exit via CancellationToken.

- health: global HealthRegistry with component tracking and JSON snapshots
- security/policy: SecurityPolicy with command validation, risk levels, rate limiting
- security/secrets: ChaCha20-Poly1305 SecretStore with legacy XOR migration
- security/audit: AuditLogger with JSON-line events and log rotation
- security/pairing: PairingGuard with brute-force protection and SHA-256 hashing
- security/traits: Sandbox trait + NoopSandbox
- config: minimal DaemonConfig with autonomy, reliability, secrets, audit sub-configs
- daemon: supervisor with health state writer emitting Tauri events
- agent/traits: Provider, Tool, Memory, Observer, RuntimeAdapter traits + Noop impls
- commands/tinyhuman: Tauri commands for health, security policy, encrypt/decrypt
- 185 inline unit tests across all modules
- README updated with custom inference/tunneling/memory positioning

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* feat: update README to reflect AlphaHuman Mk1 branding and enhanced description

- Changed project title to "AlphaHuman Mk1" for clarity.
- Revised project description to emphasize user-friendly AI capabilities and the use of the Neocortex Mk1 model.
- Removed outdated sections on custom inference, tunneling, and memory, streamlining the content for better readability.

* update readme

* Port zeroclaw runtime into tinyhuman

* Replace CLI mentions with UI language

* Split gateway module into smaller units

* Split channels and config schema modules

* Fix tinyhuman build, tests, and tunnel integration

* feat(tinyhuman): add missing modules and ui-friendly services

* refactor: rename tinyhuman to alphahuman

* chore: remove bottom text from Welcome component

* feat(settings): add tauri command console

* feat(daemon): enhance daemon mode handling and integrate rustls with ring feature

* feat(settings): implement comprehensive configuration management in TauriCommandsPanel

* refactor(TauriCommandsPanel): streamline error handling and enhance async function usage

* feat(settings): add skill management functionality to TauriCommandsPanel

* style(TauriCommandsPanel): update input styles for improved readability and user experience

* feat(settings): add Skills and Agent Chat panels with navigation and integration management

* feat(settings): implement browser access management in SkillsPanel and enhance AgentChatPanel with local storage functionality

* Implement inference API integration in Conversations component

- Added inference API service to handle chat completions and model management.
- Updated Conversations component to fetch available models on mount and allow model selection.
- Enhanced message sending functionality to utilize the inference API for generating responses.
- Introduced state management for loading models and handling errors during API calls.
- Refactored optimistic message handling and send status management for improved user experience.

---------

Co-authored-by: Steven Enamakel <enamakel@vezures.xyz>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Steven Enamakel <31011319+senamakel@users.noreply.github.com>
2026-02-26 19:58:21 +04:00
Cyrus GrayGitHubClaudeSteven Enamakelgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
71aeb55f2e feat: redesign Tauri Command Console with premium UI/UX (#135)
* 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>
2026-02-21 10:56:25 +04:00
Mega MindandGitHub 2993571eb0 Feat/chats (#119)
* feat: add Conversations section with error handling and optimistic message removal

* feat: add thread deletion functionality and update Conversations component for thread selection

* feat: add unread message count and responsive layout to Conversations and MiniSidebar components

* feat: implement suggested questions feature in Conversations component for new threads

* feat: add scrollbar hiding utility and improve suggested questions layout in Conversations component
2026-02-18 09:18:43 +05:30
069638a746 Replace Playwright with Appium mac2 + WebDriverIO E2E and add unit tests (#110)
* Replace Playwright with Appium mac2 + WebDriverIO for E2E testing and add unit tests

- Remove Playwright config and old e2e/ directory
- Add WebDriverIO + Appium mac2 driver for true native macOS app testing
- Add wdio.conf.ts with platform-aware app path detection
- Add scripts/e2e.sh to manage Appium lifecycle under Node 24
- Add E2E smoke, navigation, and Tauri integration specs
- Add tsconfig.e2e.json for E2E test TypeScript config
- Add unit tests for components, store slices, selectors, services, and utils
- Add test infrastructure (setup.ts, MSW handlers, test-utils)
- Update vitest.config.ts with coverage thresholds and setup
- Update package.json scripts and dependencies

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update skills submodule to latest

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13 00:53:43 +05:30
Steven Enamakel dde4d6fce7 feat: add platform detection and support for mobile in ModelDownloadProgress and SkillsGrid components
- Integrated the @tauri-apps/plugin-os to detect mobile platforms (Android and iOS) in both ModelDownloadProgress and SkillsGrid components.
- Updated rendering logic to display mobile-specific messages, indicating that certain features are available only on desktop.
- Enhanced package.json and yarn.lock to include the new plugin dependency for platform detection.
- Adjusted capabilities configuration to support the new plugin across desktop and mobile platforms.
2026-02-04 11:19:58 +05:30
Steven EnamakelandGitHub 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.
2026-02-02 06:24:50 +05:30
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>
2026-02-01 06:44:53 +05:30
Steven Enamakel af39ee40f4 Add Sentry integration for error reporting and user analytics consent
- Introduced Sentry for error tracking, initialized in the application to capture errors while respecting user privacy.
- Added a new analytics service to manage user consent for data collection, ensuring only non-personal data is sent to Sentry.
- Updated Redux state to track user analytics preferences and modified onboarding steps to include analytics consent.
- Enhanced the PrivacyPanel component to allow users to toggle analytics sharing.
- Removed the AnalyticsStep from onboarding as its functionality is now integrated into the PrivacyPanel.

This update improves error reporting capabilities while prioritizing user privacy and consent.
2026-01-31 01:01:54 +05:30
Steven Enamakel 95e06bc54a Refactor Telegram MCP integration and add new API functionalities
- Updated import paths for Telegram types and API functions to improve module organization.
- Introduced new helper functions for reading typed values from MCP tool arguments.
- Added comprehensive API functions for managing Telegram contacts, chats, and messages, including creating groups, channels, and polls.
- Implemented a tool action parser to convert tool inputs into human-readable descriptions.
- Added tests for new functionalities to ensure reliability and correctness.

This update enhances the Telegram MCP server's capabilities and improves code maintainability.
2026-01-31 00:51:52 +05:30
Steven EnamakelandClaude Opus 4.5 3b677a3656 Add comprehensive Vitest test suite for Telegram MCP system
Set up Vitest with node polyfills and add 338 tests across 18 test files
covering the MCP tools, API layer, Redux state, selectors, and update
manager. Fix shallow-copy bug in ensureUser that caused shared state
between Redux user entries.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 15:46:43 +05:30
M3gA-Mind 28480ab531 Update application icon and implement macOS background execution features
- 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.
2026-01-29 19:55:44 +05:30
cyrusandClaude b6303bd235 Reorganize settings menu with delete all data and logout options
- Add "Delete All Data" option to settings modal with proper dangerous styling
- Logout option already existed in settings modal
- Remove "Delete All Data" and "Logout" buttons from home page
- Update home page to have only Settings button with clean styling
- Increase modal height from 600px to 800px for better spacing
- All account management actions now centralized in settings modal

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2026-01-28 18:49:46 +05:30
Steven Enamakel 1495d9b72c Add Node.js polyfills and enhance Telegram connection handling
- Introduced polyfills for Node.js globals (Buffer, process, util) to support Telegram package functionality in the browser.
- Updated Vite configuration to include node polyfills, ensuring compatibility with Node.js APIs.
- Enhanced TelegramConnectionModal to manage connection states, including loading and error handling, improving user experience during authentication.
- Implemented QR code generation and handling for Telegram login, with robust error management and user feedback.

These changes establish a solid foundation for Telegram integration, enhancing the application's ability to handle real-time communication and user authentication effectively.
2026-01-28 05:27:59 +05:30
Steven Enamakel 4cb8a83dd6 Add Telegram integration with MTProto service and Redux slice
- Introduced MTProtoService for managing Telegram client initialization, connection, and message handling.
- Created telegramSlice for Redux state management, including connection and authentication states, user data, chats, messages, and threads.
- Implemented asynchronous actions for initializing the Telegram client, connecting, checking authentication status, and fetching chats and messages.
- Enhanced configuration utility to include Telegram API credentials for improved integration.

These changes establish a robust foundation for Telegram functionality within the application, enhancing user experience and state management.
2026-01-28 05:14:29 +05:30
Steven Enamakel 4323c4812c Integrate Redux for state management and refactor authentication flow
- Added Redux Toolkit for managing authentication state, replacing Zustand for token handling.
- Implemented authSlice for token management, including setting and clearing tokens with localStorage synchronization.
- Refactored components (Login, Home, TelegramLoginButton) to utilize Redux for token management, enhancing state consistency.
- Updated App component to include Redux Provider and PersistGate for state persistence.
- Removed Zustand-based authStore and socketStore, streamlining the state management approach.

These changes improve the application's architecture by centralizing state management with Redux, enhancing maintainability and scalability.
2026-01-28 04:29:06 +05:30
Steven Enamakel 781439842b Implement Zustand for authentication state management and update components
- Introduced Zustand for managing authentication state, including token storage and user session handling.
- Updated TelegramLoginButton and Home components to utilize the new auth store for setting and clearing tokens.
- Enhanced the desktop deep link listener to store session tokens in the Zustand store, ensuring consistent state management.
- Refactored localStorage interactions for session tokens to improve backward compatibility.

These changes streamline the authentication process and improve state management across the application.
2026-01-28 04:14:07 +05:30
Steven Enamakel 334673e59a Add Lottie animations to onboarding steps and integrate LottieAnimation component
- Introduced a new LottieAnimation component to handle Lottie animations in the onboarding flow.
- Updated the Onboarding component to include Lottie animations for each step, enhancing visual engagement.
- Added multiple Lottie animation files to the public/lottie directory for use in onboarding steps.
- Adjusted the ConnectStep and GetStartedStep components to improve messaging and user experience.

These changes aim to create a more dynamic and engaging onboarding experience for users, utilizing animations to illustrate key steps in the process.
2026-01-28 02:24:06 +05:30
Steven Enamakel 9ebf724651 Add environment configuration and update styles for dark mode
- Created a new .env file to store the Telegram bot username.
- Added new background images (bg-dark.png, bg.jpg, bg.png) for enhanced visuals.
- Updated App.css and index.css to implement dark mode styles, including color adjustments and background changes.
- Modified Home.tsx to include a button that opens the Telegram bot link.
- Enhanced the configuration file to include the Telegram bot username.

This update improves the user interface with a dark mode theme and integrates Telegram functionality for better user engagement.
2026-01-28 00:02:06 +05:30