declare const AGENT_PERMISSION_MODES: readonly [ "default", "plan", "acceptEdits", "auto", "dontAsk", "bypassPermissions" ]; type AgentPermissionMode = (typeof AGENT_PERMISSION_MODES)[number]; declare const XENO_RECIPE_SCHEMA_VERSION: "xeno.recipe.v1"; type XenoRecipeMode = "interactive" | "headless" | "ci"; type XenoRecipePermissionMode = Extract; interface XenoRecipeInputDefinition { name: string; description: string; required: boolean; default?: string; enum?: string[]; pattern?: string; } interface XenoRecipeStepDefinition { id: string; title: string; kind: "agent" | "verification"; prompt: string; dependsOn?: string[]; agentProfile?: string; approval?: { message: string; }; expectedArtifacts?: string[]; } interface XenoRecipeDefinition { schemaVersion: typeof XENO_RECIPE_SCHEMA_VERSION; recipeId: string; name: string; description: string; version: number; modes: XenoRecipeMode[]; inputs: XenoRecipeInputDefinition[]; requiredSecretRefs: string[]; authority: { permissionMode: XenoRecipePermissionMode; externalActions: "deny" | "approval-required"; network: "deny" | "environment-policy"; }; budget: { maxAgents: number; maxConcurrency: number; maxTotalTokens: number; timeoutMs: number; }; steps: XenoRecipeStepDefinition[]; provenance?: { publisherId: string; source?: string; revision?: string; }; } interface XenoCompiledRecipeStep extends XenoRecipeStepDefinition { prompt: string; } interface XenoCompiledRecipe { schemaVersion: 1; recipeId: string; recipeVersion: number; recipeFingerprint: { algorithm: "sha256"; value: string; }; mode: XenoRecipeMode; inputs: Record; requiredSecretRefs: string[]; authority: XenoRecipeDefinition["authority"]; budget: XenoRecipeDefinition["budget"]; steps: XenoCompiledRecipeStep[]; } declare class XenoRecipeValidationError extends Error { readonly issues: string[]; readonly code = "XENO_RECIPE_INVALID"; constructor(issues: string[]); } declare function parseXenoRecipeDefinition(value: unknown): XenoRecipeDefinition; declare function assertValidXenoRecipeDefinition(recipe: XenoRecipeDefinition): void; declare function compileXenoRecipe(recipe: XenoRecipeDefinition, options: { mode: XenoRecipeMode; inputs?: Record; hasSecretRef?: (reference: string) => boolean; }): XenoCompiledRecipe; declare function xenoRecipeFingerprint(recipe: XenoRecipeDefinition): { algorithm: "sha256"; value: string; }; declare function serializeXenoRecipe(recipe: XenoRecipeDefinition): string; export { XENO_RECIPE_SCHEMA_VERSION, type XenoCompiledRecipe, type XenoCompiledRecipeStep, type XenoRecipeDefinition, type XenoRecipeInputDefinition, type XenoRecipeMode, type XenoRecipePermissionMode, type XenoRecipeStepDefinition, XenoRecipeValidationError, assertValidXenoRecipeDefinition, compileXenoRecipe, parseXenoRecipeDefinition, serializeXenoRecipe, xenoRecipeFingerprint };