SimpleSallap:SimpleMCP:SendMcp expects dataclass and uses asdict

This commit is contained in:
hanishkvc 2025-12-07 19:36:07 +05:30
parent bc9dd580b9
commit f75f93f8d9
2 changed files with 8 additions and 3 deletions

View File

@ -19,12 +19,14 @@ import ssl
import traceback import traceback
import json import json
from typing import Any from typing import Any
from dataclasses import asdict
import tcpdf as mTCPdf import tcpdf as mTCPdf
import tcweb as mTCWeb import tcweb as mTCWeb
import toolcall as mTC import toolcall as mTC
import config as mConfig import config as mConfig
gMe = mConfig.Config() gMe = mConfig.Config()
@ -92,7 +94,8 @@ class ProxyHandler(http.server.BaseHTTPRequestHandler):
# Add CORS for browser fetch, just in case # Add CORS for browser fetch, just in case
self.send_header('Access-Control-Allow-Origin', '*') self.send_header('Access-Control-Allow-Origin', '*')
self.end_headers() self.end_headers()
self.wfile.write(json.dumps(body).encode('utf-8')) data = asdict(body)
self.wfile.write(json.dumps(data).encode('utf-8'))
def mcp_toolscall(self, oRPC: Any): def mcp_toolscall(self, oRPC: Any):
""" """

View File

@ -111,9 +111,11 @@ class ToolCall():
return ToolCallMeta("function", tcf) return ToolCallMeta("function", tcf)
MCPTLTools: TypeAlias = list[ToolCallMeta]
@dataclass @dataclass
class MCPTLResult: class MCPTLResult:
tools: list[ToolCallMeta] tools: MCPTLTools
@dataclass @dataclass
class MCPToolsList: class MCPToolsList:
@ -131,7 +133,7 @@ class ToolManager():
self.toolcalls[fName] = tc self.toolcalls[fName] = tc
def meta(self): def meta(self):
lMeta: list[ToolCallMeta]= [] lMeta: MCPTLTools = []
for tcName in self.toolcalls.keys(): for tcName in self.toolcalls.keys():
lMeta.append(self.toolcalls[tcName].meta()) lMeta.append(self.toolcalls[tcName].meta())
return lMeta return lMeta