blockmine 1.21.0 → 1.23.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.
Files changed (492) hide show
  1. package/.claude/agents/README.md +469 -0
  2. package/.claude/agents/auth-route-debugger.md +118 -0
  3. package/.claude/agents/auth-route-tester.md +93 -0
  4. package/.claude/agents/auto-error-resolver.md +97 -0
  5. package/.claude/agents/build-optimizer.md +236 -0
  6. package/.claude/agents/code-architecture-reviewer.md +83 -0
  7. package/.claude/agents/code-refactor-master.md +94 -0
  8. package/.claude/agents/cost-optimizer.md +134 -0
  9. package/.claude/agents/deployment-orchestrator.md +113 -0
  10. package/.claude/agents/documentation-architect.md +82 -0
  11. package/.claude/agents/frontend-error-fixer.md +77 -0
  12. package/.claude/agents/iac-code-generator.md +71 -0
  13. package/.claude/agents/incident-responder.md +346 -0
  14. package/.claude/agents/infrastructure-architect.md +31 -0
  15. package/.claude/agents/kubernetes-specialist.md +56 -0
  16. package/.claude/agents/migration-planner.md +181 -0
  17. package/.claude/agents/network-architect.md +196 -0
  18. package/.claude/agents/plan-reviewer.md +52 -0
  19. package/.claude/agents/refactor-planner.md +63 -0
  20. package/.claude/agents/security-scanner.md +102 -0
  21. package/.claude/agents/web-research-specialist.md +78 -0
  22. package/.claude/commands/cost-analysis.md +315 -0
  23. package/.claude/commands/dev-docs-update.md +55 -0
  24. package/.claude/commands/dev-docs.md +51 -0
  25. package/.claude/commands/incident-debug.md +247 -0
  26. package/.claude/commands/infra-plan.md +81 -0
  27. package/.claude/commands/migration-plan.md +478 -0
  28. package/.claude/commands/route-research-for-testing.md +37 -0
  29. package/.claude/commands/security-review.md +66 -0
  30. package/.claude/hooks/CONFIG.md +448 -0
  31. package/.claude/hooks/README.md +163 -0
  32. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
  33. package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
  34. package/.claude/hooks/add-skill-activation-banners.ts +132 -0
  35. package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
  36. package/.claude/hooks/error-handling-reminder.sh +12 -0
  37. package/.claude/hooks/error-handling-reminder.ts +222 -0
  38. package/.claude/hooks/k8s-manifest-validator.sh +56 -0
  39. package/.claude/hooks/package-lock.json +556 -0
  40. package/.claude/hooks/package.json +16 -0
  41. package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
  42. package/.claude/hooks/post-tool-use-tracker.sh +183 -0
  43. package/.claude/hooks/security-policy-check.sh +247 -0
  44. package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
  45. package/.claude/hooks/skill-activation-prompt.sh +10 -0
  46. package/.claude/hooks/skill-activation-prompt.ts +141 -0
  47. package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
  48. package/.claude/hooks/terraform-validator.sh +53 -0
  49. package/.claude/hooks/test-input.json +7 -0
  50. package/.claude/hooks/test-skill-activation.ts +427 -0
  51. package/.claude/hooks/trigger-build-resolver.sh +79 -0
  52. package/.claude/hooks/tsc-check.sh +173 -0
  53. package/.claude/hooks/tsconfig.json +19 -0
  54. package/.claude/settings.json +59 -0
  55. package/.claude/settings.local.json +36 -14
  56. package/.claude/skills/README.md +507 -0
  57. package/.claude/skills/api-engineering/SKILL.md +63 -0
  58. package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
  59. package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
  60. package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
  61. package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
  62. package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
  63. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
  64. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
  65. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
  66. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
  67. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
  68. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
  69. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
  70. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
  71. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
  72. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
  73. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
  74. package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
  75. package/.claude/skills/build-engineering/SKILL.md +431 -0
  76. package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
  77. package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
  78. package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
  79. package/.claude/skills/build-engineering/resources/build-security.md +95 -0
  80. package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
  81. package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
  82. package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
  83. package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
  84. package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
  85. package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
  86. package/.claude/skills/cloud-engineering/SKILL.md +675 -0
  87. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
  88. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
  89. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
  90. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
  91. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
  92. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
  93. package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
  94. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
  95. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
  96. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
  97. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
  98. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
  99. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
  100. package/.claude/skills/cybersecurity/SKILL.md +409 -0
  101. package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
  102. package/.claude/skills/database-engineering/SKILL.md +61 -0
  103. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
  104. package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
  105. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
  106. package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
  107. package/.claude/skills/devsecops/SKILL.md +374 -0
  108. package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
  109. package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
  110. package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
  111. package/.claude/skills/devsecops/resources/container-security.md +915 -0
  112. package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
  113. package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
  114. package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
  115. package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
  116. package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
  117. package/.claude/skills/devsecops/resources/security-testing.md +203 -0
  118. package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
  119. package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
  120. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
  121. package/.claude/skills/documentation-as-code/SKILL.md +323 -0
  122. package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
  123. package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
  124. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
  125. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
  126. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
  127. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
  128. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
  129. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
  130. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
  131. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
  132. package/.claude/skills/engineering-management/SKILL.md +356 -0
  133. package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
  134. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
  135. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
  136. package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
  137. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
  138. package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
  139. package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
  140. package/.claude/skills/error-tracking/SKILL.md +379 -0
  141. package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
  142. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
  143. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
  144. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
  145. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
  146. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
  147. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
  148. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
  149. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
  150. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
  151. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
  152. package/.claude/skills/general-it-engineering/SKILL.md +393 -0
  153. package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
  154. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
  155. package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
  156. package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
  157. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
  158. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
  159. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
  160. package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
  161. package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
  162. package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
  163. package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
  164. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
  165. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
  166. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
  167. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
  168. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
  169. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
  170. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
  171. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
  172. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
  173. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
  174. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
  175. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
  176. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
  177. package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
  178. package/.claude/skills/network-engineering/SKILL.md +385 -0
  179. package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
  180. package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
  181. package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
  182. package/.claude/skills/network-engineering/resources/network-security.md +921 -0
  183. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
  184. package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
  185. package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
  186. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
  187. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
  188. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
  189. package/.claude/skills/observability-engineering/SKILL.md +101 -0
  190. package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
  191. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
  192. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
  193. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
  194. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
  195. package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
  196. package/.claude/skills/platform-engineering/SKILL.md +555 -0
  197. package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
  198. package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
  199. package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
  200. package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
  201. package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
  202. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
  203. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
  204. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
  205. package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
  206. package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
  207. package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
  208. package/.claude/skills/release-engineering/SKILL.md +393 -0
  209. package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
  210. package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
  211. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
  212. package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
  213. package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
  214. package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
  215. package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
  216. package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
  217. package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
  218. package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
  219. package/.claude/skills/route-tester/SKILL.md +392 -0
  220. package/.claude/skills/skill-developer/ADVANCED.md +197 -0
  221. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
  222. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
  223. package/.claude/skills/skill-developer/SKILL.md +430 -0
  224. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
  225. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
  226. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
  227. package/.claude/skills/skill-rules.json +2940 -0
  228. package/.claude/skills/sre/SKILL.md +464 -0
  229. package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
  230. package/.claude/skills/sre/resources/capacity-planning.md +226 -0
  231. package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
  232. package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
  233. package/.claude/skills/sre/resources/incident-management.md +436 -0
  234. package/.claude/skills/sre/resources/observability-stack.md +240 -0
  235. package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
  236. package/.claude/skills/sre/resources/performance-optimization.md +108 -0
  237. package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
  238. package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
  239. package/.claude/skills/sre/resources/toil-reduction.md +145 -0
  240. package/.claude/skills/systems-engineering/SKILL.md +648 -0
  241. package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
  242. package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
  243. package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
  244. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
  245. package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
  246. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
  247. package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
  248. package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
  249. package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
  250. package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
  251. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
  252. package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
  253. package/.claude/skills/technical-leadership/SKILL.md +728 -0
  254. package/CHANGELOG.md +102 -42
  255. package/CLAUDE.md +284 -0
  256. package/README.md +315 -71
  257. package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
  258. package/backend/jest.config.js +59 -0
  259. package/backend/package-lock.json +6801 -0
  260. package/backend/package.json +24 -4
  261. package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
  262. package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
  263. package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
  264. package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
  265. package/backend/prisma/migrations/migration_lock.toml +2 -2
  266. package/backend/prisma/schema.prisma +103 -1
  267. package/backend/src/__tests__/core/DependencyService.test.js +336 -0
  268. package/backend/src/__tests__/core/UserService.test.js +875 -0
  269. package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
  270. package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
  271. package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
  272. package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
  273. package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
  274. package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
  275. package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
  276. package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
  277. package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
  278. package/backend/src/__tests__/secretsFilter.test.js +425 -0
  279. package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
  280. package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
  281. package/backend/src/__tests__/services/CacheManager.test.js +125 -0
  282. package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
  283. package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
  284. package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
  285. package/backend/src/__tests__/setup.js +25 -0
  286. package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
  287. package/backend/src/api/middleware/auth.js +27 -0
  288. package/backend/src/api/middleware/botAccess.js +7 -3
  289. package/backend/src/api/middleware/panelApiAuth.js +135 -0
  290. package/backend/src/api/routes/aiAssistant.js +995 -0
  291. package/backend/src/api/routes/apiKeys.js +181 -0
  292. package/backend/src/api/routes/auth.js +669 -633
  293. package/backend/src/api/routes/botCommands.js +107 -0
  294. package/backend/src/api/routes/botGroups.js +165 -0
  295. package/backend/src/api/routes/botHistory.js +108 -0
  296. package/backend/src/api/routes/botPermissions.js +99 -0
  297. package/backend/src/api/routes/botStatus.js +36 -0
  298. package/backend/src/api/routes/botUsers.js +162 -0
  299. package/backend/src/api/routes/bots.js +2451 -2360
  300. package/backend/src/api/routes/eventGraphs.js +4 -1
  301. package/backend/src/api/routes/logs.js +13 -3
  302. package/backend/src/api/routes/panel.js +66 -66
  303. package/backend/src/api/routes/panelApiKeys.js +179 -0
  304. package/backend/src/api/routes/pluginIde.js +1715 -135
  305. package/backend/src/api/routes/plugins.js +376 -218
  306. package/backend/src/api/routes/proxies.js +130 -0
  307. package/backend/src/api/routes/search.js +4 -0
  308. package/backend/src/api/routes/servers.js +20 -3
  309. package/backend/src/api/routes/settings.js +5 -0
  310. package/backend/src/api/routes/system.js +174 -0
  311. package/backend/src/api/routes/traces.js +131 -0
  312. package/backend/src/config/debug.config.js +36 -0
  313. package/backend/src/container.js +82 -0
  314. package/backend/src/core/BotHistoryStore.js +180 -0
  315. package/backend/src/core/BotManager.js +149 -868
  316. package/backend/src/core/BotManager.old.js +1093 -0
  317. package/backend/src/core/BotProcess.js +850 -191
  318. package/backend/src/core/EventGraphManager.js +194 -198
  319. package/backend/src/core/GraphExecutionEngine.js +709 -57
  320. package/backend/src/core/MessageQueue.js +39 -12
  321. package/backend/src/core/NodeRegistry.js +37 -1134
  322. package/backend/src/core/PluginLoader.js +99 -5
  323. package/backend/src/core/PluginManager.js +126 -15
  324. package/backend/src/core/PrismaService.js +32 -0
  325. package/backend/src/core/TaskScheduler.js +1 -1
  326. package/backend/src/core/UserService.js +3 -3
  327. package/backend/src/core/__tests__/PrismaService.test.js +24 -0
  328. package/backend/src/core/commands/README.md +305 -0
  329. package/backend/src/core/commands/dev.js +13 -7
  330. package/backend/src/core/commands/ping.js +10 -4
  331. package/backend/src/core/commands/whois.js +63 -0
  332. package/backend/src/core/config/validation.js +27 -0
  333. package/backend/src/core/constants/graphTypes.js +21 -0
  334. package/backend/src/core/node-registries/actions.js +202 -0
  335. package/backend/src/core/node-registries/arrays.js +155 -0
  336. package/backend/src/core/node-registries/bot.js +23 -0
  337. package/backend/src/core/node-registries/data.js +290 -0
  338. package/backend/src/core/node-registries/debug.js +26 -0
  339. package/backend/src/core/node-registries/events.js +201 -0
  340. package/backend/src/core/node-registries/flow.js +139 -0
  341. package/backend/src/core/node-registries/logic.js +62 -0
  342. package/backend/src/core/node-registries/math.js +42 -0
  343. package/backend/src/core/node-registries/objects.js +98 -0
  344. package/backend/src/core/node-registries/strings.js +187 -0
  345. package/backend/src/core/node-registries/time.js +113 -0
  346. package/backend/src/core/node-registries/type.js +25 -0
  347. package/backend/src/core/node-registries/users.js +79 -0
  348. package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
  349. package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
  350. package/backend/src/core/nodes/actions/create_command.js +189 -0
  351. package/backend/src/core/nodes/actions/delete_command.js +92 -0
  352. package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
  353. package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
  354. package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
  355. package/backend/src/core/nodes/actions/update_command.js +133 -0
  356. package/backend/src/core/nodes/arrays/get_next.js +35 -0
  357. package/backend/src/core/nodes/arrays/join.js +28 -0
  358. package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
  359. package/backend/src/core/nodes/data/datetime_literal.js +27 -0
  360. package/backend/src/core/nodes/data/entity_info.js +69 -0
  361. package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
  362. package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
  363. package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
  364. package/backend/src/core/nodes/data/type_check.js +53 -0
  365. package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
  366. package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
  367. package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
  368. package/backend/src/core/nodes/flow/delay.js +43 -0
  369. package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
  370. package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
  371. package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
  372. package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
  373. package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
  374. package/backend/src/core/nodes/logic/not.js +22 -0
  375. package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
  376. package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
  377. package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
  378. package/backend/src/core/nodes/strings/to_lower.js +22 -0
  379. package/backend/src/core/nodes/strings/to_upper.js +22 -0
  380. package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
  381. package/backend/src/core/nodes/time/add.js +33 -0
  382. package/backend/src/core/nodes/time/compare.js +35 -0
  383. package/backend/src/core/nodes/time/diff.js +29 -0
  384. package/backend/src/core/nodes/time/format.js +32 -0
  385. package/backend/src/core/nodes/time/now.js +18 -0
  386. package/backend/src/core/nodes/type/to_string.js +32 -0
  387. package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
  388. package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
  389. package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
  390. package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
  391. package/backend/src/core/services/BotLifecycleService.js +835 -0
  392. package/backend/src/core/services/BotProcessManager.js +163 -0
  393. package/backend/src/core/services/CacheManager.js +111 -0
  394. package/backend/src/core/services/CommandExecutionService.js +430 -0
  395. package/backend/src/core/services/DebugSessionManager.js +347 -0
  396. package/backend/src/core/services/GraphCollaborationManager.js +501 -0
  397. package/backend/src/core/services/MinecraftBotManager.js +259 -0
  398. package/backend/src/core/services/MinecraftViewerService.js +216 -0
  399. package/backend/src/core/services/ResourceMonitorService.js +90 -0
  400. package/backend/src/core/services/TelemetryService.js +124 -0
  401. package/backend/src/core/services/TraceCollectorService.js +545 -0
  402. package/backend/src/core/services/ValidationService.js +132 -0
  403. package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
  404. package/backend/src/core/services.js +20 -5
  405. package/backend/src/core/system/CommandContext.js +84 -0
  406. package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
  407. package/backend/src/core/system/Transport.js +74 -0
  408. package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
  409. package/backend/src/core/utils/jsonParser.js +18 -0
  410. package/backend/src/core/utils/secretsFilter.js +262 -0
  411. package/backend/src/core/utils/variableParser.js +89 -0
  412. package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
  413. package/backend/src/core/validation/nodeSchemas.js +112 -0
  414. package/backend/src/lib/prisma.js +2 -4
  415. package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
  416. package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
  417. package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
  418. package/backend/src/real-time/botApi/handlers/index.js +43 -0
  419. package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
  420. package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
  421. package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
  422. package/backend/src/real-time/botApi/index.js +40 -0
  423. package/backend/src/real-time/botApi/middleware.js +79 -0
  424. package/backend/src/real-time/botApi/utils.js +65 -0
  425. package/backend/src/real-time/panelNamespace.js +387 -0
  426. package/backend/src/real-time/presence.js +7 -2
  427. package/backend/src/real-time/socketHandler.js +400 -5
  428. package/backend/src/repositories/BaseRepository.js +43 -0
  429. package/backend/src/repositories/BotRepository.js +42 -0
  430. package/backend/src/repositories/CommandRepository.js +53 -0
  431. package/backend/src/repositories/EventGraphRepository.js +40 -0
  432. package/backend/src/repositories/GroupRepository.js +69 -0
  433. package/backend/src/repositories/PermissionRepository.js +48 -0
  434. package/backend/src/repositories/PluginRepository.js +42 -0
  435. package/backend/src/repositories/ServerRepository.js +27 -0
  436. package/backend/src/repositories/UserRepository.js +48 -0
  437. package/backend/src/server.js +21 -0
  438. package/backend/src/test-refactor.js +85 -0
  439. package/frontend/dist/assets/index-B1serztM.js +11210 -0
  440. package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
  441. package/frontend/dist/index.html +2 -2
  442. package/frontend/package-lock.json +9437 -0
  443. package/frontend/package.json +8 -5
  444. package/package.json +3 -2
  445. package/screen/console.png +0 -0
  446. package/screen/dashboard.png +0 -0
  447. package/screen/graph_collabe.png +0 -0
  448. package/screen/graph_live_debug.png +0 -0
  449. package/screen/management_command.png +0 -0
  450. package/screen/node_debug_trace.png +0 -0
  451. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  452. package/screen/websocket.png +0 -0
  453. package/screen//320/275/320/260/321/201/321/202/321/200/320/276/320/271/320/272/320/270_/320/276/321/202/320/264/320/265/320/273/321/214/320/275/321/213/321/205_/320/272/320/276/320/274/320/260/320/275/320/264_/320/272/320/260/320/266/320/264/321/203_/320/272/320/276/320/274/320/260/320/275/320/273/320/264/321/203_/320/274/320/276/320/266/320/275/320/276_/320/275/320/260/321/201/321/202/321/200/320/260/320/270/320/262/320/260/321/202/321/214.png +0 -0
  454. package/screen//320/277/320/273/320/260/320/275/320/270/321/200/320/276/320/262/321/211/320/270/320/272_/320/274/320/276/320/266/320/275/320/276_/320/267/320/260/320/264/320/260/320/262/320/260/321/202/321/214_/320/264/320/265/320/271/321/201/321/202/320/262/320/270/321/217_/320/277/320/276_/320/262/321/200/320/265/320/274/320/265/320/275/320/270.png +0 -0
  455. package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
  456. package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
  457. package/nul +0 -0
  458. /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
  459. /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
  460. /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
  461. /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
  462. /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
  463. /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
  464. /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
  465. /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
  466. /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
  467. /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
  468. /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
  469. /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
  470. /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
  471. /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
  472. /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
  473. /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
  474. /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
  475. /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
  476. /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
  477. /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
  478. /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
  479. /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
  480. /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
  481. /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
  482. /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
  483. /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
  484. /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
  485. /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
  486. /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
  487. /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
  488. /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
  489. /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
  490. /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
  491. /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
  492. /package/backend/src/core/nodes/{string_split.js → strings/split.js} +0 -0
package/README.md CHANGED
@@ -1,9 +1,8 @@
1
-
2
1
  <div align="center">
3
2
  <img src="./image/logo.png" alt="BlockMine Logo" width="150">
4
3
  <h1>BlockMine</h1>
5
4
  <p>
6
- <strong>Мощная и удобная панель управления для ваших Minecraft-ботов на базе Mineflayer.</strong>
5
+ <strong>Мощная платформа управления Minecraft-ботами с визуальным программированием и продвинутой отладкой</strong>
7
6
  </p>
8
7
  <p>
9
8
  <a href="https://github.com/blockmineJS/blockmine/stargazers"><img src="https://img.shields.io/github/stars/blockmineJS/blockmine?style=for-the-badge&logo=github" alt="Stars"></a>
@@ -16,65 +15,71 @@
16
15
 
17
16
  **BlockMine** — это open-source решение для централизованного управления и автоматизации ботов Minecraft. Запускайте ботов, управляйте ими в реальном времени, расширяйте их возможности с помощью плагинов и создавайте сложные сценарии поведения в визуальном редакторе.
18
17
 
19
- ---
20
18
 
21
- <table align="center">
22
- <tr>
23
- <td align="center">
24
- <p><strong>Дашборд</strong></p>
25
- <img src="./image/1.png" alt="Скриншот дашборда" width="100%">
26
- <em>Общая сводка и быстрое управление всеми ботами.</em>
27
- </td>
28
- <td align="center">
29
- <p><strong>Магазин плагинов</strong></p>
30
- <img src="./image/2.png" alt="Скриншот магазина плагинов" width="100%">
31
- <em>Расширяйте возможности с помощью удобного браузера плагинов.</em>
32
- </td>
33
- <td align="center">
34
- <p><strong>Управление командами</strong></p>
35
- <img src="./image/3.png" alt="Скриншот страницы управления" width="100%">
36
- <em>Настраивайте права алиасы и кулдауны для каждой команды.</em>
37
- </td>
38
- </tr>
39
- </table>
19
+ Больше примеров на - https://t.me/blockmineJs
40
20
 
41
21
  ---
42
22
 
23
+
43
24
  ## 🚀 Ключевые возможности
44
25
 
45
- * **💻 Современный веб-интерфейс**: Адаптивная панель на React и Tailwind CSS для управления ботами, серверами и плагинами с любого устройства.
46
- * **✨ Визуальный редактор логики (No-Code)**: Проектируйте поведение ботов с помощью интуитивного Drag-and-Drop интерфейса. Создавайте сложные команды и обработчики событий, не написав ни строчки кода.
47
- * **🤖 Комплексное управление ботами**:
48
- * Запуск, остановка и перезапуск ботов в один клик.
49
- * Интерактивная консоль для каждого бота.
50
- * Мониторинг ресурсов (CPU/RAM) в реальном времени.
51
- * Поддержка SOCKS5-прокси для каждого бота индивидуально.
52
- * **🔌 Мощная система плагинов**:
53
- * Расширяйте функциональность с помощью плагинов.
54
- * Встроенный **браузер плагинов** с категориями и поиском.
55
- * Автоматическая проверка и установка зависимостей.
56
- * Настройка плагинов через графический интерфейс.
57
- * **🔐 Гибкая система прав (Permissions)**:
58
- * Создавайте группы пользователей (`Admin`, `Member` и др.).
59
- * Настраивайте детальные права доступа к каждой команде.
60
- * Черный список для пользователей.
61
- * **🔄 Экспорт и импорт**:
62
- * Создавайте **полные резервные копии** ботов в один ZIP-архив, включая все плагины и их настройки.
63
- * Делитесь отдельными командами и графами событий через экспорт в JSON.
64
- * Легко переносите ботов и их логику между разными установками BlockMine.
65
- * **📦 Простая установка**: Запуск всей системы одной командой благодаря `npx`.
26
+ ### 💻 Современный веб-интерфейс
27
+ - **Адаптивная панель** на React и Tailwind CSS для управления с любого устройства
28
+ - **Темная тема** с современным дизайном
29
+ - **Real-time обновления** через WebSocket
30
+
31
+ ### Визуальный редактор логики (No-Code)
32
+ - **Drag-and-Drop интерфейс** для создания сложной логики без кода
33
+ - **Live Debug режим** с брейкпоинтами и пошаговым выполнением
34
+ - **Трассировка выполнения** с историей и значениями переменных
35
+ - **Совместное редактирование** графов несколькими пользователями
36
+ - **AI Ассистент** для помощи в создании логики
37
+
38
+ ### 🤖 Комплексное управление ботами
39
+ - **Запуск/остановка/перезапуск** в один клик
40
+ - **Интерактивная консоль** для каждого бота с историей
41
+ - **Мониторинг ресурсов** (CPU/RAM) в реальном времени
42
+ - **Поддержка SOCKS5-прокси** индивидуально для каждого бота
43
+ - **Планировщик задач** с cron-расписаниями
44
+
45
+ ### 🔌 Мощная система плагинов
46
+ - **Встроенный магазин** с категориями и поиском
47
+ - **Автоматическая установка зависимостей**
48
+ - **Настройка через GUI** без редактирования конфигов
49
+ - **Hot-reload** плагинов без перезапуска бота
50
+
51
+ ### 🔐 Гибкая система прав
52
+ - **Группы пользователей** (Admin, Member и др.)
53
+ - **Детальные права доступа** для каждой команды
54
+ - **Черный список** пользователей
55
+ - **Кулдауны** и **алиасы** для команд
56
+
57
+ ### 🔄 Экспорт и импорт
58
+ - **Полные резервные копии** ботов в ZIP-архив
59
+ - **Экспорт/импорт** отдельных команд и графов
60
+ - **Перенос между установками** BlockMine
61
+
62
+ ### 🔌 WebSocket API
63
+ - **Управление ботами** из внешних приложений
64
+ - **Выполнение команд** с полной проверкой прав
65
+ - **Вызов визуальных графов** и получение результатов
66
+ - **Подписка на события** (чат, игроки, здоровье и др.)
67
+ - **SDK** `blockmine-sdk` для Node.js ⚠️ *(альфа-версия, не приоритет)*
68
+
69
+ ---
66
70
 
67
71
  ## ✨ Быстрый старт с `npx`
68
72
 
69
- Это самый простой способ запустить панель. Убедитесь, что у вас установлен **Node.js v18+**.
73
+ Это самый простой способ запустить панель локально. Убедитесь, что у вас установлен **Node.js v22+**.
70
74
 
71
- 1. Откройте терминал (командную строку).
72
- 2. Выполните одну команду:
75
+ 1. Откройте терминал (командную строку)
76
+ 2. Выполните одну команду:
73
77
 
74
- ```bash
75
- npx blockmine
76
- ```
77
- 3. Готово! Скрипт автоматически скачает все необходимое, настроит базу данных и запустит сервер.
78
+ ```bash
79
+ npx blockmine
80
+ ```
81
+
82
+ 3. Готово! Скрипт автоматически скачает все необходимое, настроит базу данных и запустит сервер.
78
83
 
79
84
  > ⚠️ **Для пользователей Windows**: Если появляется ошибка `Невозможно загрузить файл ... npx.ps1, так как выполнение сценариев отключено`, откройте PowerShell от имени администратора и выполните `Set-ExecutionPolicy RemoteSigned -Scope CurrentUser`. Нажмите 'Y' для подтверждения.
80
85
 
@@ -86,45 +91,204 @@
86
91
 
87
92
  ---
88
93
 
89
- ## 💡 Основные концепции BlockMine
94
+ ## 🚀 Установка на хостинг (VPS/Dedicated Server)
95
+
96
+ Для продакшн-развертывания на сервере рекомендуется использовать PM2 для управления процессом.
97
+
98
+ ### Требования
99
+ - **Node.js v22+**
100
+ - **npm**
101
+ - **Git** (для клонирования репозитория)
102
+ - **PM2** (менеджер процессов)
103
+
104
+ ### Шаг 1: Клонирование репозитория
105
+
106
+ ```bash
107
+ git clone https://github.com/blockmineJS/blockmine.git
108
+ cd blockmine
109
+ ```
110
+
111
+ ### Шаг 2: Установка зависимостей
112
+
113
+ ```bash
114
+ npm install
115
+ ```
116
+
117
+ > **Примечание**: Команда `npm install` автоматически запустит `postinstall` скрипт, который установит зависимости frontend и сгенерирует Prisma клиент.
90
118
 
91
- Чтобы максимально эффективно использовать панель, важно понимать её ключевые компоненты.
119
+ ### Шаг 3: Сборка frontend
120
+
121
+ ```bash
122
+ npm run build
123
+ ```
124
+
125
+ Эта команда создаст оптимизированную production-сборку React приложения.
126
+
127
+ ### Шаг 4: Установка PM2
128
+
129
+ Если PM2 еще не установлен глобально:
130
+
131
+ ```bash
132
+ npm install -g pm2
133
+ ```
134
+
135
+ ### Шаг 5: Запуск с PM2
136
+
137
+ Запустите приложение с помощью готового конфигурационного файла:
138
+
139
+ ```bash
140
+ pm2 start ecosystem.config.js
141
+ ```
142
+
143
+ > **Примечание**: В проекте уже есть файл `ecosystem.config.js` с оптимальными настройками для production.
144
+
145
+
146
+ ### Обновление
147
+
148
+ Для обновления до последней версии: НА ХОСТЕ! Для локального можно и без build. ибо там 5173
149
+
150
+ ```bash
151
+ cd blockmine
152
+ git pull
153
+ npm install
154
+ npm run build
155
+ pm2 restart blockmine
156
+ ```
157
+
158
+ ---
159
+
160
+ ## 💡 Основные концепции BlockMine
92
161
 
93
162
  ### 🎨 Визуальный редактор
163
+
94
164
  <p align="center">
95
- <img src="./image/visualcommand.png" alt="Скриншот визуального редактора BlockMine" width="100%">
165
+ <img src="./image/visualcommand.png" alt="Визуальный редактор" width="100%">
96
166
  </p>
97
- Это сердце No-Code автоматизации в BlockMine. Редактор позволяет вам создавать логику, перетаскивая и соединяя функциональные блоки (ноды).
98
167
 
99
- * **Создание команд**: Спроектируйте полноценную команду с аргументами, проверками прав и сложной логикой, не прикасаясь к коду.
100
- * **Обработка событий**: Создавайте ноды, которые реагируют на игровые события (например, вход игрока, сообщение в чате, появление моба) и выполняют заданные действия.
168
+ Сердце No-Code автоматизации в BlockMine. Редактор позволяет создавать логику, перетаскивая и соединяя функциональные блоки (ноды).
169
+
170
+ #### Возможности редактора:
171
+ - **Создание команд** с аргументами, проверками прав и сложной логикой
172
+ - **Обработка событий** (вход игрока, сообщения в чате, появление мобов)
173
+ - **Live Debug** - отладка в реальном времени с брейкпоинтами
174
+ - **Trace Viewer** - просмотр истории выполнения с значениями переменных
175
+ - **Совместная работа** - несколько разработчиков могут редактировать одновременно
176
+ - **AI ассистент** - помощь в создании логики
177
+
178
+ ### 🔍 Система отладки
179
+
180
+ BlockMine предоставляет две мощные системы отладки:
181
+
182
+ #### Live Debug (Живая отладка)
183
+ - **Брейкпоинты** - остановка выполнения на конкретных нодах
184
+ - **Условные брейкпоинты** - срабатывание при выполнении условия
185
+ - **Пошаговое выполнение** - Step Over для детального анализа
186
+ - **What-If режим** - изменение значений во время паузы
187
+ - **Multi-user синхронизация** - все видят одно состояние отладки
188
+ <td align="center">
189
+ <p><strong>🎨 Визуальный редактор с Live Debug</strong></p>
190
+ <img src="./screen/graph_live_debug.png" alt="Live Debug" width="100%">
191
+ <em>Отладка графов в реальном времени с брейкпоинтами и пошаговым выполнением</em>
192
+ </td>
193
+
194
+ #### Trace Viewer (Просмотр трассировки)
195
+ - **История выполнения** - сохранение всех запусков графа
196
+ - **Значения переменных** - просмотр входов/выходов каждой ноды
197
+ - **Воспроизведение** - пошаговый просмотр выполнения
198
+ - **Временная шкала** - визуализация порядка выполнения нод
199
+ <tr>
200
+ <td align="center">
201
+ <p><strong>🔍 Трассировка выполнения</strong></p>
202
+ <img src="./screen/node_debug_trace.png" alt="Trace Debug" width="100%">
203
+ <em>Пошаговая визуализация выполнения графа с историей и значениями переменных</em>
204
+ </td>
205
+ </tr>
206
+
101
207
 
102
208
  ### 🔌 Плагины
103
- Плагины — это способ программного расширения функциональности. Они могут добавлять новые команды, новые ноды для визуального редактора или работать в фоновом режиме.
104
209
 
105
- * **Магазин плагинов**: Встроенный браузер позволяет легко находить и устанавливать плагины в один клик.
106
- * **Зависимости**: Система автоматически определит и предложит установить плагины, необходимые для работы выбранного вами.
107
- * **Настройка**: Большинство плагинов можно настроить прямо в веб-интерфейсе.
210
+ <p align="center">
211
+ <img src="./screen/plugin_обзор.png" alt="Магазин плагинов" width="100%">
212
+ <br>
213
+ <em>Встроенный магазин плагинов с категориями, поиском и автоматической установкой зависимостей</em>
214
+ </p>
215
+
216
+ Плагины — это способ программного расширения функциональности. Они могут:
217
+ - Добавлять новые команды
218
+ - Создавать новые ноды для визуального редактора
219
+ - Работать в фоновом режиме
220
+ - Интегрироваться с внешними сервисами
221
+
222
+ #### Возможности магазина плагинов
223
+ - **Категории** - фильтрация по назначению (Ядро, Клан, Утилиты и др.)
224
+ - **Автоматическая установка** - зависимости устанавливаются автоматически
225
+ - **Настройка через GUI** - без редактирования конфигов
226
+ - **Обновления** - проверка и установка обновлений
108
227
 
109
228
  ### ⚙️ Команды
110
- Команды могут быть созданы двумя способами: **программно** через плагины или **визуально** в редакторе. Независимо от способа создания, все команды управляются централизованно.
111
229
 
112
- * **Алиасы**: Назначайте командам короткие псевдонимы (например, `@p` для `@ping`).
113
- * **Кулдауны**: Устанавливайте задержку между использованиями команды.
114
- * **Включение/выключение**: Временно отключайте команды.
115
- * **Аргументы**: Задавайте аргументы для ваших визуальных команд, которые будут доступны внутри графа.
230
+ Команды могут быть созданы двумя способами:
231
+
232
+ #### Программные команды (через плагины)
233
+ ```javascript
234
+ bot.registerCommand({
235
+ name: 'ping',
236
+ description: 'Проверка связи',
237
+ execute: async (context) => {
238
+ return `Понг, ${context.user.username}!`;
239
+ }
240
+ });
241
+ ```
242
+
243
+ #### Визуальные команды (через редактор)
244
+ - **Drag-and-Drop** создание логики
245
+ - **Аргументы** - определение типов и значений по умолчанию
246
+ - **Условия** - проверка прав, времени суток и др.
247
+ - **Циклы и ветвления** - сложная логика без кода
248
+
249
+ #### Централизованное управление
250
+ - **Алиасы** - короткие псевдонимы (например, `@p` для `@ping`)
251
+ - **Кулдауны** - задержка между использованиями
252
+ - **Разрешенные чаты** - chat, local, clan, private
253
+ - **Включение/выключение** - временное отключение команд
116
254
 
117
255
  ### 🔐 Права и Группы (Permissions)
118
- Это гибкая система, позволяющая точно контролировать, кто и что может делать с вашим ботом.
119
256
 
120
- * **Права (Permissions)**: Каждое действие (например, использование команды `@fly`) защищено правом (`user.fly`). Права могут создаваться плагинами или в панели управления.
121
- * **Группы (Groups)**: Группы объединяют несколько прав. Например, группа `Member` может иметь право `member.say`.
122
- * **Пользователи**: Каждый игрок, взаимодействующий с ботом, становится пользователем в системе. Вы можете добавлять пользователей в разные группы, выдавая им соответствующие права.
257
+ Гибкая система контроля доступа:
258
+
259
+ #### Права (Permissions)
260
+ - Каждое действие защищено правом (например, `user.fly`)
261
+ - Права создаются плагинами или в панели управления
262
+ - Детальный контроль доступа
263
+
264
+ #### Группы (Groups)
265
+ - Объединение нескольких прав
266
+ - Предустановленные группы: Admin, Member
267
+ - Создание пользовательских групп
268
+
269
+ #### Пользователи
270
+ - Автоматическое добавление при взаимодействии с ботом
271
+ - Назначение в группы
272
+ - Черный список для блокировки
273
+
274
+ ### ⏰ Планировщик задач
275
+
276
+ Автоматизируйте действия ботов по расписанию:
277
+ - **Cron-выражения** - гибкая настройка времени
278
+ - **Действия** - запуск/перезапуск бота, выполнение команд
279
+ - **История запусков** - просмотр последних выполнений
280
+ - **Включение/выключение** - временная деактивация задач
281
+
282
+ ---
123
283
 
124
284
  ## 🧑‍💻 Для разработчиков и контрибьюторов
125
285
 
126
286
  Если вы хотите внести свой вклад в проект или запустить его в режиме разработки.
127
287
 
288
+ ### Требования
289
+ - **Node.js v22+**
290
+ - **npm** или **yarn**
291
+
128
292
  ### 1. Установка
129
293
 
130
294
  ```bash
@@ -142,5 +306,85 @@ npm run build
142
306
  npm run dev
143
307
  ```
144
308
 
145
- * **Бэкенд** будет доступен на `http://localhost:3001`.
146
- * **Фронтенд** с горячей перезагрузкой будет доступен на `http://localhost:5173`. Открывайте этот адрес для разработки.
309
+ - **Бэкенд** будет доступен на `http://localhost:3001`
310
+ - **Фронтенд** с горячей перезагрузкой будет доступен на `http://localhost:5173`
311
+
312
+
313
+ ## 📸 Скриншоты
314
+
315
+ <table align="center">
316
+ <tr>
317
+ <td align="center">
318
+ <p><strong>📊 Дашборд</strong></p>
319
+ <img src="./screen/dashboard.png" alt="Dashboard" width="100%">
320
+ <em>Мониторинг ресурсов и управление всеми ботами в реальном времени</em>
321
+ </td>
322
+ </tr>
323
+ <tr>
324
+ <td align="center">
325
+ <p><strong>👥 Совместная работа над графами</strong></p>
326
+ <img src="./screen/graph_collabe.png" alt="Collaboration" width="100%">
327
+ <em>Несколько разработчиков могут работать над одним графом одновременно</em>
328
+ </td>
329
+ </tr>
330
+ <tr>
331
+ <td align="center">
332
+ <p><strong>💻 Интерактивная консоль</strong></p>
333
+ <img src="./screen/console.png" alt="Console" width="100%">
334
+ <em>Полноценная консоль бота с цветной подсветкой и историей команд</em>
335
+ </td>
336
+ </tr>
337
+ <tr>
338
+ <td align="center">
339
+ <p><strong>⚙️ Управление командами</strong></p>
340
+ <img src="./screen/management_command.png" alt="Command Management" width="100%">
341
+ <em>Централизованное управление командами с алиасами и правами доступа</em>
342
+ </td>
343
+ </tr>
344
+ <tr>
345
+ <td align="center">
346
+ <p><strong>🎛️ Настройки команд</strong></p>
347
+ <img src="./screen/настройки_отдельных_команд_кажду_команлду_можно_настраивать.png" alt="Command Settings" width="100%">
348
+ <em>Гибкая настройка каждой команды: алиасы, кулдауны, права и разрешенные чаты</em>
349
+ </td>
350
+ </tr>
351
+ <tr>
352
+ <td align="center">
353
+ <p><strong>⏰ Планировщик задач</strong></p>
354
+ <img src="./screen/планировщик_можно_задавать_действия_по_времени.png" alt="Scheduler" width="100%">
355
+ <em>Автоматизируйте действия ботов с помощью cron-расписаний</em>
356
+ </td>
357
+ </tr>
358
+ </table>
359
+
360
+ ---
361
+
362
+ ---
363
+
364
+ ## 🤝 Вклад в проект
365
+
366
+ Мы приветствуем ваш вклад! Вот как вы можете помочь:
367
+
368
+ 1. **Fork** репозитория
369
+ 2. Создайте ветку для вашей фичи (`git checkout -b feature/amazing-feature`)
370
+ 3. Commit ваши изменения (`git commit -m 'feat: добавлена потрясающая фича'`)
371
+ 4. Push в ветку (`git push origin feature/amazing-feature`)
372
+ 5. Откройте **Pull Request**
373
+
374
+ ### Стиль коммитов
375
+
376
+ Мы используем [Conventional Commits](https://www.conventionalcommits.org/):
377
+ - `feat:` - новая функциональность
378
+ - `fix:` - исправление бага
379
+ - `docs:` - изменения в документации
380
+ - `chore:` - рутинные задачи (обновление зависимостей и т.д.)
381
+
382
+ ---
383
+
384
+ ---
385
+
386
+ <div align="center">
387
+ <p>
388
+ <a href="https://github.com/blockmineJS/blockmine">⭐ Поставьте звезду на GitHub</a>
389
+ </p>
390
+ </div>