Skip to content

Commit 574c09c

Browse files
committed
🐛 Bugfix: Do not display the terminal tool when this tool is not selected during deployment #1019
1 parent ce4ef02 commit 574c09c

File tree

2 files changed

+21
-53
lines changed

2 files changed

+21
-53
lines changed

backend/services/tool_configuration_service.py

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,20 @@
1010
import jsonref
1111
from mcpadapt.smolagents_adapter import _sanitize_function_name
1212

13-
from database.tool_db import create_or_update_tool_by_tool_info, query_tool_instances_by_id, \
14-
update_tool_table_from_scan_tool_list, query_all_tools
15-
from consts.model import ToolInstanceInfoRequest, ToolInfo, ToolSourceEnum
1613
from consts.const import LOCAL_MCP_SERVER
17-
from database.remote_mcp_db import get_mcp_records_by_tenant
18-
1914
from consts.exceptions import MCPConnectionError
15+
from consts.model import ToolInstanceInfoRequest, ToolInfo, ToolSourceEnum
16+
from database.remote_mcp_db import get_mcp_records_by_tenant
17+
from database.tool_db import (
18+
create_or_update_tool_by_tool_info,
19+
query_all_tools,
20+
query_tool_instances_by_id,
21+
update_tool_table_from_scan_tool_list
22+
)
2023

2124
logger = logging.getLogger("tool_configuration_service")
2225

26+
2327
def python_type_to_json_schema(annotation: Any) -> str:
2428
"""
2529
Convert Python type annotations to JSON Schema types
@@ -55,6 +59,7 @@ def python_type_to_json_schema(annotation: Any) -> str:
5559
# Return mapped type, or original type name if no mapping exists
5660
return type_mapping.get(type_name, type_name)
5761

62+
5863
def get_local_tools() -> List[ToolInfo]:
5964
"""
6065
Get metadata for all locally available tools
@@ -340,5 +345,5 @@ async def list_all_tools(tenant_id: str):
340345
"params": tool.get("params", [])
341346
}
342347
formatted_tools.append(formatted_tool)
343-
348+
344349
return formatted_tools

docker/deploy.sh

Lines changed: 10 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -76,17 +76,8 @@ generate_minio_ak_sk() {
7676
export MINIO_ACCESS_KEY=$ACCESS_KEY
7777
export MINIO_SECRET_KEY=$SECRET_KEY
7878

79-
if grep -q "^MINIO_ACCESS_KEY=" .env; then
80-
sed -i.bak "s~^MINIO_ACCESS_KEY=.*~MINIO_ACCESS_KEY=$ACCESS_KEY~" .env
81-
else
82-
echo "MINIO_ACCESS_KEY=$ACCESS_KEY" >> .env
83-
fi
84-
85-
if grep -q "^MINIO_SECRET_KEY=" .env; then
86-
sed -i.bak "s~^MINIO_SECRET_KEY=.*~MINIO_SECRET_KEY=$SECRET_KEY~" .env
87-
else
88-
echo "MINIO_SECRET_KEY=$SECRET_KEY" >> .env
89-
fi
79+
update_env_var "MINIO_ACCESS_KEY" "$ACCESS_KEY"
80+
update_env_var "MINIO_SECRET_KEY" "$SECRET_KEY"
9081

9182
echo " ✅ MinIO keys generated successfully"
9283
}
@@ -159,11 +150,7 @@ generate_ssh_keys() {
159150
export SSH_PRIVATE_KEY_PATH
160151

161152
# Add to .env file
162-
if grep -q "^SSH_PRIVATE_KEY_PATH=" .env; then
163-
sed -i.bak "s~^SSH_PRIVATE_KEY_PATH=.*~SSH_PRIVATE_KEY_PATH=$SSH_PRIVATE_KEY_PATH~" .env
164-
else
165-
echo "SSH_PRIVATE_KEY_PATH=$SSH_PRIVATE_KEY_PATH" >> .env
166-
fi
153+
update_env_var "SSH_PRIVATE_KEY_PATH" "$SSH_PRIVATE_KEY_PATH"
167154

168155
echo ""
169156
echo "--------------------------------"
@@ -226,11 +213,7 @@ generate_ssh_keys() {
226213
export SSH_PRIVATE_KEY_PATH
227214

228215
# Add to .env file
229-
if grep -q "^SSH_PRIVATE_KEY_PATH=" .env; then
230-
sed -i.bak "s~^SSH_PRIVATE_KEY_PATH=.*~SSH_PRIVATE_KEY_PATH=$SSH_PRIVATE_KEY_PATH~" .env
231-
else
232-
echo "SSH_PRIVATE_KEY_PATH=$SSH_PRIVATE_KEY_PATH" >> .env
233-
fi
216+
update_env_var "SSH_PRIVATE_KEY_PATH" "$SSH_PRIVATE_KEY_PATH"
234217

235218
# Fix SSH host key permissions (must be 600)
236219
find "$ROOT_DIR/openssh-server/config" -name "*_key" -type f -exec chmod 600 {} \; 2>/dev/null || true
@@ -278,13 +261,7 @@ generate_elasticsearch_api_key() {
278261
ELASTICSEARCH_API_KEY=$(echo "$API_KEY_JSON" | grep -o '"encoded":"[^"]*"' | awk -F'"' '{print $4}')
279262
echo "✅ ELASTICSEARCH_API_KEY Generated: $ELASTICSEARCH_API_KEY"
280263
if [ -n "$ELASTICSEARCH_API_KEY" ]; then
281-
if grep -q "^ELASTICSEARCH_API_KEY=" .env; then
282-
# Use ~ as a separator in sed to avoid conflicts with special characters in the API key.
283-
sed -i.bak "s~^ELASTICSEARCH_API_KEY=.*~ELASTICSEARCH_API_KEY=$ELASTICSEARCH_API_KEY~" .env
284-
else
285-
echo "" >> .env
286-
echo "ELASTICSEARCH_API_KEY=$ELASTICSEARCH_API_KEY" >> .env
287-
fi
264+
update_env_var "ELASTICSEARCH_API_KEY" "$ELASTICSEARCH_API_KEY"
288265
fi
289266
}
290267

@@ -351,17 +328,8 @@ get_compose_version() {
351328
}
352329

353330
disable_dashboard() {
354-
if grep -q "^DISABLE_RAY_DASHBOARD=" .env; then
355-
sed -i.bak "s~^DISABLE_RAY_DASHBOARD=.*~DISABLE_RAY_DASHBOARD=true~" .env
356-
else
357-
echo "DISABLE_RAY_DASHBOARD=true" >> .env
358-
fi
359-
360-
if grep -q "^DISABLE_CELERY_FLOWER=" .env; then
361-
sed -i.bak "s~^DISABLE_CELERY_FLOWER=.*~DISABLE_CELERY_FLOWER=true~" .env
362-
else
363-
echo "DISABLE_CELERY_FLOWER=true" >> .env
364-
fi
331+
update_env_var "DISABLE_RAY_DASHBOARD" "true"
332+
update_env_var "DISABLE_CELERY_FLOWER" "true"
365333
}
366334

367335
select_deployment_mode() {
@@ -566,7 +534,7 @@ deploy_infrastructure() {
566534
fi
567535

568536
# Start Supabase services
569-
if ! $docker_compose_command -p nexent -f "docker-compose-supabase${COMPOSE_FILE_SUFFIX}" up -d; then
537+
if ! ${docker_compose_command} -p nexent -f "docker-compose-supabase${COMPOSE_FILE_SUFFIX}" up -d; then
570538
echo " ❌ ERROR Failed to start supabase services"
571539
ERROR_OCCURRED=1
572540
return 1
@@ -699,20 +667,15 @@ select_terminal_tool() {
699667

700668
# Save to environment variables
701669
export TERMINAL_MOUNT_DIR
702-
703-
# Add to .env file
704-
if grep -q "^TERMINAL_MOUNT_DIR=" .env; then
705-
sed -i.bak "s~^TERMINAL_MOUNT_DIR=.*~TERMINAL_MOUNT_DIR=$TERMINAL_MOUNT_DIR~" .env
706-
else
707-
echo "TERMINAL_MOUNT_DIR=$TERMINAL_MOUNT_DIR" >> .env
708-
fi
670+
update_env_var "TERMINAL_MOUNT_DIR" "$TERMINAL_MOUNT_DIR"
709671

710672
echo " 📁 Terminal mount configuration:"
711673
echo " • Host: $TERMINAL_MOUNT_DIR"
712674
echo " • Container: /opt/terminal"
713675
else
714676
export ENABLE_TERMINAL_TOOL="false"
715677
echo "🚫 Terminal tool disabled"
678+
716679
fi
717680
echo ""
718681
echo "--------------------------------"

0 commit comments

Comments
 (0)