| 9853 | } |
| 9854 | |
| 9855 | static void uninstall_copilot_durable_context(const char *home, bool dry_run) { |
| 9856 | char config_dir[CLI_BUF_1K]; |
| 9857 | char hook_path[CLI_BUF_1K]; |
| 9858 | char skills_dir[CLI_BUF_1K]; |
| 9859 | char agent_path[CLI_BUF_1K]; |
| 9860 | char binary_path[CLI_BUF_1K]; |
| 9861 | cbm_copilot_config_dir(home, config_dir, sizeof(config_dir)); |
| 9862 | snprintf(hook_path, sizeof(hook_path), "%s/hooks/codebase-memory-mcp.json", config_dir); |
| 9863 | snprintf(skills_dir, sizeof(skills_dir), "%s/skills", config_dir); |
| 9864 | snprintf(agent_path, sizeof(agent_path), "%s/agents/codebase-memory.agent.md", config_dir); |
| 9865 | cbm_agent_installed_binary_path(home, binary_path, sizeof(binary_path)); |
| 9866 | if (!dry_run && cbm_remove_copilot_hooks(hook_path, binary_path) != CLI_OK) { |
| 9867 | record_agent_config_error(true, "Copilot", "lifecycle_hook_uninstall", hook_path); |
| 9868 | } |
| 9869 | uninstall_agent_skill("Copilot", skills_dir, dry_run); |
| 9870 | uninstall_tiered_agent_profiles( |
| 9871 | (cbm_tiered_profile_set_t){ |
| 9872 | .label = "Copilot", |
| 9873 | .verify_path = agent_path, |
| 9874 | .binary_path = binary_path, |
| 9875 | .legacy_verify_content = legacy_copilot_verify_agent_content, |
| 9876 | .dialect = CBM_GRAPH_DIALECT_COPILOT, |
| 9877 | }, |
| 9878 | dry_run); |
| 9879 | printf(" removed SessionStart + SubagentStart hooks\n"); |
| 9880 | } |
| 9881 | |
| 9882 | static int cbm_remove_managed_instructions(const char *instructions_path) { |
| 9883 | if (cbm_remove_instructions(instructions_path) != CLI_OK) { |
no test coverage detected