(context_id: str, name: str, *, mark_dirty: bool = True)
| 400 | |
| 401 | |
| 402 | def activate_project(context_id: str, name: str, *, mark_dirty: bool = True): |
| 403 | from agent import AgentContext |
| 404 | |
| 405 | data = load_edit_project_data(name) |
| 406 | context = AgentContext.get(context_id) |
| 407 | if context is None: |
| 408 | raise Exception("Context not found") |
| 409 | display_name = str(data.get("title", name)) |
| 410 | display_name = display_name[:22] + "..." if len(display_name) > 25 else display_name |
| 411 | context.set_data(CONTEXT_DATA_KEY_PROJECT, name) |
| 412 | context.set_output_data( |
| 413 | CONTEXT_DATA_KEY_PROJECT, |
| 414 | {"name": name, "title": display_name, "color": data.get("color", "")}, |
| 415 | ) |
| 416 | |
| 417 | # persist |
| 418 | persist_chat.save_tmp_chat(context) |
| 419 | |
| 420 | if mark_dirty: |
| 421 | from helpers.state_monitor_integration import mark_dirty_all |
| 422 | mark_dirty_all(reason="projects.activate_project") |
| 423 | |
| 424 | |
| 425 | def deactivate_project(context_id: str, *, mark_dirty: bool = True): |
no test coverage detected