Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: local engine management #4334

Merged
merged 23 commits into from
Dec 30, 2024
Merged

feat: local engine management #4334

merged 23 commits into from
Dec 30, 2024

Conversation

urmauur
Copy link
Member

@urmauur urmauur commented Dec 26, 2024

Describe Your Changes

Jan needs a user interface to manage Cortex.cpp engines and their variants. This includes viewing installed engines, managing engine installations, and controlling engine settings through a unified interface.

CleanShot 2024-12-30 at 16 45 45

Fixes Issues

Changes made

This pull request introduces a new engine management extension and updates the workflow configurations. The most significant changes include the addition of the engine management extension, updates to the Node.js version in the workflow, and modifications to the existing code to integrate the new extension.

Engine Management Extension:

  • Added EngineManagementExtension class to manage engine configurations and operations (core/src/browser/extensions/enginesManagement.ts).
  • Defined new types for engine management, including Engines, EngineVariant, DefaultEngineVariant, and EngineReleased (core/src/types/engine/index.ts).
  • Exported the engine management extension and related types (core/src/browser/extensions/index.ts, core/src/types/index.ts). [1] [2]
  • Created a new package for the engine management extension with necessary configurations (extensions/engine-management-extension/package.json, extensions/engine-management-extension/rolldown.config.mjs). [1] [2]
  • Implemented the JSONEngineManagementExtension class to provide functionality for managing engines (extensions/engine-management-extension/src/index.ts).

Workflow Updates:

  • Updated Node.js version in the GitHub Actions workflow to use the latest 20.x version (.github/workflows/jan-electron-linter-and-test.yml). [1] [2]

Code Integration:

  • Added a new enum value Engine to ExtensionTypeEnum to support the new extension (core/src/browser/extension.ts).
  • Updated test configurations and scripts for the new extension (extensions/engine-management-extension/jest.config.js, extensions/engine-management-extension/src/error.ts). [1] [2]
  • Renamed and modified test files to align with the new engine management extension (extensions/engine-management-extension/src/node/index.test.ts). [1] [2] [3] [4] [5] [6] [7] [8]

@urmauur urmauur added the type: feature request A new feature label Dec 26, 2024
@urmauur urmauur added this to the v0.5.13 milestone Dec 26, 2024
@urmauur urmauur requested a review from louis-jan December 26, 2024 02:15
@urmauur urmauur self-assigned this Dec 26, 2024
@urmauur urmauur changed the title Feat/local engine management feat: local engine management Dec 26, 2024
Copy link
Contributor

github-actions bot commented Dec 26, 2024

@louis-jan louis-jan marked this pull request as ready for review December 30, 2024 09:46
Copy link
Contributor

@louis-jan louis-jan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

This is the build for this pull request. You can download it from the Artifacts section here: Build URL.

@urmauur urmauur merged commit a6a0cb3 into dev Dec 30, 2024
20 checks passed
@urmauur urmauur deleted the feat/local-engine-management branch December 30, 2024 10:27
@urmauur urmauur restored the feat/local-engine-management branch December 30, 2024 10:32
@urmauur urmauur deleted the feat/local-engine-management branch December 30, 2024 11:05
@imtuyethan imtuyethan modified the milestones: v0.5.13, v0.5.14 Jan 2, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants