pub struct ThreadForkParams {Show 20 fields
pub thread_id: String,
pub last_turn_id: Option<String>,
pub before_turn_id: Option<String>,
pub path: Option<PathBuf>,
pub model: Option<String>,
pub model_provider: Option<String>,
pub service_tier: Option<Option<String>>,
pub cwd: Option<String>,
pub runtime_workspace_roots: Option<Vec<AbsolutePathBuf>>,
pub approval_policy: Option<AskForApproval>,
pub approvals_reviewer: Option<ApprovalsReviewer>,
pub sandbox: Option<SandboxMode>,
pub permissions: Option<String>,
pub config: Option<HashMap<String, Value>>,
pub base_instructions: Option<String>,
pub developer_instructions: Option<String>,
pub ephemeral: bool,
pub thread_source: Option<ThreadSource>,
pub exclude_turns: bool,
pub defer_goal_continuation: bool,
}Expand description
There are two ways to fork a thread:
- By thread_id: load the thread from disk by thread_id and fork it into a new thread.
- By path: load the thread from disk by path and fork it into a new thread.
If using a non-empty path, the thread_id param will be ignored. Empty string path values are treated as absent.
Prefer using thread_id whenever possible.
Fields§
§thread_id: String§last_turn_id: Option<String>Optional last turn id to fork through, inclusive.
When specified, turns after last_turn_id are omitted from the fork.
The referenced turn cannot be in progress.
before_turn_id: Option<String>Optional turn id to fork before, excluding that turn and all later turns.
Cannot be combined with last_turn_id.
path: Option<PathBuf>[UNSTABLE] Specify the rollout path to fork from. If specified, the thread_id param will be ignored.
model: Option<String>Configuration overrides for the forked thread, if any.
model_provider: Option<String>§service_tier: Option<Option<String>>§cwd: Option<String>§runtime_workspace_roots: Option<Vec<AbsolutePathBuf>>Replace the thread’s runtime workspace roots. Paths must be absolute.
approval_policy: Option<AskForApproval>§approvals_reviewer: Option<ApprovalsReviewer>Override where approval requests are routed for review on this thread and subsequent turns.
sandbox: Option<SandboxMode>§permissions: Option<String>Named profile id for the forked thread. Cannot be combined with
sandbox.
config: Option<HashMap<String, Value>>§base_instructions: Option<String>§developer_instructions: Option<String>§ephemeral: bool§thread_source: Option<ThreadSource>Optional client-supplied analytics source classification for this forked thread.
exclude_turns: boolWhen true, return only thread metadata and live fork state without
populating thread.turns. This is useful when the client plans to call
thread/turns/list immediately after forking.
defer_goal_continuation: boolWhen true, carry the source thread’s current goal into the fork without starting its initial automatic continuation. The next explicit turn owns the goal lifecycle, and normal automatic continuation resumes after it.
Trait Implementations§
Source§impl Clone for ThreadForkParams
impl Clone for ThreadForkParams
Source§fn clone(&self) -> ThreadForkParams
fn clone(&self) -> ThreadForkParams
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ThreadForkParams
impl Debug for ThreadForkParams
Source§impl Default for ThreadForkParams
impl Default for ThreadForkParams
Source§fn default() -> ThreadForkParams
fn default() -> ThreadForkParams
Source§impl<'de> Deserialize<'de> for ThreadForkParams
impl<'de> Deserialize<'de> for ThreadForkParams
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl ExperimentalApi for ThreadForkParams
impl ExperimentalApi for ThreadForkParams
Source§fn experimental_reason(&self) -> Option<&'static str>
fn experimental_reason(&self) -> Option<&'static str>
None when the value is entirely stable.Source§impl JsonSchema for ThreadForkParams
impl JsonSchema for ThreadForkParams
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref keyword. Read moreSource§impl PartialEq for ThreadForkParams
impl PartialEq for ThreadForkParams
Source§impl Serialize for ThreadForkParams
impl Serialize for ThreadForkParams
impl StructuralPartialEq for ThreadForkParams
Source§impl TS for ThreadForkParams
impl TS for ThreadForkParams
Source§type WithoutGenerics = ThreadForkParams
type WithoutGenerics = ThreadForkParams
WithoutGenerics should just be Self.
If the type does have generic parameters, then all generic parameters must be replaced with
a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read moreSource§type OptionInnerType = ThreadForkParams
type OptionInnerType = ThreadForkParams
std::option::Option<T>, then this associated type is set to T.
All other implementations of TS should set this type to Self instead.Source§fn docs() -> Option<String>
fn docs() -> Option<String>
TS is derived, docs are
automatically read from your doc comments or #[doc = ".."] attributesSource§fn decl_concrete() -> String
fn decl_concrete() -> String
TS::decl().
If this type is not generic, then this function is equivalent to TS::decl().Source§fn decl() -> String
fn decl() -> String
type User = { user_id: number, ... }.
This function will panic if the type has no declaration. Read moreSource§fn inline() -> String
fn inline() -> String
{ user_id: number }.
This function will panic if the type cannot be inlined.Source§fn inline_flattened() -> String
fn inline_flattened() -> String
This function will panic if the type cannot be flattened.
Source§fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_generics(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn output_path() -> Option<PathBuf>
fn output_path() -> Option<PathBuf>
T should be exported.The returned path does not include the base directory from
TS_RS_EXPORT_DIR. Read moreSource§fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
fn visit_dependencies(v: &mut impl TypeVisitor)where
Self: 'static,
Source§fn dependencies() -> Vec<Dependency>where
Self: 'static,
fn dependencies() -> Vec<Dependency>where
Self: 'static,
Source§fn export() -> Result<(), ExportError>where
Self: 'static,
fn export() -> Result<(), ExportError>where
Self: 'static,
TS::export_all. Read moreSource§fn export_all() -> Result<(), ExportError>where
Self: 'static,
fn export_all() -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
fn export_all_to(out_dir: impl AsRef<Path>) -> Result<(), ExportError>where
Self: 'static,
To export only this type, without its dependencies, use
TS::export. Read moreSource§fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
fn export_to_string() -> Result<String, ExportError>where
Self: 'static,
Auto Trait Implementations§
impl Freeze for ThreadForkParams
impl RefUnwindSafe for ThreadForkParams
impl Send for ThreadForkParams
impl Sync for ThreadForkParams
impl Unpin for ThreadForkParams
impl UnsafeUnpin for ThreadForkParams
impl UnwindSafe for ThreadForkParams
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more