( sessionMode: 'coordinator' | 'normal' | undefined, )
| 47 | * the mode was switched, or undefined if no switch was needed. |
| 48 | */ |
| 49 | export function matchSessionMode( |
| 50 | sessionMode: 'coordinator' | 'normal' | undefined, |
| 51 | ): string | undefined { |
| 52 | // No stored mode (old session before mode tracking) — do nothing |
| 53 | if (!sessionMode) { |
| 54 | return undefined |
| 55 | } |
| 56 | |
| 57 | const currentIsCoordinator = isCoordinatorMode() |
| 58 | const sessionIsCoordinator = sessionMode === 'coordinator' |
| 59 | |
| 60 | if (currentIsCoordinator === sessionIsCoordinator) { |
| 61 | return undefined |
| 62 | } |
| 63 | |
| 64 | // Flip the env var — isCoordinatorMode() reads it live, no caching |
| 65 | if (sessionIsCoordinator) { |
| 66 | process.env.CLAUDE_CODE_COORDINATOR_MODE = '1' |
| 67 | } else { |
| 68 | delete process.env.CLAUDE_CODE_COORDINATOR_MODE |
| 69 | } |
| 70 | |
| 71 | logEvent('tengu_coordinator_mode_switched', { |
| 72 | to: sessionMode as unknown as AnalyticsMetadata_I_VERIFIED_THIS_IS_NOT_CODE_OR_FILEPATHS, |
| 73 | }) |
| 74 | |
| 75 | return sessionIsCoordinator |
| 76 | ? 'Entered coordinator mode to match resumed session.' |
| 77 | : 'Exited coordinator mode to match resumed session.' |
| 78 | } |
| 79 | |
| 80 | export function getCoordinatorUserContext( |
| 81 | mcpClients: ReadonlyArray<{ name: string }>, |
nothing calls this directly
no test coverage detected