Skip to content

Commit c067479

Browse files
committed
chore: add AppApiException for missing application key in chat steps
1 parent 71c63ad commit c067479

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

apps/application/chat_pipeline/step/chat_step/impl/base_chat_step.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
from application.chat_pipeline.step.chat_step.i_chat_step import IChatStep, PostResponseHandler
2727
from application.flow.tools import Reasoning, mcp_response_generator
2828
from application.models import ApplicationChatUserStats, ChatUserType, Application, ApplicationApiKey
29+
from common.exception.app_exception import AppApiException
2930
from common.utils.logger import maxkb_logger
3031
from common.utils.rsa_util import rsa_long_decrypt
3132
from common.utils.tool_code import ToolExecutor
@@ -273,7 +274,10 @@ def _handle_mcp_request(self, mcp_enable, tool_enable, mcp_source, mcp_servers,
273274
if app_key is not None:
274275
api_key = app_key.secret_key
275276
else:
276-
continue
277+
raise AppApiException(
278+
500,
279+
_('Application Key is required for application tool 【{name}】').format(name=app.name)
280+
)
277281
executor = ToolExecutor()
278282
app_config = executor.get_app_mcp_config(api_key)
279283
mcp_servers_config[app.name] = app_config

apps/application/flow/step_node/ai_chat_step_node/impl/base_chat_node.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@
1313
from typing import List, Dict
1414

1515
from django.db.models import QuerySet
16+
from django.utils.translation import gettext as _
1617
from langchain.schema import HumanMessage, SystemMessage
1718
from langchain_core.messages import BaseMessage, AIMessage
1819

1920
from application.flow.i_step_node import NodeResult, INode
2021
from application.flow.step_node.ai_chat_step_node.i_chat_node import IChatNode
2122
from application.flow.tools import Reasoning, mcp_response_generator
2223
from application.models import Application, ApplicationApiKey
24+
from common.exception.app_exception import AppApiException
2325
from common.utils.rsa_util import rsa_long_decrypt
2426
from common.utils.tool_code import ToolExecutor
2527
from models_provider.models import Model
@@ -259,7 +261,10 @@ def _handle_mcp_request(self, mcp_enable, tool_enable, mcp_source, mcp_servers,
259261
if app_key is not None:
260262
api_key = app_key.secret_key
261263
else:
262-
continue
264+
raise AppApiException(
265+
500,
266+
_('Application Key is required for application tool 【{name}】').format(name=app.name)
267+
)
263268
executor = ToolExecutor()
264269
app_config = executor.get_app_mcp_config(api_key)
265270
mcp_servers_config[app.name] = app_config

0 commit comments

Comments
 (0)