Skip to main content

objectiveai_sdk/http/viewer/
request.rs

1//! Wire shapes for events the viewer client POSTs to a remote viewer's
2//! HTTP server. The api server constructs these and pushes them through
3//! [`super::Client`]; standalone SDK consumers can do the same.
4
5use std::sync::Arc;
6
7use schemars::JsonSchema;
8use serde::{Deserialize, Serialize};
9
10#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
11#[schemars(rename = "http.viewer.ResponseError")]
12pub struct ResponseError {
13    pub id: String,
14    #[serde(flatten)]
15    pub inner: crate::error::ResponseError,
16}
17
18#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
19#[schemars(rename = "http.viewer.AgentCompletionCreateParams")]
20pub struct AgentCompletionCreateParams {
21    pub id: String,
22    #[serde(flatten)]
23    pub inner:
24        Arc<crate::agent::completions::request::AgentCompletionCreateParams>,
25}
26
27#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
28#[schemars(rename = "http.viewer.AgentCompletionRequest")]
29#[serde(untagged)]
30pub enum AgentCompletionRequest {
31    #[schemars(title = "Begin")]
32    Begin(AgentCompletionCreateParams),
33    #[schemars(title = "Continue")]
34    Continue(
35        crate::agent::completions::response::streaming::AgentCompletionChunk,
36    ),
37    #[schemars(title = "Error")]
38    Error(ResponseError),
39}
40
41#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
42#[schemars(rename = "http.viewer.FunctionExecutionCreateParams")]
43pub struct FunctionExecutionCreateParams {
44    pub id: String,
45    #[serde(flatten)]
46    pub inner: Arc<
47        crate::functions::executions::request::FunctionExecutionCreateParams,
48    >,
49}
50
51#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
52#[schemars(rename = "http.viewer.FunctionExecutionRequest")]
53#[serde(untagged)]
54pub enum FunctionExecutionRequest {
55    #[schemars(title = "Begin")]
56    Begin(FunctionExecutionCreateParams),
57    #[schemars(title = "Continue")]
58    Continue(crate::functions::executions::response::streaming::FunctionExecutionChunk),
59    #[schemars(title = "Error")]
60    Error(ResponseError),
61}
62
63#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
64#[schemars(rename = "http.viewer.FunctionInventionRecursiveCreateParams")]
65pub struct FunctionInventionRecursiveCreateParams {
66    pub id: String,
67    #[serde(flatten)]
68    pub inner: Arc<crate::functions::inventions::recursive::request::FunctionInventionRecursiveCreateParams>,
69}
70
71#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
72#[schemars(rename = "http.viewer.FunctionInventionRecursiveRequest")]
73#[serde(untagged)]
74pub enum FunctionInventionRecursiveRequest {
75    #[schemars(title = "Begin")]
76    Begin(FunctionInventionRecursiveCreateParams),
77    #[schemars(title = "Continue")]
78    Continue(crate::functions::inventions::recursive::response::streaming::FunctionInventionRecursiveChunk),
79    #[schemars(title = "Error")]
80    Error(ResponseError),
81}
82
83#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
84#[schemars(rename = "http.viewer.LaboratoryExecutionCreateParams")]
85pub struct LaboratoryExecutionCreateParams {
86    pub id: String,
87    #[serde(flatten)]
88    pub inner: Arc<crate::laboratories::executions::request::LaboratoryExecutionCreateParams>,
89}
90
91#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
92#[schemars(rename = "http.viewer.LaboratoryExecutionRequest")]
93#[serde(untagged)]
94pub enum LaboratoryExecutionRequest {
95    #[schemars(title = "Begin")]
96    Begin(LaboratoryExecutionCreateParams),
97    #[schemars(title = "Continue")]
98    Continue(crate::laboratories::executions::response::streaming::LaboratoryExecutionChunk),
99    #[schemars(title = "Error")]
100    Error(ResponseError),
101}
102
103#[derive(Debug, Clone, Serialize, Deserialize, JsonSchema)]
104#[schemars(rename = "http.viewer.Request")]
105#[serde(untagged)]
106pub enum Request {
107    #[schemars(title = "AgentCompletion")]
108    AgentCompletion(AgentCompletionRequest),
109    #[schemars(title = "FunctionExecution")]
110    FunctionExecution(FunctionExecutionRequest),
111    #[schemars(title = "FunctionInventionRecursive")]
112    FunctionInventionRecursive(FunctionInventionRecursiveRequest),
113    #[schemars(title = "LaboratoryExecution")]
114    LaboratoryExecution(LaboratoryExecutionRequest),
115    #[schemars(title = "AgentsFavoritesChanged")]
116    AgentsFavoritesChanged(crate::agent::favorites::ChangedNotification),
117}