//! Core runtime types and functionality for Robomotion nodes.
//!
//! This module provides the core types for building Robomotion nodes:
//! - `NodeBase` - Base struct with common node properties
//! - `InVariable`, `OutVariable`, `OptVariable` - Typed variable access
//! - `Credential` - Vault item access
//! - `Port` - Custom port definitions
//! - `Tool` - AI tool support marker

mod capabilities;
mod client;
mod compress;
mod credential;
mod error;
mod event;
mod factory;
mod grpc;
mod handler;
mod lmo;
mod node;
mod oauth;
mod port;
mod properties;
mod registry;
mod spec;
mod tool;
mod tool_interceptor;
mod tool_response;
mod variable;

pub use capabilities::*;
pub use client::*;
pub use compress::*;
pub use credential::*;
pub use error::*;
// Note: event module functions are re-exports of client functions, so we don't re-export it
pub use factory::*;
pub use grpc::*;
pub use handler::*;
pub use lmo::*;
pub use node::*;
pub use oauth::*;
pub use port::*;
pub use properties::*;
pub use registry::*;
pub use spec::*;
pub use tool::*;
pub use tool_interceptor::*;
pub use tool_response::*;
pub use variable::*;
