import { r as PluginDiagnostic } from "./manifest-types-BKl7HQyb.js"; import { E as KlawPluginHookOptions, O as KlawPluginToolFactory, W as WebSearchProviderPlugin } from "./types-core-BH2BbD0A.js"; import { r as AnyAgentTool } from "./common-BtCut1Uo.js"; import { B as KlawPluginService, Gn as SpeechProviderPlugin, I as KlawPluginReloadRegistration, Jn as VideoGenerationProviderPlugin, K as MediaUnderstandingProviderPlugin, R as KlawPluginSecurityAuditCollector, Un as RealtimeTranscriptionProviderPlugin, Wn as RealtimeVoiceProviderPlugin, a as ImageGenerationProviderPlugin, b as KlawPluginHostedMediaResolver, d as KlawPluginChannelRegistration, f as KlawPluginCliCommandDescriptor, gr as CliBackendPlugin, h as KlawPluginCommandDefinition, it as MusicGenerationProviderPlugin, k as KlawPluginNodeHostCommand, m as KlawPluginCliRegistrar, qn as UnifiedModelCatalogProviderPlugin, si as AgentHarness, sn as ProviderPlugin, tt as MigrationProviderPlugin, u as KlawPluginApi, vt as PluginRegistrationMode, y as KlawPluginGatewayRuntimeScopeSurface } from "./types-CAmC_cW72.js"; import { et as PluginHookName, q as PluginHookHandlerMap } from "./hook-types-CPHkmr9n.js"; import { Bo as PluginSessionSchedulerJobRegistration, Do as PluginAgentEventSubscriptionRegistration, Go as PluginTrustedToolPolicyRegistration, Ko as OperatorScope, No as PluginSessionActionRegistration, Oo as PluginControlUiDescriptor, Ro as PluginSessionExtensionRegistration, Wo as PluginToolMetadataRegistration, jo as PluginRuntimeLifecycleRegistration } from "./index-D_HHRfnu.js"; import { n as ChannelPlugin } from "./types.public-BSMobFik.js"; import { n as GatewayRequestHandler } from "./types-Uz0MJyKC.js"; import { a as PluginRegistryParams, i as PluginRegistry, n as PluginHttpRouteRegistration$1, o as PluginTextTransformsRegistration, r as PluginRecord } from "./registry-types-B0zD11yB.js"; import { E as registerInternalHook } from "./internal-hooks-yJt-I4tY.js"; //#region src/plugins/registry-empty.d.ts declare function createEmptyPluginRegistry(): PluginRegistry; //#endregion //#region src/plugins/registry.d.ts type PluginHttpRouteRegistration = PluginHttpRouteRegistration$1 & { gatewayRuntimeScopeSurface?: KlawPluginGatewayRuntimeScopeSurface; }; type PluginTypedHookPolicy = { allowPromptInjection?: boolean; allowConversationAccess?: boolean; timeoutMs?: number; timeouts?: Record; }; declare function createPluginRegistry(registryParams: PluginRegistryParams): { registry: PluginRegistry; createApi: (record: PluginRecord, params: { config: KlawPluginApi["config"]; pluginConfig?: Record; hookPolicy?: PluginTypedHookPolicy; registrationMode?: PluginRegistrationMode; }) => KlawPluginApi; rollbackPluginGlobalSideEffects: (pluginId: string) => void; pushDiagnostic: (diag: PluginDiagnostic) => void; registerTool: (record: PluginRecord, tool: AnyAgentTool | KlawPluginToolFactory, opts?: { name?: string; names?: string[]; optional?: boolean; }) => void; registerChannel: (record: PluginRecord, registration: KlawPluginChannelRegistration | ChannelPlugin, mode?: PluginRegistrationMode) => void; registerHostedMediaResolver: (record: PluginRecord, resolver: KlawPluginHostedMediaResolver) => void; registerProvider: (record: PluginRecord, provider: ProviderPlugin) => void; registerModelCatalogProvider: (record: PluginRecord, provider: UnifiedModelCatalogProviderPlugin) => void; registerAgentHarness: (record: PluginRecord, harness: AgentHarness) => void; registerCliBackend: (record: PluginRecord, backend: CliBackendPlugin) => void; registerTextTransforms: (record: PluginRecord, transforms: PluginTextTransformsRegistration["transforms"]) => void; registerSpeechProvider: (record: PluginRecord, provider: SpeechProviderPlugin) => void; registerRealtimeTranscriptionProvider: (record: PluginRecord, provider: RealtimeTranscriptionProviderPlugin) => void; registerRealtimeVoiceProvider: (record: PluginRecord, provider: RealtimeVoiceProviderPlugin) => void; registerMediaUnderstandingProvider: (record: PluginRecord, provider: MediaUnderstandingProviderPlugin) => void; registerImageGenerationProvider: (record: PluginRecord, provider: ImageGenerationProviderPlugin) => void; registerVideoGenerationProvider: (record: PluginRecord, provider: VideoGenerationProviderPlugin) => void; registerMusicGenerationProvider: (record: PluginRecord, provider: MusicGenerationProviderPlugin) => void; registerWebSearchProvider: (record: PluginRecord, provider: WebSearchProviderPlugin) => void; registerMigrationProvider: (record: PluginRecord, provider: MigrationProviderPlugin) => void; registerGatewayMethod: (record: PluginRecord, method: string, handler: GatewayRequestHandler, opts?: { scope?: OperatorScope; }) => void; registerCli: (record: PluginRecord, registrar: KlawPluginCliRegistrar, opts?: { parentPath?: string[]; commands?: string[]; descriptors?: KlawPluginCliCommandDescriptor[]; }) => void; registerReload: (record: PluginRecord, registration: KlawPluginReloadRegistration) => void; registerNodeHostCommand: (record: PluginRecord, nodeCommand: KlawPluginNodeHostCommand) => void; registerSecurityAuditCollector: (record: PluginRecord, collector: KlawPluginSecurityAuditCollector) => void; registerService: (record: PluginRecord, service: KlawPluginService) => void; registerCommand: (record: PluginRecord, command: KlawPluginCommandDefinition) => void; registerSessionExtension: (record: PluginRecord, extension: PluginSessionExtensionRegistration) => void; registerTrustedToolPolicy: (record: PluginRecord, policy: PluginTrustedToolPolicyRegistration) => void; registerToolMetadata: (record: PluginRecord, metadata: PluginToolMetadataRegistration) => void; registerControlUiDescriptor: (record: PluginRecord, descriptor: PluginControlUiDescriptor) => void; registerRuntimeLifecycle: (record: PluginRecord, lifecycle: PluginRuntimeLifecycleRegistration) => void; registerAgentEventSubscription: (record: PluginRecord, subscription: PluginAgentEventSubscriptionRegistration) => void; registerSessionSchedulerJob: (record: PluginRecord, job: PluginSessionSchedulerJobRegistration) => { id: string; pluginId: string; sessionKey: string; kind: string; } | undefined; registerSessionAction: (record: PluginRecord, action: PluginSessionActionRegistration) => void; registerHook: (record: PluginRecord, events: string | string[], handler: Parameters[1], opts: KlawPluginHookOptions | undefined, config: KlawPluginApi["config"], pluginConfig: unknown) => void; registerTypedHook: (record: PluginRecord, hookName: K, handler: PluginHookHandlerMap[K], opts?: { priority?: number; timeoutMs?: number; }, policy?: PluginTypedHookPolicy) => void; }; //#endregion export { createPluginRegistry as n, createEmptyPluginRegistry as r, PluginHttpRouteRegistration as t };