/** * FlowDrop Core Module * * This module exports types, utilities, and lightweight functionality * with zero heavy dependencies. Safe to import without bundling * @xyflow/svelte, codemirror, or marked. * * @module core * * @example * ```typescript * // Import types and utilities without heavy dependencies * import type { Workflow, WorkflowNode, NodeMetadata } from "@flowdrop/flowdrop/core"; * import { getStatusColor, createDefaultExecutionInfo } from "@flowdrop/flowdrop/core"; * ``` */ export type { WorkflowFormat, BuiltinWorkflowFormat } from '../types/index.js'; export { DEFAULT_WORKFLOW_FORMAT } from '../types/index.js'; export type { NodeCategory, BuiltinNodeCategory, CategoryDefinition, NodeDataType, NodePort, DynamicPort, Branch, NodeMetadata, NodeExtensions, NodeUIExtensions, ConfigValues, WorkflowNode, WorkflowEdge, Workflow, ApiResponse, NodesResponse, WorkflowResponse, WorkflowsResponse, ExecutionStatus, ExecutionResult, FlowDropConfig, WorkflowEvents, BuiltinNodeType, PortConfig, PortCompatibilityRule, ConfigSchema, ConfigProperty, HttpMethod, DynamicSchemaEndpoint, ExternalEditLink, ConfigEditOptions, EdgeCategory, UISchemaElementType, UISchemaElementBase, UISchemaControl, UISchemaVerticalLayout, UISchemaGroup, UISchemaElement } from '../types/index.js'; export { isUISchemaControl, isUISchemaVerticalLayout, isUISchemaGroup } from '../types/index.js'; export type { WorkflowEditorConfig, EditorFeatures, UIConfig, APIConfig, ExecutionConfig, StorageConfig } from '../types/config.js'; export type { AuthProvider, StaticAuthConfig, CallbackAuthConfig } from '../types/auth.js'; export type { WorkflowChangeType, FlowDropEventHandlers, FlowDropFeatures } from '../types/events.js'; export type { FieldSchema, FieldType, FieldFormat, FieldOption, SchemaFormProps, BaseFieldProps, TextFieldProps, TextareaFieldProps, NumberFieldProps, ToggleFieldProps, RangeFieldProps, SelectFieldProps, CheckboxGroupFieldProps, ArrayFieldProps, CodeEditorFieldProps, MarkdownEditorFieldProps, TemplateEditorFieldProps, FormFieldFactoryProps, FormFieldWrapperProps } from '../components/form/types.js'; export { BaseRegistry } from '../registry/BaseRegistry.js'; export type { NodeComponentProps, NodeTypeInfo, NodeComponentRegistration, NodeComponentCategory, StatusPosition, StatusSize, NodeRegistrationFilter, FlowDropPluginConfig, PluginNodeDefinition, PluginRegistrationResult } from '../registry/index.js'; export type { FieldMatcherRegistration } from '../form/fieldRegistry.js'; export { workflowFormatRegistry } from '../registry/workflowFormatRegistry.js'; export type { WorkflowFormatAdapter, FormatValidationResult } from '../registry/workflowFormatRegistry.js'; export { registerBuiltinFormats, areBuiltinFormatsRegistered, resetBuiltinFormatRegistration } from '../registry/builtinFormats.js'; export type { ToastType, ToastOptions } from '../services/toastService.js'; export type { DynamicSchemaResult } from '../services/dynamicSchemaService.js'; export type { PlaygroundSession, PlaygroundMessage, PlaygroundInputField, PlaygroundMessageRequest, PlaygroundMessagesResult, PlaygroundConfig, PlaygroundMode, PlaygroundSessionStatus, PlaygroundMessageRole, PlaygroundMessageLevel, PlaygroundMessageMetadata, PlaygroundApiResponse, PlaygroundSessionsResponse, PlaygroundSessionResponse, PlaygroundMessageResponse, PlaygroundMessagesApiResponse } from '../types/playground.js'; export { isChatInputNode, CHAT_INPUT_PATTERNS } from '../types/playground.js'; export type { EndpointConfig } from '../config/endpoints.js'; export type { FlowDropMountOptions, MountedFlowDropApp, NavbarAction } from '../svelte-app.js'; export { StaticAuthProvider, CallbackAuthProvider, NoAuthProvider } from '../types/auth.js'; export { DEFAULT_FEATURES, mergeFeatures } from '../types/events.js'; export { getStatusColor, getStatusIcon, getStatusLabel, getStatusBackgroundColor, getStatusTextColor, createDefaultExecutionInfo, updateExecutionStart, updateExecutionComplete, updateExecutionFailed, resetExecutionInfo, formatExecutionDuration, formatLastExecuted } from '../utils/nodeStatus.js'; export { createNodeWrapperConfig, shouldShowNodeStatus, getOptimalStatusPosition, getOptimalStatusSize, DEFAULT_NODE_STATUS_CONFIG } from '../utils/nodeWrapper.js'; export type { NodeStatusConfig } from '../utils/nodeWrapper.js'; export { CATEGORY_COLOR_TOKENS, DEFAULT_COLORS, getCategoryColorToken, getDataTypeColorToken, getDataTypeConfig, getAvailableDataTypes, getCategoryColors, getCategoryBackground, getCategoryAccent, getCategoryText, getCategoryBorder, getNodeColors, getNodeBackground, getNodeAccent, getNodeText, getNodeBorder, getDataTypeColor, parseDataTypeDisplay, getDataTypeDisplayText, isArrayDataType, getArrayElementType, hexToRgb, getRelativeLuminance, isLightColor, getContrastTextColor, resolveColorToken, getContrastTextColorForDataType, getContrastTextColorForCategory, getPortBackgroundColor, getPortBorderColor, rgbToHex, getLightTint, getDarkTint, getBorderTint, getDarkBorderTint, getColorVariants, getThemeAwareColorVariants } from '../utils/colors.js'; export type { ColorVariants } from '../utils/colors.js'; export { DEFAULT_ICONS, CATEGORY_ICONS, getNodeIcon, getCategoryIcon, getDefaultIcon, isValidIcon, getValidIcon } from '../utils/icons.js'; export { createDefaultFeatures, createDefaultUIConfig, createDefaultAPIConfig, createDefaultExecutionConfig, createDefaultStorageConfig, createDefaultConfig, mergeConfig, validateConfig } from '../utils/config.js'; export { getComponentNameForNodeType, getAvailableNodeTypes, getPrimaryNodeType, resolveNodeType, resolveComponentName, isNodeTypeSupported, getNodeTypeOneOfOptions, createNodeTypeConfigProperty, isValidNodeType, getAllNodeTypes } from '../utils/nodeTypes.js'; export { isLoopbackEdge, isValidLoopbackCycle, hasCycles, hasInvalidCycles } from '../utils/connections.js'; export { isFieldOptionArray, normalizeOptions } from '../components/form/types.js'; export { resolveScopeToKey, keyToScope, generateDefaultUISchema, collectReferencedKeys } from '../utils/uischema.js'; export { DEFAULT_PORT_CONFIG } from '../config/defaultPortConfig.js'; export { defaultEndpointConfig, createEndpointConfig } from '../config/endpoints.js'; export { generateNodeId, extractConfigDefaults } from '../utils/nodeIds.js'; export type { AddNodeCommand, DeleteNodeCommand, RenameNodeCommand, SetConfigCommand, GetConfigCommand, ConnectCommand, DisconnectPortsCommand, DisconnectNodeCommand, ListNodesCommand, ListEdgesCommand, ListTypesCommand, InfoCommand, UndoCommand, RedoCommand, ConfigOpenCommand, SelectNodeCommand, HelpCommand, ClearCommand, SwapNodeCommand, MoveNodeCommand, AutoLayoutCommand, Command, ParseResult, CommandErrorCode, AddNodeResultData, ListNodesResultData, ListEdgesResultData, ListTypesResultData, InfoResultData, GetConfigResultData, SetConfigResultData, HelpResultData, CommandResultData, CommandResultOk, CommandResultError, CommandResult, BatchResult, UIAction, CommandDispatch, CommandContext } from '../commands/index.js'; export { buildTypeMap, parseCommand, executeCommand, toShortId, toShortTypeId, resolveNode, executeBatch, computeAutoPosition } from '../commands/index.js'; export { WorkflowAdapter } from '../adapters/WorkflowAdapter.js'; export type { StandardNode, StandardEdge, StandardWorkflow, WorkflowExecutionResult, WorkflowValidationResult } from '../adapters/WorkflowAdapter.js'; export type { AgentSpecNodeComponentType, AgentSpecToolComponentType, AgentSpecComponentType, AgentSpecProperty, AgentSpecNodeBase, AgentSpecStartNode, AgentSpecEndNode, AgentSpecLLMNode, AgentSpecAPINode, AgentSpecAgentNode, AgentSpecFlowNode, AgentSpecMapNode, AgentSpecBranchingNode, AgentSpecToolNode, AgentSpecNode, AgentSpecBranch, AgentSpecControlFlowEdge, AgentSpecDataFlowEdge, AgentSpecFlow, AgentSpecToolBase, AgentSpecServerTool, AgentSpecClientTool, AgentSpecRemoteTool, AgentSpecTool, AgentSpecLLMConfig, AgentSpecAgent, AgentSpecDocument } from '../types/agentspec.js'; export { COMPONENT_REF_PREFIX, isComponentRef, extractComponentRefId, createComponentRef } from '../types/agentspec.js'; export { getAgentSpecNodeMetadata, getDefaultAgentSpecNodeTypes, createAgentSpecNodeMetadata } from '../adapters/agentspec/defaultNodeTypes.js'; export { getComponentTypeDefaults, extractComponentType, isAgentSpecNodeId, AGENTSPEC_NAMESPACE } from '../adapters/agentspec/componentTypeDefaults.js'; export type { ComponentTypeDefaults } from '../adapters/agentspec/componentTypeDefaults.js'; export { AgentSpecAdapter } from '../adapters/agentspec/AgentSpecAdapter.js'; export { AgentSpecAgentAdapter } from '../adapters/agentspec/agentAdapter.js'; export type { AgentConfig, AgentSpecImportResult } from '../adapters/agentspec/agentAdapter.js'; export { validateForAgentSpecExport, validateAgentSpecFlow } from '../adapters/agentspec/validator.js'; export type { AgentSpecValidationResult } from '../adapters/agentspec/validator.js'; export { computeAutoLayout } from '../adapters/agentspec/autoLayout.js'; export type { AutoLayoutConfig } from '../adapters/agentspec/autoLayout.js'; export type { AgentSpecEndpointConfig } from '../config/agentSpecEndpoints.js'; export { defaultAgentSpecEndpoints, createAgentSpecEndpointConfig, buildAgentSpecUrl, getAgentSpecAuthHeaders } from '../config/agentSpecEndpoints.js'; export { AgentSpecExecutionService, agentSpecExecutionService } from '../services/agentSpecExecutionService.js'; export type { AgentSpecExecutionHandle } from '../services/agentSpecExecutionService.js'; export { workflowSchema, WORKFLOW_SCHEMA_VERSION } from '../schema/index.js'; export type { FlowDropTheme, FlowDropThemeName, FlowDropThemeConfig } from '../types/theme.js'; export { defaultTheme, minimalTheme, resolveTheme } from '../themes/index.js'; export type { FlowDropSkin, FlowDropSkinName, FlowDropSkinTokens } from '../types/skin.js'; export { slateSkin, defaultSkin } from '../skins/index.js'; export type { ThemePreference, ResolvedTheme } from '../stores/settingsStore.svelte.js'; export { getTheme as theme, getResolvedTheme as resolvedTheme, setTheme, toggleTheme, cycleTheme, initializeTheme, isThemeInitialized } from '../stores/settingsStore.svelte.js'; export { sanitizeHtml } from '../utils/sanitize.js'; export { logger, setLogLevel, getLogLevel } from '../utils/logger.js'; export type { LogLevel } from '../utils/logger.js'; export { computeSwapPreview, computeSwapPreviewWithOptions, executeSwap, mapConfig, getVersionUpgrade, compareSemver, performSwap, validateSwapResult, SwapValidationError } from '../utils/nodeSwap.js'; export type { SwapPreview, SwapResult, PortMapping, DroppedEdge, MatchQuality, PortMappingOverride, ConfigMappingOverride, SwapOptions, SwapStrategy, SwapStrategyContext, SwapEventContext } from '../utils/nodeSwap.js'; export { defaultMessages, mergeMessages, setMessages } from '../messages/index.js'; export type { Messages, MessagesOverride } from '../messages/index.js';