Module: RubyLLM::MCP::Native::Messages::Responses
- Extended by:
- Helpers
- Defined in:
- lib/ruby_llm/mcp/native/messages/responses.rb
Overview
Response message builders
Responses are sent in reply to requests from the server
Class Method Summary
collapse
Methods included from Helpers
add_cursor, add_progress_token, format_completion_context, generate_id
Class Method Details
.elicitation(id:, action:, content: nil) ⇒ Object
66
67
68
69
70
71
72
73
74
75
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 66
def elicitation(id:, action:, content: nil)
{
jsonrpc: JSONRPC_VERSION,
id: id,
result: {
action: action,
content: content
}.compact
}
end
|
.error(id:, message:, code: JsonRpc::ErrorCodes::SERVER_ERROR, data: nil) ⇒ Object
77
78
79
80
81
82
83
84
85
86
87
88
89
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 77
def error(id:, message:, code: JsonRpc::ErrorCodes::SERVER_ERROR, data: nil)
error_object = {
code: code,
message: message
}
error_object[:data] = data if data
{
jsonrpc: JSONRPC_VERSION,
id: id,
error: error_object
}
end
|
.ping(id:) ⇒ Object
14
15
16
17
18
19
20
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 14
def ping(id:)
{
jsonrpc: JSONRPC_VERSION,
id: id,
result: {}
}
end
|
.result(id:, value:) ⇒ Object
39
40
41
42
43
44
45
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 39
def result(id:, value:)
{
jsonrpc: JSONRPC_VERSION,
id: id,
result: value
}
end
|
.roots_list(id:, roots_paths:) ⇒ Object
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 22
def roots_list(id:, roots_paths:)
roots_response = roots_paths.map do |path|
{
uri: "file://#{path}",
name: File.basename(path, ".*")
}
end
{
jsonrpc: JSONRPC_VERSION,
id: id,
result: {
roots: roots_response
}
}
end
|
.sampling_create_message(id:, message:, model:) ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'lib/ruby_llm/mcp/native/messages/responses.rb', line 47
def sampling_create_message(id:, message:, model:)
stop_reason = if message.respond_to?(:stop_reason) && message.stop_reason
snake_to_camel(message.stop_reason)
else
"endTurn"
end
{
jsonrpc: JSONRPC_VERSION,
id: id,
result: {
role: message.role,
content: format_content(message.content),
model: model,
stopReason: stop_reason
}
}
end
|