fiberplane_models/providers/
request.rs1use crate::blobs::Blob;
2#[cfg(feature = "fp-bindgen")]
3use fp_bindgen::prelude::Serializable;
4use serde::{Deserialize, Serialize};
5use typed_builder::TypedBuilder;
6
7pub type ProviderConfig = serde_json::Value;
8
9#[derive(Debug, Deserialize, Serialize, TypedBuilder)]
10#[cfg_attr(
11 feature = "fp-bindgen",
12 derive(Serializable),
13 fp(rust_module = "fiberplane_models::providers")
14)]
15#[non_exhaustive]
16#[serde(rename_all = "camelCase")]
17pub struct ProviderRequest {
18 #[builder(setter(into))]
22 pub query_type: String,
23
24 #[builder(setter(into))]
30 pub query_data: Blob,
31
32 pub config: ProviderConfig,
34
35 #[builder(default, setter(into, strip_option))]
39 #[serde(default, skip_serializing_if = "Option::is_none")]
40 pub previous_response: Option<Blob>,
41}