pub struct SpawnRequest {
pub prompt: String,
pub label: Option<String>,
pub model: Option<String>,
pub isolation_worktree: bool,
pub tool_allowlist: Option<Vec<String>>,
pub interactive: bool,
pub frontmatter_path: Option<PathBuf>,
pub timeout_secs: Option<u64>,
pub provider_ref: Option<String>,
pub permission_posture: PermissionPosture,
}Expand description
A Prospero-level request to launch a new agent. Worktree isolation is the
default for parallel work on one codebase; opt out with isolation_worktree: false.
Fields§
§prompt: StringInitial prompt / task.
label: Option<String>Optional human-readable label.
model: Option<String>Optional model override.
isolation_worktree: boolRun in an isolated git worktree. Defaults to true via
SpawnRequest::new.
tool_allowlist: Option<Vec<String>>Optional tool allowlist.
interactive: boolRun in interactive mode (the worker awaits operator input instead of
finishing). Defaults to false via SpawnRequest::new.
frontmatter_path: Option<PathBuf>Optional agent-template / frontmatter markdown file, forwarded to
caliband’s SpawnSpec.frontmatter_path. None ⇒ no template (#6).
timeout_secs: Option<u64>Kill the agent after this many seconds of wall-clock time (#221).
None ⇒ it runs until it finishes or someone stops it.
Enforced by prospero, not caliband: the deadline is recorded in the event log at spawn, so it survives the replica that set it.
provider_ref: Option<String>Which of the target workspace’s named providers to bind, under the k8s
config plane (→ CalibanTask.spec.providerRef). None ⇒ the operator
picks the workspace’s defaultProvider. Ignored by LocalFleet, whose
provider comes from the repo’s stored config. (#142)
permission_posture: PermissionPostureHow this session handles tool calls needing permission (#238). Defaults
to PermissionPosture::Supervised via SpawnRequest::new.
Authorization for Unattended is the caller’s job — the API requires an
admin scope (ADR-0010) and, in-cluster, the operator additionally
requires the Workspace to allow it.
Implementations§
Trait Implementations§
Source§impl Clone for SpawnRequest
impl Clone for SpawnRequest
Source§fn clone(&self) -> SpawnRequest
fn clone(&self) -> SpawnRequest
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 SpawnRequest
impl Debug for SpawnRequest
Source§impl<'de> Deserialize<'de> for SpawnRequest
impl<'de> Deserialize<'de> for SpawnRequest
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 PartialEq for SpawnRequest
impl PartialEq for SpawnRequest
Source§impl Serialize for SpawnRequest
impl Serialize for SpawnRequest
impl StructuralPartialEq for SpawnRequest
Auto Trait Implementations§
impl Freeze for SpawnRequest
impl RefUnwindSafe for SpawnRequest
impl Send for SpawnRequest
impl Sync for SpawnRequest
impl Unpin for SpawnRequest
impl UnsafeUnpin for SpawnRequest
impl UnwindSafe for SpawnRequest
Blanket Implementations§
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> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> 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