blockmine 1.5.7 → 1.6.0
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/README.md +2 -3
- package/backend/prisma/migrations/20250709150611_add_run_on_startup_to_tasks/migration.sql +21 -0
- package/backend/prisma/migrations/20250709151124_make_cron_pattern_optional/migration.sql +21 -0
- package/backend/prisma/schema.prisma +2 -1
- package/backend/src/api/routes/bots.js +1088 -1081
- package/backend/src/api/routes/pluginIde.js +133 -8
- package/backend/src/api/routes/tasks.js +19 -2
- package/backend/src/core/BotManager.js +789 -715
- package/backend/src/core/BotProcess.js +41 -2
- package/backend/src/core/EventGraphManager.js +3 -0
- package/backend/src/core/GraphExecutionEngine.js +796 -705
- package/backend/src/core/NodeRegistry.js +1059 -888
- package/backend/src/core/PluginManager.js +12 -5
- package/backend/src/core/TaskScheduler.js +35 -18
- package/backend/src/core/UserService.js +1 -1
- package/backend/src/core/services.js +1 -2
- package/backend/src/lib/prisma.js +5 -0
- package/backend/src/real-time/socketHandler.js +9 -11
- package/backend/src/server.js +26 -23
- package/frontend/dist/assets/index-4mfeN9LH.css +1 -0
- package/frontend/dist/assets/index-CVKjf72r.js +8203 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-BRG5IJlS.js +0 -8203
- package/frontend/dist/assets/index-CxAe5KlR.css +0 -1
package/README.md
CHANGED
|
@@ -97,8 +97,7 @@
|
|
|
97
97
|
Это сердце No-Code автоматизации в BlockMine. Редактор позволяет вам создавать логику, перетаскивая и соединяя функциональные блоки (ноды).
|
|
98
98
|
|
|
99
99
|
* **Создание команд**: Спроектируйте полноценную команду с аргументами, проверками прав и сложной логикой, не прикасаясь к коду.
|
|
100
|
-
* **Обработка событий**: Создавайте
|
|
101
|
-
* **Наглядность**: Весь поток выполнения виден на одном экране, что упрощает понимание и отладку логики.
|
|
100
|
+
* **Обработка событий**: Создавайте ноды, которые реагируют на игровые события (например, вход игрока, сообщение в чате, появление моба) и выполняют заданные действия.
|
|
102
101
|
|
|
103
102
|
### 🔌 Плагины
|
|
104
103
|
Плагины — это способ программного расширения функциональности. Они могут добавлять новые команды, новые ноды для визуального редактора или работать в фоновом режиме.
|
|
@@ -143,4 +142,4 @@ npm run dev
|
|
|
143
142
|
```
|
|
144
143
|
|
|
145
144
|
* **Бэкенд** будет доступен на `http://localhost:3001`.
|
|
146
|
-
* **Фронтенд** с горячей перезагрузкой будет доступен на `http://localhost:5173`. Открывайте этот адрес для разработки.
|
|
145
|
+
* **Фронтенд** с горячей перезагрузкой будет доступен на `http://localhost:5173`. Открывайте этот адрес для разработки.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
-- RedefineTables
|
|
2
|
+
PRAGMA defer_foreign_keys=ON;
|
|
3
|
+
PRAGMA foreign_keys=OFF;
|
|
4
|
+
CREATE TABLE "new_ScheduledTask" (
|
|
5
|
+
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
6
|
+
"name" TEXT NOT NULL,
|
|
7
|
+
"cronPattern" TEXT NOT NULL,
|
|
8
|
+
"action" TEXT NOT NULL,
|
|
9
|
+
"targetBotIds" TEXT NOT NULL,
|
|
10
|
+
"payload" TEXT DEFAULT '{}',
|
|
11
|
+
"isEnabled" BOOLEAN NOT NULL DEFAULT true,
|
|
12
|
+
"runOnStartup" BOOLEAN NOT NULL DEFAULT false,
|
|
13
|
+
"lastRun" DATETIME,
|
|
14
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"updatedAt" DATETIME NOT NULL
|
|
16
|
+
);
|
|
17
|
+
INSERT INTO "new_ScheduledTask" ("action", "createdAt", "cronPattern", "id", "isEnabled", "lastRun", "name", "payload", "targetBotIds", "updatedAt") SELECT "action", "createdAt", "cronPattern", "id", "isEnabled", "lastRun", "name", "payload", "targetBotIds", "updatedAt" FROM "ScheduledTask";
|
|
18
|
+
DROP TABLE "ScheduledTask";
|
|
19
|
+
ALTER TABLE "new_ScheduledTask" RENAME TO "ScheduledTask";
|
|
20
|
+
PRAGMA foreign_keys=ON;
|
|
21
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
-- RedefineTables
|
|
2
|
+
PRAGMA defer_foreign_keys=ON;
|
|
3
|
+
PRAGMA foreign_keys=OFF;
|
|
4
|
+
CREATE TABLE "new_ScheduledTask" (
|
|
5
|
+
"id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
|
|
6
|
+
"name" TEXT NOT NULL,
|
|
7
|
+
"cronPattern" TEXT,
|
|
8
|
+
"action" TEXT NOT NULL,
|
|
9
|
+
"targetBotIds" TEXT NOT NULL,
|
|
10
|
+
"payload" TEXT DEFAULT '{}',
|
|
11
|
+
"isEnabled" BOOLEAN NOT NULL DEFAULT true,
|
|
12
|
+
"runOnStartup" BOOLEAN NOT NULL DEFAULT false,
|
|
13
|
+
"lastRun" DATETIME,
|
|
14
|
+
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
15
|
+
"updatedAt" DATETIME NOT NULL
|
|
16
|
+
);
|
|
17
|
+
INSERT INTO "new_ScheduledTask" ("action", "createdAt", "cronPattern", "id", "isEnabled", "lastRun", "name", "payload", "runOnStartup", "targetBotIds", "updatedAt") SELECT "action", "createdAt", "cronPattern", "id", "isEnabled", "lastRun", "name", "payload", "runOnStartup", "targetBotIds", "updatedAt" FROM "ScheduledTask";
|
|
18
|
+
DROP TABLE "ScheduledTask";
|
|
19
|
+
ALTER TABLE "new_ScheduledTask" RENAME TO "ScheduledTask";
|
|
20
|
+
PRAGMA foreign_keys=ON;
|
|
21
|
+
PRAGMA defer_foreign_keys=OFF;
|
|
@@ -171,11 +171,12 @@ model GroupPermission {
|
|
|
171
171
|
model ScheduledTask {
|
|
172
172
|
id Int @id @default(autoincrement())
|
|
173
173
|
name String
|
|
174
|
-
cronPattern String
|
|
174
|
+
cronPattern String?
|
|
175
175
|
action String
|
|
176
176
|
targetBotIds String // джсон массив ID ботов или "ALL"
|
|
177
177
|
payload String? @default("{}") // джсон для доп данных, например, команды
|
|
178
178
|
isEnabled Boolean @default(true)
|
|
179
|
+
runOnStartup Boolean @default(false)
|
|
179
180
|
lastRun DateTime?
|
|
180
181
|
createdAt DateTime @default(now())
|
|
181
182
|
updatedAt DateTime @updatedAt
|