every-plugin
Version:
54 lines (53 loc) • 2.7 kB
text/typescript
import { PluginRuntimeError } from "../errors.cjs";
import { AnyPlugin, AnyPluginConstructor, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry } from "../../types.cjs";
import { ModuleFederationService } from "./module-federation.service.cjs";
import { SecretsService } from "./secrets.service.cjs";
import { Context, Effect, Scope } from "effect";
import { InferSchemaInput, InferSchemaOutput } from "@orpc/contract";
//#region src/runtime/services/plugin-loader.service.d.ts
declare const PluginRegistryTag_base: Context.TagClass<PluginRegistryTag, "PluginRegistry", PluginRegistry>;
declare class PluginRegistryTag extends PluginRegistryTag_base {}
declare const PluginMapTag_base: Context.TagClass<PluginMapTag, "PluginMap", Record<string, AnyPluginConstructor>>;
declare class PluginMapTag extends PluginMapTag_base {}
declare const RegistryService_base: Effect.Service.Class<RegistryService, "RegistryService", {
readonly effect: Effect.Effect<{
get: (pluginId: string) => Effect.Effect<{
constructor: AnyPluginConstructor;
metadata: PluginMetadata;
} | {
constructor: null;
metadata: PluginMetadata;
}, PluginRuntimeError, never>;
getModule: (pluginId: string) => Effect.Effect<AnyPluginConstructor | null, never, never>;
}, never, PluginRegistryTag | PluginMapTag>;
}>;
declare class RegistryService extends RegistryService_base {}
declare const PluginLoaderService_base: Effect.Service.Class<PluginLoaderService, "PluginLoaderService", {
readonly effect: Effect.Effect<{
loadPlugin: (pluginId: string) => Effect.Effect<{
ctor: any;
metadata: PluginMetadata;
}, PluginRuntimeError, never>;
instantiatePlugin: <T extends AnyPlugin>(pluginId: string, loadedPlugin: LoadedPlugin<T>) => Effect.Effect<{
plugin: T;
metadata: PluginMetadata;
}, PluginRuntimeError, never>;
initializePlugin: <T extends AnyPlugin>(pluginInstance: PluginInstance<T>, config: {
variables: InferSchemaInput<T["configSchema"]["variables"]>;
secrets: InferSchemaInput<T["configSchema"]["secrets"]>;
}, plugins?: Record<string, unknown>) => Effect.Effect<{
plugin: T;
metadata: PluginMetadata;
config: {
variables: InferSchemaOutput<T["configSchema"]["variables"]>;
secrets: InferSchemaOutput<T["configSchema"]["secrets"]>;
};
context: any;
scope: Scope.CloseableScope;
}, PluginRuntimeError, never>;
}, never, ModuleFederationService | SecretsService | RegistryService>;
}>;
declare class PluginLoaderService extends PluginLoaderService_base {}
//#endregion
export { PluginLoaderService };
//# sourceMappingURL=plugin-loader.service.d.cts.map