(exportKey: string)
| 249 | |
| 250 | /** Every internal tool name ONE export references — for invoke gating + anti-rot tests. */ |
| 251 | export function mappedToolNames(exportKey: string): Set<string> { |
| 252 | const names = new Set<string>() |
| 253 | const exp = CLI_EXPORTS[exportKey] |
| 254 | if (!exp) return names |
| 255 | for (const verbs of Object.values(exp.commands)) { |
| 256 | for (const toolName of Object.values(verbs)) names.add(toolName) |
| 257 | } |
| 258 | return names |
| 259 | } |
| 260 | |
| 261 | /** Resolve an (export, group, verb) triple to its underlying tool name, or null. */ |
| 262 | export function resolveCommand(exportKey: string, group: string, verb: string): string | null { |
no test coverage detected