/** * PluginCatalog:通用 plugin 目录视图工具。 * * 关键点(中文) * - 这里不关心 plugin 来源,不区分内建、外部、本地或远程。 * - 调用方只需要传入当前已注册或准备展示的 plugin 实例集合。 * - Agent 的视角只有“传入的 plugin”,目录视图和可用性检查都从这些实例推导。 */ import type { Plugin } from "../../types/plugin/PluginDefinition.js"; import type { PluginAvailability, PluginView } from "../../types/plugin/PluginRuntime.js"; import type { PluginContext } from "../../types/plugin/PluginContext.js"; /** * 判断 plugin 是否声明了运行时生命周期。 */ export declare function has_plugin_lifecycle(plugin: Plugin): boolean; /** * 过滤出声明了运行时生命周期的 plugin。 */ export declare function list_plugins_with_lifecycle(plugins: Iterable): T[]; /** * 过滤出没有运行时生命周期、可直接执行 action 的 plugin。 */ export declare function list_plugins_without_lifecycle(plugins: Iterable): T[]; /** * 按名称查找 plugin。 */ export declare function find_plugin_by_name(plugins: Iterable, plugin_name: string): T | null; /** * 将 plugin 定义转换为目录视图。 */ export declare function to_plugin_view(plugin: Plugin): PluginView; /** * 列出 plugin 目录视图。 */ export declare function list_plugin_views(plugins: Iterable): PluginView[]; /** * 构建 plugin 可用性视图。 * * 关键点(中文) * - 传入 context 时会调用 plugin 自己的 availability。 * - 未传 context 时只返回静态目录说明,适合 Console 或 CLI 的目录回退展示。 */ export declare function resolve_plugin_availability(params: { plugins: Iterable; plugin_name: string; context?: PluginContext; agentError?: string; }): Promise; /** * 同步构建静态 plugin 可用性视图。 */ export declare function build_static_plugin_availability(params: { plugins: Iterable; plugin_name: string; agentError?: string; }): PluginAvailability; //# sourceMappingURL=PluginCatalog.d.ts.map