feat: reimplement integrations

This commit is contained in:
Aarnav Tale
2025-02-27 13:42:36 -05:00
parent f982217dd0
commit 25e6410c65
13 changed files with 400 additions and 238 deletions
+14
View File
@@ -0,0 +1,14 @@
export abstract class Integration<T> {
protected context: NonNullable<T>;
constructor(context: T) {
if (!context) {
throw new Error('Missing integration context');
}
this.context = context;
}
abstract isAvailable(): Promise<boolean> | boolean;
abstract onConfigChange(): Promise<void> | void;
abstract get name(): string;
}