Skip to main content

Action

Enum Action 

Source
pub enum Action {
    Read {
        path: String,
    },
    List {
        path: String,
    },
    Search {
        pattern: String,
        path: String,
    },
    Edit {
        path: String,
        old_text: String,
        new_text: String,
    },
    Run {
        command: String,
    },
}
Expand description

One action the model asked for.

Variants§

§

Read

Read a text file.

Fields

§path: String

The file, relative to the workspace root.

§

List

List a folder; an empty path or . is the root.

Fields

§path: String

The folder, relative to the workspace root.

§

Search

Find a piece of text in the files under a folder.

Fields

§pattern: String

The exact, case-sensitive text to find.

§path: String

Where to start; an empty path is the root.

§

Edit

Replace one exact piece of text in a file, or create a new file.

Fields

§path: String

The file, relative to the workspace root.

§old_text: String

The text to replace; it must occur exactly once. Empty to create a new file.

§new_text: String

The text that takes its place.

§

Run

Run a shell command in the workspace root.

Fields

§command: String

The command, given to sh -c.

Implementations§

Source§

impl Action

Source

pub fn definitions() -> Value

The five tools in Anthropic tool-use form: the JSON array for the request’s tools field, each with a name, a description and an input_schema.

Source

pub fn from_call(name: &str, input: &Value) -> Result<Self, String>

Reads a tool call. An unknown tool or a bad input gives a sentence for the model.

§Errors

When name is not one of the five tools, or input is not an object with the fields the tool needs as strings.

Source

pub fn needs_approval(&self) -> bool

Whether the person must approve the action first: editing and running do, reading does not.

Source

pub fn kind(&self) -> ActionKind

Which action this is.

Source

pub fn subject(&self) -> &str

What the action is about: the path for reading, listing and editing, the pattern for a search and the command for running.

Source

pub fn summary(&self) -> String

One short untranslated line for the transcript, such as read src/main.rs or run cargo test. An application that translates builds its own line from Self::kind and Self::subject.

Trait Implementations§

Source§

impl Clone for Action

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Action

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for Action

Source§

impl PartialEq for Action

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Action

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.