Skip to main content

sema_core/
lib.rs

1#![allow(clippy::mutable_key_type)]
2pub mod async_signal;
3pub mod context;
4pub mod error;
5pub mod home;
6pub mod json;
7pub mod output_hook;
8pub mod resolve;
9pub mod sandbox;
10pub mod text_util;
11pub mod value;
12pub mod vfs;
13
14pub use async_signal::{
15    blocking_sleep_ms, call_cancel_callback, call_run_scheduler, call_run_scheduler_all_of,
16    call_run_scheduler_any_of, call_run_scheduler_timeout, call_spawn_callback, check_interrupt,
17    clear_blocking_sleep_callback, clear_interrupt_callback, current_conversation_scope_boxed,
18    in_async_context, install_task_otel, io_park, notify_io_complete, set_async_context,
19    set_blocking_sleep_callback, set_cancel_callback, set_interrupt_callback,
20    set_otel_task_callbacks, set_resume_value, set_run_scheduler_callback, set_spawn_callback,
21    set_yield_signal, take_resume_value, take_task_otel, take_yield_signal, BlockingSleepFn,
22    CancelCallbackFn, InterruptCallbackFn, IoHandle, IoPoll, OtelInstallFn, OtelScopeFn,
23    OtelTakeFn, RunSchedulerCallbackFn, SchedulerRunResult, SchedulerTarget, SpawnCallbackFn,
24    YieldReason,
25};
26pub use context::{
27    call_callback, eval_callback, set_call_callback, set_eval_callback, with_stdlib_ctx,
28    CallCallbackFn, EvalCallbackFn, EvalContext,
29};
30pub use error::{CallFrame, SemaError, Span, SpanMap, StackTrace};
31pub use home::sema_home;
32pub use json::{json_to_value, key_to_string, value_to_json, value_to_json_lossy};
33pub use lasso::Spur;
34pub use output_hook::{set_stderr_hook, set_stdout_hook, write_stderr, write_stdout};
35pub use sandbox::{Caps, Sandbox};
36pub use text_util::truncate_chars;
37pub use value::{
38    bits_to_spur, compare_spurs, intern, interner_stats, next_gensym, pretty_print, resolve,
39    spur_to_bits, with_resolved, Agent, AsyncPromise, Channel, Conversation, Env, ImageAttachment,
40    Lambda, Macro, Message, MultiMethod, NativeFn, PromiseState, Prompt, Record, Role, SemaStream,
41    StreamBox, Thunk, ToolDefinition, Value, ValueView, NAN_INT_SIGN_BIT, NAN_INT_SMALL_PATTERN,
42    NAN_PAYLOAD_BITS, NAN_PAYLOAD_MASK, NAN_TAG_MASK, TAG_NATIVE_FN,
43};