enum
ACP::Protocol::ToolKind
Defined in:
acp/protocol/enums.crEnum 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
- .new(pull : JSON::PullParser) : self
-
.parse(value : String) : ToolKind
Parses a wire-format string into a ToolKind.
Class Method Summary
-
.parse?(value : String) : ToolKind | Nil
Parses a wire-format string into a ToolKind.
Instance Method Summary
-
#delete?
Returns
trueif this enum value equalsDelete -
#edit?
Returns
trueif this enum value equalsEdit -
#execute?
Returns
trueif this enum value equalsExecute -
#fetch?
Returns
trueif this enum value equalsFetch -
#move?
Returns
trueif this enum value equalsMove -
#other?
Returns
trueif this enum value equalsOther -
#read?
Returns
trueif this enum value equalsRead -
#search?
Returns
trueif this enum value equalsSearch -
#switch_mode?
Returns
trueif this enum value equalsSwitchMode -
#think?
Returns
trueif this enum value equalsThink -
#to_json(json : JSON::Builder) : Nil
Serializes this enum member by name.
-
#to_s : String
Returns the wire-format string for this tool kind.
Constructor Detail
Parses a wire-format string into a ToolKind. Raises ArgumentError if the string is not recognized.
Class Method Detail
Parses a wire-format string into a ToolKind. Returns nil if the string is not a recognized tool kind.
Instance Method Detail
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.