Merge branch 'v0.9.x'
This commit is contained in:
commit
b12157201d
1 changed files with 1 additions and 23 deletions
|
|
@ -265,30 +265,8 @@ class Server:
|
||||||
async def handler(req: types.CallToolRequest):
|
async def handler(req: types.CallToolRequest):
|
||||||
try:
|
try:
|
||||||
results = await func(req.params.name, (req.params.arguments or {}))
|
results = await func(req.params.name, (req.params.arguments or {}))
|
||||||
content = []
|
|
||||||
for result in results:
|
|
||||||
match result:
|
|
||||||
case str() as text:
|
|
||||||
content.append(
|
|
||||||
types.TextContent(type="text", text=text)
|
|
||||||
)
|
|
||||||
case types.ImageContent() as img:
|
|
||||||
content.append(
|
|
||||||
types.ImageContent(
|
|
||||||
type="image",
|
|
||||||
data=img.data,
|
|
||||||
mimeType=img.mimeType,
|
|
||||||
)
|
|
||||||
)
|
|
||||||
case types.EmbeddedResource() as resource:
|
|
||||||
content.append(
|
|
||||||
types.EmbeddedResource(
|
|
||||||
type="resource", resource=resource.resource
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
return types.ServerResult(
|
return types.ServerResult(
|
||||||
types.CallToolResult(content=content, isError=False)
|
types.CallToolResult(content=list(results), isError=False)
|
||||||
)
|
)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return types.ServerResult(
|
return types.ServerResult(
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue