mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-24 12:44:18 +08:00
0f959112b1
Remove the skillsPath field from SkillRepo and Skill structs since recursive scanning now automatically discovers skills in all directories. Simplify the UI by removing the path input field.
47 lines
1.0 KiB
TypeScript
47 lines
1.0 KiB
TypeScript
import { invoke } from "@tauri-apps/api/core";
|
|
|
|
export interface Skill {
|
|
key: string;
|
|
name: string;
|
|
description: string;
|
|
directory: string;
|
|
readmeUrl?: string;
|
|
installed: boolean;
|
|
repoOwner?: string;
|
|
repoName?: string;
|
|
repoBranch?: string;
|
|
}
|
|
|
|
export interface SkillRepo {
|
|
owner: string;
|
|
name: string;
|
|
branch: string;
|
|
enabled: boolean;
|
|
}
|
|
|
|
export const skillsApi = {
|
|
async getAll(): Promise<Skill[]> {
|
|
return await invoke("get_skills");
|
|
},
|
|
|
|
async install(directory: string): Promise<boolean> {
|
|
return await invoke("install_skill", { directory });
|
|
},
|
|
|
|
async uninstall(directory: string): Promise<boolean> {
|
|
return await invoke("uninstall_skill", { directory });
|
|
},
|
|
|
|
async getRepos(): Promise<SkillRepo[]> {
|
|
return await invoke("get_skill_repos");
|
|
},
|
|
|
|
async addRepo(repo: SkillRepo): Promise<boolean> {
|
|
return await invoke("add_skill_repo", { repo });
|
|
},
|
|
|
|
async removeRepo(owner: string, name: string): Promise<boolean> {
|
|
return await invoke("remove_skill_repo", { owner, name });
|
|
},
|
|
};
|