feat: define queued turn payload contract

This commit is contained in:
Edward Frazer
2026-05-20 04:23:32 +00:00
parent 79f044ed34
commit bca98f5762

View File

@@ -9,6 +9,7 @@ use super::ThreadSource;
use super::Turn;
use super::TurnEnvironmentParams;
use super::TurnItemsView;
use super::TurnStartParams;
use super::shared::v2_enum_from_core;
use codex_experimental_api_macros::ExperimentalApi;
use codex_protocol::config_types::Personality;
@@ -19,6 +20,8 @@ use codex_protocol::protocol::TokenUsage as CoreTokenUsage;
use codex_protocol::protocol::TokenUsageInfo as CoreTokenUsageInfo;
use codex_utils_absolute_path::AbsolutePathBuf;
use schemars::JsonSchema;
use schemars::r#gen::SchemaGenerator;
use schemars::schema::Schema;
use serde::Deserialize;
use serde::Serialize;
use serde_json::Value as JsonValue;
@@ -659,6 +662,27 @@ pub struct ThreadGoalClearResponse {
pub cleared: bool,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
#[serde(rename_all = "camelCase")]
#[ts(export_to = "v2/")]
pub struct ThreadQueueAddParams {
pub thread_id: String,
#[schemars(with = "QueuedTurnStartParamsSchema")]
pub turn_start_params: TurnStartParams,
}
struct QueuedTurnStartParamsSchema;
impl JsonSchema for QueuedTurnStartParamsSchema {
fn schema_name() -> String {
"QueuedTurnStartParams".to_string()
}
fn json_schema(generator: &mut SchemaGenerator) -> Schema {
TurnStartParams::json_schema(generator)
}
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq, JsonSchema, TS)]
#[serde(rename_all = "camelCase")]
#[ts(export_to = "v2/")]