Crate oxify_model

Crate oxify_model 

Source
Expand description

OxiFY Model - Domain models for LLM workflow orchestration

This crate provides the core data structures for defining and managing LLM workflows as directed acyclic graphs (DAGs).

Re-exports§

pub use analytics::AnalyticsBuilder;
pub use analytics::AnalyticsPeriod;
pub use analytics::ErrorPattern;
pub use analytics::ErrorTrend;
pub use analytics::ExecutionStats;
pub use analytics::NodeAnalytics;
pub use analytics::PerformanceMetrics;
pub use analytics::PeriodType;
pub use analytics::WorkflowAnalytics;
pub use batching::BatchAnalyzer;
pub use batching::BatchOpportunity;
pub use batching::BatchPlan;
pub use batching::BatchStats;
pub use batching::ExecutionBatch;
pub use builder::NodeBuilder;
pub use builder::WorkflowBuilder;
pub use cache::CacheConfig;
pub use cache::CacheEntry;
pub use cache::CacheKeyGenerator;
pub use cache::CacheManager;
pub use cache::CachePolicy;
pub use cache::CacheStats;
pub use cache::CacheWarmingConfig;
pub use cache::InvalidationPlan;
pub use cache::InvalidationStrategy;
pub use cache::WarmingStrategy;
pub use checkpoint::CheckpointConfig;
pub use checkpoint::CheckpointError;
pub use checkpoint::CheckpointFrequency;
pub use checkpoint::CheckpointId;
pub use checkpoint::CheckpointMetadata;
pub use checkpoint::CheckpointStorage;
pub use checkpoint::InMemoryCheckpointStorage;
pub use cost::CategoryCosts;
pub use cost::CostComponent;
pub use cost::CostEstimate;
pub use cost::CostEstimator;
pub use cost::ModelPricing;
pub use cost::NodeCost;
pub use cost::TokenEstimates;
pub use edge::Edge;
pub use edge::EdgeId;
pub use event::EventDetails;
pub use event::EventId;
pub use event::EventTimeline;
pub use event::EventType;
pub use event::ExecutionEvent;
pub use event::ExecutionId;
pub use execution::ExecutionCheckpoint;
pub use execution::ExecutionContext;
pub use execution::ExecutionResult;
pub use execution::ExecutionState;
pub use execution::NodeExecutionResult;
pub use execution::NodeMetrics;
pub use execution::TokenUsage;
pub use graphql_schema::generate_graphql_schema;
pub use graphql_schema::GraphQLArgument;
pub use graphql_schema::GraphQLField;
pub use graphql_schema::GraphQLSchemaGenerator;
pub use graphql_schema::GraphQLType;
pub use graphql_schema::GraphQLTypeKind;
pub use json_schema::generate_workflow_schema;
pub use json_schema::schema_to_json;
pub use json_schema::schema_to_value;
pub use json_schema::JsonSchema;
pub use json_schema::WorkflowSchemaGenerator;
pub use linter::LintCategory;
pub use linter::LintFinding;
pub use linter::LintResult;
pub use linter::LintSeverity;
pub use linter::LintStats;
pub use linter::LinterConfig;
pub use linter::WorkflowLinter;
pub use metrics_export::ExportFormat;
pub use metrics_export::MetricsError;
pub use metrics_export::MetricsExporter;
pub use node::ApprovalConfig;
pub use node::Condition;
pub use node::FormConfig;
pub use node::FormField;
pub use node::FormFieldType;
pub use node::LlmConfig;
pub use node::LoopConfig;
pub use node::LoopType;
pub use node::McpConfig;
pub use node::Node;
pub use node::NodeId;
pub use node::NodeKind;
pub use node::ParallelConfig;
pub use node::ParallelStrategy;
pub use node::ParallelTask;
pub use node::RetryConfig;
pub use node::ScriptConfig;
pub use node::SubWorkflowConfig;
pub use node::SwitchCase;
pub use node::SwitchConfig;
pub use node::TimeoutAction;
pub use node::TimeoutConfig;
pub use node::TryCatchConfig;
pub use node::VectorConfig;
pub use node::VisionConfig;
pub use optimizer::Benefit;
pub use optimizer::ComplexityMetrics;
pub use optimizer::ImprovementSummary;
pub use optimizer::IssueType;
pub use optimizer::OptimizationReport;
pub use optimizer::OptimizationSuggestion;
pub use optimizer::Severity;
pub use optimizer::SuggestionCategory;
pub use optimizer::WorkflowIssue;
pub use optimizer::WorkflowOptimizer;
pub use prediction::HistoricalData;
pub use prediction::NodeTime;
pub use prediction::TimeEstimate;
pub use prediction::TimePredictor;
pub use rollback::ExecutionSnapshot;
pub use rollback::RollbackManager;
pub use rollback::RollbackResult;
pub use rollback::RollbackSummary;
pub use rollback::SnapshotMetadata;
pub use schedule::Schedule;
pub use schedule::ScheduleExecution;
pub use schedule::ScheduleId;
pub use schema::BackwardCompatibility;
pub use schema::DeprecatedField;
pub use schema::FieldMigration;
pub use schema::MigrationRegistry;
pub use schema::ModelMetadata;
pub use schema::PreservedFields;
pub use schema::SchemaMigration;
pub use schema::SchemaVersion;
pub use schema::Versioned;
pub use schema::VersionedWithCompat;
pub use schema::CURRENT_SCHEMA_VERSION;
pub use secret::AccessControl;
pub use secret::CreateSecretRequest;
pub use secret::EncryptionMetadata;
pub use secret::Secret;
pub use secret::SecretAction;
pub use secret::SecretAuditLog;
pub use secret::SecretId;
pub use secret::SecretReference;
pub use secret::SecretView;
pub use secret::UpdateSecretRequest;
pub use security::ComplianceStandard;
pub use security::RiskLevel;
pub use security::RiskSummary;
pub use security::SecurityAuditReport;
pub use security::SecurityConfig;
pub use security::SecurityFinding;
pub use security::SecurityScanner;
pub use security::ThreatCategory;
pub use simulator::CoverageInfo;
pub use simulator::ExecutionTrace;
pub use simulator::NodeExecutionDetail;
pub use simulator::SimulationError;
pub use simulator::SimulationResult;
pub use simulator::WorkflowSimulator;
pub use template::InstantiateTemplateRequest;
pub use template::ParameterType;
pub use template::ParameterValidation;
pub use template::TemplateId;
pub use template::TemplateListItem;
pub use template::TemplateParameter;
pub use template::WorkflowTemplate;
pub use typescript::generate_typescript_definitions;
pub use validation::ValidationError;
pub use validation::ValidationReport;
pub use validation::ValidationStats;
pub use validation::WorkflowValidator;
pub use variable_optimizer::VariableFlow;
pub use variable_optimizer::VariableOptimization;
pub use variable_optimizer::VariableOptimizer;
pub use variable_optimizer::VariableUsage;
pub use versioning::ChangeType;
pub use versioning::ChangelogEntry;
pub use versioning::ChangelogType;
pub use versioning::EdgeInfo;
pub use versioning::MetadataChange;
pub use versioning::NodeChange;
pub use versioning::VersionCompatibility;
pub use versioning::WorkflowDiff;
pub use versioning::WorkflowVersionEntry;
pub use versioning::WorkflowVersionHistory;
pub use visualization::workflow_to_graphviz;
pub use visualization::workflow_to_mermaid;
pub use visualization::workflow_to_plantuml;
pub use visualization::DiagramOrientation;
pub use visualization::VisualizationFormat;
pub use visualization::VisualizationStyle;
pub use visualization::WorkflowVisualizer;
pub use webhook::create_webhook_signature;
pub use webhook::generate_webhook_secret;
pub use webhook::verify_webhook_signature;
pub use webhook::CreateWebhookRequest;
pub use webhook::UpdateWebhookRequest;
pub use webhook::Webhook;
pub use webhook::WebhookEvent;
pub use webhook::WebhookEventStatus;
pub use webhook::WebhookId;
pub use webhook::WebhookRegistrationResponse;
pub use webhook::WebhookTriggerRequest;
pub use webhook::WebhookView;
pub use webhook_transform::FieldMapping;
pub use webhook_transform::PayloadTransform;
pub use webhook_transform::PayloadTransformError;
pub use webhook_transform::StringTransformType;
pub use webhook_transform::TransformOperation;
pub use webhook_transform::TransformPipeline;
pub use workflow::VersionBump;
pub use workflow::Workflow;
pub use workflow::WorkflowId;
pub use workflow::WorkflowMetadata;
pub use workflow::WorkflowSchedule;
pub use yaml::json_to_yaml;
pub use yaml::load_template_yaml;
pub use yaml::load_workflow_yaml;
pub use yaml::save_template_yaml;
pub use yaml::save_workflow_yaml;
pub use yaml::template_from_yaml;
pub use yaml::template_to_yaml;
pub use yaml::workflow_from_yaml;
pub use yaml::workflow_to_yaml;
pub use yaml::yaml_to_json;
pub use yaml::YamlError;

Modules§

analytics
Workflow analytics and usage tracking
batching
Intelligent node execution batching
builder
Workflow builder for fluent workflow construction
cache
Cache Management Module
checkpoint
Checkpoint configuration and storage abstraction
cost
Cost estimation for workflow execution
edge
event
Execution event tracking for workflows
execution
graphql_schema
GraphQL schema generation for workflow models
json_schema
JSON Schema generation for workflow models
linter
metrics_export
Metrics Export - Export workflow metrics to monitoring systems
node
optimizer
Workflow optimization and analysis
prediction
Execution time prediction for workflows
rollback
Execution rollback mechanism for workflows
schedule
Workflow scheduling types
schema
Schema versioning for model evolution
secret
Secret management types
security
Security Scanner Module
simulator
Workflow execution simulator for dry-run testing
template
Workflow templates for parameterized workflow creation
test_utils
Testing Utilities - Helper functions for creating test workflows and mock data
typescript
TypeScript type definitions generator for OxiFY Model
validation
Comprehensive workflow validation
variable_optimizer
Variable passing optimization
versioning
Workflow versioning and change tracking system
visualization
Workflow Visualization Export
webhook
Webhook types for event-driven workflow triggering
webhook_transform
Webhook payload transformation
workflow
yaml
YAML serialization and deserialization for workflows