enum ACP::Protocol::ToolKind

Defined in:

acp/protocol/enums.cr

Enum Members

Read = 0

Reading files or data.

Edit = 1

Modifying files or content.

Delete = 2

Removing files or data.

Move = 3

Moving or renaming files.

Search = 4

Searching for information.

Execute = 5

Running commands or code.

Think = 6

Internal reasoning or planning.

Fetch = 7

Retrieving external data.

SwitchMode = 8

Switching the current session mode.

Other = 9

Other tool types (default).

Constructors

Class Method Summary

Instance Method Summary

Constructor Detail

def self.new(pull : JSON::PullParser) : self #

[View source]
def self.parse(value : String) : ToolKind #

Parses a wire-format string into a ToolKind. Raises ArgumentError if the string is not recognized.


[View source]

Class Method Detail

def self.parse?(value : String) : ToolKind | Nil #

Parses a wire-format string into a ToolKind. Returns nil if the string is not a recognized tool kind.


[View source]

Instance Method Detail

def delete? #

Returns true if this enum value equals Delete


[View source]
def edit? #

Returns true if this enum value equals Edit


[View source]
def execute? #

Returns true if this enum value equals Execute


[View source]
def fetch? #

Returns true if this enum value equals Fetch


[View source]
def move? #

Returns true if this enum value equals Move


[View source]
def other? #

Returns true if this enum value equals Other


[View source]
def read? #

Returns true if this enum value equals Read


[View source]
def search? #

Returns true if this enum value equals Search


[View source]
def switch_mode? #

Returns true if this enum value equals SwitchMode


[View source]
def think? #

Returns true if this enum value equals Think


[View source]
def to_json(json : JSON::Builder) : Nil #
Description copied from struct Enum

Serializes this enum member by name.

For non-flags enums, the serialization is a JSON string. The value is the member name (see #to_s) transformed with String#underscore.

enum Stages
  INITIAL
  SECOND_STAGE
end

Stages::INITIAL.to_json      # => %("initial")
Stages::SECOND_STAGE.to_json # => %("second_stage")

For flags enums, the serialization is a JSON array including every flagged member individually serialized in the same way as a member of a non-flags enum. None is serialized as an empty array, All as an array containing all members.

@[Flags]
enum Sides
  LEFT
  RIGHT
end

Sides::LEFT.to_json                  # => %(["left"])
(Sides::LEFT | Sides::RIGHT).to_json # => %(["left","right"])
Sides::All.to_json                   # => %(["left","right"])
Sides::None.to_json                  # => %([])

ValueConverter.to_json offers a different serialization strategy based on the member value.


[View source]
def to_s : String #

Returns the wire-format string for this tool kind.


[View source]