By contributing to this project, you agree that you are relinquishing any present and future copyright and patent rights to the contributions you make to this project. You agree that your contributions will be subject to the terms of the GNU Affero General Public License, Version 3.0, as defined in the license file. By contributing to this project, you affirm that you have the appropriate rights to submit your contributions under these terms. If you do not have such rights to a contribution, you may not contribute it to this project.
Please stick to the code style enforced by ESLint and Prettier.
This comment should be placed at the top of each source code file:
// <filename>.ts - <brief description>
// Copyright (C) <year> MineNode
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License as published
// by the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.