Skip to main content

akribes_types/
lib.rs

1//! Wire-level types shared by the Akribes SDK and core.
2//!
3//! This crate holds the data shapes that travel between the Akribes server
4//! and its clients: [`event::EngineEvent`], [`value::Value`], the slice of
5//! the AST surfaced by SDKs ([`ast::TypeField`], [`ast::TypeRef`],
6//! [`ast::Span`], [`ast::ActorHint`]), and the error envelope
7//! ([`error::ErrorCode`], [`error::ErrorKind`], [`error::ErrorSource`],
8//! [`error::ErrorDetail`]).
9//!
10//! Splitting these out of `akribes-core` lets `akribes-sdk` (and other
11//! downstream consumers like puto) depend on a thin, dependency-light crate
12//! without pulling in the parser, analyzer, compiler, engine, or provider
13//! stack. `akribes-core` re-exports the moved types so existing
14//! `use akribes_core::event::EngineEvent` paths keep compiling.
15
16pub mod ast;
17pub mod error;
18pub mod event;
19pub mod value;