MCPcopy Create free account
hub / github.com/IBM/mcp-cli / __init__

Method __init__

src/mcp_cli/chat/chat_context.py:52–157  ·  view source on GitHub ↗

Create chat context with required managers. Args: tool_manager: Tool management interface model_manager: Model configuration and LLM client manager session_id: Optional session ID for conversation tracking max_history_messages: Slidin

(
        self,
        tool_manager: ToolManager,
        model_manager: ModelManager,
        session_id: str | None = None,
        max_history_messages: int = 0,
        infinite_context: bool = False,
        token_threshold: int = 4000,
        max_turns_per_segment: int = 20,
        enable_vm: bool = False,
        vm_mode: str = "passive",
        vm_budget: int = 128_000,
        health_interval: int = 0,
        enable_plan_tools: bool = False,
        agent_id: str = "default",
    )

Source from the content-addressed store, hash-verified

50 """
51
52 def __init__(
53 self,
54 tool_manager: ToolManager,
55 model_manager: ModelManager,
56 session_id: str | None = None,
57 max_history_messages: int = 0,
58 infinite_context: bool = False,
59 token_threshold: int = 4000,
60 max_turns_per_segment: int = 20,
61 enable_vm: bool = False,
62 vm_mode: str = "passive",
63 vm_budget: int = 128_000,
64 health_interval: int = 0,
65 enable_plan_tools: bool = False,
66 agent_id: str = "default",
67 ):
68 """
69 Create chat context with required managers.
70
71 Args:
72 tool_manager: Tool management interface
73 model_manager: Model configuration and LLM client manager
74 session_id: Optional session ID for conversation tracking
75 max_history_messages: Sliding window size (0 = unlimited)
76 infinite_context: Enable infinite context mode in SessionManager
77 token_threshold: Token threshold for infinite context segmentation
78 max_turns_per_segment: Max turns per segment before context packing
79 enable_vm: Enable AI Virtual Memory subsystem (experimental)
80 vm_mode: VM mode - strict, relaxed, or passive
81 vm_budget: Max tokens for VM L0 working set (context window budget)
82 health_interval: Background health check interval in seconds (0 = disabled)
83 enable_plan_tools: Enable plan_create/plan_execute as LLM-callable tools
84 """
85 self.tool_manager = tool_manager
86 self.model_manager = model_manager
87 self.session_id = session_id or self._generate_session_id()
88 self.agent_id = agent_id
89
90 # Context management
91 self._max_history_messages = max_history_messages
92 self._infinite_context = infinite_context
93 self._token_threshold = token_threshold
94 self._max_turns_per_segment = max_turns_per_segment
95 self._enable_vm = enable_vm
96 self._vm_mode = vm_mode
97 self._vm_budget = vm_budget
98 self._health_interval = health_interval
99 self._enable_plan_tools = enable_plan_tools
100
101 # Core session manager - always required
102 self.session: SessionManager = SessionManager(session_id=self.session_id)
103 self._system_prompt: str = ""
104
105 # Procedural memory for tool learning
106 self.tool_memory = ToolMemoryManager.create(session_id=self.session_id)
107 self.procedural_formatter = ProceduralContextFormatter(
108 config=FormatterConfig(
109 max_recent_calls=5,

Callers

nothing calls this directly

Calls 5

_generate_session_idMethod · 0.95
TokenTrackerClass · 0.90
SessionStoreClass · 0.90
AttachmentStagingClass · 0.90
createMethod · 0.45

Tested by

no test coverage detected