Class: ActionMCP::Server::SamplingRequest
- Inherits:
-
Object
- Object
- ActionMCP::Server::SamplingRequest
- Defined in:
- lib/action_mcp/server/sampling_request.rb
Class Attribute Summary collapse
-
.default_context ⇒ Object
readonly
Returns the value of attribute default_context.
-
.default_intelligence_priority ⇒ Object
readonly
Returns the value of attribute default_intelligence_priority.
-
.default_max_tokens ⇒ Object
readonly
Returns the value of attribute default_max_tokens.
-
.default_messages ⇒ Object
readonly
Returns the value of attribute default_messages.
-
.default_model_hints ⇒ Object
readonly
Returns the value of attribute default_model_hints.
-
.default_system_prompt ⇒ Object
readonly
Returns the value of attribute default_system_prompt.
-
.default_temperature ⇒ Object
readonly
Returns the value of attribute default_temperature.
Instance Attribute Summary collapse
-
#context ⇒ Object
readonly
Returns the value of attribute context.
-
#intelligence_priority ⇒ Object
Returns the value of attribute intelligence_priority.
-
#max_tokens ⇒ Object
Returns the value of attribute max_tokens.
-
#messages ⇒ Object
Returns the value of attribute messages.
-
#model_hints ⇒ Object
Returns the value of attribute model_hints.
-
#system_prompt ⇒ Object
Returns the value of attribute system_prompt.
-
#temperature ⇒ Object
Returns the value of attribute temperature.
Class Method Summary collapse
- .configure {|_self| ... } ⇒ Object
- .include_context(context = nil) ⇒ Object
- .intelligence_priority(priority = nil) ⇒ Object
- .max_tokens(tokens = nil) ⇒ Object
- .messages(messages = nil) ⇒ Object
- .model_hints(hints = nil) ⇒ Object
- .system_prompt(prompt = nil) ⇒ Object
- .temperature(temp = nil) ⇒ Object
Instance Method Summary collapse
- #add_message(content, role: "user") ⇒ Object
- #include_context=(value) ⇒ Object
-
#initialize {|_self| ... } ⇒ SamplingRequest
constructor
A new instance of SamplingRequest.
- #to_h ⇒ Object
Constructor Details
#initialize {|_self| ... } ⇒ SamplingRequest
Returns a new instance of SamplingRequest.
69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/action_mcp/server/sampling_request.rb', line 69 def initialize = self.class..dup @system_prompt = self.class.default_system_prompt @context = self.class.default_context @model_hints = self.class.default_model_hints.dup @intelligence_priority = self.class.default_intelligence_priority @max_tokens = self.class.default_max_tokens @temperature = self.class.default_temperature yield self if block_given? end |
Class Attribute Details
.default_context ⇒ Object (readonly)
Returns the value of attribute default_context.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_context @default_context end |
.default_intelligence_priority ⇒ Object (readonly)
Returns the value of attribute default_intelligence_priority.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_intelligence_priority @default_intelligence_priority end |
.default_max_tokens ⇒ Object (readonly)
Returns the value of attribute default_max_tokens.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_max_tokens @default_max_tokens end |
.default_messages ⇒ Object (readonly)
Returns the value of attribute default_messages.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def end |
.default_model_hints ⇒ Object (readonly)
Returns the value of attribute default_model_hints.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_model_hints @default_model_hints end |
.default_system_prompt ⇒ Object (readonly)
Returns the value of attribute default_system_prompt.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_system_prompt @default_system_prompt end |
.default_temperature ⇒ Object (readonly)
Returns the value of attribute default_temperature.
7 8 9 |
# File 'lib/action_mcp/server/sampling_request.rb', line 7 def default_temperature @default_temperature end |
Instance Attribute Details
#context ⇒ Object (readonly)
Returns the value of attribute context.
67 68 69 |
# File 'lib/action_mcp/server/sampling_request.rb', line 67 def context @context end |
#intelligence_priority ⇒ Object
Returns the value of attribute intelligence_priority.
66 67 68 |
# File 'lib/action_mcp/server/sampling_request.rb', line 66 def intelligence_priority @intelligence_priority end |
#max_tokens ⇒ Object
Returns the value of attribute max_tokens.
66 67 68 |
# File 'lib/action_mcp/server/sampling_request.rb', line 66 def max_tokens @max_tokens end |
#messages ⇒ Object
Returns the value of attribute messages.
67 68 69 |
# File 'lib/action_mcp/server/sampling_request.rb', line 67 def end |
#model_hints ⇒ Object
Returns the value of attribute model_hints.
66 67 68 |
# File 'lib/action_mcp/server/sampling_request.rb', line 66 def model_hints @model_hints end |
#system_prompt ⇒ Object
Returns the value of attribute system_prompt.
66 67 68 |
# File 'lib/action_mcp/server/sampling_request.rb', line 66 def system_prompt @system_prompt end |
#temperature ⇒ Object
Returns the value of attribute temperature.
66 67 68 |
# File 'lib/action_mcp/server/sampling_request.rb', line 66 def temperature @temperature end |
Class Method Details
.configure {|_self| ... } ⇒ Object
11 12 13 |
# File 'lib/action_mcp/server/sampling_request.rb', line 11 def configure yield self end |
.include_context(context = nil) ⇒ Object
29 30 31 32 |
# File 'lib/action_mcp/server/sampling_request.rb', line 29 def include_context(context = nil) @default_context = context if context @default_context end |
.intelligence_priority(priority = nil) ⇒ Object
39 40 41 42 |
# File 'lib/action_mcp/server/sampling_request.rb', line 39 def intelligence_priority(priority = nil) @default_intelligence_priority = priority if priority @intelligence_priority ||= 0.9 end |
.max_tokens(tokens = nil) ⇒ Object
44 45 46 47 |
# File 'lib/action_mcp/server/sampling_request.rb', line 44 def max_tokens(tokens = nil) @default_max_tokens = tokens if tokens @max_tokens ||= 500 end |
.messages(messages = nil) ⇒ Object
15 16 17 18 19 20 21 22 |
# File 'lib/action_mcp/server/sampling_request.rb', line 15 def ( = nil) if = .map do |msg| mutate_content(msg) end end ||= [] end |
.model_hints(hints = nil) ⇒ Object
34 35 36 37 |
# File 'lib/action_mcp/server/sampling_request.rb', line 34 def model_hints(hints = nil) @default_model_hints = hints if hints @model_hints ||= [] end |
.system_prompt(prompt = nil) ⇒ Object
24 25 26 27 |
# File 'lib/action_mcp/server/sampling_request.rb', line 24 def system_prompt(prompt = nil) @default_system_prompt = prompt if prompt @default_system_prompt end |
.temperature(temp = nil) ⇒ Object
49 50 51 52 |
# File 'lib/action_mcp/server/sampling_request.rb', line 49 def temperature(temp = nil) @default_temperature = temp if temp @temperature ||= 0.7 end |
Instance Method Details
#add_message(content, role: "user") ⇒ Object
91 92 93 94 95 96 97 98 |
# File 'lib/action_mcp/server/sampling_request.rb', line 91 def (content, role: "user") if content.is_a?(Content::Base) || (content.respond_to?(:to_h) && !content.is_a?(Hash)) << { role: role, content: content.to_h } else content = Content::Text.new(content, annotations: nil).to_h if content.is_a?(String) << { role: role, content: content } end end |
#include_context=(value) ⇒ Object
87 88 89 |
# File 'lib/action_mcp/server/sampling_request.rb', line 87 def include_context=(value) @context = value end |
#to_h ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/action_mcp/server/sampling_request.rb', line 100 def to_h { messages: .map { |msg| { role: msg[:role], content: msg[:content] } }, systemPrompt: system_prompt, includeContext: context, modelPreferences: { hints: model_hints.map { |name| { name: name } }, intelligencePriority: intelligence_priority }, maxTokens: max_tokens, temperature: temperature }.compact end |