struct ACP::Protocol::ConfigOption

Overview

A single session configuration option and its current state. See: https://agentclientprotocol.com/protocol/session-config-options#configoption

Included Modules

Defined in:

acp/protocol/types.cr

Constructors

Instance Method Summary

Constructor Detail

def self.new(id : String, name : String, config_type : String = "select", current_value : String | Nil = nil, options : Array(ConfigOptionValue) | Nil = nil, description : String | Nil = nil, category : String | Nil = nil, meta : Hash(String, JSON::Any) | Nil = nil) #

[View source]
def self.new(pull : JSON::PullParser) #

[View source]

Instance Method Detail

def category : String | Nil #

Optional semantic category to help Clients provide consistent UX. Reserved categories: "mode", "model", "thought_level". Names beginning with _ are free for custom use.


[View source]
def category=(category : String | Nil) #

Optional semantic category to help Clients provide consistent UX. Reserved categories: "mode", "model", "thought_level". Names beginning with _ are free for custom use.


[View source]
def config_type : String #

The type of input control (required). Currently only "select" is supported.


[View source]
def config_type=(config_type : String) #

The type of input control (required). Currently only "select" is supported.


[View source]
def current_value : String | Nil #

The currently selected value (required).


[View source]
def current_value=(current_value : String | Nil) #

The currently selected value (required).


[View source]
def description : String | Nil #

Optional description providing more details.


[View source]
def description=(description : String | Nil) #

Optional description providing more details.


[View source]
def id : String #

Unique identifier for this config option (required).


[View source]
def id=(id : String) #

Unique identifier for this config option (required).


[View source]
def label : String #

Backward-compatible alias for #name.


[View source]
def meta : Hash(String, JSON::Any) | Nil #

Extension metadata.


[View source]
def meta=(meta : Hash(String, JSON::Any) | Nil) #

Extension metadata.


[View source]
def name : String #

Human-readable label (required).


[View source]
def name=(name : String) #

Human-readable label (required).


[View source]
def options : Array(ConfigOptionValue) | Nil #

The available values for this option (required for "select" type).


[View source]
def options=(options : Array(ConfigOptionValue) | Nil) #

The available values for this option (required for "select" type).


[View source]
def value : String | Nil #

Backward-compatible alias for #current_value.


[View source]