superdoc-sdk 2.25.0

Beta Rust SDK for the SuperDoc document runtime
Documentation
use superdoc_sdk::{
    generated::types::{
        DocPresetDispatchBoundParams, DocPresetDispatchResult, DocPresetGetSystemPromptResult,
        DocPresetGetToolsParams, DocPresetGetToolsResult,
    },
    Document, FullToolkit, InvokeOptions, Result,
};

pub async fn full_toolkit_surface(
    document: &Document,
    policy: &DocPresetGetToolsParams,
    dispatch: &DocPresetDispatchBoundParams,
    options: InvokeOptions,
) -> Result<DocPresetDispatchResult> {
    let toolkit: FullToolkit = document.full_toolkit(policy).await?;
    let _: &DocPresetGetToolsResult = toolkit.tools();
    let _: &DocPresetGetSystemPromptResult = toolkit.system_prompt();
    let _: &str = toolkit.prompt();
    let _: &DocPresetGetToolsParams = toolkit.policy();
    toolkit.dispatch_with_options(dispatch, options).await
}

pub fn full_toolkit_future<'call>(
    document: &'call Document,
    policy: &'call DocPresetGetToolsParams,
) -> impl std::future::Future<Output = Result<FullToolkit>> + Send + 'call {
    document.full_toolkit(policy)
}

pub fn full_dispatch_future<'call>(
    toolkit: &'call FullToolkit,
    dispatch: &'call DocPresetDispatchBoundParams,
    options: InvokeOptions,
) -> impl std::future::Future<Output = Result<DocPresetDispatchResult>> + Send + 'call {
    toolkit.dispatch_with_options(dispatch, options)
}

fn main() {
    let _ = full_toolkit_surface;
    let _ = full_toolkit_future;
    let _ = full_dispatch_future;
}