()
| 319 | """ |
| 320 | |
| 321 | async def _inner() -> None: |
| 322 | if mode not in {"chat", "interactive"}: |
| 323 | raise typer.BadParameter("mode must be 'chat' or 'interactive'") |
| 324 | |
| 325 | tm = await _init_tool_manager( |
| 326 | config_file, server, initialization_timeout=init_timeout |
| 327 | ) |
| 328 | |
| 329 | try: |
| 330 | if mode == "chat": |
| 331 | ok = await _enter_chat_mode(tm, provider=provider, model=model) |
| 332 | else: |
| 333 | ok = await _enter_interactive_mode(tm, provider=provider, model=model) |
| 334 | |
| 335 | if not ok: |
| 336 | raise RuntimeError("Command returned non-zero status") |
| 337 | |
| 338 | finally: |
| 339 | await _safe_close(tm) |
| 340 | |
| 341 | try: |
| 342 | asyncio.run(_inner()) |
no test coverage detected