(row: ConnectionRow | null)
| 2171 | const isToolSyncHealth = (health: HealthCheckResult | null): boolean => |
| 2172 | health?.detail?.startsWith(toolSyncHealthDetailPrefix) === true; |
| 2173 | const syncedSet = (row: ConnectionRow | null) => { |
| 2174 | const health = row ? Option.getOrNull(decodeLastHealth(row.last_health)) : null; |
| 2175 | return isToolSyncHealth(health) |
| 2176 | ? { tools_synced_at: Date.now(), last_health: null, updated_at: new Date() } |
| 2177 | : { tools_synced_at: Date.now() }; |
| 2178 | }; |
| 2179 | // Every exit stamps the sync time — including the cleanup paths that |
| 2180 | // produce zero tools — so the stale-catalog check (`config_revised_at` |
| 2181 | // vs `tools_synced_at`) doesn't re-attempt this connection per read. |
no test coverage detected