tools: add tools.file.enable to toggle built-in filesystem tools (default true)

This commit is contained in:
Nir Adler
2026-06-15 02:55:18 +08:00
committed by Xubin Ren
parent f31a9c4cb0
commit df0f9f4d5c
3 changed files with 37 additions and 0 deletions
+17
View File
@@ -10,6 +10,7 @@ from typing import Any
from nanobot.agent.tools.base import Tool, tool_parameters
from nanobot.agent.tools.file_state import FileStates, _hash_file, current_file_states
from nanobot.agent.tools.path_utils import resolve_workspace_path
from nanobot.config.schema import Base
from nanobot.security.workspace_access import current_tool_workspace
from nanobot.agent.tools.schema import (
BooleanSchema,
@@ -20,9 +21,25 @@ from nanobot.agent.tools.schema import (
from nanobot.utils.helpers import build_image_content_blocks, detect_image_mime
class FileToolsConfig(Base):
"""Filesystem tools configuration."""
enable: bool = True # built-in file tools on by default; set false to act only through MCP servers
class _FsTool(Tool):
"""Shared base for filesystem tools — common init and path resolution."""
config_key = "file"
@classmethod
def config_cls(cls):
return FileToolsConfig
@classmethod
def enabled(cls, ctx: Any) -> bool:
return ctx.config.file.enable
def __init__(
self,
workspace: Path | None = None,