Commit Graph
105 Commits
Author SHA1 Message Date
ca11b001c8 feat: comprehensive Tauri Command Console redesign with runtime panic fixes (#136)
* 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>

* 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>

* fix: resolve runtime panic and infinite loading in Test Connection

- Fixed "Cannot drop a runtime in a context where blocking is not allowed" panic
- Implemented Handle::try_current() pattern in TDLib manager and skills bridge
- Added runtime safety utilities with proper async execution patterns
- Fixed ownership issues with request_rx and future parameters
- Added timeout protection to config loading operations
- Enhanced error handling for runtime creation conflicts
- Resolved compilation errors with proper variable cloning

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

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

* feat: enhance Tauri Commands Panel with comprehensive validation system

- Added ValidatedField component with real-time validation and visual feedback
- Implemented provider-specific smart defaults and URL auto-population
- Enhanced Test Connection with proper timeout and error handling
- Added change tracking with unsaved changes indicator
- Improved field validation for API keys, URLs, providers, models, and temperature
- Enhanced ActionPanel and SectionCard with loading states and change indicators
- Added provider configuration system with model suggestions
- Implemented comprehensive error handling with field-specific feedback

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

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

* chore: update skills submodule with dependency updates

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-26 19:56:51 +04:00
b037627d84 Feat/daemon setup (#148)
* 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>

* Add daemon lifecycle management system to frontend UI

This implementation integrates the Rust daemon's health monitoring and lifecycle management into the React frontend. Key features include real-time health indicators, automatic start/error recovery, and detailed control panels, enhancing both user experience and operational reliability.

* Enhance daemon health monitoring with detailed logging, event tracking, and state management improvements.

* Add extensive logging for Tauri socket lifecycle and event listeners

This update improves troubleshooting and debugging by adding detailed logs throughout Tauri socket initialization, event listener setup, and error handling processes.

* Define global Tauri interface types in TypeScript

* Fix daemon service management and health communication issues

This comprehensive fix resolves two critical daemon-related issues:

1. **Launchctl "Input/output error" fix**:
   - Add intelligent state checking before service operations
   - Only load LaunchAgent if not already loaded
   - Treat "already running" as success, not failure
   - Add helper functions for cross-platform service state detection
   - Implement idempotent service start operations

2. **Daemon health communication fix**:
   - Add ALPHAHUMAN_DAEMON_INTERNAL environment variable to external service plist
   - Force external daemon to use file-based communication (daemon_state.json)
   - Implement file watching bridge in main app to emit Tauri events
   - Ensure frontend receives proper health updates from external daemon

**Key Changes**:
- Enhanced `start()` function with state checking across all platforms
- Added `is_service_loaded_macos()`, `is_service_enabled_linux()`, `is_task_exists_windows()`
- Modified macOS plist to include `ALPHAHUMAN_DAEMON_INTERNAL=false`
- Added `watch_daemon_health_file()` function for external daemon communication
- Updated daemon mode detection logic for cross-platform consistency
- Added comprehensive logging for service management operations

**Expected Results**:
- No more "Input/output error" when clicking daemon start button
- External daemon status shows "connected" instead of "disconnected"
- Idempotent service operations (safe to run multiple times)
- Single daemon process prevents resource conflicts
- Cross-platform daemon service reliability

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

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

* Add `ALPHAHUMAN_DAEMON_INTERNAL` env variable to configuration documentation

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-02-26 19:55:53 +04:00
2876f4468e Feat/zeroclaw x alphahuman (#140)
* feat(runtime): add skill_type to SkillManifest for unified registry

Add optional skill_type field (alphahuman | openclaw) with serde default
'alphahuman' so existing manifest.json files remain valid. Enables
type-based dispatch in the unified skill system.

* feat(runtime): add UnifiedSkillEntry and UnifiedSkillResult types

UnifiedSkillEntry provides a common interface for both alphahuman (QuickJS)
and openclaw (SKILL.md/TOML) skills: id, name, skill_type, version,
description, status, tools. UnifiedSkillResult standardizes execution
responses (skill_id, tool_name, content, is_error, executed_at) and is
MCP-spec compatible for content blocks.

* feat(runtime): expose skills_source_dir() on RuntimeEngine

Public getter for the skill source directory so the unified skill
generator can write new alphahuman skills (manifest.json + index.js)
to the same directory the runtime discovers skills from.

* feat(skills): add unified skill registry, openclaw executor, generator

- UnifiedSkillRegistry: merges alphahuman (RuntimeEngine::discover_skills)
  and openclaw (load_skills from ~/.alphahuman/workspace/skills/), dispatches
  execute by skill_type, supports generate from GenerateSkillSpec.
- openclaw_executor: runs SKILL.toml tools via shell (sh -c) or http
  (reqwest), returns SKILL.md prompt as text when no tools;  interpolation.
- generator: generate_alphahuman writes manifest.json + index.js to skills dir;
  generate_openclaw writes SKILL.md or SKILL.toml to workspace/skills/<name>/.

* feat(commands): add Tauri commands for unified skill API

- unified_list_skills: returns Vec<UnifiedSkillEntry> (alphahuman + openclaw).
- unified_execute_skill: dispatches by skill_type to QuickJS or openclaw
  executor, returns UnifiedSkillResult.
- unified_generate_skill: generates skill from spec, returns new UnifiedSkillEntry.
Desktop implementations use UnifiedSkillRegistry; mobile stubs return
empty/error (QuickJS not available on Android/iOS).

* feat(tauri): register unified skill commands in generate_handler

Wire unified_list_skills, unified_execute_skill, and unified_generate_skill
into both desktop and mobile generate_handler![] blocks so the frontend
can invoke them via Tauri IPC.

* feat(skills): add skill_type to frontend skill types

- SkillManifest (lib/skills/types.ts): optional skill_type 'alphahuman' | 'openclaw'.
- SkillListEntry (skills/shared.tsx): same for list entries so the grid
  can show type badges and handle openclaw vs alphahuman differently if needed.

* feat(SkillsGrid): use unified registry, type badges, generate button

- Load skills via unified_list_skills (fallback to runtime_discover_skills
  when unavailable, e.g. mobile).
- Show SkillTypeBadge per row: blue for alphahuman, purple for openclaw.
- Add Generate button that calls unified_generate_skill with a demo
  alphahuman spec and refreshes the list so the new skill appears.

* feat(skills): unified skill registry with security hardening and PR fixes

- Add UnifiedSkillRegistry merging alphahuman (QuickJS) and openclaw (SKILL.md/TOML) skill types
- Add three Tauri commands: unified_list_skills, unified_execute_skill, unified_generate_skill
- Add skill_type field to SkillManifest and UnifiedSkillEntry
- Add SkillTypeBadge (blue=alphahuman, sage=openclaw) and Generate button in SkillsGrid

Security fixes from PR review:
- Fix shell injection in openclaw_executor: POSIX single-quote escaping + 30s timeout
- Fix SSRF in run_http_tool: URL scheme validation + DNS resolution + private IP blocking
- Add EscapeContext enum (Shell/Url/None) for context-aware arg interpolation

Generator fixes:
- Guard sanitize_id empty result with early Err in generate_alphahuman/generate_openclaw
- Fix JS description embedding via serde_json::to_string (proper newline/backslash escaping)
- Fix sanitize_fn_name to prepend _ when result starts with digit
- Replace manual TOML format! with serde structs + toml::to_string for correct escaping

Frontend fixes:
- Extract normalizeUnifiedEntry helper shared by initial load and post-generate refresh
- Replace hardcoded hasSetup/ignoreInProduction in refreshed mapping with data-driven values
- Use SkillType alias centralising 'alphahuman' | 'openclaw' union in types.ts and shared.tsx
- Fix SkillTypeBadge colors to approved palette (sage) and radius token (rounded-md)

Nitpick: remove status from UnifiedSkillEntry (frontend derives status from Redux)

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

---------

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-25 10:43:49 +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
c2ff8b693b feat/openclaw (#128)
* 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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-20 13:03:15 +04:00
Steven Enamakel 6b00e46366 Merge remote-tracking branch 'upstream/develop' into develop 2026-02-13 01:08:51 +05:30
github-actions[bot] 2a939a5aa3 chore: bump version to 0.44.0 [skip ci] 2026-02-12 19:30:31 +00:00
github-actions[bot] a6be43c7d6 chore: bump version to 0.43.0 [skip ci] 2026-02-12 19:26:12 +00:00
Steven EnamakelGitHubClaude Opus 4.6github-actions[bot] <github-actions[bot]@users.noreply.github.com>
8a8b3acf13 Move TDLib init to Rust side with reactive param auto-send (#105)
* chore: bump version to 0.38.0 [skip ci]

* chore: bump version to 0.39.0 [skip ci]

* chore: bump version to 0.40.0 [skip ci]

* chore: bump version to 0.41.0 [skip ci]

* chore: bump version to 0.42.0 [skip ci]

* feat: implement TDLib client initialization and ensure parameters are set

- Added early TDLib client startup in `run` function to prepare for skill execution.
- Introduced `ensureInitialized` method in QuickJS to create the client and set parameters atomically.
- Enhanced `TdLibManager` with `ensure_initialized` method to streamline client creation and parameter handling.
- Improved logging for client creation and parameter setting processes, aiding in debugging and monitoring.

* feat: reactive TDLib param auto-send and query initial auth state

- Rust worker loop auto-sends setTdlibParameters when TDLib requests them
- Add getAuthorizationState call after update loop starts in TS skill
- Add verbose logging to TDLib manager for debugging

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

* update skill

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 23:34:24 +05:30
github-actions[bot] 5498c3ecb3 chore: bump version to 0.42.0 [skip ci] 2026-02-11 12:28:12 +00:00
Steven EnamakelandGitHub 27d4e65f87 Merge pull request #103 from vezuresdotxyz/develop
chore: merge develop into main (v0.42.0)
2026-02-11 17:57:59 +05:30
f4801726f3 Fix async tool calls not fetching data in QuickJS runtime (#102)
* Implement data synchronization feature in SkillManagementPanel

- Added a new `handleSync` function to trigger manual synchronization for skills, enhancing user control over data updates.
- Integrated skill state management to track synchronization progress, errors, and completion status.
- Updated the UI to display synchronization status, including progress indicators and error messages, improving user feedback during sync operations.
- Enhanced the SkillManager and SkillRuntime classes to support the new sync functionality, ensuring proper handling of sync requests and lifecycle hooks.

Updated subproject commit reference in the skills directory.

* Implement Conversations UI with two-panel thread layout and resizable sidebar

Add full Conversations feature: thread types, API service, Redux slice, and a
two-panel page with a draggable resize handle. Uncomment Conversations nav item
in MiniSidebar and enable prefix-based active state matching.

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

* Add Intelligence page and integrate intelligence stats hook

- Introduced a new Intelligence page with a skill management interface, allowing users to view and manage skills.
- Implemented the `useIntelligenceStats` hook to fetch and display session statistics, memory files, and entity counts.
- Enhanced the SkillsGrid component to utilize shared skill icons and status displays, improving UI consistency.
- Added functionality for skill synchronization and management, including action buttons for skill setup and syncing.
- Updated the Conversations page to support sending messages with optimistic UI updates, enhancing user experience.

This commit lays the groundwork for a more interactive and informative intelligence management feature.

* Update subproject commit reference in skills directory and enhance fetch handling in bootstrap.js

- Updated the subproject commit reference in the skills directory to the latest version.
- Modified the fetch implementation in bootstrap.js to ensure options are sent as a JSON string and to parse the JSON response, improving data handling and error management.

* Update subproject commit reference in skills directory and comment out Conversations nav item in MiniSidebar

- Updated the subproject commit reference in the skills directory to the latest version.
- Commented out the Conversations navigation item in MiniSidebar for future implementation.

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-11 17:56:47 +05:30
github-actions[bot] b82f68cc7e chore: bump version to 0.41.0 [skip ci] 2026-02-11 08:42:33 +00:00
Steven EnamakelandGitHub e2efdebe97 Merge pull request #101 from vezuresdotxyz/develop
chore: merge develop into main (v0.41.0)
2026-02-11 14:12:19 +05:30
Steven EnamakelandGitHub c54404bfe1 Fix TDLib client lifecycle and skill status handling (#99)
* Refactor skill management and enhance TDLib client handling

- Updated skill registration logic to retain skills with Error and Stopped statuses for better UI feedback and restart capability.
- Improved TDLib client management by introducing a flag to prevent concurrent client creation during destruction, ensuring proper resource cleanup and database lock handling.
- Enhanced error handling in TDLib client destruction process to ensure graceful shutdown and resource release.

* Update skills subproject reference and enhance connection status handling

- Updated the subproject commit reference in the skills directory.
- Modified connection status checks in `SkillsGrid.tsx` and `hooks.ts` to account for 'stopping' state, improving the accuracy of skill status reporting.
- Added handling for 'stopped' and 'pending' statuses in `SkillProvider.tsx` to reset UI state appropriately.

* Update skills subproject commit reference to latest version
2026-02-11 13:14:12 +05:30
github-actions[bot] 18ee205e5d chore: bump version to 0.40.0 [skip ci] 2026-02-10 21:34:04 +00:00
Steven EnamakelandGitHub cf5ad31f24 Merge pull request #98 from vezuresdotxyz/develop
chore: merge develop into main (v0.40.0)
2026-02-11 03:03:52 +05:30
Steven EnamakelandGitHub 105a5fc08f Fix/tuesday (#97)
* Update submodule URL for skills and refresh commit reference

- Changed the submodule URL for the "skills" repository to use SSH instead of HTTPS.
- Updated the subproject commit reference in the skills directory to the latest commit.

* Update subproject commit reference for skills to latest version b5d138f

* updated skills

* Update ping interval and refactor context usage in QjsSkillInstance

- Reduced the PING_INTERVAL from 60 seconds to 5 seconds for more frequent pings.
- Refactored the context parameter in lifecycle calls and message handling functions to use the runtime context, improving consistency and performance.
- Updated subproject commit reference for skills to the latest version.
2026-02-11 02:50:50 +05:30
github-actions[bot] 3312a93659 chore: bump version to 0.39.0 [skip ci] 2026-02-10 17:05:02 +00:00
github-actions[bot] 8bbb8a9e52 chore: bump version to 0.38.0 [skip ci] 2026-02-10 17:00:09 +00:00
Steven Enamakel 1886f493ff Merge remote-tracking branch 'upstream/main' into develop 2026-02-10 22:29:36 +05:30
e23b3643bd Add invite codes feature (#94)
* Refactor import statement in store configuration for clarity

- Combined the import of `configureStore` and `Middleware` from '@reduxjs/toolkit' into a single line for improved readability.

* Add invite codes feature with onboarding step and dedicated page

Implement frontend for the invite codes system: users get 5 invite codes
to share, can redeem codes for free credits, and new users are prompted
during onboarding (step 1) to enter an invite code.

- Add invite types, API service, and Redux slice
- Add InviteCodeStep as first onboarding step (skip-able)
- Add /invites page with redeem input and code list with copy buttons
- Add "Invite Friends" nav item to sidebar
- Update UserReferral interface to match backend PR #418

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

* Update reqwest dependency to enable HTTP/2 support and switch to rustls TLS in network requests

- Modified Cargo.toml to include the "http2" feature for reqwest.
- Updated network request implementations in bridge and ops_net modules to use rustls TLS instead of native TLS for improved security and compatibility.

* Update event loop to handle async tool calls and improve message processing

- Introduced a `PendingToolCall` struct to manage in-flight async tool calls.
- Enhanced the event loop to check for completion of async tool calls and handle timeouts.
- Updated message handling to support async tool execution, allowing the event loop to process other messages concurrently.
- Refactored `handle_tool_call` to differentiate between synchronous and asynchronous tool results.
- Modified JavaScript fetch functions to use async/await for improved readability and performance.

* Enhance skill instance with initial ping verification and job driving

- Added an immediate ping to verify the connection health during skill execution, logging the result or any errors encountered.
- Updated the event loop to drive jobs asynchronously after the initial ping check.
- Removed unnecessary logging statements from the network operations for cleaner output.

* Update subproject commit reference in skills directory

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 22:28:54 +05:30
Cyrus GrayGitHubClaudeSteven Enamakelgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
561da4a0b4 feat: Implement complete team management system with role-based access control (#92)
* chore: bump version to 0.34.0 [skip ci]

* chore: bump version to 0.35.0 [skip ci]

* 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

* chore: bump version to 0.36.0 [skip ci]

* feat: implement complete team management flow with role-based access control

- Add comprehensive team management system with proper role handling
- Create TeamManagementPanel for team-specific management hub
- Fix role case sensitivity issues (API returns lowercase, UI expects uppercase)
- Implement proper team context routing for members and invites panels
- Add teams API reference documentation for development reference
- Update navigation hooks to support team management routing
- Apply consistent max-w-md width constraints across all team panels
- Support team switching, creation, joining, and leaving functionality

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

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

* fix: resolve role dropdown case sensitivity issue in TeamMembersPanel

- Fix dropdown showing incorrect default role due to case mismatch
- API returns lowercase roles ("admin", "member") but UI expects uppercase
- Normalize member.role to uppercase in dropdown value and badge display
- Ensures dropdown correctly shows actual member role instead of defaulting to first option

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

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

* fix: correct navigation flow from team management members/invites back to team management

- Fix route detection to prioritize team management paths over regular team paths
- Ensure back button from /team/manage/{id}/members goes to /team/manage/{id} instead of /team
- Ensure back button from /team/manage/{id}/invites goes to /team/manage/{id} instead of /team
- Replace unreliable document.referrer with proper URL path pattern matching
- Add proper hierarchical navigation for team management flow

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

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

* feat: add loading states for team members and invites pages

- Add separate loading states (isLoadingMembers, isLoadingInvites) to team slice
- Display spinner with "Loading members..." message while fetching team members
- Display spinner with "Loading invites..." message while fetching team invites
- Hide member count and show loading UI during fetch operations
- Improve user experience by providing visual feedback during API calls
- Ensure proper loading state management in Redux reducers

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

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

* improve: enhance loading UX for team members and invites

- Show existing data during refresh instead of hiding everything
- Add subtle "Refreshing members..." indicator when data exists
- Add subtle "Refreshing invites..." indicator when data exists
- Only show full loading screen when no existing data (first load)
- Use amber color for refresh indicators to distinguish from main loading
- Maintain member/invite count visibility during refresh operations
- Significantly better user experience with non-blocking refresh states

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

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

* feat: implement complete team edit and delete functionality

- Add Team Settings button with modal to edit team name using updateTeam() API
- Add Delete Team button with confirmation modal using deleteTeam() API
- Prevent deletion of personal teams (safety check)
- Include proper error handling with user-friendly messages
- Add loading states for update/delete operations
- Modal overlays with proper styling and responsive design
- Navigate back to teams list after successful deletion
- Refresh teams data after successful name update
- Complete the remaining team management API integrations

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

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

* feat: add confirmation modals for all critical team management actions

- Add confirmation modal for removing team members with impact explanation
- Add confirmation modal for changing member roles with permission details
- Add confirmation modal for revoking invite codes with validation info
- Include specific warnings for admin role changes (granting/removing admin rights)
- Display invite codes in confirmation modal for clarity
- Maintain loading states during confirmation flow
- Enhance user safety by preventing accidental critical actions
- Follow consistent modal design patterns across all confirmations

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

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

* feat: add visual indicators for used/expired invite codes

- Add status detection for expired and used up invites
- Implement visual styling with reduced opacity for inactive invites
- Add status badges (Expired/Used Up) next to invite codes
- Disable copy button for inactive invites with visual feedback
- Restrict revoke button to active invites only
- Improve invite code styling based on status

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

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

* feat: add confirmation modal for leaving teams

- Add confirmation modal for team leave action matching other critical actions
- Update handleLeaveTeam to show confirmation instead of immediate action
- Add new confirmLeaveTeam function for actual leave operation
- Include loading states and proper error handling in leave button
- Show warning about losing access and needing new invite to rejoin

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

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>
Co-authored-by: Claude <noreply@anthropic.com>
2026-02-10 16:58:49 +05:30
github-actions[bot] 1617416700 chore: bump version to 0.37.0 [skip ci] 2026-02-10 11:14:15 +00:00
Steven EnamakelandGitHub 98f4ab7669 Merge pull request #84 from vezuresdotxyz/develop
chore: merge develop into main (v0.37.0)
2026-02-10 16:44:02 +05:30
Steven Enamakel fa41d90c2d Update subproject commit reference and enhance GitHub workflows
- Updated the subproject commit reference in the skills directory.
- Modified the build workflow to enable submodule fetching.
- Standardized quotation styles in the package-and-publish workflow for consistency.
- Refactored the `setSkillOAuthCredential` function for improved readability.
- Added an attribute to the `Error` variant in the `SkillMessage` enum to suppress warnings for unused code.
2026-02-10 16:41:29 +05:30
Steven Enamakel 95b7e2acce Enhance error handling in skill message processing
- Added a new `Error` variant to the `SkillMessage` enum to notify skills of errors from async operations, including error type, message, source, and recoverability.
- Updated the `handle_message` function to handle `SkillMessage::Error`, invoking the `onError` JavaScript handler and logging any failures in the handler execution.
- Updated subproject commit reference in the skills directory.
2026-02-10 16:24:17 +05:30
Steven Enamakel a7e208a7cb Update subproject commit reference in skills directory and remove logging from get_session_token function for improved security 2026-02-10 16:22:20 +05:30
Steven Enamakel 81c61fac12 Update logging configuration and adjust ping interval for improved performance
- Enhanced logging setup in `lib.rs` to allow customizable verbosity and color-coded output based on log levels and tags.
- Reduced ping interval in `ping_scheduler.rs` from 5 minutes to 1 minute for more frequent health checks on skills.
- Added functionality to suppress TDLib's native C++ logs based on environment variable settings in `manager.rs`.
2026-02-10 15:30:57 +05:30
Steven EnamakelandClaude Opus 4.6 f372d5ce29 Move skill ping/health-check from frontend to Rust backend
The frontend ping loop only runs while React is active, but the Rust
backend keeps skills running independently. This adds a PingScheduler
(modeled after CronScheduler) that pings all running skills every 5
minutes from a background Tokio task and acts on auth/network failures.
The redundant frontend ping loop is removed since SkillProvider already
listens for the Tauri events the Rust scheduler emits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:22:15 +05:30
Steven EnamakelandGitHub 96de8e902b Merge branch 'develop' into feat/skills-ping 2026-02-10 11:11:20 +05:30
Steven EnamakelandClaude Opus 4.6 1aa7c077d6 Add skill ping/health-check system for connection monitoring
Periodic (5-min) onPing() calls verify skill service connections are
healthy. Auth errors stop the skill; network errors update connection
status while keeping the skill running for retry. Skills without onPing
are treated as healthy (backward compatible).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:09:20 +05:30
d0048718ea Emit tool:sync socket event on skill state changes (#83)
* Refactor BillingPanel to use updated user usage structure

- Changed the usage data source in BillingPanel from activeTeam to user, aligning with the new IUserUsage interface.
- Updated the display of token usage percentage and progress bar to reflect the new usage metrics (spentThisCycleUsd and cycleBudgetUsd).
- Cleaned up commented-out code and improved layout for better readability and user experience.

* Enhance skill synchronization and connection status management

- Exported `deriveConnectionStatus` function from hooks for better accessibility.
- Introduced `syncToolsToBackend` function to synchronize tool states with the backend, ensuring up-to-date connection status.
- Integrated `syncToolsToBackend` calls in `SkillManager` lifecycle methods and socket connection events to maintain consistent state across the application.
- Added new `sync.ts` file to encapsulate synchronization logic, improving code organization and maintainability.

* Add Rust-side tool:sync emission and document dual socket codebase

Implement tool:sync on the Rust side so desktop/mobile apps emit skill
state to the backend natively, without relying on the frontend WebView.

- SocketManager: add sync_tools() method, derive_connection_status()
  helper, and sync_tools_via_channel() for event handler context
- SocketManager: emit tool:sync on "ready" (connect/reconnect)
- RuntimeEngine: store SocketManager reference, call sync_tools after
  start_skill, stop_skill, and auto_start_skills
- lib.rs: wire SocketManager into RuntimeEngine during setup
- CLAUDE.md: add Dual Socket Codebase pattern noting that any socket
  event change must be implemented in both TypeScript and Rust

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 11:02:04 +05:30
github-actions[bot] 6be38089f7 chore: bump version to 0.36.0 [skip ci] 2026-02-09 19:55:44 +00:00
Steven EnamakelandGitHub d79fee6a78 Merge pull request #80 from vezuresdotxyz/develop
chore: merge develop into main (v0.36.0)
2026-02-10 01:25:29 +05:30
Steven EnamakelandGitHub 4be6693599 Fix OAuth credential lifecycle and JWT token sync for skills (#82)
* Refactor BillingPanel to use updated user usage structure

- Changed the usage data source in BillingPanel from activeTeam to user, aligning with the new IUserUsage interface.
- Updated the display of token usage percentage and progress bar to reflect the new usage metrics (spentThisCycleUsd and cycleBudgetUsd).
- Cleaned up commented-out code and improved layout for better readability and user experience.

* Update OAuth credential handling in SkillManager and related state management

- Introduced `setSkillOAuthCredential` action to manage OAuth credentials in the Redux store.
- Enhanced `SkillManager` to persist and restore OAuth credentials during skill setup and disconnection.
- Updated `SkillState` interface to include `oauthCredential` for better state management.
- Refactored related components to ensure seamless integration of OAuth handling.
- Updated subproject commit reference in the skills directory.

* Update connection indicator messages and enhance OAuth credential handling

- Changed the default description in the ConnectionIndicator component to refer to "Your device" instead of "Your browser."
- Removed hardcoded connection indicator in GetStartedStep to use the updated description.
- Improved OAuth credential management by restoring persisted credentials on startup and ensuring they are cleared from the store when revoked.
- Updated HTTP client configuration to use native TLS for better compatibility across platforms.
- Cleaned up Cargo.lock and Cargo.toml by removing unused dependencies and ensuring proper feature flags for reqwest.

* Enhance OAuth credential management in QjsSkillInstance

- Removed redundant comment regarding OAuth credential restoration.
- Implemented lazy-loading of persisted OAuth credentials before tool calls.
- Cleared OAuth credentials from memory upon skill stop and marked as disconnected in the store.
- Updated comments for clarity on credential handling during OAuth operations.

* Refactor JWT token retrieval to use session token method

- Updated the JWT token retrieval in multiple functions to utilize the new `get_session_token` method from `__ops`, enhancing security and consistency in token management.
- Added the `get_session_token` function to the operations core for improved session handling.

* update bootstrap

* Add middleware to sync JWT token with Rust SESSION_SERVICE

- Introduced `syncTokenToRust` middleware to synchronize the JWT token with the Rust SESSION_SERVICE whenever the `setToken` action is dispatched or the auth state is rehydrated.
- Enhanced the `get_session_token` function in Rust to log the retrieved token for better debugging and monitoring.
- Updated Redux store configuration to include the new middleware, improving token management and security.

* update skills

* Update subproject commit reference in skills directory to indicate a dirty state

* Remove unused ConnectionIndicator import from GetStartedStep component
2026-02-10 01:25:14 +05:30
5717b9993e Remove local LLM, route AI to cloud backend (#78)
* Remove ModelProvider and related components to streamline application architecture

- Deleted the ModelProvider component and its associated hooks and state management, simplifying the application structure.
- Removed ModelDownloadProgress component from Home and Welcome pages, eliminating unnecessary model download handling.
- Updated App component to remove ModelProvider wrapping, ensuring a cleaner provider hierarchy.
- Adjusted Redux store configuration by removing model-related state management, enhancing overall performance and maintainability.

* Update subproject commit and refactor Model Bridge API to route requests to cloud backend

- Updated the subproject commit reference in the skills directory.
- Refactored the Model Bridge API to replace local inference methods with cloud-based requests for text generation and summarization, enhancing functionality and scalability.

* Update skills submodule with prettier formatting fixes

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 17:51:10 +05:30
github-actions[bot] b0eeb792f3 chore: bump version to 0.35.0 [skip ci] 2026-02-09 04:09:59 +00:00
Steven EnamakelandGitHub 476d388de4 Merge pull request #73 from vezuresdotxyz/develop
chore: merge develop into main (v0.35.0)
2026-02-09 09:39:46 +05:30
Steven Enamakel ab9e7b7a0f Refactor code for improved readability and functionality
- Simplified error handling in `useModelStatus` and `ModelProvider` by consolidating dispatch calls.
- Streamlined greeting array initialization in `Welcome` component for better readability.
- Enhanced `SkillProvider` to listen for skill state changes and dispatch updates accordingly.
- Updated Rust backend to sync published state and emit events for skill state changes.
- Introduced a `dirty` flag in `SkillState` to track modifications for efficient state management.
2026-02-09 09:37:10 +05:30
Steven Enamakel 49648606a4 Update subproject commit and refactor state management in QuickJS bootstrap
- Updated the subproject commit reference in the skills directory.
- Refactored state management functions to directly use __ops for data operations, removing the obsolete __store functions for improved clarity and efficiency.
2026-02-09 09:15:56 +05:30
Steven Enamakel af15c7c8e1 Enhance SkillsGrid and Manifest Handling
- Added `ignoreInProduction` property to `SkillListEntry` and updated processing logic to filter skills based on the `IS_DEV` flag.
- Updated Rust structures in the Tauri backend to include `ignoreInProduction` in the skill manifest.
- Refactored desktop deep link listener to remove unnecessary `IS_DEV` checks.
- Improved JSON serialization handling in QuickJS skill instance.
2026-02-09 09:07:51 +05:30
github-actions[bot] cb612d4a37 chore: bump version to 0.34.0 [skip ci] 2026-02-08 22:41:16 +00:00
Steven Enamakel f53d8cb62e Update subproject commit and modify state management in QuickJS bootstrap
- Updated the subproject commit reference in the skills directory.
- Adjusted the state management functions to utilize the __store for get, set, and delete operations, ensuring consistency in data handling.
- Removed obsolete store functions to streamline the codebase.
2026-02-09 03:52:22 +05:30
Steven Enamakel f17ebc071a Merge branch 'develop' of github.com:vezuresdotxyz/frontend-runner-alphahuman into develop 2026-02-07 22:22:25 +05:30
cyrusandClaude 39d108c895 Fix Telegram TDLib JSON serialization error
Resolved "Error converting from js 'object' into type 'string'" in TDLib integration:

- Updated TdLibClient.send() to serialize JavaScript objects to JSON strings before sending to Rust bridge
- Enhanced error handling and logging in TDLib manager for better debugging
- Added comprehensive parameter validation and type conversion
- Improved V8 ops bridge logging for TDLib operations

This ensures proper communication between TypeScript skills and Rust TDLib backend.

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

Co-Authored-By: Claude <noreply@anthropic.com>
2026-02-06 15:39:06 +05:30
Steven Enamakel 890b20e876 Refactor to QuickJS Integration and Update Documentation
- Replaced TDLib references with QuickJS in the CLAUDE.md documentation.
- Updated service paths and imports in the Rust codebase to reflect the transition to QuickJS.
- Added a new bootstrap.js file for QuickJS runtime, providing necessary browser-like API shims.
- Enhanced the TODO list with tasks for allowing bundling of unverified skills and coding new skills independently.
- Introduced a new storage layer for IndexedDB emulation and updated related operations for QuickJS compatibility.
2026-02-06 11:24:57 +05:30
github-actions[bot] b277fb8151 chore: bump version to 0.33.0 [skip ci] 2026-02-06 01:08:39 +00:00
Steven EnamakelandGitHub f038fde03e Merge pull request #53 from vezuresdotxyz/develop
chore: merge develop into main (v0.32.0)
2026-02-06 06:38:25 +05:30
Steven Enamakel 3f6431f457 Enhance SkillSetupWizard and SkillManager for OAuth-only skills
- Updated SkillSetupWizard to handle cases where no setup steps are returned, indicating an OAuth-only skill.
- Modified SkillManager's startSetup method to return null for skills that do not implement setup/start.
- Enhanced SkillRuntime's setupStart method to return null if no setup step is available, improving error handling.
- Updated SkillProvider to include OAuth configuration details in skill discovery.
2026-02-06 06:06:39 +05:30