Commit Graph
124 Commits
Author SHA1 Message Date
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
Steven Enamakel 471e745fad Update GitHub Actions token in package-and-publish.yml for enhanced security
- Replaced the XGITHUB_TOKEN with XGH_TOKEN_READ in the package-and-publish.yml workflow to improve security practices.
2026-02-11 03:01:20 +05:30
Steven Enamakel 008d450c94 Update subproject commit reference in skills directory and standardize quotation marks in workflow configuration
- Updated the subproject commit reference in the skills directory.
- Standardized quotation marks in the package-and-publish.yml workflow for consistency.
- Added token configuration for GitHub actions to enhance security.
2026-02-11 02:56:54 +05:30
Steven Enamakel fa5c21d303 Standardize quotation styles in workflow files and remove unnecessary branch from pull request configuration
- Updated quotation marks in the package-and-publish.yml workflow for consistency.
- Removed the 'develop' branch from the pull_request section in package-android.yml to streamline the workflow configuration.
2026-02-10 16:45:49 +05:30
Steven Enamakel 123f1a5914 Merge branch 'feat/skills-ping' into develop 2026-02-10 16:42:38 +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
6df6877b96 Add skill ping/health-check system (#85)
* 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.

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

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

* Refactor package-and-publish workflow for consistency

Updated formatting in the package-and-publish.yml file to use consistent quotation styles for strings. Removed unnecessary branch entry from the pull_request section to streamline the workflow configuration.

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

* Update subproject commit reference in skills directory and remove logging from get_session_token function for improved security

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

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-10 16:24:47 +05:30
Steven Enamakel d191deb0bf Refactor package-and-publish workflow for consistency
Updated formatting in the package-and-publish.yml file to use consistent quotation styles for strings. Removed unnecessary branch entry from the pull_request section to streamline the workflow configuration.
2026-02-10 11:22:28 +05:30
Steven Enamakel 6ae0043ab1 Refactor agent motto formatting and enhance workflow YAML files
- Updated the motto formatting in multiple agent markdown files to use italics for consistency.
- Modified YAML files for package and publish workflows to standardize quotation marks and improve readability.
- Ensured no newlines at the end of files were added during the updates.
2026-02-09 09:30:24 +05:30
Steven Enamakel 8e530940dd Update subproject commit and remove obsolete GitHub Actions workflows
- Updated the subproject commit reference in the skills directory.
- Deleted the deploy-gh-pages.yml workflow as it is no longer needed.
- Modified package-and-publish.yml to include a release body in the draft release creation step.
- Removed ARCHITECTURE.md and README.md files from the publish directory as part of the cleanup.
2026-02-08 02:38:50 +05:30
Steven Enamakel 9e88195c74 Update subproject reference and clean up GitHub Actions workflows
- Updated the subproject reference in the `skills` file to the latest commit.
- Standardized quotes in the `deploy-gh-pages.yml` and `package-android.yml` workflows for consistency.
- Removed unused Telegram API credentials from environment variables in workflows and example configuration files to streamline the setup.
2026-02-05 22:27:34 +05:30
Steven Enamakel f8f202c494 Add Telegram API credentials to GitHub Actions workflow
- Included `TELEGRAM_API_ID` and `TELEGRAM_API_HASH` as environment variables in the `package-and-publish.yml` workflow to facilitate Telegram integration.
- Removed the `dotenvy` dependency from `Cargo.toml` and `Cargo.lock` to streamline the project and eliminate unnecessary packages.
2026-02-05 22:19:37 +05:30
Steven EnamakelandGitHub ceb03fb2bc Fix/prod build (#51)
* chore: add CI secrets management and local testing script

- Added ci-secrets.example.json to provide a template for CI secrets configuration.
- Introduced test-ci-local.sh script to facilitate local testing of the package-and-publish workflow using act.
- Updated .gitignore to exclude the actual ci-secrets.json file containing sensitive tokens.

* chore: enhance local testing and environment loading scripts

- Added scripts to load environment variables from .env and JSON files, improving local development setup.
- Introduced ci-event.json to simulate GitHub event payloads for local CI testing.
- Updated test-ci-local.sh to utilize the new event JSON for better integration with local testing workflows.
- Modified .gitignore to include ci-secrets.local.json for local secret management.

* chore: enhance environment loading and improve V8 memory management

- Updated load-env.sh to conditionally load ci-secrets.local.json and set APPLE_PASSWORD for notarization.
- Introduced a delay in auto-starting skills to prevent memory spikes during initialization.
- Adjusted V8 runtime memory settings to minimize initial heap allocation, reducing the risk of OOM errors.

* chore: update version bump workflow to modify tauri.conf.json

- Changed the version update process to reflect changes in tauri.conf.json instead of Cargo.toml.
- Adjusted the commit message to indicate the inclusion of tauri.conf.json in the version bump process.

* chore: migrate from V8 to QuickJS runtime and update related configurations

- Replaced V8 runtime references with QuickJS throughout the codebase, including updates to initialization and error handling.
- Modified package.json to change the build command for macOS to source environment variables correctly.
- Updated Cargo.toml to remove deno_core dependency and include rquickjs with appropriate features.
- Cleaned up unused V8-related code and comments in the runtime modules.
- Adjusted skill manifest checks to support QuickJS compatibility.

* refactor: implement QuickJS runtime and remove V8 references

- Replaced V8 engine with QuickJS in the runtime module, updating related imports and initialization logic.
- Introduced new `qjs_engine.rs` and `qjs_skill_instance.rs` files to handle QuickJS-specific functionality.
- Removed the deprecated `v8_skill_instance.rs` and associated V8-related code.
- Updated JavaScript bootstrap code to align with QuickJS operations and APIs.
- Adjusted documentation and comments to reflect the transition to QuickJS.

* refactor: update IdbStorage to use parking_lot::Mutex for improved concurrency

- Changed the connection management in IdbStorage from RwLock to parking_lot::Mutex for better performance.
- Updated related methods to reflect the new locking mechanism, enhancing the efficiency of database operations.
- Adjusted the IdbOpenResult struct to include serde::Serialize for potential serialization needs.

* refactor: update QuickJS skill instance and timer management

- Modified memory limit and stack size settings in QjsSkillInstance to be asynchronous, improving performance.
- Cleaned up imports in qjs_ops.rs by removing unused dependencies and enhancing function definitions for clarity.
- Refactored timer management functions for better readability and efficiency, including renaming and restructuring comments.

* chore: update package.json scripts and clean up build.rs

- Added a new script for running the Tauri app with environment variable loading.
- Simplified the macOS development command to use a dedicated build script.
- Removed unnecessary environment variable logging from build.rs to streamline the build process.
- Cleaned up commented-out sections in the GitHub Actions workflow for Android packaging.
2026-02-05 19:29:21 +05:30
Steven Enamakel a4b61d305d chore: enhance macOS bundling process for TDLib
- Updated the package-and-publish.yml workflow to utilize Tauri's native bundling for TDLib on macOS, removing the need for post-build scripts.
- Modified build.rs to copy TDLib and its dependencies to the libraries/ directory, ensuring they are included in the app bundle.
- Updated tauri.conf.json to reference the newly bundled TDLib and its dependencies.
- Added entries to .gitignore for the new libraries directory.
2026-02-05 15:24:41 +05:30
Steven Enamakel 3e19e9542a fix: correct indentation for push trigger in package-android.yml
- Adjusted the indentation of the push trigger section in the package-android.yml workflow to ensure proper YAML formatting and functionality.
2026-02-05 14:43:10 +05:30
Steven Enamakel 57d5478ac2 fix: adjust workflow_run and pull_request triggers in package-android.yml
- Reformatted the workflow_run and pull_request sections for clarity and consistency in the package-android.yml workflow, ensuring proper trigger conditions for CI processes.
2026-02-05 14:42:56 +05:30
Steven Enamakel 8ba6636341 chore: standardize quote styles and add new scripts for macOS app handling
- Updated quote styles in package-and-publish.yml for consistency by converting single quotes to double quotes.
- Introduced new scripts: recreate-dmg-macos.sh for DMG recreation after TDLib bundling and resign-macos.sh for re-signing the macOS app bundle, ensuring proper code signing after modifications.
2026-02-05 14:36:58 +05:30
Steven Enamakel f1bf78aafc fix: update DMG creation paths in CI workflow
- Adjusted the paths for locating the app bundle and original DMG in the package-and-publish.yml workflow to reflect the new directory structure introduced by Tauri v2, ensuring correct DMG recreation.
2026-02-05 14:03:50 +05:30
Steven Enamakel 2f99dec73d fix: update Google Play upload condition in CI workflow
- Modified the condition for uploading AAB files to Google Play in package-android.yml to check for the GOOGLE_PLAY_UPLOAD_ENABLED variable instead of the GOOGLE_PLAY_SERVICE_ACCOUNT_JSON secret, ensuring proper configuration for the upload process.
2026-02-05 01:14:59 +05:30
Steven Enamakel 484a99ea8f fix: correct conditional syntax in Google Play upload step
- Fixed the conditional syntax in the package-android.yml workflow to ensure proper evaluation of the GOOGLE_PLAY_SERVICE_ACCOUNT_JSON secret before uploading the AAB to Google Play.
2026-02-05 01:13:15 +05:30
Steven Enamakel 00301b3bd9 chore: unify quote styles in package-android.yml
- Standardized quote styles in the package-android.yml workflow by converting single quotes to double quotes for consistency across descriptions and configuration options.
2026-02-05 01:11:35 +05:30
Steven Enamakel 119084c45a chore: standardize quote styles in package-android.yml
- Updated quote styles in the package-android.yml workflow for consistency, changing double quotes to single quotes in descriptions and configuration options.
2026-02-05 01:09:36 +05:30
Steven Enamakel ffa9d99951 refactor: update Android CI workflow triggers and standardize quotes
- Added push and pull request triggers for the develop branch in package-android.yml to enhance CI automation.
- Standardized quote styles in the workflow configuration for consistency.
2026-02-05 01:09:28 +05:30
Steven Enamakel 90ac41d9e4 feat: enhance Android CI workflow with skills module caching and build steps
- Added support for caching node modules in the skills directory to improve build performance.
- Introduced steps to install and build skills dependencies within the Android CI workflow.
2026-02-05 01:07:08 +05:30
Steven Enamakel e71bdc17ae feat: enhance macOS and Android CI workflows for app packaging
- Updated the package-and-publish.yml to improve macOS app re-signing by adding certificate handling and keychain management.
- Modified package-android.yml to transition from APK to AAB packaging, including updates to artifact handling and Google Play upload.
- Enhanced the bundle-tdlib-macos.sh script to fix binary rpaths, ensuring proper runtime behavior of bundled frameworks.
2026-02-05 01:05:55 +05:30
Steven Enamakel 76ef0e7f3a chore: automate version bumping in CI workflow
- Enhanced the version-bump.yml workflow to automatically update the version in package.json and Cargo.toml files.
- Implemented logic to compute the new minor version and create a single commit and tag for both npm and Cargo.
- Ensured the workflow prevents triggering itself by including [skip ci] in the commit message.
2026-02-05 00:24:08 +05:30
Steven Enamakel 6fa6b377fe chore: standardize quotes in CI workflows and add changelog update workflow
- Updated quote styles in package-and-publish.yml and package-android.yml for consistency.
- Introduced a new workflow to automatically update the changelog based on commits since the last version tag.
2026-02-05 00:16:08 +05:30
Steven Enamakel 28d582d735 feat: enhance CI workflows for macOS and introduce Android packaging
- Updated the package-and-publish.yml to support target-specific builds for macOS, including bundling and re-signing of TDLib.
- Added a new workflow for packaging and publishing Android APKs, triggered by version bumps and pull requests, ensuring independent build processes for Android and desktop platforms.
2026-02-05 00:13:03 +05:30
Steven Enamakel 902847912d feat: update CI workflow triggers for develop branch
- Added a push trigger for the develop branch in the package-and-publish.yml file to enable automated workflows on code changes.
- Included the develop branch in the pull request trigger to ensure CI checks are performed for both main and develop branches.
2026-02-04 23:19:48 +05:30
Steven Enamakel 852f4f5098 fix: improve macOS app re-signing process in CI workflow
- Updated the re-signing condition in the package-and-publish.yml file to always execute for macOS, regardless of the presence of a signing identity.
- Added a check to skip re-signing if no signing identity is provided, enhancing the robustness of the CI workflow.
- Modified the re-signing logic to iterate over all bundled dylibs, ensuring that all necessary files are signed correctly.
2026-02-04 14:14:41 +05:30
Steven Enamakel 4d3e2cb4cd fix: correct syntax for accessing secrets in CI workflow
- Updated the condition for re-signing the macOS app in the package-and-publish.yml file to use the correct syntax for accessing secrets, ensuring proper functionality during the CI process.
2026-02-04 14:13:09 +05:30
Steven Enamakel 1a9017557b feat: bundle TDLib for macOS and enhance CI workflow
- Added a new script to bundle TDLib dylib and its dependencies into the macOS app, addressing the "Library not loaded" crash.
- Updated package.json to include new build and dev commands that utilize the TDLib bundling script.
- Enhanced the CI workflow to include steps for bundling TDLib and re-signing the app after modifications, ensuring proper notarization.
2026-02-04 14:03:24 +05:30
Steven Enamakel aa1194b34c feat: integrate TDLib bundling into macOS build process
- Updated package.json to include new scripts for bundling TDLib dylib during macOS builds.
- Enhanced CI workflow to automate the bundling and re-signing of the macOS app after TDLib integration, addressing "Library not loaded" issues.
- Introduced a new script for managing TDLib dependencies and ensuring proper installation paths within the app bundle.
2026-02-04 14:02:57 +05:30
Steven Enamakel 205089ecbc feat: enhance CI workflow for skills module integration
- Added support for caching node modules in the skills directory to optimize build times.
- Included steps for installing and building skills dependencies within the CI workflow.
- Updated the MediaPipeLlmBridge.kt file to clarify supported parameters in the MediaPipe LLM Inference API, improving documentation and code clarity.
2026-02-04 13:25:06 +05:30
Steven Enamakel 78b0a1c48a feat: specify macOS deployment target in CI and configuration
- Added a macOS deployment target of 10.15 in the package-and-publish.yml workflow to ensure compatibility with std::filesystem used by llama.cpp.
- Updated tauri.conf.json to set the minimum system version for macOS to 10.15, aligning with the new deployment requirements.
2026-02-04 12:11:16 +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 Enamakel 9a552f0d11 refactor: standardize quote usage in CI workflow configuration
- Updated the package-and-publish.yml file to use single quotes consistently for strings, enhancing readability and maintaining style consistency across the workflow configuration.
- Minor adjustments made to the args section for macOS and Ubuntu platforms to align with the new quoting style.
2026-02-04 11:01:29 +05:30
Steven Enamakel 8a936c8fe1 refactor: remove Python sidecar setup from CI workflows
- Deleted the setup steps for creating a Python sidecar binary in both build.yml and package-and-publish.yml workflows.
- Removed the associated script for symlinking the system Python to the sidecar path, simplifying the CI configuration.
- Updated package installation steps to exclude Python dependencies, streamlining the build process.
2026-02-04 11:00:54 +05:30
Steven Enamakel 1977e309f9 feat: add OpenMP installation step for macOS in CI workflow
- Updated the package-and-publish.yml file to include a new step for installing OpenMP on macOS platforms.
- This addition enhances the build process for llama-cpp-sys, ensuring compatibility and performance improvements for macOS users.
2026-02-04 10:59:37 +05:30
Steven Enamakel 2c981591dc refactor: enhance CI workflow conditions for publishing
- Updated the package-and-publish.yml file to refine the conditions for publishing based on the branch and version checks.
- Ensured that the publishing job only triggers on the main branch when the version is set to publish and not skipped, improving the reliability of the CI process.
2026-02-04 08:29:22 +05:30
Steven Enamakel 1c36dbb769 refactor: update CI workflow to use conditional environment settings
- Modified the package-and-publish.yml file to implement conditional environment settings for the Production environment based on the branch.
- Standardized quote usage throughout the workflow configuration for improved consistency and readability.
- Adjusted the args section for macOS and Ubuntu platforms to align with the new quoting style.
2026-02-04 08:22:43 +05:30
Steven Enamakel 0b2a123b87 refactor: standardize quotes in CI workflow configuration
- Updated the package-and-publish.yml file to use single quotes consistently for strings, enhancing readability and maintaining style consistency across the workflow configuration.
- Minor adjustments made to the args section for macOS and Ubuntu platforms to align with the new quoting style.
2026-02-04 08:19:17 +05:30
Steven Enamakel 2aa5663bab refactor: standardize quotes and comment out Android packaging workflow in CI
- Updated quotes in the package-and-publish.yml file for consistency, changing single quotes to double quotes.
- Commented out the package-android job to disable Android APK packaging in the CI workflow temporarily.
2026-02-04 08:18:34 +05:30
CodeGhost21GitHubClaude Opus 4.5Steven Enamakelgithub-actions[bot] <github-actions[bot]@users.noreply.github.com>
94d2ba72f8 Add workflow to build and package Android APK (#28)
* chore: bump version to 0.20.0 [skip ci]

* chore: bump version to 0.21.0 [skip ci]

* Add workflow to build and package Android APK

* fix: fix package-android job issues in CI workflow

- Add PR branch ref to checkout step for consistent behavior
- Add missing frontend build step with VITE_* env vars before Android build
- Split APK build into signed/unsigned steps to avoid signing with missing keystore
- Add environment: Production for access to environment-scoped secrets/variables
- Fix wrong auth token ($GH_TOKEN -> $XGH_TOKEN) in release asset upload

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

* fix: fix package-android job issues in CI workflow

- Add PR branch ref to checkout step for consistent behavior
- Add missing frontend build step with VITE_* env vars before Android build
- Split APK build into signed/unsigned steps to avoid signing with missing keystore
- Add environment: Production for access to environment-scoped secrets/variables
- Fix wrong auth token ($GH_TOKEN -> $XGH_TOKEN) in release asset upload

Co-Authored-By: Claude Opus 4.5 <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 Opus 4.5 <noreply@anthropic.com>
2026-02-03 16:59:32 +05:30
Steven Enamakel d633f39d17 chore: refine name cleaning process in package-and-publish workflow
- Improved the logic for cleaning up application names by removing version and tag patterns more effectively.
- Ensured that double separators and trailing/leading separators are properly handled.
2026-02-02 09:56:18 +05:30
Steven Enamakel 4864e5e8e5 chore: update package-and-publish workflow and rename installer
- Enhanced the package-and-publish workflow to clean up the application name by removing version and tag patterns.
- Updated the installer name from "Telegram Air" to "AlphaHuman" in the DMG creation script.
2026-02-02 09:54:49 +05:30
Steven Enamakel 4add9f70b4 chore: update publish directory in deploy-gh-pages workflow
- Changed the publish directory from './deploy' to './dist' to align with the new build output structure.
- This adjustment ensures that the correct files are deployed to GitHub Pages.
2026-02-02 08:36:29 +05:30
Steven Enamakel 9755ba6b3c chore: update deploy-gh-pages workflow configuration
- Added 'cname' for custom domain support and set 'force_orphan' to true for deployment.
- These changes enhance the deployment process for GitHub Pages by ensuring proper domain handling.
2026-02-02 08:33:11 +05:30
Steven Enamakel e074a3cf69 chore: standardize quotes in deploy-gh-pages workflow
- Updated quotes in the deploy-gh-pages.yml file for consistency, changing double quotes to single quotes.
- This change improves readability and maintains uniformity across the workflow configuration.
2026-02-02 08:30:11 +05:30
Steven Enamakel 3b3a0248f0 chore: add GitHub Actions workflow for deploying to GitHub Pages
- Introduced a new workflow to automate deployment to GitHub Pages upon successful completion of the version bump workflow.
- Configured steps for checking out code, setting up Node.js, installing dependencies, building the frontend, and deploying to both the gh-pages and main branches.

This addition enhances the deployment process and ensures that the latest changes are reflected on GitHub Pages automatically.
2026-02-02 08:27:29 +05:30