import type { PilotDeckHooksSettings } from "../../hooks/protocol/settings.js";
import type { PromptContribution } from "../../contributions/PromptContribution.js";
import type { RouterContribution } from "../../contributions/RouterContribution.js";
import type { LoadedPluginCommand } from "../loading/PluginCommandLoader.js";
import type { PilotDeckPluginManifest } from "./manifest.js";
export type PilotDeckPluginSourceKind = "builtin" | "global" | "project";
export type PilotDeckLoadedPlugin = {
name: string;
path: string;
source: PilotDeckPluginSourceKind;
manifest: PilotDeckPluginManifest;
hooksConfig?: PilotDeckHooksSettings;
commands?: LoadedPluginCommand[];
skills?: LoadedPluginCommand[];
outputStyles?: LoadedPluginCommand[];
mcpServers?: Record<string, unknown>;
lspServers?: Record<string, unknown>;
* Programmatic contributions are currently only available to builtin or
* test-injected plugins. Disk-loaded JSON plugins cannot provide functions.
*/
promptContributions?: PromptContribution[];
routerContributions?: RouterContribution[];
};