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.
Files changed (35) hide show
  1. package/.kiro/steering/product.md +27 -0
  2. package/.kiro/steering/structure.md +89 -0
  3. package/.kiro/steering/tech.md +94 -0
  4. package/CHANGELOG.md +147 -112
  5. package/backend/cli.js +59 -57
  6. package/backend/prisma/migrations/20250701190321_add/migration.sql +2 -2
  7. package/backend/prisma/migrations/20250709150611_add_run_on_startup_to_tasks/migration.sql +21 -21
  8. package/backend/prisma/migrations/20250709151124_make_cron_pattern_optional/migration.sql +21 -21
  9. package/backend/prisma/migrations/20250718181335_add_plugin_data_store/migration.sql +14 -14
  10. package/backend/prisma/migrations/20250719115906_add_plugin_owner_to_graphs/migration.sql +45 -45
  11. package/backend/prisma/migrations/20250723160648_add_bot_sort_order/migration.sql +2 -2
  12. package/backend/prisma/migrations/20250816083216_add_panel_user_bot_access/migration.sql +30 -0
  13. package/backend/prisma/migrations/migration_lock.toml +2 -2
  14. package/backend/prisma/schema.prisma +244 -229
  15. package/backend/src/api/middleware/botAccess.js +35 -0
  16. package/backend/src/api/routes/auth.js +633 -595
  17. package/backend/src/api/routes/bots.js +294 -179
  18. package/backend/src/api/routes/eventGraphs.js +459 -459
  19. package/backend/src/api/routes/pluginIde.js +6 -2
  20. package/backend/src/api/routes/servers.js +27 -0
  21. package/backend/src/core/BotManager.js +0 -1
  22. package/backend/src/core/BotProcess.js +1 -2
  23. package/backend/src/core/GraphExecutionEngine.js +917 -917
  24. package/backend/src/core/PluginLoader.js +208 -86
  25. package/backend/src/core/PluginManager.js +465 -427
  26. package/backend/src/core/commands/dev.js +6 -1
  27. package/backend/src/real-time/presence.js +74 -0
  28. package/backend/src/real-time/socketHandler.js +2 -0
  29. package/backend/src/server.js +193 -186
  30. package/frontend/dist/assets/index-BFd7YoAj.css +1 -0
  31. package/frontend/dist/assets/index-DxdxTe6I.js +8352 -0
  32. package/frontend/dist/index.html +2 -2
  33. package/package.json +1 -1
  34. package/frontend/dist/assets/index-CA3XrPPP.css +0 -1
  35. 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.18.4](https://github.com/blockmineJS/blockmine/compare/v1.18.3...v1.18.4) (2025-08-15)
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
- * в диалог настроек плагина добавлена новая вкладка - данные. данные из бд плагина ([b532993](https://github.com/blockmineJS/blockmine/commit/b53299383132684e37a8426643ab1346bcf60d86))
10
- * граф стор. чуть изменен дизайн ([c51abcd](https://github.com/blockmineJS/blockmine/commit/c51abcd9e6fe025f8a7b6c85d0b9eb71eb68546a))
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
- ### [1.18.3](https://github.com/blockmineJS/blockmine/compare/v1.18.2...v1.18.3) (2025-08-07)
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
- * добавлена обработка ошибок при подготовке данных для импорта бота ([4e1c67d](https://github.com/blockmineJS/blockmine/commit/4e1c67d1d85ffc792b462b5f5ed0fc7daf2c45b9))
22
- * добавлено авто заполнение владельцев при импорте бота ([10e8fde](https://github.com/blockmineJS/blockmine/commit/10e8fdec16f4d3d6b3cd42dfceee66eb8576f6ce))
23
- * добавлено скрытое заголовок и описание для диалога создания нового бота ([1c8f87a](https://github.com/blockmineJS/blockmine/commit/1c8f87a6a8d723fb3ebdfa4abfdf6e32823f853d))
24
- * увеличен лимит на размер загружаемых файлов. поможет при импорте больших ботов ([a45cf0a](https://github.com/blockmineJS/blockmine/commit/a45cf0ab368de0a021ee708d40a0d64a192ae3c9))
25
- * улучшен интерфейс для мобильных устройств ([b5684a3](https://github.com/blockmineJS/blockmine/commit/b5684a34b92ce5a819b3e7a82e11c05679d890c7))
26
-
27
- ### [1.18.1](https://github.com/blockmineJS/blockmine/compare/v1.18.0...v1.18.1) (2025-08-03)
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
- * добавлена новая кнопка - "Предложить улучшение". Поможет адептам составить свой запрос ([d741881](https://github.com/blockmineJS/blockmine/commit/d7418813e53d15fcd16c0517cea033d019ed355b))
42
- * добавлено глубокое объединение настроек для плагинов и улучшена установка зависимостей ([452af4b](https://github.com/blockmineJS/blockmine/commit/452af4b67325f3faebe12c136a40f77515e805c0))
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
- const { startServer } = require('./src/server.js');
9
-
10
- const DATA_DIR = path.join(os.homedir(), '.blockmine');
11
- if (!fs.existsSync(DATA_DIR)) {
12
- fs.mkdirSync(DATA_DIR, { recursive: true });
13
- }
14
-
15
- process.env.DATABASE_URL = `file:${path.join(DATA_DIR, 'blockmine.db')}`;
16
-
17
- if (process.env.NODE_ENV === 'development' || process.argv.includes('--dev') || process.argv.includes('--debug')) {
18
- process.env.DEBUG = 'true';
19
- console.log('[Dev] Режим отладки включен (DEBUG=true)');
20
- }
21
-
22
- function runCommand(command) {
23
- try {
24
- console.log(`> ${command}`);
25
- execSync(command, { stdio: 'inherit', cwd: __dirname });
26
- } catch (e) {
27
- console.error(`Команда "${command}" не удалась:`, e);
28
- process.exit(1);
29
- }
30
- }
31
-
32
- async function main() {
33
- console.log('Запуск панели управления BlockMine...');
34
-
35
- const dbPath = path.join(DATA_DIR, 'blockmine.db');
36
- if (!fs.existsSync(dbPath)) {
37
- console.log('База данных не найдена. Создаем и применяем все миграции...');
38
- runCommand(`npx prisma migrate deploy`);
39
- console.log('Заполнение базы данных начальными данными (серверами)...');
40
- runCommand(`npx prisma db seed`);
41
- console.log('Первоначальная настройка базы данных завершена.');
42
- } else {
43
- console.log('Проверка и применение обновлений базы данных...');
44
- runCommand(`npx prisma migrate deploy`);
45
- console.log('База данных в актуальном состоянии.');
46
- }
47
-
48
- await startServer();
49
- }
50
-
51
- if (require.main === module) {
52
- main().catch(e => {
53
- console.error('Критическая ошибка при запуске:', e);
54
- process.exit(1);
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 '[]';