import { z } from "zod"; /** * Provider manifest types (features/agent-providers.md § Registration surface, § Capability flags). * * The manifest is UI scaffolding only — actual models/modes/features are discovered at runtime via * the provider RPC. These types express provider definitions, mode metadata (icon + colorTier), and * the `AgentCapabilityFlags` shape. */ /** Provider ids must match `/^[a-z][a-z0-9-]*$/` (agent-providers.md). */ export declare const providerIdSchema: z.ZodString; /** Mode danger/intent tier driving UI color. */ export declare const colorTierSchema: z.ZodEnum<["safe", "moderate", "dangerous", "planning"]>; export type ColorTier = z.infer; /** Per-provider capability flags. */ export declare const agentCapabilityFlagsSchema: z.ZodObject<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export type AgentCapabilityFlags = z.infer; /** UI metadata for a provider mode (plan/default/full-access/...). */ export declare const providerModeSchema: z.ZodObject<{ id: z.ZodString; label: z.ZodOptional; description: z.ZodOptional; icon: z.ZodOptional; colorTier: z.ZodEnum<["safe", "moderate", "dangerous", "planning"]>; }, "strip", z.ZodTypeAny, { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }, { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }>; export type ProviderMode = z.infer; /** A provider manifest definition. `extends` marks a custom Pi-compatible profile. */ export declare const providerDefinitionSchema: z.ZodObject<{ id: z.ZodString; label: z.ZodString; description: z.ZodOptional; extends: z.ZodOptional; modes: z.ZodArray; description: z.ZodOptional; icon: z.ZodOptional; colorTier: z.ZodEnum<["safe", "moderate", "dangerous", "planning"]>; }, "strip", z.ZodTypeAny, { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }, { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }>, "many">; capabilities: z.ZodObject<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ supportsStreaming: z.ZodBoolean; supportsSessionPersistence: z.ZodBoolean; supportsDynamicModes: z.ZodBoolean; supportsMcpServers: z.ZodBoolean; supportsReasoningStream: z.ZodBoolean; supportsToolInvocations: z.ZodBoolean; supportsRewindConversation: z.ZodOptional; supportsRewindFiles: z.ZodOptional; supportsRewindBoth: z.ZodOptional; supportsSteering: z.ZodOptional; supportsExtensionUi: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; }, "strip", z.ZodTypeAny, { id: string; label: string; description?: string | undefined; extends?: string | undefined; modes: { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }[]; capabilities: { supportsStreaming: boolean; supportsSessionPersistence: boolean; supportsDynamicModes: boolean; supportsMcpServers: boolean; supportsReasoningStream: boolean; supportsToolInvocations: boolean; supportsRewindConversation?: boolean | undefined; supportsRewindFiles?: boolean | undefined; supportsRewindBoth?: boolean | undefined; supportsSteering?: boolean | undefined; supportsExtensionUi?: boolean | undefined; } & { [k: string]: unknown; }; }, { id: string; label: string; description?: string | undefined; extends?: string | undefined; modes: { id: string; label?: string | undefined; description?: string | undefined; icon?: string | undefined; colorTier: "dangerous" | "moderate" | "planning" | "safe"; }[]; capabilities: { supportsStreaming: boolean; supportsSessionPersistence: boolean; supportsDynamicModes: boolean; supportsMcpServers: boolean; supportsReasoningStream: boolean; supportsToolInvocations: boolean; supportsRewindConversation?: boolean | undefined; supportsRewindFiles?: boolean | undefined; supportsRewindBoth?: boolean | undefined; supportsSteering?: boolean | undefined; supportsExtensionUi?: boolean | undefined; } & { [k: string]: unknown; }; }>; export type ProviderDefinition = z.infer; //# sourceMappingURL=provider-manifest.d.ts.map