//! Syntaxis Bridge: Ecosystem integration platform
//!
//! Provides traits and infrastructure for integrating external systems (prov-ecosystem crates)
//! with Syntaxis task management and phase orchestration.
//!
//! # Overview
//!
//! The bridge enables:
//! - External systems to create/update/complete Syntaxis tasks
//! - Task actions to trigger external system operations
//! - Bidirectional event flow between Syntaxis and ecosystem crates
//! - Standalone and integrated (provctl/provisioning) operation modes
//!
//! # Example
//!
//! ```rust,no_run
//! use syntaxis_bridge::{EcosystemIntegration, TaskAction, ActionType};
//!
//! struct MyIntegration;
//!
//! #[async_trait::async_trait]
//! impl EcosystemIntegration for MyIntegration {
//!     fn name(&self) -> &str { "my-system" }
//!
//!     async fn on_task_created(&self, task: &str) -> anyhow::Result<()> {
//!         println!("Task created: {}", task);
//!         Ok(())
//!     }
//!
//!     async fn on_task_completed(&self, task: &str) -> anyhow::Result<()> {
//!         println!("Task completed: {}", task);
//!         Ok(())
//!     }
//! }
//! ```

pub mod client;
pub mod config;
pub mod ecosystem;
pub mod events;
pub mod registry;
pub mod task_actions;

pub use client::EcosystemClient;
pub use config::BridgeConfig;
pub use ecosystem::{EcosystemIntegration, EcosystemIntegrationError};
pub use events::{EcosystemEvent, EventBus};
pub use registry::IntegrationRegistry;
pub use task_actions::{ActionResult, ActionTrigger, ActionType, TaskAction};

/// Bridge version
pub const VERSION: &str = env!("CARGO_PKG_VERSION");
