1pub mod adapter_stats;
2pub mod checkpoint;
3pub mod completion_token;
4pub mod config;
5pub mod constants;
6pub mod error;
7pub mod format;
8pub mod pipeline_diff;
9pub mod program_schema;
10pub mod query;
11pub mod query_params;
12pub mod runtime_status;
13pub mod secret_ref;
14pub mod secret_resolver;
15pub mod serde_with_context;
16pub mod suspend;
17pub mod time_series;
18pub mod transaction;
19pub mod transport;
20
21mod serde_via_value {
22 use serde::{
23 Deserialize, Deserializer, Serialize, Serializer,
24 de::{DeserializeOwned, Error},
25 ser::Error as _,
26 };
27
28 pub fn deserialize<'de, D, T>(deserializer: D) -> Result<T, D::Error>
41 where
42 D: Deserializer<'de>,
43 T: DeserializeOwned,
44 {
45 serde_json::from_value(serde_json::Value::deserialize(deserializer)?)
46 .map_err(D::Error::custom)
47 }
48
49 pub fn serialize<T, S>(value: &T, serializer: S) -> Result<S::Ok, S::Error>
50 where
51 T: Serialize,
52 S: Serializer,
53 {
54 serde_json::to_value(value)
55 .map_err(S::Error::custom)?
56 .serialize(serializer)
57 }
58}