export interface V2InlineSkill { title: string; idn: string; prompt_script: string; runner_type: string; model: { model_idn: string; provider_idn: string; }; parameters: Array<{ name: string; default_value: string; }>; } export interface V2FlowEvent { idn: string; skill_selector: string; skill_idn: string | null; state_idn: string | null; integration_idn: string | null; connector_idn: string | null; interrupt_mode: string; } export interface V2StateField { title: string; idn: string; default_value: string; scope: string; } export interface V2FlowDefinition { title: string; idn: string; description: string | null; agent_id: string | null; skills: V2InlineSkill[]; events: V2FlowEvent[]; state_fields: V2StateField[]; default_runner_type: string; default_provider_idn: string; default_model_idn: string; publication_type: string | null; } export interface V2ProjectMeta { idn: string; name: string; version: string; description: string; is_auto_update_enabled: boolean; registry: string; registry_item_idn: string; } export interface V2AgentMeta { idn: string; title: string | null; description: string | null; } export interface V2LibraryDefinition { title: string; idn: string; description: string | null; skills: V2InlineSkill[]; } /** * Sort skills in V2 export order (case-sensitive ASCII sort within groups): * 1. CamelCase (public) - case-sensitive alphabetically * 2. _prefixed (private) - case-sensitive alphabetically * 3. snake_case - case-sensitive alphabetically */ export declare function sortV2Skills(skills: T[]): T[]; /** * Sort parameters alphabetically by name (case-sensitive, V2 export order) */ export declare function sortV2Parameters(params: T[]): T[]; export declare function parseV2FlowYaml(filePath: string): Promise; /** * Generate V2 flow YAML content from API data * * Produces the exact format found in the reference V2 export: * title, idn, description, agent_id, skills[], events[], state_fields[], * default_runner_type, default_provider_idn, default_model_idn, publication_type */ export declare function generateV2FlowYaml(flowIdn: string, flowTitle: string, flowDescription: string | null, defaultRunnerType: string, defaultProviderIdn: string, defaultModelIdn: string, skills: V2InlineSkill[], events: V2FlowEvent[], stateFields: V2StateField[]): string; export declare function parseV2ProjectYaml(filePath: string): Promise; /** * Generate V2 project YAML * * Format: * project: * idn: naf * name: naf * version: 4.1.0 * description: "" * is_auto_update_enabled: true * registry: production * registry_item_idn: naf */ export declare function generateV2ProjectYaml(meta: V2ProjectMeta): string; export declare function parseV2AgentYaml(filePath: string): Promise; /** * Generate V2 agent YAML * * Format: * agent: * idn: TaskManager * title: TaskManager * description: null * * V2 export preserves description exactly as provided (null stays null, "" stays "") */ export declare function generateV2AgentYaml(meta: V2AgentMeta): string; export declare function parseV2LibraryYaml(filePath: string): Promise; /** * Generate V2 library YAML * * Format: * title: Test Library * idn: testLib * description: Shared utility library * skills: * - idn: utilSkill * ... */ export declare function generateV2LibraryYaml(lib: V2LibraryDefinition): string; /** * Build a V2InlineSkill entry from API skill data */ export declare function buildV2InlineSkill(skillIdn: string, skillTitle: string, runnerType: string, modelIdn: string, providerIdn: string, parameters: Array<{ name: string; default_value: string; }>, promptScriptRelPath: string): V2InlineSkill; /** * Build a V2FlowEvent entry from API event data */ export declare function buildV2FlowEvent(eventIdn: string, skillSelector: string, skillIdn: string | null, stateIdn: string | null, integrationIdn: string | null, connectorIdn: string | null, interruptMode: string): V2FlowEvent; /** * Build a V2StateField entry from API state data */ export declare function buildV2StateField(stateIdn: string, stateTitle: string, defaultValue: string, scope: string): V2StateField; //# sourceMappingURL=v2-yaml.d.ts.map