Class: HermesAgent::Client::Entities::Features

Inherits:
HermesAgent::Client::Entity show all
Defined in:
lib/hermes_agent/client/entities/capabilities.rb

Overview

The server's feature matrix (Capabilities#features).

Each reader returns whether the server advertises that feature: true when the flag is set, false when it is unset or absent (an unadvertised feature is treated as unsupported). Readers are best-effort; use HermesAgent::Client::Entity#[] / HermesAgent::Client::Entity#to_h for any feature not yet modeled here.

Instance Method Summary collapse

Methods inherited from HermesAgent::Client::Entity

#==, #[], #eql?, #hash, #to_h

Instance Method Details

#approval_events?boolean

Whether the server emits approval events.

Returns:

  • (boolean)


161
162
163
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 161

def approval_events?
  !!self["approval_events"]
end

#chat_completions?boolean

Whether the chat-completions endpoint is supported.

Returns:

  • (boolean)


81
82
83
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 81

def chat_completions?
  !!self["chat_completions"]
end

#chat_completions_streaming?boolean

Whether chat-completions streaming is supported.

Returns:

  • (boolean)


89
90
91
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 89

def chat_completions_streaming?
  !!self["chat_completions_streaming"]
end

#cors?boolean

Whether CORS is enabled.

Returns:

  • (boolean)


169
170
171
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 169

def cors?
  !!self["cors"]
end

#responses_api?boolean

Whether the Responses API is supported.

Returns:

  • (boolean)


97
98
99
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 97

def responses_api?
  !!self["responses_api"]
end

#responses_streaming?boolean

Whether Responses API streaming is supported.

Returns:

  • (boolean)


105
106
107
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 105

def responses_streaming?
  !!self["responses_streaming"]
end

#run_approval_response?boolean

Whether responding to a run approval request is supported.

Returns:

  • (boolean)


145
146
147
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 145

def run_approval_response?
  !!self["run_approval_response"]
end

#run_events_sse?boolean

Whether the run events SSE stream is supported.

Returns:

  • (boolean)


129
130
131
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 129

def run_events_sse?
  !!self["run_events_sse"]
end

#run_status?boolean

Whether run status polling is supported.

Returns:

  • (boolean)


121
122
123
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 121

def run_status?
  !!self["run_status"]
end

#run_stop?boolean

Whether stopping a run is supported.

Returns:

  • (boolean)


137
138
139
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 137

def run_stop?
  !!self["run_stop"]
end

#run_submission?boolean

Whether run submission is supported.

Returns:

  • (boolean)


113
114
115
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 113

def run_submission?
  !!self["run_submission"]
end

#session_continuity_headerString?

The request header carrying the session-continuity id, e.g. "X-Hermes-Session-Id".

Returns:

  • (String, nil)


178
179
180
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 178

def session_continuity_header
  self["session_continuity_header"]
end

#session_key_headerString?

The request header carrying the session key, e.g. "X-Hermes-Session-Key".

Returns:

  • (String, nil)


187
188
189
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 187

def session_key_header
  self["session_key_header"]
end

#tool_progress_events?boolean

Whether the server emits custom tool-progress events.

Returns:

  • (boolean)


153
154
155
# File 'lib/hermes_agent/client/entities/capabilities.rb', line 153

def tool_progress_events?
  !!self["tool_progress_events"]
end