Skip to main content

RefactorSession

Struct RefactorSession 

Source
pub struct RefactorSession { /* private fields */ }
Expand description

One server’s refactor surface: the confirmations it has issued and whether it may write.

The write gate lives here rather than at each call site so there is exactly one place that decides it, and it is fixed when the session is created — a gate re-read per call could be changed underneath a running server.

Implementations§

Source§

impl RefactorSession

Source

pub fn new(write_allowed: bool) -> Self

Opens a session. write_allowed is the environment gate, already decided by the host.

Source

pub fn read_only() -> Self

A session that will never write, for callers that only plan.

Named rather than a bare new(false) so a caller that meant to pass a real gate cannot silently get a closed one — which is exactly the bug this replaced.

Source

pub fn call( &self, state: &RepositoryState, name: &str, arguments: &Value, ) -> Result<Value, String>

Calls one refactor operation.

§Errors

Returns an error only when name is not a tool the contract declares. Every other refusal is a value carrying a contract status, because an agent branches on statuses and cannot branch on a transport error.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.