pub enum PermissionPosture {
Supervised,
Unattended,
}Expand description
How a session handles tool calls that need permission (#238).
The wire values mirror caliban’s PermissionPosture (ADR 0059) and the
CalibanTask CR permissionPosture enum (caliban-operator#80), so prospero
maps between them without translating. Authorization for
PermissionPosture::Unattended is enforced upstream — prospero’s admin
scope at the API, the Workspace’s agentPolicy in-cluster — never by the
caliban worker, which only honors and audits what it is handed.
Variants§
Supervised
The normal gate: a tool call needing approval is surfaced to a human, and denied when none is attached. The default, and fail-closed.
Unattended
No permission gate — every tool runs without asking. Privileged and audited, for long runs that must not stall.
Trait Implementations§
Source§impl Clone for PermissionPosture
impl Clone for PermissionPosture
Source§fn clone(&self) -> PermissionPosture
fn clone(&self) -> PermissionPosture
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreimpl Copy for PermissionPosture
Source§impl Debug for PermissionPosture
impl Debug for PermissionPosture
Source§impl Default for PermissionPosture
impl Default for PermissionPosture
Source§fn default() -> PermissionPosture
fn default() -> PermissionPosture
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for PermissionPosture
impl<'de> Deserialize<'de> for PermissionPosture
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionPosture, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PermissionPosture, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for PermissionPosture
Source§impl JsonSchema for PermissionPosture
impl JsonSchema for PermissionPosture
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Returns a string that uniquely identifies the schema produced by this type. Read more
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Generates a JSON Schema for this type. Read more
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
Whether JSON Schemas generated for this type should be included directly in parent schemas,
rather than being re-used where possible using the
$ref keyword. Read moreSource§impl PartialEq for PermissionPosture
impl PartialEq for PermissionPosture
Source§impl Serialize for PermissionPosture
impl Serialize for PermissionPosture
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,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for PermissionPosture
Auto Trait Implementations§
impl Freeze for PermissionPosture
impl RefUnwindSafe for PermissionPosture
impl Send for PermissionPosture
impl Sync for PermissionPosture
impl Unpin for PermissionPosture
impl UnsafeUnpin for PermissionPosture
impl UnwindSafe for PermissionPosture
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
Mutably borrows from an owned value. Read more
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
Compare self to
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
Checks if this value is equivalent to the given key. Read more
§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> ⓘ
Converts
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> ⓘ
Converts
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