pub struct SpawnBody {
pub prompt: String,
pub label: Option<String>,
pub model: Option<String>,
pub isolation: Option<String>,
pub tool_allowlist: Option<Vec<String>>,
pub interactive: bool,
pub frontmatter_path: Option<String>,
pub provider_ref: Option<String>,
pub timeout_secs: Option<u64>,
pub permission_posture: PermissionPosture,
}Expand description
Body for POST /api/workspaces/{repo}/agents.
Fields§
§prompt: StringInitial prompt / task.
label: Option<String>Optional label.
model: Option<String>Optional model override.
isolation: Option<String>Isolation mode: "worktree" (default) or "shared".
tool_allowlist: Option<Vec<String>>Optional tool allowlist.
interactive: boolRun the agent in interactive mode (awaits operator input).
frontmatter_path: Option<String>Optional agent-template / frontmatter markdown file path (#6).
provider_ref: Option<String>Which named workspace provider to bind (k8s config plane →
CalibanTask.providerRef). None ⇒ the workspace’s default (#142).
timeout_secs: Option<u64>Kill the agent after this many seconds of wall-clock time (#221). Absent ⇒ no limit. Enforced by prospero, not by the agent.
permission_posture: PermissionPostureHow this session handles tool calls needing permission (#238). Absent ⇒
PermissionPosture::Supervised. Asking for
PermissionPosture::Unattended requires an admin-scope credential
(ADR-0010); the handler rejects it otherwise.
Implementations§
Source§impl SpawnBody
impl SpawnBody
Sourcepub fn isolation_worktree(&self) -> bool
pub fn isolation_worktree(&self) -> bool
Whether this spawn should get an isolated git worktree.
Isolation defaults to worktree; only the explicit string "shared" opts
out. Kept here (not in the api adapter) because it is the meaning of the
field, and both ends need to agree on it — the dashboard reads it back
to render the isolation control.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for SpawnBody
impl<'de> Deserialize<'de> for SpawnBody
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpawnBody, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SpawnBody, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
impl Eq for SpawnBody
Source§impl JsonSchema for SpawnBody
impl JsonSchema for SpawnBody
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 inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl Serialize for SpawnBody
impl Serialize for SpawnBody
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for SpawnBody
Auto Trait Implementations§
impl Freeze for SpawnBody
impl RefUnwindSafe for SpawnBody
impl Send for SpawnBody
impl Sync for SpawnBody
impl Unpin for SpawnBody
impl UnsafeUnpin for SpawnBody
impl UnwindSafe for SpawnBody
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
§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