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 serde::{Deserialize, Serialize};
8
9#[derive(Debug, Clone, Serialize, Deserialize)]
10pub struct ResponseError {
11    pub id: String,
12    #[serde(flatten)]
13    pub inner: crate::error::ResponseError,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct AgentCompletionCreateParams {
18    pub id: String,
19    #[serde(flatten)]
20    pub inner: Arc<crate::agent::completions::request::AgentCompletionCreateParams>,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize)]
24#[serde(untagged)]
25pub enum AgentCompletionRequest {
26    Begin(AgentCompletionCreateParams),
27    Continue(crate::agent::completions::response::streaming::AgentCompletionChunk),
28    Error(ResponseError),
29}
30
31#[derive(Debug, Clone, Serialize, Deserialize)]
32pub struct FunctionExecutionCreateParams {
33    pub id: String,
34    #[serde(flatten)]
35    pub inner: Arc<crate::functions::executions::request::FunctionExecutionCreateParams>,
36}
37
38#[derive(Debug, Clone, Serialize, Deserialize)]
39#[serde(untagged)]
40pub enum FunctionExecutionRequest {
41    Begin(FunctionExecutionCreateParams),
42    Continue(crate::functions::executions::response::streaming::FunctionExecutionChunk),
43    Error(ResponseError),
44}
45
46#[derive(Debug, Clone, Serialize, Deserialize)]
47pub struct FunctionInventionRecursiveCreateParams {
48    pub id: String,
49    #[serde(flatten)]
50    pub inner: Arc<crate::functions::inventions::recursive::request::FunctionInventionRecursiveCreateParams>,
51}
52
53#[derive(Debug, Clone, Serialize, Deserialize)]
54#[serde(untagged)]
55pub enum FunctionInventionRecursiveRequest {
56    Begin(FunctionInventionRecursiveCreateParams),
57    Continue(crate::functions::inventions::recursive::response::streaming::FunctionInventionRecursiveChunk),
58    Error(ResponseError),
59}
60
61#[derive(Debug, Clone, Serialize, Deserialize)]
62pub struct LaboratoryExecutionCreateParams {
63    pub id: String,
64    #[serde(flatten)]
65    pub inner: Arc<crate::laboratories::executions::request::LaboratoryExecutionCreateParams>,
66}
67
68#[derive(Debug, Clone, Serialize, Deserialize)]
69#[serde(untagged)]
70pub enum LaboratoryExecutionRequest {
71    Begin(LaboratoryExecutionCreateParams),
72    Continue(crate::laboratories::executions::response::streaming::LaboratoryExecutionChunk),
73    Error(ResponseError),
74}
75
76#[derive(Debug, Clone, Serialize, Deserialize)]
77#[serde(untagged)]
78pub enum Request {
79    AgentCompletion(AgentCompletionRequest),
80    FunctionExecution(FunctionExecutionRequest),
81    FunctionInventionRecursive(FunctionInventionRecursiveRequest),
82    LaboratoryExecution(LaboratoryExecutionRequest),
83}