livekit_api/lib.rs
1// Copyright 2025 LiveKit, Inc.
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15#![doc = include_str!("../README.md")]
16
17// The token implementation lives in the livekit-token crate. This alias keeps
18// the historical `livekit_api::access_token::*` paths working, and remains the
19// documented, supported way to reach these types.
20#[cfg(feature = "access-token")]
21#[doc(inline)]
22pub use livekit_token as access_token;
23
24#[cfg(feature = "services")]
25pub mod services;
26
27// The signalling client lives in the livekit-signaling crate. Unlike
28// `access_token`, this path is NOT supported API: nothing in the workspace uses
29// it any more and it exists only so existing dependents keep compiling.
30//
31// The deprecation fires on `use livekit_api::signal_client;` but not on
32// `use livekit_api::signal_client::{Item}` — rustc only lints a deprecated
33// module when it is the final path segment. `#[doc(hidden)]` keeps it out of the
34// published docs so it stops reading as blessed API.
35#[cfg(feature = "signal-client")]
36#[deprecated(note = "internal SDK API; depend on livekit-signaling directly")]
37#[doc(hidden)]
38pub mod signal_client {
39 pub use livekit_signaling::*;
40}
41
42#[cfg(feature = "services")]
43mod http_client;
44
45#[cfg(feature = "webhooks")]
46pub mod webhooks;