Internal Release v0.1.1

- implement `Prompt`
- adjust Tool approach
- update readme for tool calling
- document usage of `Prompt`
This commit is contained in:
Topher Bullock 2025-02-27 10:33:57 -05:00
commit a4df3b8688

View file

@ -0,0 +1,70 @@
# frozen_string_literal: true
require "test_helper"
module ModelContextProtocol
module JsonRPC
class ResponseTest < ActiveSupport::TestCase
test "Response#initialize sets attributes with result" do
result = { foo: "bar" }
id = 1
response = Response.new(result: result, id: id)
assert_equal "2.0", response.version
assert_equal result, response.result
assert_nil response.error
assert_equal id, response.id
end
test "Response#initialize sets attributes with error" do
error = Error.new(code: -32700, message: "Test error")
id = 1
response = Response.new(error: error, id: id)
assert_equal "2.0", response.version
assert_nil response.result
assert_equal error, response.error
assert_equal id, response.id
end
test "Response#to_h returns hash representation with result" do
result = { foo: "bar" }
id = 1
response = Response.new(result: result, id: id)
expected = {
jsonrpc: "2.0",
result: result,
id: id,
}
assert_equal expected, response.to_h
end
test "Response#to_h returns hash representation with error" do
error = Error.new(code: -32700, message: "Test error")
id = 1
response = Response.new(error: error, id: id)
expected = {
jsonrpc: "2.0",
error: error.to_h,
id: id,
}
assert_equal expected, response.to_h
end
test "Response#initialize raises InvalidResponse when both result and error present" do
assert_raises(InvalidResponse) do
Response.new(
result: { foo: "bar" },
error: Error.new(code: -32700, message: "Test error"),
)
end
end
test "Response#initialize raises InvalidResponse when neither result nor error present" do
assert_raises(InvalidResponse) do
Response.new
end
end
end
end
end