import type { Model } from "@mariozechner/pi-ai"; import type { SkillMetadata } from "./skills.js"; import type { LoadedKnowledge } from "./knowledge.js"; import type { WorkflowMetadata } from "./workflows.js"; import type { EnvConfig } from "./config.js"; import type { SubAgentMetadata } from "./agents.js"; import type { ExampleEntry } from "./examples.js"; import type { ComplianceWarning } from "./compliance.js"; import type { LoadedPlugin } from "./plugin-types.js"; import type { PluginConfig } from "./plugin-types.js"; export interface AgentManifest { spec_version: string; name: string; version: string; description: string; author?: string; license?: string; tags?: string[]; metadata?: Record; model: { preferred: string; fallback: string[]; constraints?: { temperature?: number; max_tokens?: number; top_p?: number; top_k?: number; stop_sequences?: string[]; }; }; tools: string[]; skills?: string[]; runtime: { max_turns: number; timeout?: number; }; extends?: string; dependencies?: Array<{ name: string; source: string; version: string; mount: string; }>; agents?: Record; delegation?: { mode: "auto" | "explicit" | "router"; router?: string; }; compliance?: Record; plugins?: Record; } export interface LoadedAgent { systemPrompt: string; manifest: AgentManifest; model: Model; skills: SkillMetadata[]; knowledge: LoadedKnowledge; workflows: WorkflowMetadata[]; subAgents: SubAgentMetadata[]; examples: ExampleEntry[]; envConfig: EnvConfig; sessionId: string; agentDir: string; gitagentDir: string; complianceWarnings: ComplianceWarning[]; plugins: LoadedPlugin[]; } export declare function loadAgent(agentDir: string, modelFlag?: string, envFlag?: string): Promise;