/** * Agent Spec Component Type Defaults * * Internal adapter infrastructure for import/export. * Provides lightweight defaults per component_type (trigger ports, visual styling) * WITHOUT prescribing full node type definitions (data ports, config schemas). * * Full node type definitions are user-provided via getDefaultAgentSpecNodeTypes() * or custom node arrays passed to mountFlowDropApp(). */ import type { NodePort } from '../../types/index.js'; /** Namespace prefix for Agent Spec node type IDs */ export declare const AGENTSPEC_NAMESPACE = "agentspec"; /** Standard trigger input port — control flow into a node */ export declare const TRIGGER_INPUT: NodePort; /** Standard trigger output port — control flow out of a node */ export declare const TRIGGER_OUTPUT: NodePort; /** * Lightweight defaults for a component_type. * Used during import to construct minimal NodeMetadata from Agent Spec JSON. * These are NOT full node type definitions — they only contain what the * adapter needs to create valid FlowDrop nodes. */ export interface ComponentTypeDefaults { /** FlowDrop visual node type (terminal, gateway, default, tool, simple) */ visualType: string; /** Node category for sidebar grouping */ category: string; /** Default display color */ color: string; /** Default icon (MDI format) */ icon: string; /** Badge text for node header */ badge: string; /** Default node name when no name provided */ defaultName: string; /** Default description */ defaultDescription: string; /** Trigger/tool ports to prepend to data inputs during import */ triggerInputs: NodePort[]; /** Trigger/tool ports to prepend to data outputs during import */ triggerOutputs: NodePort[]; } /** * Get adapter defaults for a component type. * Returns sensible fallbacks for unrecognized types (never throws). * * @param componentType - The Agent Spec component_type value * @returns ComponentTypeDefaults for the type, or fallback for unknown types */ export declare function getComponentTypeDefaults(componentType: string): ComponentTypeDefaults; /** * Check if a FlowDrop node ID belongs to an Agent Spec node type. * * @example * ```typescript * isAgentSpecNodeId('agentspec.llm_node') // true * isAgentSpecNodeId('calculator') // false * ``` */ export declare function isAgentSpecNodeId(nodeId: string): boolean; /** * Extract the component_type string from a FlowDrop node type ID. * Does not validate against any registry — any string after the namespace prefix is returned. * * @example * ```typescript * extractComponentType('agentspec.llm_node') // 'llm_node' * extractComponentType('agentspec.my_custom') // 'my_custom' * extractComponentType('calculator') // undefined * ``` */ export declare function extractComponentType(nodeTypeId: string): string | undefined;