Initialize the session with system prompt and context management.
(self)
| 481 | return False |
| 482 | |
| 483 | async def _initialize_session(self) -> None: |
| 484 | """Initialize the session with system prompt and context management.""" |
| 485 | vm_config = ( |
| 486 | WorkingSetConfig( |
| 487 | max_l0_tokens=self._vm_budget, |
| 488 | reserved_tokens=min(4000, self._vm_budget // 4), |
| 489 | ) |
| 490 | if self._enable_vm |
| 491 | else None |
| 492 | ) |
| 493 | self.session = SessionManager( |
| 494 | session_id=self.session_id, |
| 495 | system_prompt=self._system_prompt, |
| 496 | infinite_context=self._infinite_context, |
| 497 | token_threshold=self._token_threshold, |
| 498 | max_turns_per_segment=self._max_turns_per_segment, |
| 499 | enable_vm=self._enable_vm, |
| 500 | vm_mode=VMMode(self._vm_mode), |
| 501 | vm_config=vm_config, |
| 502 | ) |
| 503 | await self.session._ensure_initialized() |
| 504 | |
| 505 | # Initialize persistent memory scopes |
| 506 | try: |
| 507 | from mcp_cli.memory.store import MemoryScopeStore |
| 508 | |
| 509 | self.memory_store = MemoryScopeStore() |
| 510 | logger.debug("Persistent memory store initialized") |
| 511 | except Exception as exc: |
| 512 | logger.warning("Could not initialize memory store: %s", exc) |
| 513 | self.memory_store = None |
| 514 | |
| 515 | logger.debug( |
| 516 | f"Session initialized: {self.session_id} " |
| 517 | f"(infinite_context={self._infinite_context}, " |
| 518 | f"vm={self._enable_vm}, vm_budget={self._vm_budget})" |
| 519 | ) |
| 520 | |
| 521 | def _generate_system_prompt(self) -> None: |
| 522 | """Generate system prompt from available tools (cached with dirty flag).""" |