grafbase_sdk/
lib.rs

1#![doc = include_str!(concat!(env!("CARGO_MANIFEST_DIR"), "/README.md"))]
2#![doc = "# Features"]
3#![doc = document_features::document_features!()]
4#![deny(missing_docs, unused_crate_dependencies)]
5
6mod cbor;
7mod component;
8#[doc(hidden)]
9pub mod extension;
10pub mod host_io;
11#[cfg(feature = "jq-selection")]
12pub mod jq_selection;
13#[cfg(feature = "test-utils")]
14pub mod test;
15pub mod types;
16mod wit;
17
18pub use component::SdkError;
19pub use extension::{
20    AuthenticationExtension, AuthorizationExtension, ContractsExtension, HooksExtension, IntoAuthorizeQueryOutput,
21    IntoOnRequestOutput, IntoSubscription, ResolverExtension, Subscription,
22};
23pub use grafbase_sdk_derive::{
24    AuthenticationExtension, AuthorizationExtension, ContractsExtension, HooksExtension, ResolverExtension,
25};
26
27use component::Component;
28
29#[cfg(target_arch = "wasm32")]
30#[unsafe(link_section = "sdk:minimum-gateway-version")]
31#[doc(hidden)]
32pub static MINIMUM_GATEWAY_VERSION: [u8; 6] =
33    *include_bytes!(concat!(env!("OUT_DIR"), "/minimum_gateway_version_bytes"));
34
35#[cfg(target_arch = "wasm32")]
36#[unsafe(link_section = "sdk:version")]
37#[doc(hidden)]
38pub static SDK_VERSION: [u8; 6] = *include_bytes!(concat!(env!("OUT_DIR"), "/sdk_version_bytes"));
39
40wit::export!(Component with_types_in wit);
41
42mod sealed {
43    pub trait Sealed {}
44}