blockmine 1.18.4 → 1.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.kiro/steering/product.md +27 -0
- package/.kiro/steering/structure.md +89 -0
- package/.kiro/steering/tech.md +94 -0
- package/CHANGELOG.md +147 -112
- package/backend/cli.js +59 -57
- package/backend/prisma/migrations/20250701190321_add/migration.sql +2 -2
- package/backend/prisma/migrations/20250709150611_add_run_on_startup_to_tasks/migration.sql +21 -21
- package/backend/prisma/migrations/20250709151124_make_cron_pattern_optional/migration.sql +21 -21
- package/backend/prisma/migrations/20250718181335_add_plugin_data_store/migration.sql +14 -14
- package/backend/prisma/migrations/20250719115906_add_plugin_owner_to_graphs/migration.sql +45 -45
- package/backend/prisma/migrations/20250723160648_add_bot_sort_order/migration.sql +2 -2
- package/backend/prisma/migrations/20250816083216_add_panel_user_bot_access/migration.sql +30 -0
- package/backend/prisma/migrations/migration_lock.toml +2 -2
- package/backend/prisma/schema.prisma +244 -229
- package/backend/src/api/middleware/botAccess.js +35 -0
- package/backend/src/api/routes/auth.js +633 -595
- package/backend/src/api/routes/bots.js +294 -179
- package/backend/src/api/routes/eventGraphs.js +459 -459
- package/backend/src/api/routes/pluginIde.js +6 -2
- package/backend/src/api/routes/servers.js +27 -0
- package/backend/src/core/BotManager.js +0 -1
- package/backend/src/core/BotProcess.js +1 -2
- package/backend/src/core/GraphExecutionEngine.js +917 -917
- package/backend/src/core/PluginLoader.js +208 -86
- package/backend/src/core/PluginManager.js +465 -427
- package/backend/src/core/commands/dev.js +6 -1
- package/backend/src/real-time/presence.js +74 -0
- package/backend/src/real-time/socketHandler.js +2 -0
- package/backend/src/server.js +193 -186
- package/frontend/dist/assets/index-BFd7YoAj.css +1 -0
- package/frontend/dist/assets/index-DxdxTe6I.js +8352 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-CA3XrPPP.css +0 -1
- package/frontend/dist/assets/index-CM9ljR30.js +0 -8352
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# BlockMine Product Overview
|
|
2
|
+
|
|
3
|
+
BlockMine is an open-source centralized management and automation solution for Minecraft bots built on Mineflayer. It provides a modern web-based control panel for managing multiple Minecraft bots with advanced automation capabilities.
|
|
4
|
+
|
|
5
|
+
## Core Features
|
|
6
|
+
|
|
7
|
+
- **Web-based Dashboard**: Modern React + Tailwind CSS interface for bot management
|
|
8
|
+
- **Visual Logic Editor (No-Code)**: Drag-and-drop interface for creating bot behaviors and commands without coding
|
|
9
|
+
- **Comprehensive Bot Management**: Start/stop bots, real-time console, resource monitoring, SOCKS5 proxy support
|
|
10
|
+
- **Plugin System**: Extensible architecture with plugin browser, automatic dependency management
|
|
11
|
+
- **Permissions System**: Flexible user groups and granular command permissions
|
|
12
|
+
- **Export/Import**: Full bot backups and command sharing via ZIP/JSON export
|
|
13
|
+
|
|
14
|
+
## Target Users
|
|
15
|
+
|
|
16
|
+
- Minecraft server administrators
|
|
17
|
+
- Bot developers and automation enthusiasts
|
|
18
|
+
- Users who want to manage multiple Minecraft bots centrally
|
|
19
|
+
- Non-technical users who want bot automation without coding
|
|
20
|
+
|
|
21
|
+
## Key Value Propositions
|
|
22
|
+
|
|
23
|
+
1. **No-Code Automation**: Visual editor eliminates need for programming knowledge
|
|
24
|
+
2. **Centralized Management**: Single interface for multiple bots and servers
|
|
25
|
+
3. **Extensibility**: Rich plugin ecosystem for custom functionality
|
|
26
|
+
4. **Easy Deployment**: One-command setup via `npx blockmine`
|
|
27
|
+
5. **Professional UI**: Modern, responsive web interface accessible from any device
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Project Structure & Organization
|
|
2
|
+
|
|
3
|
+
## Root Level Structure
|
|
4
|
+
```
|
|
5
|
+
blockmine/
|
|
6
|
+
├── backend/ # Node.js/Express API server
|
|
7
|
+
├── frontend/ # React/Vite web application
|
|
8
|
+
├── plugins/ # Plugin ecosystem directory
|
|
9
|
+
├── stats-server/ # Separate statistics server
|
|
10
|
+
├── mptest/ # MCP (Model Context Protocol) testing
|
|
11
|
+
├── .kiro/ # Kiro AI assistant configuration
|
|
12
|
+
├── .github/ # GitHub workflows and templates
|
|
13
|
+
├── .husky/ # Git hooks configuration
|
|
14
|
+
└── image/ # Project assets and screenshots
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Backend Structure (`backend/`)
|
|
18
|
+
- **`src/`**: Main application source code
|
|
19
|
+
- **`prisma/`**: Database schema, migrations, and seed files
|
|
20
|
+
- **`storage/`**: Runtime data storage (logs, uploads, bot data)
|
|
21
|
+
- **`cli.js`**: Command-line interface entry point
|
|
22
|
+
- **`package.json`**: Backend dependencies and scripts
|
|
23
|
+
- **`nodemon.json`**: Development server configuration
|
|
24
|
+
|
|
25
|
+
## Frontend Structure (`frontend/`)
|
|
26
|
+
- **`src/`**: React application source code
|
|
27
|
+
- **`public/`**: Static assets served by Vite
|
|
28
|
+
- **`dist/`**: Built production files (generated)
|
|
29
|
+
- **`components.json`**: shadcn/ui component configuration
|
|
30
|
+
- **`tailwind.config.js`**: Tailwind CSS customization
|
|
31
|
+
- **`vite.config.js`**: Vite build configuration with Monaco Editor plugin
|
|
32
|
+
|
|
33
|
+
## Plugin System (`plugins/`)
|
|
34
|
+
Each plugin follows a standard structure:
|
|
35
|
+
```
|
|
36
|
+
plugins/plugin-name/
|
|
37
|
+
├── package.json # Plugin metadata and dependencies
|
|
38
|
+
├── index.js # Main plugin entry point
|
|
39
|
+
├── README.md # Plugin documentation
|
|
40
|
+
└── commands/ # Command definitions (if applicable)
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Common plugin types:
|
|
44
|
+
- **Command plugins**: Add new bot commands
|
|
45
|
+
- **Event handlers**: React to Minecraft events
|
|
46
|
+
- **UI extensions**: Add dashboard features
|
|
47
|
+
- **Automation**: Background tasks and scheduled actions
|
|
48
|
+
|
|
49
|
+
## Configuration Files
|
|
50
|
+
|
|
51
|
+
### Development & Build
|
|
52
|
+
- **`package.json`**: Root workspace configuration with npm workspaces
|
|
53
|
+
- **`ecosystem.config.js`**: PM2 process manager configuration
|
|
54
|
+
- **`.versionrc.json`**: Standard-version release configuration
|
|
55
|
+
- **`commitlint.config.js`**: Commit message linting rules
|
|
56
|
+
|
|
57
|
+
### Code Quality
|
|
58
|
+
- **`.husky/`**: Git hooks for pre-commit and commit-msg validation
|
|
59
|
+
- **`frontend/eslint.config.js`**: ESLint rules for React code
|
|
60
|
+
- **`.gitignore`**: Version control exclusions
|
|
61
|
+
|
|
62
|
+
## Key Architectural Patterns
|
|
63
|
+
|
|
64
|
+
### Monorepo Organization
|
|
65
|
+
- Uses npm workspaces for dependency management
|
|
66
|
+
- Shared dependencies hoisted to root level
|
|
67
|
+
- Independent build processes for frontend/backend
|
|
68
|
+
|
|
69
|
+
### Plugin Architecture
|
|
70
|
+
- Plugins are self-contained modules with their own package.json
|
|
71
|
+
- Plugin discovery via directory scanning
|
|
72
|
+
- Automatic dependency resolution and installation
|
|
73
|
+
|
|
74
|
+
### API Structure
|
|
75
|
+
- RESTful API endpoints under `/api/`
|
|
76
|
+
- Real-time updates via Socket.IO
|
|
77
|
+
- File uploads handled via Multer middleware
|
|
78
|
+
|
|
79
|
+
### Frontend Organization
|
|
80
|
+
- Component-based architecture with Radix UI primitives
|
|
81
|
+
- Custom hooks for state management (Zustand)
|
|
82
|
+
- Path aliases (`@/`) for clean imports
|
|
83
|
+
- Responsive design with Tailwind CSS utilities
|
|
84
|
+
|
|
85
|
+
## Development Workflow
|
|
86
|
+
1. **Setup**: `npm install` installs all workspace dependencies
|
|
87
|
+
2. **Development**: `npm run dev` starts both frontend and backend with hot reload
|
|
88
|
+
3. **Building**: `npm run build` creates production frontend bundle
|
|
89
|
+
4. **Deployment**: `npx blockmine` for quick deployment or PM2 for production
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
# Technology Stack & Build System
|
|
2
|
+
|
|
3
|
+
## Architecture
|
|
4
|
+
- **Monorepo**: Uses npm workspaces with separate frontend and backend packages
|
|
5
|
+
- **Frontend**: React 19 + Vite + Tailwind CSS
|
|
6
|
+
- **Backend**: Node.js + Express + Prisma ORM
|
|
7
|
+
- **Database**: SQLite (via Prisma)
|
|
8
|
+
- **Real-time**: Socket.IO for live updates
|
|
9
|
+
- **Bot Framework**: Mineflayer for Minecraft bot functionality
|
|
10
|
+
|
|
11
|
+
## Key Technologies
|
|
12
|
+
|
|
13
|
+
### Frontend Stack
|
|
14
|
+
- **React 19**: Latest React with modern hooks and concurrent features
|
|
15
|
+
- **Vite**: Fast build tool with HMR for development
|
|
16
|
+
- **Tailwind CSS**: Utility-first CSS framework with custom design system
|
|
17
|
+
- **Radix UI**: Headless component library for accessibility
|
|
18
|
+
- **React Flow**: Visual node editor for no-code logic builder
|
|
19
|
+
- **Monaco Editor**: VS Code editor for code editing features
|
|
20
|
+
- **Zustand**: Lightweight state management
|
|
21
|
+
- **React Router**: Client-side routing
|
|
22
|
+
|
|
23
|
+
### Backend Stack
|
|
24
|
+
- **Express.js**: Web framework with validation middleware
|
|
25
|
+
- **Prisma**: Type-safe ORM with SQLite database
|
|
26
|
+
- **Socket.IO**: Real-time bidirectional communication
|
|
27
|
+
- **Pino**: High-performance logging
|
|
28
|
+
- **JWT**: Authentication tokens
|
|
29
|
+
- **Multer**: File upload handling
|
|
30
|
+
- **Node-cron**: Task scheduling
|
|
31
|
+
|
|
32
|
+
### Development Tools
|
|
33
|
+
- **ESLint**: Code linting with React-specific rules
|
|
34
|
+
- **Husky**: Git hooks for code quality
|
|
35
|
+
- **Commitlint**: Conventional commit message enforcement
|
|
36
|
+
- **Standard-version**: Automated versioning and changelog
|
|
37
|
+
- **Nodemon**: Development server with auto-restart
|
|
38
|
+
- **Concurrently**: Run multiple npm scripts simultaneously
|
|
39
|
+
|
|
40
|
+
## Common Commands
|
|
41
|
+
|
|
42
|
+
### Development
|
|
43
|
+
```bash
|
|
44
|
+
# Install dependencies
|
|
45
|
+
npm install
|
|
46
|
+
|
|
47
|
+
# Start development servers (both frontend and backend)
|
|
48
|
+
npm run dev
|
|
49
|
+
|
|
50
|
+
# Frontend dev server only (http://localhost:5173)
|
|
51
|
+
npm run dev --workspace=frontend
|
|
52
|
+
|
|
53
|
+
# Backend dev server only (http://localhost:3001)
|
|
54
|
+
npm run dev --workspace=backend
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### Production
|
|
58
|
+
```bash
|
|
59
|
+
# Build frontend for production
|
|
60
|
+
npm run build
|
|
61
|
+
|
|
62
|
+
# Start production server
|
|
63
|
+
npm start
|
|
64
|
+
|
|
65
|
+
# Quick deployment via npx
|
|
66
|
+
npx blockmine
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Release Management
|
|
70
|
+
```bash
|
|
71
|
+
# Create patch release
|
|
72
|
+
npm run release:patch
|
|
73
|
+
|
|
74
|
+
# Create minor release
|
|
75
|
+
npm run release:minor
|
|
76
|
+
|
|
77
|
+
# Create major release
|
|
78
|
+
npm run release:major
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
### Database
|
|
82
|
+
```bash
|
|
83
|
+
# Generate Prisma client
|
|
84
|
+
npx prisma generate --schema=./backend/prisma/schema.prisma
|
|
85
|
+
|
|
86
|
+
# Run database migrations
|
|
87
|
+
npx prisma migrate dev --schema=./backend/prisma/schema.prisma
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Build Configuration
|
|
91
|
+
- **Vite proxy**: Frontend proxies `/api` and `/socket.io` to backend during development
|
|
92
|
+
- **Monaco Editor**: Integrated via vite plugin for code editing features
|
|
93
|
+
- **Path aliases**: `@/` resolves to `frontend/src/`
|
|
94
|
+
- **Tailwind**: Custom design system with CSS variables and animations
|
package/CHANGELOG.md
CHANGED
|
@@ -1,132 +1,167 @@
|
|
|
1
1
|
# История версий
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
### [1.
|
|
4
|
+
### [1.19.1](https://github.com/blockmineJS/blockmine/compare/v1.19.0...v1.19.1) (2025-10-01)
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
### 🐛 Исправления
|
|
8
8
|
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* любимая переделка страницы плагинов ([d2f2b59](https://github.com/blockmineJS/blockmine/commit/d2f2b59b3c649e7f5c0eb5f5242d9908311c2c02))
|
|
12
|
-
* страница история версий изменена. теперь можно смотреть прошлые ([c5fc95e](https://github.com/blockmineJS/blockmine/commit/c5fc95eb92c9fc0759d76bbd9ec2b46cd7b7f825))
|
|
9
|
+
* изменение порядка ботов теперь корректное ([9663737](https://github.com/blockmineJS/blockmine/commit/9663737505201468dd2233bf5658be5b2442f583))
|
|
10
|
+
* фиксим новой вкладки прокси ([7ebdb7d](https://github.com/blockmineJS/blockmine/commit/7ebdb7d0df6c4e5cd6a9b15576cc1907ab7fcd74))
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
### [1.18.2](https://github.com/blockmineJS/blockmine/compare/v1.18.1...v1.18.2) (2025-08-07)
|
|
12
|
+
## [1.19.0](https://github.com/blockmineJS/blockmine/compare/v1.18.5...v1.19.0) (2025-08-23)
|
|
17
13
|
|
|
18
14
|
|
|
19
15
|
### 🐛 Исправления
|
|
20
16
|
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
### 🐛 Исправления
|
|
31
|
-
|
|
32
|
-
* добавлен механизм перезапуска ботов при некоторых противных ошибках ([2eb34e3](https://github.com/blockmineJS/blockmine/commit/2eb34e3e63aaa72e5fb641d7ab155baa92dbde63))
|
|
33
|
-
* копирование кода/графов и всё что дает возможность скопировать в буфер обмена, починено ([dbe4ee6](https://github.com/blockmineJS/blockmine/commit/dbe4ee6bb2e19d99cfaaef33130c27803d5988a8))
|
|
34
|
-
* мелкие фиксы крон паттерна у планировщика. больше логов для наблюдений ([c33e7c8](https://github.com/blockmineJS/blockmine/commit/c33e7c895b3daf60bcde187cf1334ab38bb71592))
|
|
35
|
-
|
|
36
|
-
## [1.18.0](https://github.com/blockmineJS/blockmine/compare/v1.17.1...v1.18.0) (2025-07-26)
|
|
17
|
+
* баз команда dev исправлена. теперь не считает алиасы как отдельные кмд ([782c01e](https://github.com/blockmineJS/blockmine/commit/782c01e12f273a04cf78a5772b7be628d22f5791))
|
|
18
|
+
* добавлена автоматическая установка недостающих модулей для плагинов при их загрузке ([27154f1](https://github.com/blockmineJS/blockmine/commit/27154f1d2c588f8d8371493f1d28646ff9d764f7))
|
|
19
|
+
* зависимости плагин устанавливаются ([a7314c4](https://github.com/blockmineJS/blockmine/commit/a7314c4d1c66ef7021d6c265ebbb270c50a3ab62))
|
|
20
|
+
* изменять версия у созданного сервера теперь можно ([a55e3c9](https://github.com/blockmineJS/blockmine/commit/a55e3c9d6a06b9ebd95722aa6487e2b79bda07ff))
|
|
21
|
+
* исправление проблем с импортом ([ef9fde2](https://github.com/blockmineJS/blockmine/commit/ef9fde2aa8b1390910600bfd930c444cbff2d01e))
|
|
22
|
+
* починили установку локальную ([1b28e07](https://github.com/blockmineJS/blockmine/commit/1b28e071d4846b62dd6360f4709a0e263841960b))
|
|
23
|
+
* права юзеров теперь может менять только владелец панели (первый юзер) ([94312d7](https://github.com/blockmineJS/blockmine/commit/94312d7b9c09aabb704f163f8e3205abf7c2acdc))
|
|
37
24
|
|
|
38
25
|
|
|
39
26
|
### ✨ Новые возможности
|
|
40
27
|
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
### [1.17.1](https://github.com/blockmineJS/blockmine/compare/v1.17.0...v1.17.1) (2025-07-24)
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
### 🐛 Исправления
|
|
48
|
-
|
|
49
|
-
* добавлена синхронизация статусов ботов каждые 10 секунд и обработка события 'bot_ready' ([c9e8bcc](https://github.com/blockmineJS/blockmine/commit/c9e8bcc5f1b31a122aa05b2bb65f3b4127dfb79a))
|
|
50
|
-
* исправление ошибок со скинами. вроде ([459d65b](https://github.com/blockmineJS/blockmine/commit/459d65ba40ec18da5d9a7402992c2cd6aa73a7d2))
|
|
51
|
-
* исправление ошибок со скинами. by сахарок ([433e5c6](https://github.com/blockmineJS/blockmine/commit/433e5c6222e385cfd0ba656c78eecd67f094b0ef))
|
|
52
|
-
* уменьшены лимиты логов для ботов. так много явно не надо ([d690dcd](https://github.com/blockmineJS/blockmine/commit/d690dcd5701603d455d105a2032f9262923cf5f0))
|
|
53
|
-
|
|
54
|
-
## [1.17.0](https://github.com/blockmineJS/blockmine/compare/v1.16.3...v1.17.0) (2025-07-24)
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
### 🐛 Исправления
|
|
58
|
-
|
|
59
|
-
* импорт ботов был улучшен. изменен, переделан, доделан, исправлен ([1a0983b](https://github.com/blockmineJS/blockmine/commit/1a0983bae10953edf1bf695a2451d21529642ce8))
|
|
60
|
-
* прокси теперь подключение теперь работает ([f2ed2b2](https://github.com/blockmineJS/blockmine/commit/f2ed2b2728860aabbed35cd6fc63473fd011550f))
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
### ✨ Новые возможности
|
|
64
|
-
|
|
65
|
-
* добавлена функция скопировать полный код плагина в редакторе плагина ([91f7a21](https://github.com/blockmineJS/blockmine/commit/91f7a2171826eb59ca933005eaf48581469c0092))
|
|
66
|
-
* плагины теперь могут изменять обработчики при проблемах (нет прав, не тот тип чата и др) ([eeda006](https://github.com/blockmineJS/blockmine/commit/eeda00648e3319aee72995452364d33c1b41b77a))
|
|
67
|
-
* теперь ботов в левом сайдбар меню можно перемещать по позициям ([95ca8dc](https://github.com/blockmineJS/blockmine/commit/95ca8dcd11872e411bb6a5a74bcf981581e9cb51))
|
|
68
|
-
* теперь при большом кол ве ботов, слева появится прокрутка ботов ([4e3c05d](https://github.com/blockmineJS/blockmine/commit/4e3c05dfdcb354e90b42226bf6c4af84ef328612))
|
|
69
|
-
* улучшена обработка настроек плагинов с поддержкой группировки ([cfc24c6](https://github.com/blockmineJS/blockmine/commit/cfc24c60d92cac3a69098f16bacdf3fbbbee2e38))
|
|
70
|
-
|
|
71
|
-
### [1.16.3](https://github.com/blockmineJS/blockmine/compare/v1.16.2...v1.16.3) (2025-07-22)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
### 🐛 Исправления
|
|
75
|
-
|
|
76
|
-
* забыл в панель добавить изменения кулдауна ([88370d2](https://github.com/blockmineJS/blockmine/commit/88370d24675eec5e656c7855f17cd984a9916f73))
|
|
77
|
-
* обновлены условия отображения поддерживаемых серверов в плагинах ([5733673](https://github.com/blockmineJS/blockmine/commit/573367317d3a082eab21155e55fd437f1e480a48))
|
|
78
|
-
* при обновление владельцев, кэш юзеров сбрасывается ([37067ae](https://github.com/blockmineJS/blockmine/commit/37067ae95395d48da9cce1951dd06c059eaf5bfb))
|
|
79
|
-
|
|
80
|
-
### [1.16.2](https://github.com/blockmineJS/blockmine/compare/v1.16.1...v1.16.2) (2025-07-20)
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
### 🐛 Исправления
|
|
84
|
-
|
|
85
|
-
* обновление плагинов починено ([6b3c536](https://github.com/blockmineJS/blockmine/commit/6b3c5360c490dda43b0fd8cbf5b77a6c4d329543))
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
### 🛠 Рефакторинг
|
|
89
|
-
|
|
90
|
-
* удалены отладочные сообщения и неиспользуемый код из компонента InstalledPluginsView ([1b41026](https://github.com/blockmineJS/blockmine/commit/1b410264d1e844c76404c047c4547e86199bbb27))
|
|
91
|
-
|
|
92
|
-
### [1.16.1](https://github.com/blockmineJS/blockmine/compare/v1.16.0...v1.16.1) (2025-07-20)
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
### 🐛 Исправления
|
|
96
|
-
|
|
97
|
-
* настройки плагинов опять можно менять на страничке плагинов. вернул сортировку по новым ([a89f9ca](https://github.com/blockmineJS/blockmine/commit/a89f9ca49437b7ca9eac76917f809433c4c7bbf1))
|
|
98
|
-
|
|
99
|
-
## [1.16.0](https://github.com/blockmineJS/blockmine/compare/v1.15.2...v1.16.0) (2025-07-20)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
### ✨ Новые возможности
|
|
103
|
-
|
|
104
|
-
* добавлен новый узел 'flow:switch' с динамическими case'ами ([81886db](https://github.com/blockmineJS/blockmine/commit/81886db75da6792d499cdc2c277494f9e39136c3))
|
|
105
|
-
* добавлена кнопка перезапуска бота ([db13070](https://github.com/blockmineJS/blockmine/commit/db130707637a8a5e93e8c783463ca38f0ab2bf85))
|
|
106
|
-
|
|
107
|
-
### [1.15.2](https://github.com/blockmineJS/blockmine/compare/v1.15.1...v1.15.2) (2025-07-19)
|
|
108
|
-
|
|
109
|
-
### [1.15.1](https://github.com/blockmineJS/blockmine/compare/v1.15.0...v1.15.1) (2025-07-19)
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
### 🐛 Исправления
|
|
113
|
-
|
|
114
|
-
* фикс. создание триггеров при установке из стора графа ([7980413](https://github.com/blockmineJS/blockmine/commit/79804133a6ff5d6f41769e7db2b6c4f1027e33f6))
|
|
115
|
-
|
|
116
|
-
## [1.15.0](https://github.com/blockmineJS/blockmine/compare/v1.14.1...v1.15.0) (2025-07-19)
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
### 🐛 Исправления
|
|
120
|
-
|
|
121
|
-
* в настройках когда меняешь имя бота на уже существующее, не будет ошибки ([0849f43](https://github.com/blockmineJS/blockmine/commit/0849f43a3b76640c18b1c358a56fedd801bb54ca))
|
|
122
|
-
* фикс парочки нод ([dd1a57e](https://github.com/blockmineJS/blockmine/commit/dd1a57e574d107a62934c3fe41aa0d4a1d90660f))
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
### ✨ Новые возможности
|
|
126
|
-
|
|
127
|
-
* новый функционал! Магазин графов! его можно найти в левом меню ([9e1c04c](https://github.com/blockmineJS/blockmine/commit/9e1c04cc1c512525b17591c72eb677d55e14b916))
|
|
128
|
-
* теперь для плагинов можно делать команды/события в графовой структуре ([e101e46](https://github.com/blockmineJS/blockmine/commit/e101e46c3e5b3fad1a0a47a74a6d64526ee72880))
|
|
28
|
+
* когда другой юзер заходит в панель, другие клиенты увидят уведомление что он зашел ([a689b4e](https://github.com/blockmineJS/blockmine/commit/a689b4ee91e0dc187b3eeddc75600e880730b885))
|
|
29
|
+
* новая кнопочка - прокси. позволяет установить прокси сразу множеству ботов ([ac75d65](https://github.com/blockmineJS/blockmine/commit/ac75d655289a4b4b4560555ac1fecbcdb199b822))
|
|
30
|
+
* теперь можно для других юзеров назначать определенных ботов которыми они могут управлять ([484685b](https://github.com/blockmineJS/blockmine/commit/484685b1821fa3ad8907f4ab320762cf1c6a3959))
|
|
129
31
|
|
|
32
|
+
### [1.18.5](https://github.com/blockmineJS/blockmine/compare/v1.18.4...v1.18.5) (2025-08-15)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### 🐛 Исправления
|
|
36
|
+
|
|
37
|
+
* теперь чейнджлог показывает не только минорные версии ([1a8a1d4](https://github.com/blockmineJS/blockmine/commit/1a8a1d405d02b34df37d8e9f19dcd3989f197b41))
|
|
38
|
+
|
|
39
|
+
### [1.18.4](https://github.com/blockmineJS/blockmine/compare/v1.18.3...v1.18.4) (2025-08-15)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
### 🐛 Исправления
|
|
43
|
+
|
|
44
|
+
* в диалог настроек плагина добавлена новая вкладка - данные. данные из бд плагина ([b532993](https://github.com/blockmineJS/blockmine/commit/b53299383132684e37a8426643ab1346bcf60d86))
|
|
45
|
+
* граф стор. чуть изменен дизайн ([c51abcd](https://github.com/blockmineJS/blockmine/commit/c51abcd9e6fe025f8a7b6c85d0b9eb71eb68546a))
|
|
46
|
+
* любимая переделка страницы плагинов ([d2f2b59](https://github.com/blockmineJS/blockmine/commit/d2f2b59b3c649e7f5c0eb5f5242d9908311c2c02))
|
|
47
|
+
* страница история версий изменена. теперь можно смотреть прошлые ([c5fc95e](https://github.com/blockmineJS/blockmine/commit/c5fc95eb92c9fc0759d76bbd9ec2b46cd7b7f825))
|
|
48
|
+
|
|
49
|
+
### [1.18.3](https://github.com/blockmineJS/blockmine/compare/v1.18.2...v1.18.3) (2025-08-07)
|
|
50
|
+
|
|
51
|
+
### [1.18.2](https://github.com/blockmineJS/blockmine/compare/v1.18.1...v1.18.2) (2025-08-07)
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
### 🐛 Исправления
|
|
55
|
+
|
|
56
|
+
* добавлена обработка ошибок при подготовке данных для импорта бота ([4e1c67d](https://github.com/blockmineJS/blockmine/commit/4e1c67d1d85ffc792b462b5f5ed0fc7daf2c45b9))
|
|
57
|
+
* добавлено авто заполнение владельцев при импорте бота ([10e8fde](https://github.com/blockmineJS/blockmine/commit/10e8fdec16f4d3d6b3cd42dfceee66eb8576f6ce))
|
|
58
|
+
* добавлено скрытое заголовок и описание для диалога создания нового бота ([1c8f87a](https://github.com/blockmineJS/blockmine/commit/1c8f87a6a8d723fb3ebdfa4abfdf6e32823f853d))
|
|
59
|
+
* увеличен лимит на размер загружаемых файлов. поможет при импорте больших ботов ([a45cf0a](https://github.com/blockmineJS/blockmine/commit/a45cf0ab368de0a021ee708d40a0d64a192ae3c9))
|
|
60
|
+
* улучшен интерфейс для мобильных устройств ([b5684a3](https://github.com/blockmineJS/blockmine/commit/b5684a34b92ce5a819b3e7a82e11c05679d890c7))
|
|
61
|
+
|
|
62
|
+
### [1.18.1](https://github.com/blockmineJS/blockmine/compare/v1.18.0...v1.18.1) (2025-08-03)
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
### 🐛 Исправления
|
|
66
|
+
|
|
67
|
+
* добавлен механизм перезапуска ботов при некоторых противных ошибках ([2eb34e3](https://github.com/blockmineJS/blockmine/commit/2eb34e3e63aaa72e5fb641d7ab155baa92dbde63))
|
|
68
|
+
* копирование кода/графов и всё что дает возможность скопировать в буфер обмена, починено ([dbe4ee6](https://github.com/blockmineJS/blockmine/commit/dbe4ee6bb2e19d99cfaaef33130c27803d5988a8))
|
|
69
|
+
* мелкие фиксы крон паттерна у планировщика. больше логов для наблюдений ([c33e7c8](https://github.com/blockmineJS/blockmine/commit/c33e7c895b3daf60bcde187cf1334ab38bb71592))
|
|
70
|
+
|
|
71
|
+
## [1.18.0](https://github.com/blockmineJS/blockmine/compare/v1.17.1...v1.18.0) (2025-07-26)
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
### ✨ Новые возможности
|
|
75
|
+
|
|
76
|
+
* добавлена новая кнопка - "Предложить улучшение". Поможет адептам составить свой запрос ([d741881](https://github.com/blockmineJS/blockmine/commit/d7418813e53d15fcd16c0517cea033d019ed355b))
|
|
77
|
+
* добавлено глубокое объединение настроек для плагинов и улучшена установка зависимостей ([452af4b](https://github.com/blockmineJS/blockmine/commit/452af4b67325f3faebe12c136a40f77515e805c0))
|
|
78
|
+
|
|
79
|
+
### [1.17.1](https://github.com/blockmineJS/blockmine/compare/v1.17.0...v1.17.1) (2025-07-24)
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
### 🐛 Исправления
|
|
83
|
+
|
|
84
|
+
* добавлена синхронизация статусов ботов каждые 10 секунд и обработка события 'bot_ready' ([c9e8bcc](https://github.com/blockmineJS/blockmine/commit/c9e8bcc5f1b31a122aa05b2bb65f3b4127dfb79a))
|
|
85
|
+
* исправление ошибок со скинами. вроде ([459d65b](https://github.com/blockmineJS/blockmine/commit/459d65ba40ec18da5d9a7402992c2cd6aa73a7d2))
|
|
86
|
+
* исправление ошибок со скинами. by сахарок ([433e5c6](https://github.com/blockmineJS/blockmine/commit/433e5c6222e385cfd0ba656c78eecd67f094b0ef))
|
|
87
|
+
* уменьшены лимиты логов для ботов. так много явно не надо ([d690dcd](https://github.com/blockmineJS/blockmine/commit/d690dcd5701603d455d105a2032f9262923cf5f0))
|
|
88
|
+
|
|
89
|
+
## [1.17.0](https://github.com/blockmineJS/blockmine/compare/v1.16.3...v1.17.0) (2025-07-24)
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
### 🐛 Исправления
|
|
93
|
+
|
|
94
|
+
* импорт ботов был улучшен. изменен, переделан, доделан, исправлен ([1a0983b](https://github.com/blockmineJS/blockmine/commit/1a0983bae10953edf1bf695a2451d21529642ce8))
|
|
95
|
+
* прокси теперь подключение теперь работает ([f2ed2b2](https://github.com/blockmineJS/blockmine/commit/f2ed2b2728860aabbed35cd6fc63473fd011550f))
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
### ✨ Новые возможности
|
|
99
|
+
|
|
100
|
+
* добавлена функция скопировать полный код плагина в редакторе плагина ([91f7a21](https://github.com/blockmineJS/blockmine/commit/91f7a2171826eb59ca933005eaf48581469c0092))
|
|
101
|
+
* плагины теперь могут изменять обработчики при проблемах (нет прав, не тот тип чата и др) ([eeda006](https://github.com/blockmineJS/blockmine/commit/eeda00648e3319aee72995452364d33c1b41b77a))
|
|
102
|
+
* теперь ботов в левом сайдбар меню можно перемещать по позициям ([95ca8dc](https://github.com/blockmineJS/blockmine/commit/95ca8dcd11872e411bb6a5a74bcf981581e9cb51))
|
|
103
|
+
* теперь при большом кол ве ботов, слева появится прокрутка ботов ([4e3c05d](https://github.com/blockmineJS/blockmine/commit/4e3c05dfdcb354e90b42226bf6c4af84ef328612))
|
|
104
|
+
* улучшена обработка настроек плагинов с поддержкой группировки ([cfc24c6](https://github.com/blockmineJS/blockmine/commit/cfc24c60d92cac3a69098f16bacdf3fbbbee2e38))
|
|
105
|
+
|
|
106
|
+
### [1.16.3](https://github.com/blockmineJS/blockmine/compare/v1.16.2...v1.16.3) (2025-07-22)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### 🐛 Исправления
|
|
110
|
+
|
|
111
|
+
* забыл в панель добавить изменения кулдауна ([88370d2](https://github.com/blockmineJS/blockmine/commit/88370d24675eec5e656c7855f17cd984a9916f73))
|
|
112
|
+
* обновлены условия отображения поддерживаемых серверов в плагинах ([5733673](https://github.com/blockmineJS/blockmine/commit/573367317d3a082eab21155e55fd437f1e480a48))
|
|
113
|
+
* при обновление владельцев, кэш юзеров сбрасывается ([37067ae](https://github.com/blockmineJS/blockmine/commit/37067ae95395d48da9cce1951dd06c059eaf5bfb))
|
|
114
|
+
|
|
115
|
+
### [1.16.2](https://github.com/blockmineJS/blockmine/compare/v1.16.1...v1.16.2) (2025-07-20)
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
### 🐛 Исправления
|
|
119
|
+
|
|
120
|
+
* обновление плагинов починено ([6b3c536](https://github.com/blockmineJS/blockmine/commit/6b3c5360c490dda43b0fd8cbf5b77a6c4d329543))
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
### 🛠 Рефакторинг
|
|
124
|
+
|
|
125
|
+
* удалены отладочные сообщения и неиспользуемый код из компонента InstalledPluginsView ([1b41026](https://github.com/blockmineJS/blockmine/commit/1b410264d1e844c76404c047c4547e86199bbb27))
|
|
126
|
+
|
|
127
|
+
### [1.16.1](https://github.com/blockmineJS/blockmine/compare/v1.16.0...v1.16.1) (2025-07-20)
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
### 🐛 Исправления
|
|
131
|
+
|
|
132
|
+
* настройки плагинов опять можно менять на страничке плагинов. вернул сортировку по новым ([a89f9ca](https://github.com/blockmineJS/blockmine/commit/a89f9ca49437b7ca9eac76917f809433c4c7bbf1))
|
|
133
|
+
|
|
134
|
+
## [1.16.0](https://github.com/blockmineJS/blockmine/compare/v1.15.2...v1.16.0) (2025-07-20)
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
### ✨ Новые возможности
|
|
138
|
+
|
|
139
|
+
* добавлен новый узел 'flow:switch' с динамическими case'ами ([81886db](https://github.com/blockmineJS/blockmine/commit/81886db75da6792d499cdc2c277494f9e39136c3))
|
|
140
|
+
* добавлена кнопка перезапуска бота ([db13070](https://github.com/blockmineJS/blockmine/commit/db130707637a8a5e93e8c783463ca38f0ab2bf85))
|
|
141
|
+
|
|
142
|
+
### [1.15.2](https://github.com/blockmineJS/blockmine/compare/v1.15.1...v1.15.2) (2025-07-19)
|
|
143
|
+
|
|
144
|
+
### [1.15.1](https://github.com/blockmineJS/blockmine/compare/v1.15.0...v1.15.1) (2025-07-19)
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
### 🐛 Исправления
|
|
148
|
+
|
|
149
|
+
* фикс. создание триггеров при установке из стора графа ([7980413](https://github.com/blockmineJS/blockmine/commit/79804133a6ff5d6f41769e7db2b6c4f1027e33f6))
|
|
150
|
+
|
|
151
|
+
## [1.15.0](https://github.com/blockmineJS/blockmine/compare/v1.14.1...v1.15.0) (2025-07-19)
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
### 🐛 Исправления
|
|
155
|
+
|
|
156
|
+
* в настройках когда меняешь имя бота на уже существующее, не будет ошибки ([0849f43](https://github.com/blockmineJS/blockmine/commit/0849f43a3b76640c18b1c358a56fedd801bb54ca))
|
|
157
|
+
* фикс парочки нод ([dd1a57e](https://github.com/blockmineJS/blockmine/commit/dd1a57e574d107a62934c3fe41aa0d4a1d90660f))
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
### ✨ Новые возможности
|
|
161
|
+
|
|
162
|
+
* новый функционал! Магазин графов! его можно найти в левом меню ([9e1c04c](https://github.com/blockmineJS/blockmine/commit/9e1c04cc1c512525b17591c72eb677d55e14b916))
|
|
163
|
+
* теперь для плагинов можно делать команды/события в графовой структуре ([e101e46](https://github.com/blockmineJS/blockmine/commit/e101e46c3e5b3fad1a0a47a74a6d64526ee72880))
|
|
164
|
+
|
|
130
165
|
### [1.14.1](https://github.com/blockmineJS/blockmine/compare/v1.14.0...v1.14.1) (2025-07-19)
|
|
131
166
|
|
|
132
167
|
## [1.14.0](https://github.com/blockmineJS/blockmine/compare/v1.13.1...v1.14.0) (2025-07-19)
|
package/backend/cli.js
CHANGED
|
@@ -1,58 +1,60 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
const fs = require('fs');
|
|
3
|
-
const os = require('os');
|
|
4
|
-
const path = require('path');
|
|
5
|
-
const { execSync } = require('child_process');
|
|
6
|
-
|
|
7
|
-
const config = require('./src/config.js');
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
const os = require('os');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const { execSync } = require('child_process');
|
|
6
|
+
|
|
7
|
+
const config = require('./src/config.js');
|
|
8
|
+
|
|
9
|
+
const DATA_DIR = path.join(os.homedir(), '.blockmine');
|
|
10
|
+
if (!fs.existsSync(DATA_DIR)) {
|
|
11
|
+
fs.mkdirSync(DATA_DIR, { recursive: true });
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
process.env.DATABASE_URL = `file:${path.join(DATA_DIR, 'blockmine.db')}`;
|
|
15
|
+
|
|
16
|
+
if (process.env.NODE_ENV === 'development' || process.argv.includes('--dev') || process.argv.includes('--debug')) {
|
|
17
|
+
process.env.DEBUG = 'true';
|
|
18
|
+
console.log('[Dev] Режим отладки включен (DEBUG=true)');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
function runCommand(command) {
|
|
22
|
+
try {
|
|
23
|
+
console.log(`> ${command}`);
|
|
24
|
+
execSync(command, { stdio: 'inherit', cwd: __dirname });
|
|
25
|
+
} catch (e) {
|
|
26
|
+
console.error(`Команда "${command}" не удалась:`, e);
|
|
27
|
+
process.exit(1);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async function main() {
|
|
32
|
+
console.log('Запуск панели управления BlockMine...');
|
|
33
|
+
|
|
34
|
+
const dbPath = path.join(DATA_DIR, 'blockmine.db');
|
|
35
|
+
runCommand(`npx prisma generate`);
|
|
36
|
+
|
|
37
|
+
if (!fs.existsSync(dbPath)) {
|
|
38
|
+
console.log('База данных не найдена. Создаем и применяем все миграции...');
|
|
39
|
+
runCommand(`npx prisma migrate deploy`);
|
|
40
|
+
console.log('Заполнение базы данных начальными данными (серверами)...');
|
|
41
|
+
runCommand(`npx prisma db seed`);
|
|
42
|
+
console.log('Первоначальная настройка базы данных завершена.');
|
|
43
|
+
} else {
|
|
44
|
+
console.log('Проверка и применение обновлений базы данных...');
|
|
45
|
+
runCommand(`npx prisma migrate deploy`);
|
|
46
|
+
console.log('База данных в актуальном состоянии.');
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const { startServer } = require('./src/server.js');
|
|
50
|
+
await startServer();
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
if (require.main === module) {
|
|
54
|
+
main().catch(e => {
|
|
55
|
+
console.error('Критическая ошибка при запуске:', e);
|
|
56
|
+
process.exit(1);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
58
60
|
module.exports = { main };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
-- AlterTable
|
|
2
|
-
ALTER TABLE "EventGraph" ADD COLUMN "variables" TEXT DEFAULT '[]';
|
|
1
|
+
-- AlterTable
|
|
2
|
+
ALTER TABLE "EventGraph" ADD COLUMN "variables" TEXT DEFAULT '[]';
|