| 78 | } |
| 79 | |
| 80 | export interface AgentTarget { |
| 81 | /** Stable id; matches the `TargetId` union. */ |
| 82 | readonly id: TargetId; |
| 83 | /** Human-readable name shown in clack prompts and log lines. */ |
| 84 | readonly displayName: string; |
| 85 | /** Optional URL for "where do I learn more about this agent." */ |
| 86 | readonly docsUrl?: string; |
| 87 | /** |
| 88 | * Whether this target supports the given install location. |
| 89 | * |
| 90 | * Some agents (Codex CLI as of 2026-05) have no project-local |
| 91 | * config concept — only a single `~/.codex/` dir. Returning false |
| 92 | * for an unsupported (target, location) pair lets the orchestrator |
| 93 | * skip cleanly with a clear message. |
| 94 | */ |
| 95 | supportsLocation(loc: Location): boolean; |
| 96 | detect(loc: Location): DetectionResult; |
| 97 | install(loc: Location, opts: InstallOptions): WriteResult; |
| 98 | /** |
| 99 | * Inverse of install. Removes only what install would have written; |
| 100 | * preserves sibling MCP servers, sibling permissions, and unrelated |
| 101 | * markdown sections. Must be safe to call when nothing was ever |
| 102 | * installed (returns `not-found` actions). |
| 103 | */ |
| 104 | uninstall(loc: Location): WriteResult; |
| 105 | /** |
| 106 | * Print the MCP-server snippet a user would paste manually for this |
| 107 | * target. Used by `codegraph install --print-config <id>` and by |
| 108 | * the README. Must NOT touch the filesystem. |
| 109 | */ |
| 110 | printConfig(loc: Location): string; |
| 111 | /** Filesystem paths this target would write to at this location. */ |
| 112 | describePaths(loc: Location): string[]; |
| 113 | } |
no outgoing calls
no test coverage detected