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#[cfg(feature = "services")]
28mod public_api;
29
30// The signalling client lives in the livekit-signaling crate. Unlike
31// `access_token`, this path is NOT supported API: nothing in the workspace uses
32// it any more and it exists only so existing dependents keep compiling.
33//
34// The deprecation fires on `use livekit_api::signal_client;` but not on
35// `use livekit_api::signal_client::{Item}` — rustc only lints a deprecated
36// module when it is the final path segment. `#[doc(hidden)]` keeps it out of the
37// published docs so it stops reading as blessed API.
38#[cfg(feature = "signal-client")]
39#[deprecated(note = "internal SDK API; depend on livekit-signaling directly")]
40#[doc(hidden)]
41pub mod signal_client {
42 pub use livekit_signaling::*;
43}
44
45#[cfg(feature = "services")]
46mod http_client;
47
48#[cfg(feature = "webhooks")]
49pub mod webhooks;