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