refactor(agent): remove MCP runtime context provider
This commit is contained in:
@@ -12,7 +12,6 @@ from dataclasses import dataclass, field
|
|||||||
from enum import Enum, auto
|
from enum import Enum, auto
|
||||||
from functools import partial
|
from functools import partial
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from types import SimpleNamespace
|
|
||||||
from typing import TYPE_CHECKING, Any, Awaitable, Callable
|
from typing import TYPE_CHECKING, Any, Awaitable, Callable
|
||||||
|
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
@@ -28,7 +27,6 @@ from nanobot.agent.memory import Consolidator
|
|||||||
from nanobot.agent.model_runtime import ModelRuntimeResolver
|
from nanobot.agent.model_runtime import ModelRuntimeResolver
|
||||||
from nanobot.agent.runner import _MAX_INJECTIONS_PER_TURN, AgentRunner, AgentRunSpec
|
from nanobot.agent.runner import _MAX_INJECTIONS_PER_TURN, AgentRunner, AgentRunSpec
|
||||||
from nanobot.agent.subagent import SubagentManager
|
from nanobot.agent.subagent import SubagentManager
|
||||||
from nanobot.agent.tools import mcp as mcp_tools
|
|
||||||
from nanobot.agent.tools.context import RequestContext, bind_request_context, reset_request_context
|
from nanobot.agent.tools.context import RequestContext, bind_request_context, reset_request_context
|
||||||
from nanobot.agent.tools.file_state import FileStateStore, bind_file_states, reset_file_states
|
from nanobot.agent.tools.file_state import FileStateStore, bind_file_states, reset_file_states
|
||||||
from nanobot.agent.tools.message import MessageTool
|
from nanobot.agent.tools.message import MessageTool
|
||||||
@@ -61,7 +59,6 @@ from nanobot.runtime_context import (
|
|||||||
RuntimeContextProvider,
|
RuntimeContextProvider,
|
||||||
append_runtime_context,
|
append_runtime_context,
|
||||||
resolve_runtime_context,
|
resolve_runtime_context,
|
||||||
wrap_runtime_context_lines,
|
|
||||||
)
|
)
|
||||||
from nanobot.security.workspace_access import (
|
from nanobot.security.workspace_access import (
|
||||||
WorkspaceScopeResolver,
|
WorkspaceScopeResolver,
|
||||||
@@ -377,7 +374,6 @@ class AgentLoop:
|
|||||||
self._mcp_stacks: dict[str, MCPConnection] = {}
|
self._mcp_stacks: dict[str, MCPConnection] = {}
|
||||||
self._mcp_connecting = False
|
self._mcp_connecting = False
|
||||||
self._runtime_context_providers: list[RuntimeContextProvider] = []
|
self._runtime_context_providers: list[RuntimeContextProvider] = []
|
||||||
self.register_runtime_context_provider(self._provide_mcp_runtime_context)
|
|
||||||
self._active_tasks: dict[str, list[asyncio.Task]] = {} # session_key -> tasks
|
self._active_tasks: dict[str, list[asyncio.Task]] = {} # session_key -> tasks
|
||||||
self._background_tasks: list[asyncio.Task] = []
|
self._background_tasks: list[asyncio.Task] = []
|
||||||
self._session_locks: dict[str, asyncio.Lock] = {}
|
self._session_locks: dict[str, asyncio.Lock] = {}
|
||||||
@@ -687,20 +683,6 @@ class AgentLoop:
|
|||||||
unified_session=self._unified_session,
|
unified_session=self._unified_session,
|
||||||
)
|
)
|
||||||
|
|
||||||
async def _provide_mcp_runtime_context(
|
|
||||||
self,
|
|
||||||
request: RequestContext,
|
|
||||||
) -> RuntimeContextBlock | None:
|
|
||||||
lines = mcp_tools.runtime_lines(
|
|
||||||
SimpleNamespace(metadata=request.metadata),
|
|
||||||
configured_server_names=set(self._mcp_servers),
|
|
||||||
connected_server_names=set(self._mcp_stacks),
|
|
||||||
)
|
|
||||||
content = wrap_runtime_context_lines(lines)
|
|
||||||
if not content:
|
|
||||||
return None
|
|
||||||
return RuntimeContextBlock(source="mcp", content=content)
|
|
||||||
|
|
||||||
def _request_context_for_turn(self, ctx: TurnContext) -> RequestContext:
|
def _request_context_for_turn(self, ctx: TurnContext) -> RequestContext:
|
||||||
scope = self.workspace_scopes.for_message(ctx.msg, ctx.session.metadata)
|
scope = self.workspace_scopes.for_message(ctx.msg, ctx.session.metadata)
|
||||||
return RequestContext(
|
return RequestContext(
|
||||||
|
|||||||
Reference in New Issue
Block a user