Files
Elydora-Open-Source/sdks/node/src/plugins/base.ts
T

29 lines
793 B
TypeScript

export interface InstallConfig {
readonly agentName: string;
readonly orgId: string;
readonly agentId: string;
readonly privateKey: string;
readonly kid: string;
readonly token?: string;
readonly baseUrl: string;
readonly hookScriptPath: string;
readonly guardScriptPath: string;
}
export interface PluginStatus {
readonly installed: boolean;
readonly agentName: string;
readonly displayName: string;
readonly hookConfigured: boolean;
readonly hookScriptExists: boolean;
readonly configPath: string;
}
export interface AgentPlugin {
readonly managesRuntime?: boolean;
preflightInstall?(config: InstallConfig): Promise<void>;
install(config: InstallConfig): Promise<void>;
uninstall(agentId?: string): Promise<void>;
status(): Promise<PluginStatus>;
}