feat: release 2.3.0 with workspace plugin extensions
This commit is contained in:
1 parent
8380057548
commit
bb873ec0e0
44 files changed
+1497
-48
No files matched your search
@@ -1,10 +1,12 @@
|
||||
import { Injectable, inject } from '@angular/core';
|
||||
import { tap } from 'rxjs';
|
||||
import { HttpClient } from '@angular/common/http';
|
||||
|
||||
export interface PluginManifest {
|
||||
id: string; name: string; version: string; description: string;
|
||||
artemis_version: string; platforms: string[]; source: string;
|
||||
config: Record<string, { label: string; description: string; secret: boolean; required: boolean; default: string }>;
|
||||
workspace?: unknown; server?: unknown; skill?: string;
|
||||
resources: string[];
|
||||
targets: ('android' | 'computer' | 'mixed')[];
|
||||
}
|
||||
@@ -28,13 +30,13 @@ export class PluginService {
|
||||
install(payload: { plugin_id?: string; version?: string; local_path?: string }) {
|
||||
return this.http.post<{ job_id: string }>('/api/plugins/install', payload);
|
||||
}
|
||||
progress(id: string) { return this.http.get<InstallProgress>(`/api/plugins/install/${encodeURIComponent(id)}`); }
|
||||
progress(id: string) { return this.http.get<InstallProgress>(`/api/plugins/install/${encodeURIComponent(id)}`).pipe(tap(() => window.dispatchEvent(new Event('artemis-plugin-change')))); }
|
||||
save(id: string, profile: PluginProfile) {
|
||||
const { configured_secrets, ...payload } = profile;
|
||||
return this.http.put<InstalledPlugin>(`/api/plugins/${encodeURIComponent(id)}/profiles`, payload);
|
||||
}
|
||||
enable(id: string, enabled: boolean) { return this.http.put<InstalledPlugin>(`/api/plugins/${encodeURIComponent(id)}/enabled`, { enabled }); }
|
||||
enable(id: string, enabled: boolean) { return this.http.put<InstalledPlugin>(`/api/plugins/${encodeURIComponent(id)}/enabled`, { enabled }).pipe(tap(() => window.dispatchEvent(new Event('artemis-plugin-change')))); }
|
||||
diagnose(id: string, profile: string) { return this.http.post<{ ok: boolean; message: string }>(`/api/plugins/${encodeURIComponent(id)}/diagnose`, { profile }); }
|
||||
uninstall(id: string) { return this.http.delete(`/api/plugins/${encodeURIComponent(id)}`); }
|
||||
uninstall(id: string) { return this.http.delete(`/api/plugins/${encodeURIComponent(id)}`).pipe(tap(() => window.dispatchEvent(new Event('artemis-plugin-change')))); }
|
||||
custom(manifest: unknown, skill_content: string) { return this.http.post('/api/plugins/custom', { manifest, skill_content }); }
|
||||
}
|
||||
Reference in new issue
Block a user