UNPKG

every-plugin

Version:
41 lines (40 loc) 2.14 kB
import { PluginRuntimeError } from "../errors.mjs"; import { AnyPlugin, AnyPluginConstructor, InitializedPlugin, LoadedPlugin, PluginInstance, PluginMetadata, PluginRegistry, SecretsConfig } from "../../types.mjs"; import { PluginLifecycleService } from "./plugin-lifecycle.service.mjs"; import { PluginLoaderService } from "./plugin-loader.service.mjs"; import * as _$_orpc_contract0 from "@orpc/contract"; import { Effect, Layer, Scope } from "effect"; //#region src/runtime/services/plugin.service.d.ts declare const PluginService_base: Effect.Service.Class<PluginService, "PluginService", { readonly scoped: 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: _$_orpc_contract0.InferSchemaInput<T["configSchema"]["variables"]>; secrets: _$_orpc_contract0.InferSchemaInput<T["configSchema"]["secrets"]>; }, plugins?: Record<string, unknown>) => Effect.Effect<{ plugin: T; metadata: PluginMetadata; config: { variables: _$_orpc_contract0.InferSchemaOutput<T["configSchema"]["variables"]>; secrets: _$_orpc_contract0.InferSchemaOutput<T["configSchema"]["secrets"]>; }; context: any; scope: Scope.CloseableScope; }, PluginRuntimeError, never>; shutdownPlugin: (plugin: InitializedPlugin<AnyPlugin>) => Effect.Effect<void, never, never>; cleanup: () => Effect.Effect<void, never, never>; }, never, PluginLoaderService | PluginLifecycleService>; }>; declare class PluginService extends PluginService_base { static Live: (registry: PluginRegistry, secrets: SecretsConfig, pluginMap?: Record<string, AnyPluginConstructor>) => Layer.Layer<PluginService, never, never>; } //#endregion export { PluginService }; //# sourceMappingURL=plugin.service.d.mts.map