chore: format
This commit is contained in:
@@ -2257,7 +2257,6 @@ def strip_skill_mentions(messages: list[dict]) -> None:
|
||||
part['text'] = strip_re.sub(r'\1', text).strip()
|
||||
|
||||
|
||||
|
||||
async def connect_mcp_server(
|
||||
request,
|
||||
server_id: str,
|
||||
@@ -2271,10 +2270,7 @@ async def connect_mcp_server(
|
||||
"""
|
||||
mcp_server_connection = None
|
||||
for server_connection in request.app.state.config.TOOL_SERVER_CONNECTIONS:
|
||||
if (
|
||||
server_connection.get('type', '') == 'mcp'
|
||||
and server_connection.get('info', {}).get('id') == server_id
|
||||
):
|
||||
if server_connection.get('type', '') == 'mcp' and server_connection.get('info', {}).get('id') == server_id:
|
||||
mcp_server_connection = server_connection
|
||||
break
|
||||
|
||||
@@ -2287,8 +2283,12 @@ async def connect_mcp_server(
|
||||
return None
|
||||
|
||||
headers, _ = await build_tool_server_headers(
|
||||
mcp_server_connection, request, user,
|
||||
server_id=server_id, metadata=metadata, extra_params=extra_params,
|
||||
mcp_server_connection,
|
||||
request,
|
||||
user,
|
||||
server_id=server_id,
|
||||
metadata=metadata,
|
||||
extra_params=extra_params,
|
||||
)
|
||||
|
||||
client = MCPClient()
|
||||
@@ -2297,18 +2297,13 @@ async def connect_mcp_server(
|
||||
headers=headers if headers else None,
|
||||
)
|
||||
|
||||
function_name_filter_list = mcp_server_connection.get('config', {}).get(
|
||||
'function_name_filter_list', ''
|
||||
)
|
||||
function_name_filter_list = mcp_server_connection.get('config', {}).get('function_name_filter_list', '')
|
||||
if isinstance(function_name_filter_list, str):
|
||||
function_name_filter_list = function_name_filter_list.split(',')
|
||||
|
||||
tool_specs = await client.list_tool_specs()
|
||||
if function_name_filter_list:
|
||||
tool_specs = [
|
||||
spec for spec in tool_specs
|
||||
if is_string_allowed(spec['name'], function_name_filter_list)
|
||||
]
|
||||
tool_specs = [spec for spec in tool_specs if is_string_allowed(spec['name'], function_name_filter_list)]
|
||||
|
||||
return client, tool_specs
|
||||
|
||||
@@ -2730,10 +2725,14 @@ async def process_chat_payload(request, form_data, user, metadata, model):
|
||||
for tool_id in tool_ids:
|
||||
if tool_id.startswith('server:mcp:'):
|
||||
try:
|
||||
server_id = tool_id[len('server:mcp:'):]
|
||||
server_id = tool_id[len('server:mcp:') :]
|
||||
|
||||
result = await connect_mcp_server(
|
||||
request, server_id, user, metadata, extra_params,
|
||||
request,
|
||||
server_id,
|
||||
user,
|
||||
metadata,
|
||||
extra_params,
|
||||
)
|
||||
if result is None:
|
||||
continue
|
||||
@@ -2742,6 +2741,7 @@ async def process_chat_payload(request, form_data, user, metadata, model):
|
||||
mcp_clients[server_id] = client
|
||||
|
||||
for tool_spec in tool_specs:
|
||||
|
||||
async def make_tool_function(client, function_name):
|
||||
async def tool_function(**kwargs):
|
||||
return await client.call_tool(
|
||||
@@ -3392,7 +3392,9 @@ async def outlet_filter_handler(ctx):
|
||||
if outlet_message_id and outlet_message_id in messages_map:
|
||||
original_message = messages_map[outlet_message_id]
|
||||
content_changed = original_message.get('content') != message.get('content')
|
||||
output_changed = message.get('output') and message.get('output') != original_message.get('output')
|
||||
output_changed = message.get('output') and message.get('output') != original_message.get(
|
||||
'output'
|
||||
)
|
||||
if content_changed or output_changed:
|
||||
# If output was modified, re-derive content from it
|
||||
new_content = message.get('content', original_message.get('content', ''))
|
||||
@@ -3874,7 +3876,7 @@ async def streaming_chat_response_handler(response, ctx):
|
||||
# Mirror the five gates from utils/tools.py get_builtin_tools so the
|
||||
# legacy XML-tag path enforces the same authz as native FC.
|
||||
features = metadata.get('features', {}) or {}
|
||||
model_capabilities = (model.get('info', {}).get('meta', {}).get('capabilities') or {})
|
||||
model_capabilities = model.get('info', {}).get('meta', {}).get('capabilities') or {}
|
||||
builtin_tools_meta = model.get('info', {}).get('meta', {}).get('builtinTools', {})
|
||||
DETECT_CODE_INTERPRETER = (
|
||||
bool(features.get('code_interpreter'))
|
||||
@@ -4401,7 +4403,9 @@ async def streaming_chat_response_handler(response, ctx):
|
||||
if end:
|
||||
break
|
||||
|
||||
if ENABLE_REALTIME_CHAT_SAVE and not metadata.get('chat_id', '').startswith('channel:'):
|
||||
if ENABLE_REALTIME_CHAT_SAVE and not metadata.get('chat_id', '').startswith(
|
||||
'channel:'
|
||||
):
|
||||
# Save message in the database
|
||||
await Chats.upsert_message_to_chat_by_id_and_message_id(
|
||||
metadata['chat_id'],
|
||||
|
||||
Reference in New Issue
Block a user