#![allow(clippy::large_enum_variant)]
#![allow(deprecated)]
#![allow(dead_code)]
#![allow(unused_imports)]
#![allow(rustdoc::invalid_html_tags)]
use std::collections::HashMap;
pub(crate) use lifecycle_diagnostics::LifecycleDiagnosticEvent;
use serde::{Deserialize, Serialize};
pub use session_events::{
AbortReason, AgentModelPolicy, AssistedApprovalAssessment, AutoTier, BlockedPermissionAction,
ContextTier, IdeConnectedInfo, IdeSelection, IndexedSearchState, ManagedPermissionsContext,
ManagedSettingsResolvedSource, McpOauthHttpResponse, McpOauthWWWAuthenticateParams,
McpServerMetadata, McpServerSource, McpServerStatus, McpSkillOrigin, ModelChangeSource,
ModelProviderKind, ModelProviderRef, OmittedBinaryOmittedReason, PermissionDecisionSource,
PermissionMode, PermissionPromptRequest, PermissionRule, PolicyHelperCapabilities,
PolicyHelperFailure, ProviderQuotaState, ReasoningSummary, RemediationAction,
SessionLimitsConfig, SessionMode, ShutdownType, SkillSource, TaskBlocker,
TaskCompletionOutcome, UsageGetMetricsResult, UserToolSessionApproval, Verbosity,
};
use super::sdk_api_shared::*;
use crate::generated::{lifecycle_diagnostics, session_events};
use crate::types::{RequestId, SessionEvent, SessionId};
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAbortRequest {
pub session_id: SessionId,
pub run_id: String,
pub execution_token: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAckResult {}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAgentOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub agent: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub context_tier: Option<ContextTier>,
#[serde(skip_serializing_if = "Option::is_none")]
pub label: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub model: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub reasoning_effort: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub schema: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAgentRequest {
pub execution_token: String,
pub opts: WorkflowAgentOptions,
pub prompt: String,
pub workflow_run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAgentResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowCancelRequest {
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowExecuteRequest {
pub session_id: SessionId,
pub name: String,
pub run_id: String,
pub execution_token: String,
pub args: serde_json::Value,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowExecuteResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub result: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowGetRunProgressRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub after_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub before_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
#[serde(skip_serializing_if = "Option::is_none")]
pub phase_id: Option<String>,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowGetRunRequest {
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowJournalGetRequest {
pub execution_token: String,
pub key: String,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowJournalGetResult {
pub hit: bool,
#[serde(skip_serializing_if = "Option::is_none")]
pub result_json: Option<serde_json::Value>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowJournalPutRequest {
pub execution_token: String,
pub key: String,
pub result_json: serde_json::Value,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowListRunsRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub after_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub before_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub limit: Option<i32>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowListRunsResult {
#[serde(skip_serializing_if = "Option::is_none")]
pub has_more_newer: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub newest_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub oldest_seq: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub omitted_older: Option<i64>,
pub runs: Vec<WorkflowRunSummary>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowLogLine {
pub kind: WorkflowLogLineKind,
pub seq: i64,
pub text: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowLogRequest {
pub execution_token: String,
pub lines: Vec<WorkflowLogLine>,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowPauseCheckpointRequest {
pub execution_token: String,
pub key: String,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowPauseCheckpointResult {
pub action: WorkflowPauseCheckpointAction,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowPauseRequest {
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowRunLimits {
#[serde(skip_serializing_if = "Option::is_none")]
pub max_ai_credits: Option<f64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_concurrent_subagents: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max_total_subagents: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub timeout_seconds: Option<f64>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowResumeRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub limits: Option<WorkflowRunLimits>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_phase_names: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub notify_on_complete: Option<bool>,
pub run_id: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowResumeResult {
pub run: WorkflowRunResult,
pub workflow_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowRunDetail {
pub active_segment_started_at: Option<i64>,
pub agents: Vec<WorkflowAgentSummary>,
pub approved: Option<WorkflowDeclaredLimits>,
pub can_resume: bool,
pub completed_at: Option<i64>,
pub consumed: WorkflowRunConsumed,
pub created_at: i64,
pub current_phase: Option<WorkflowCurrentPhase>,
pub declared_limits: WorkflowDeclaredLimits,
pub declared_phase_count: i64,
pub description: String,
pub live_agent_count: i64,
pub observed_at: i64,
pub phases: Vec<WorkflowPhaseObservation>,
pub progress: WorkflowProgressPage,
pub revision: i64,
pub run_id: String,
pub started_at: Option<i64>,
pub status: WorkflowRunStatus,
pub terminal: Option<WorkflowRunTerminal>,
pub total_spawned_agent_count: i64,
pub updated_at: i64,
pub workflow_name: String,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowRunOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub limits: Option<WorkflowRunLimits>,
#[serde(skip_serializing_if = "Option::is_none")]
pub log_phase_names: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub notify_on_complete: Option<bool>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resume_from_run_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowRunRequest {
pub args: serde_json::Value,
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub options: Option<WorkflowRunOptions>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct WorkflowToolResumeRequest {
#[serde(skip_serializing_if = "Option::is_none")]
pub limits: Option<WorkflowRunLimits>,
pub run_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub tool_call_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct WorkflowToolRunOptions {
#[serde(skip_serializing_if = "Option::is_none")]
pub limits: Option<WorkflowRunLimits>,
#[serde(skip_serializing_if = "Option::is_none")]
pub resume_from_run_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub(crate) struct WorkflowToolRunRequest {
pub args: serde_json::Value,
pub name: String,
#[doc(hidden)]
#[serde(skip_serializing_if = "Option::is_none")]
pub(crate) options: Option<WorkflowToolRunOptions>,
#[serde(skip_serializing_if = "Option::is_none")]
pub tool_call_id: Option<String>,
}
#[derive(Debug, Clone, Default, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct WorkflowAbortResult {}
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
pub enum WorkflowDurableOperation {
#[serde(rename = "createRun")]
CreateRun,
#[serde(rename = "markRunStarted")]
MarkRunStarted,
#[serde(rename = "finishRun")]
FinishRun,
#[serde(rename = "reserveAgent")]
ReserveAgent,
#[serde(rename = "releaseAgent")]
ReleaseAgent,
#[serde(rename = "chargeCredit")]
ChargeCredit,
#[serde(rename = "addElapsed")]
AddElapsed,
#[serde(rename = "reconcileCreditTotal")]
ReconcileCreditTotal,
#[serde(rename = "journalGet")]
JournalGet,
#[serde(rename = "journalPut")]
JournalPut,
#[serde(rename = "refreshLease")]
RefreshLease,
#[default]
#[serde(other)]
Unknown,
}
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
pub enum WorkflowRunFailureKind {
#[serde(rename = "maxTotalSubagents")]
MaxTotalSubagents,
#[serde(rename = "timeoutSeconds")]
TimeoutSeconds,
#[serde(rename = "maxAiCredits")]
MaxAiCredits,
#[default]
#[serde(other)]
Unknown,
}