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    call_cancel_callback, call_run_scheduler, call_run_scheduler_all_of, call_run_scheduler_any_of,
16    call_run_scheduler_timeout, call_spawn_callback, in_async_context, set_async_context,
17    set_cancel_callback, set_resume_value, set_run_scheduler_callback, set_spawn_callback,
18    set_yield_signal, take_resume_value, take_yield_signal, CancelCallbackFn,
19    RunSchedulerCallbackFn, SchedulerRunResult, SchedulerTarget, SpawnCallbackFn, YieldReason,
20};
21pub use context::{
22    call_callback, eval_callback, set_call_callback, set_eval_callback, with_stdlib_ctx,
23    CallCallbackFn, EvalCallbackFn, EvalContext,
24};
25pub use error::{CallFrame, SemaError, Span, SpanMap, StackTrace};
26pub use home::sema_home;
27pub use json::{json_to_value, key_to_string, value_to_json, value_to_json_lossy};
28pub use lasso::Spur;
29pub use output_hook::{set_stderr_hook, set_stdout_hook, write_stderr, write_stdout};
30pub use sandbox::{Caps, Sandbox};
31pub use text_util::truncate_chars;
32pub use value::{
33    compare_spurs, intern, interner_stats, next_gensym, pretty_print, resolve, with_resolved,
34    Agent, AsyncPromise, Channel, Conversation, Env, ImageAttachment, Lambda, Macro, Message,
35    MultiMethod, NativeFn, PromiseState, Prompt, Record, Role, SemaStream, StreamBox, Thunk,
36    ToolDefinition, Value, ValueView, NAN_INT_SIGN_BIT, NAN_INT_SMALL_PATTERN, NAN_PAYLOAD_BITS,
37    NAN_PAYLOAD_MASK, NAN_TAG_MASK, TAG_NATIVE_FN,
38};