vtx-sdk 0.1.14

Official SDK for developing VTX plugins using Rust and WebAssembly.
Documentation
// ===========================
// vtx-sdk Public Prelude Module
// ===========================

/// Database utilities.
/// Includes parameter conversion traits.
pub use crate::modules::data::sql::ToDbValue;
pub use crate::modules::net::client::{
    request as http_request, Request as HttpClientRequest, Response as HttpClientResponse,
};
/// You can access the database executor via `crate::db`.

/// HTTP interaction tools.
/// Includes request/response definitions and response builders.
pub use crate::modules::net::http::{Request, Response, ResponseBuilder};

/// Authentication and user context utilities, including conversion traits.
pub use crate::modules::auth::user::{AuthRequest, IntoAuthResult, UserBuilder};

/// Exports error types to facilitate the use of the `?` operator in plugins.
pub use crate::error::{VtxError, VtxResult};

/// Core metadata and macros.
pub use crate::{export, Capabilities, HttpAllowRule, Manifest, UserContext};

/// Plugin Entry Trait.
/// Developers must implement this trait for a struct to serve as a plugin instance.
pub use crate::bindings::Guest as PluginTrait;

pub use crate::modules::media::ffmpeg::{FfmpegExecutor, FfmpegTask, TranscodeProfileBuilder};

/// Stream I/O utilities.
pub use crate::modules::io::stream::{self, BufferExt, StreamBuffer};

/// VFS utilities (metadata, listing, range reads).
pub use crate::modules::io::fs::{self, VfsBuffer, VfsObjectMeta};

/// Context utilities (Current User).
pub use crate::modules::auth::context::{self, CurrentUserExt, CurrentUserInfo};

/// Event utilities (Event types and payload parsing).
pub use crate::modules::event::types::{self, PluginEvent, PluginEventContext, VtxEventExt};

/// Event bus (Event publishing).
pub use crate::modules::event::bus as vtx_event_bus;

pub use crate::export_plugin;
/// Low-boilerplate Plugin Trait + Export Macro.
pub use crate::plugin::VtxPlugin;

/// Permission constants and helpers.
pub use crate::core::capabilities::{
    CapabilitiesBuilder, CapabilitiesExt, HttpAllowRuleBuilder, VtxErrorExt, PERM_BUFFER_CREATE,
    PERM_FFMPEG_EXECUTE, PERM_FILE_READ, PERM_FILE_WRITE, PERM_SQL_WRITE,
};