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.
- package/.claude/agents/README.md +469 -0
- package/.claude/agents/auth-route-debugger.md +118 -0
- package/.claude/agents/auth-route-tester.md +93 -0
- package/.claude/agents/auto-error-resolver.md +97 -0
- package/.claude/agents/build-optimizer.md +236 -0
- package/.claude/agents/code-architecture-reviewer.md +83 -0
- package/.claude/agents/code-refactor-master.md +94 -0
- package/.claude/agents/cost-optimizer.md +134 -0
- package/.claude/agents/deployment-orchestrator.md +113 -0
- package/.claude/agents/documentation-architect.md +82 -0
- package/.claude/agents/frontend-error-fixer.md +77 -0
- package/.claude/agents/iac-code-generator.md +71 -0
- package/.claude/agents/incident-responder.md +346 -0
- package/.claude/agents/infrastructure-architect.md +31 -0
- package/.claude/agents/kubernetes-specialist.md +56 -0
- package/.claude/agents/migration-planner.md +181 -0
- package/.claude/agents/network-architect.md +196 -0
- package/.claude/agents/plan-reviewer.md +52 -0
- package/.claude/agents/refactor-planner.md +63 -0
- package/.claude/agents/security-scanner.md +102 -0
- package/.claude/agents/web-research-specialist.md +78 -0
- package/.claude/commands/cost-analysis.md +315 -0
- package/.claude/commands/dev-docs-update.md +55 -0
- package/.claude/commands/dev-docs.md +51 -0
- package/.claude/commands/incident-debug.md +247 -0
- package/.claude/commands/infra-plan.md +81 -0
- package/.claude/commands/migration-plan.md +478 -0
- package/.claude/commands/route-research-for-testing.md +37 -0
- package/.claude/commands/security-review.md +66 -0
- package/.claude/hooks/CONFIG.md +448 -0
- package/.claude/hooks/README.md +163 -0
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +226 -0
- package/.claude/hooks/WINDOWS_HOOKS_README.md +151 -0
- package/.claude/hooks/add-skill-activation-banners.ts +132 -0
- package/.claude/hooks/comprehensive-skill-test.ts +1315 -0
- package/.claude/hooks/error-handling-reminder.sh +12 -0
- package/.claude/hooks/error-handling-reminder.ts +222 -0
- package/.claude/hooks/k8s-manifest-validator.sh +56 -0
- package/.claude/hooks/package-lock.json +556 -0
- package/.claude/hooks/package.json +16 -0
- package/.claude/hooks/post-tool-use-tracker.ps1 +174 -0
- package/.claude/hooks/post-tool-use-tracker.sh +183 -0
- package/.claude/hooks/security-policy-check.sh +247 -0
- package/.claude/hooks/skill-activation-prompt.ps1 +10 -0
- package/.claude/hooks/skill-activation-prompt.sh +10 -0
- package/.claude/hooks/skill-activation-prompt.ts +141 -0
- package/.claude/hooks/stop-build-check-enhanced.sh +130 -0
- package/.claude/hooks/terraform-validator.sh +53 -0
- package/.claude/hooks/test-input.json +7 -0
- package/.claude/hooks/test-skill-activation.ts +427 -0
- package/.claude/hooks/trigger-build-resolver.sh +79 -0
- package/.claude/hooks/tsc-check.sh +173 -0
- package/.claude/hooks/tsconfig.json +19 -0
- package/.claude/settings.json +59 -0
- package/.claude/settings.local.json +36 -14
- package/.claude/skills/README.md +507 -0
- package/.claude/skills/api-engineering/SKILL.md +63 -0
- package/.claude/skills/api-engineering/resources/api-versioning.md +88 -0
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +106 -0
- package/.claude/skills/api-engineering/resources/rate-limiting.md +118 -0
- package/.claude/skills/api-engineering/resources/rest-api-design.md +105 -0
- package/.claude/skills/backend-dev-guidelines/SKILL.md +306 -0
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +451 -0
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +307 -0
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +638 -0
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +275 -0
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +224 -0
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +213 -0
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +756 -0
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +336 -0
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +789 -0
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +235 -0
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +754 -0
- package/.claude/skills/budget-and-cost-management/SKILL.md +850 -0
- package/.claude/skills/build-engineering/SKILL.md +431 -0
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +72 -0
- package/.claude/skills/build-engineering/resources/build-caching.md +96 -0
- package/.claude/skills/build-engineering/resources/build-pipelines.md +105 -0
- package/.claude/skills/build-engineering/resources/build-security.md +95 -0
- package/.claude/skills/build-engineering/resources/build-systems.md +389 -0
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +201 -0
- package/.claude/skills/build-engineering/resources/dependency-management.md +73 -0
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +110 -0
- package/.claude/skills/build-engineering/resources/performance-optimization.md +113 -0
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +82 -0
- package/.claude/skills/cloud-engineering/SKILL.md +675 -0
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +742 -0
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +714 -0
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +987 -0
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +757 -0
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +1058 -0
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +1530 -0
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +990 -0
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +758 -0
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +820 -0
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +670 -0
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +1198 -0
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +795 -0
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +966 -0
- package/.claude/skills/cybersecurity/SKILL.md +409 -0
- package/.claude/skills/cybersecurity/resources/security-architecture.md +266 -0
- package/.claude/skills/database-engineering/SKILL.md +61 -0
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +72 -0
- package/.claude/skills/database-engineering/resources/database-replication.md +63 -0
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +70 -0
- package/.claude/skills/database-engineering/resources/query-optimization.md +68 -0
- package/.claude/skills/devsecops/SKILL.md +374 -0
- package/.claude/skills/devsecops/resources/ci-cd-security.md +204 -0
- package/.claude/skills/devsecops/resources/compliance-automation.md +530 -0
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +2322 -0
- package/.claude/skills/devsecops/resources/container-security.md +915 -0
- package/.claude/skills/devsecops/resources/cspm-integration.md +1440 -0
- package/.claude/skills/devsecops/resources/policy-enforcement.md +619 -0
- package/.claude/skills/devsecops/resources/secrets-management.md +755 -0
- package/.claude/skills/devsecops/resources/security-monitoring.md +146 -0
- package/.claude/skills/devsecops/resources/security-scanning.md +887 -0
- package/.claude/skills/devsecops/resources/security-testing.md +203 -0
- package/.claude/skills/devsecops/resources/supply-chain-security.md +518 -0
- package/.claude/skills/devsecops/resources/vulnerability-management.md +481 -0
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +177 -0
- package/.claude/skills/documentation-as-code/SKILL.md +323 -0
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +90 -0
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +79 -0
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +44 -0
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +99 -0
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +68 -0
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +79 -0
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +162 -0
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +77 -0
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +60 -0
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +202 -0
- package/.claude/skills/engineering-management/SKILL.md +356 -0
- package/.claude/skills/engineering-management/resources/career-ladders.md +609 -0
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +555 -0
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +609 -0
- package/.claude/skills/engineering-management/resources/resource-planning.md +557 -0
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +491 -0
- package/.claude/skills/engineering-management/resources/technical-interviews.md +474 -0
- package/.claude/skills/engineering-operations-management/SKILL.md +817 -0
- package/.claude/skills/error-tracking/SKILL.md +379 -0
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +403 -0
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +331 -0
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +872 -0
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +502 -0
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +767 -0
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +502 -0
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +501 -0
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +406 -0
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +364 -0
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +428 -0
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +418 -0
- package/.claude/skills/general-it-engineering/SKILL.md +393 -0
- package/.claude/skills/general-it-engineering/resources/asset-management.md +712 -0
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +817 -0
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +786 -0
- package/.claude/skills/general-it-engineering/resources/change-management.md +715 -0
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +729 -0
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +738 -0
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +834 -0
- package/.claude/skills/general-it-engineering/resources/it-governance.md +753 -0
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +503 -0
- package/.claude/skills/general-it-engineering/resources/service-management.md +669 -0
- package/.claude/skills/infrastructure-architecture/SKILL.md +328 -0
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +505 -0
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +528 -0
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +453 -0
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +773 -0
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +499 -0
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +501 -0
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +535 -0
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +512 -0
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +608 -0
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +562 -0
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +538 -0
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +489 -0
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +1000 -0
- package/.claude/skills/infrastructure-strategy/SKILL.md +924 -0
- package/.claude/skills/network-engineering/SKILL.md +385 -0
- package/.claude/skills/network-engineering/resources/dns-management.md +738 -0
- package/.claude/skills/network-engineering/resources/load-balancing.md +820 -0
- package/.claude/skills/network-engineering/resources/network-architecture.md +546 -0
- package/.claude/skills/network-engineering/resources/network-security.md +921 -0
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +749 -0
- package/.claude/skills/network-engineering/resources/routing-switching.md +373 -0
- package/.claude/skills/network-engineering/resources/sdn-networking.md +695 -0
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +777 -0
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +444 -0
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +672 -0
- package/.claude/skills/observability-engineering/SKILL.md +101 -0
- package/.claude/skills/observability-engineering/resources/apm-tools.md +97 -0
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +87 -0
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +98 -0
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +118 -0
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +141 -0
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +110 -0
- package/.claude/skills/platform-engineering/SKILL.md +555 -0
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +600 -0
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +916 -0
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +634 -0
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +670 -0
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +650 -0
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +778 -0
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +708 -0
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +602 -0
- package/.claude/skills/platform-engineering/resources/platform-security.md +711 -0
- package/.claude/skills/platform-engineering/resources/resource-management.md +592 -0
- package/.claude/skills/platform-engineering/resources/service-mesh.md +628 -0
- package/.claude/skills/release-engineering/SKILL.md +393 -0
- package/.claude/skills/release-engineering/resources/artifact-management.md +108 -0
- package/.claude/skills/release-engineering/resources/build-optimization.md +84 -0
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +411 -0
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +197 -0
- package/.claude/skills/release-engineering/resources/pipeline-security.md +62 -0
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +83 -0
- package/.claude/skills/release-engineering/resources/release-automation.md +68 -0
- package/.claude/skills/release-engineering/resources/release-orchestration.md +77 -0
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +66 -0
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +59 -0
- package/.claude/skills/route-tester/SKILL.md +392 -0
- package/.claude/skills/skill-developer/ADVANCED.md +197 -0
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +306 -0
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +152 -0
- package/.claude/skills/skill-developer/SKILL.md +430 -0
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +315 -0
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +305 -0
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +514 -0
- package/.claude/skills/skill-rules.json +2940 -0
- package/.claude/skills/sre/SKILL.md +464 -0
- package/.claude/skills/sre/resources/alerting-best-practices.md +282 -0
- package/.claude/skills/sre/resources/capacity-planning.md +226 -0
- package/.claude/skills/sre/resources/chaos-engineering.md +193 -0
- package/.claude/skills/sre/resources/disaster-recovery.md +232 -0
- package/.claude/skills/sre/resources/incident-management.md +436 -0
- package/.claude/skills/sre/resources/observability-stack.md +240 -0
- package/.claude/skills/sre/resources/on-call-runbooks.md +167 -0
- package/.claude/skills/sre/resources/performance-optimization.md +108 -0
- package/.claude/skills/sre/resources/reliability-patterns.md +183 -0
- package/.claude/skills/sre/resources/slo-sli-sla.md +464 -0
- package/.claude/skills/sre/resources/toil-reduction.md +145 -0
- package/.claude/skills/systems-engineering/SKILL.md +648 -0
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +771 -0
- package/.claude/skills/systems-engineering/resources/configuration-management.md +998 -0
- package/.claude/skills/systems-engineering/resources/linux-administration.md +672 -0
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +982 -0
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +871 -0
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +482 -0
- package/.claude/skills/systems-engineering/resources/security-hardening.md +739 -0
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +915 -0
- package/.claude/skills/systems-engineering/resources/storage-management.md +628 -0
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +787 -0
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +753 -0
- package/.claude/skills/systems-engineering/resources/windows-administration.md +738 -0
- package/.claude/skills/technical-leadership/SKILL.md +728 -0
- package/CHANGELOG.md +102 -42
- package/CLAUDE.md +284 -0
- package/README.md +315 -71
- package/backend/docs/SECRETS_DOCUMENTATION.md +327 -0
- package/backend/jest.config.js +59 -0
- package/backend/package-lock.json +6801 -0
- package/backend/package.json +24 -4
- package/backend/prisma/migrations/20251026104609_add_websocket_api/migration.sql +33 -0
- package/backend/prisma/migrations/20251116111851_add_execution_trace/migration.sql +22 -0
- package/backend/prisma/migrations/20251120154914_add_panel_api_keys/migration.sql +21 -0
- package/backend/prisma/migrations/20251121110241_add_proxy_table/migration.sql +45 -0
- package/backend/prisma/migrations/migration_lock.toml +2 -2
- package/backend/prisma/schema.prisma +103 -1
- package/backend/src/__tests__/core/DependencyService.test.js +336 -0
- package/backend/src/__tests__/core/UserService.test.js +875 -0
- package/backend/src/__tests__/repositories/BaseRepository.test.js +146 -0
- package/backend/src/__tests__/repositories/BotRepository.test.js +118 -0
- package/backend/src/__tests__/repositories/CommandRepository.test.js +132 -0
- package/backend/src/__tests__/repositories/EventGraphRepository.test.js +93 -0
- package/backend/src/__tests__/repositories/GroupRepository.test.js +155 -0
- package/backend/src/__tests__/repositories/PermissionRepository.test.js +130 -0
- package/backend/src/__tests__/repositories/PluginRepository.test.js +107 -0
- package/backend/src/__tests__/repositories/ServerRepository.test.js +80 -0
- package/backend/src/__tests__/repositories/UserRepository.test.js +128 -0
- package/backend/src/__tests__/secretsFilter.test.js +425 -0
- package/backend/src/__tests__/services/BotLifecycleService.test.js +416 -0
- package/backend/src/__tests__/services/BotProcessManager.test.js +285 -0
- package/backend/src/__tests__/services/CacheManager.test.js +125 -0
- package/backend/src/__tests__/services/CommandExecutionService.test.js +460 -0
- package/backend/src/__tests__/services/ResourceMonitorService.test.js +207 -0
- package/backend/src/__tests__/services/TelemetryService.test.js +291 -0
- package/backend/src/__tests__/setup.js +25 -0
- package/backend/src/ai/plugin-assistant-system-prompt.md +788 -0
- package/backend/src/api/middleware/auth.js +27 -0
- package/backend/src/api/middleware/botAccess.js +7 -3
- package/backend/src/api/middleware/panelApiAuth.js +135 -0
- package/backend/src/api/routes/aiAssistant.js +995 -0
- package/backend/src/api/routes/apiKeys.js +181 -0
- package/backend/src/api/routes/auth.js +669 -633
- package/backend/src/api/routes/botCommands.js +107 -0
- package/backend/src/api/routes/botGroups.js +165 -0
- package/backend/src/api/routes/botHistory.js +108 -0
- package/backend/src/api/routes/botPermissions.js +99 -0
- package/backend/src/api/routes/botStatus.js +36 -0
- package/backend/src/api/routes/botUsers.js +162 -0
- package/backend/src/api/routes/bots.js +2451 -2360
- package/backend/src/api/routes/eventGraphs.js +4 -1
- package/backend/src/api/routes/logs.js +13 -3
- package/backend/src/api/routes/panel.js +66 -66
- package/backend/src/api/routes/panelApiKeys.js +179 -0
- package/backend/src/api/routes/pluginIde.js +1715 -135
- package/backend/src/api/routes/plugins.js +376 -218
- package/backend/src/api/routes/proxies.js +130 -0
- package/backend/src/api/routes/search.js +4 -0
- package/backend/src/api/routes/servers.js +20 -3
- package/backend/src/api/routes/settings.js +5 -0
- package/backend/src/api/routes/system.js +174 -0
- package/backend/src/api/routes/traces.js +131 -0
- package/backend/src/config/debug.config.js +36 -0
- package/backend/src/container.js +82 -0
- package/backend/src/core/BotHistoryStore.js +180 -0
- package/backend/src/core/BotManager.js +149 -868
- package/backend/src/core/BotManager.old.js +1093 -0
- package/backend/src/core/BotProcess.js +850 -191
- package/backend/src/core/EventGraphManager.js +194 -198
- package/backend/src/core/GraphExecutionEngine.js +709 -57
- package/backend/src/core/MessageQueue.js +39 -12
- package/backend/src/core/NodeRegistry.js +37 -1134
- package/backend/src/core/PluginLoader.js +99 -5
- package/backend/src/core/PluginManager.js +126 -15
- package/backend/src/core/PrismaService.js +32 -0
- package/backend/src/core/TaskScheduler.js +1 -1
- package/backend/src/core/UserService.js +3 -3
- package/backend/src/core/__tests__/PrismaService.test.js +24 -0
- package/backend/src/core/commands/README.md +305 -0
- package/backend/src/core/commands/dev.js +13 -7
- package/backend/src/core/commands/ping.js +10 -4
- package/backend/src/core/commands/whois.js +63 -0
- package/backend/src/core/config/validation.js +27 -0
- package/backend/src/core/constants/graphTypes.js +21 -0
- package/backend/src/core/node-registries/actions.js +202 -0
- package/backend/src/core/node-registries/arrays.js +155 -0
- package/backend/src/core/node-registries/bot.js +23 -0
- package/backend/src/core/node-registries/data.js +290 -0
- package/backend/src/core/node-registries/debug.js +26 -0
- package/backend/src/core/node-registries/events.js +201 -0
- package/backend/src/core/node-registries/flow.js +139 -0
- package/backend/src/core/node-registries/logic.js +62 -0
- package/backend/src/core/node-registries/math.js +42 -0
- package/backend/src/core/node-registries/objects.js +98 -0
- package/backend/src/core/node-registries/strings.js +187 -0
- package/backend/src/core/node-registries/time.js +113 -0
- package/backend/src/core/node-registries/type.js +25 -0
- package/backend/src/core/node-registries/users.js +79 -0
- package/backend/src/core/nodes/{action_bot_look_at.js → actions/bot_look_at.js} +36 -36
- package/backend/src/core/nodes/{action_bot_set_variable.js → actions/bot_set_variable.js} +32 -32
- package/backend/src/core/nodes/actions/create_command.js +189 -0
- package/backend/src/core/nodes/actions/delete_command.js +92 -0
- package/backend/src/core/nodes/{action_send_log.js → actions/send_log.js} +28 -23
- package/backend/src/core/nodes/{action_send_message.js → actions/send_message.js} +32 -32
- package/backend/src/core/nodes/actions/send_websocket_response.js +33 -0
- package/backend/src/core/nodes/actions/update_command.js +133 -0
- package/backend/src/core/nodes/arrays/get_next.js +35 -0
- package/backend/src/core/nodes/arrays/join.js +28 -0
- package/backend/src/core/nodes/{data_cast.js → data/cast.js} +10 -1
- package/backend/src/core/nodes/data/datetime_literal.js +27 -0
- package/backend/src/core/nodes/data/entity_info.js +69 -0
- package/backend/src/core/nodes/data/get_nearby_entities.js +32 -0
- package/backend/src/core/nodes/data/get_nearby_players.js +64 -0
- package/backend/src/core/nodes/{data_get_user_field.js → data/get_user_field.js} +1 -1
- package/backend/src/core/nodes/data/type_check.js +53 -0
- package/backend/src/core/nodes/{debug_log.js → debug/log.js} +16 -16
- package/backend/src/core/nodes/{flow_branch.js → flow/branch.js} +15 -15
- package/backend/src/core/nodes/{flow_break.js → flow/break.js} +14 -14
- package/backend/src/core/nodes/flow/delay.js +43 -0
- package/backend/src/core/nodes/{flow_for_each.js → flow/for_each.js} +39 -39
- package/backend/src/core/nodes/{flow_sequence.js → flow/sequence.js} +16 -16
- package/backend/src/core/nodes/{flow_switch.js → flow/switch.js} +47 -47
- package/backend/src/core/nodes/{flow_while.js → flow/while.js} +1 -1
- package/backend/src/core/nodes/logic/__tests__/compare.test.js +83 -0
- package/backend/src/core/nodes/logic/not.js +22 -0
- package/backend/src/core/nodes/math/__tests__/operation.test.js +65 -0
- package/backend/src/core/nodes/strings/__tests__/concat.test.js +89 -0
- package/backend/src/core/nodes/{string_starts_with.js → strings/starts_with.js} +1 -1
- package/backend/src/core/nodes/strings/to_lower.js +22 -0
- package/backend/src/core/nodes/strings/to_upper.js +22 -0
- package/backend/src/core/nodes/time/__tests__/now.test.js +24 -0
- package/backend/src/core/nodes/time/add.js +33 -0
- package/backend/src/core/nodes/time/compare.js +35 -0
- package/backend/src/core/nodes/time/diff.js +29 -0
- package/backend/src/core/nodes/time/format.js +32 -0
- package/backend/src/core/nodes/time/now.js +18 -0
- package/backend/src/core/nodes/type/to_string.js +32 -0
- package/backend/src/core/nodes/{user_check_blacklist.js → users/check_blacklist.js} +37 -37
- package/backend/src/core/nodes/{user_get_groups.js → users/get_groups.js} +36 -36
- package/backend/src/core/nodes/{user_get_permissions.js → users/get_permissions.js} +36 -36
- package/backend/src/core/nodes/{user_set_blacklist.js → users/set_blacklist.js} +37 -37
- package/backend/src/core/services/BotLifecycleService.js +835 -0
- package/backend/src/core/services/BotProcessManager.js +163 -0
- package/backend/src/core/services/CacheManager.js +111 -0
- package/backend/src/core/services/CommandExecutionService.js +430 -0
- package/backend/src/core/services/DebugSessionManager.js +347 -0
- package/backend/src/core/services/GraphCollaborationManager.js +501 -0
- package/backend/src/core/services/MinecraftBotManager.js +259 -0
- package/backend/src/core/services/MinecraftViewerService.js +216 -0
- package/backend/src/core/services/ResourceMonitorService.js +90 -0
- package/backend/src/core/services/TelemetryService.js +124 -0
- package/backend/src/core/services/TraceCollectorService.js +545 -0
- package/backend/src/core/services/ValidationService.js +132 -0
- package/backend/src/core/services/__tests__/ValidationService.test.js +148 -0
- package/backend/src/core/services.js +20 -5
- package/backend/src/core/system/CommandContext.js +84 -0
- package/backend/src/core/system/RuntimeCommandRegistry.js +116 -0
- package/backend/src/core/system/Transport.js +74 -0
- package/backend/src/core/utils/__tests__/jsonParser.test.js +44 -0
- package/backend/src/core/utils/jsonParser.js +18 -0
- package/backend/src/core/utils/secretsFilter.js +262 -0
- package/backend/src/core/utils/variableParser.js +89 -0
- package/backend/src/core/validation/__tests__/nodeSchemas.test.js +175 -0
- package/backend/src/core/validation/nodeSchemas.js +112 -0
- package/backend/src/lib/prisma.js +2 -4
- package/backend/src/real-time/botApi/handlers/commandHandlers.js +28 -0
- package/backend/src/real-time/botApi/handlers/graphHandlers.js +99 -0
- package/backend/src/real-time/botApi/handlers/graphWebSocketHandlers.js +147 -0
- package/backend/src/real-time/botApi/handlers/index.js +43 -0
- package/backend/src/real-time/botApi/handlers/messageHandlers.js +66 -0
- package/backend/src/real-time/botApi/handlers/statusHandlers.js +17 -0
- package/backend/src/real-time/botApi/handlers/userHandlers.js +141 -0
- package/backend/src/real-time/botApi/index.js +40 -0
- package/backend/src/real-time/botApi/middleware.js +79 -0
- package/backend/src/real-time/botApi/utils.js +65 -0
- package/backend/src/real-time/panelNamespace.js +387 -0
- package/backend/src/real-time/presence.js +7 -2
- package/backend/src/real-time/socketHandler.js +400 -5
- package/backend/src/repositories/BaseRepository.js +43 -0
- package/backend/src/repositories/BotRepository.js +42 -0
- package/backend/src/repositories/CommandRepository.js +53 -0
- package/backend/src/repositories/EventGraphRepository.js +40 -0
- package/backend/src/repositories/GroupRepository.js +69 -0
- package/backend/src/repositories/PermissionRepository.js +48 -0
- package/backend/src/repositories/PluginRepository.js +42 -0
- package/backend/src/repositories/ServerRepository.js +27 -0
- package/backend/src/repositories/UserRepository.js +48 -0
- package/backend/src/server.js +21 -0
- package/backend/src/test-refactor.js +85 -0
- package/frontend/dist/assets/index-B1serztM.js +11210 -0
- package/frontend/dist/assets/index-t6K1u4OV.css +32 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/package-lock.json +9437 -0
- package/frontend/package.json +8 -5
- package/package.json +3 -2
- package/screen/console.png +0 -0
- package/screen/dashboard.png +0 -0
- package/screen/graph_collabe.png +0 -0
- package/screen/graph_live_debug.png +0 -0
- package/screen/management_command.png +0 -0
- package/screen/node_debug_trace.png +0 -0
- package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
- package/screen/websocket.png +0 -0
- 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
- 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
- package/frontend/dist/assets/index-B9GedHEa.js +0 -8352
- package/frontend/dist/assets/index-zLiy9MDx.css +0 -1
- package/nul +0 -0
- /package/backend/src/core/nodes/{action_http_request.js → actions/http_request.js} +0 -0
- /package/backend/src/core/nodes/{array_add_element.js → arrays/add_element.js} +0 -0
- /package/backend/src/core/nodes/{array_contains.js → arrays/contains.js} +0 -0
- /package/backend/src/core/nodes/{array_find_index.js → arrays/find_index.js} +0 -0
- /package/backend/src/core/nodes/{array_get_by_index.js → arrays/get_by_index.js} +0 -0
- /package/backend/src/core/nodes/{array_get_random_element.js → arrays/get_random_element.js} +0 -0
- /package/backend/src/core/nodes/{array_remove_by_index.js → arrays/remove_by_index.js} +0 -0
- /package/backend/src/core/nodes/{bot_get_position.js → bot/get_position.js} +0 -0
- /package/backend/src/core/nodes/{data_array_literal.js → data/array_literal.js} +0 -0
- /package/backend/src/core/nodes/{data_boolean_literal.js → data/boolean_literal.js} +0 -0
- /package/backend/src/core/nodes/{data_get_argument.js → data/get_argument.js} +0 -0
- /package/backend/src/core/nodes/{data_get_bot_look.js → data/get_bot_look.js} +0 -0
- /package/backend/src/core/nodes/{data_get_entity_field.js → data/get_entity_field.js} +0 -0
- /package/backend/src/core/nodes/{data_get_server_players.js → data/get_server_players.js} +0 -0
- /package/backend/src/core/nodes/{data_get_variable.js → data/get_variable.js} +0 -0
- /package/backend/src/core/nodes/{data_length.js → data/length.js} +0 -0
- /package/backend/src/core/nodes/{data_make_object.js → data/make_object.js} +0 -0
- /package/backend/src/core/nodes/{data_number_literal.js → data/number_literal.js} +0 -0
- /package/backend/src/core/nodes/{data_string_literal.js → data/string_literal.js} +0 -0
- /package/backend/src/core/nodes/{logic_compare.js → logic/compare.js} +0 -0
- /package/backend/src/core/nodes/{logic_operation.js → logic/operation.js} +0 -0
- /package/backend/src/core/nodes/{math_operation.js → math/operation.js} +0 -0
- /package/backend/src/core/nodes/{math_random_number.js → math/random_number.js} +0 -0
- /package/backend/src/core/nodes/{object_create.js → objects/create.js} +0 -0
- /package/backend/src/core/nodes/{object_delete.js → objects/delete.js} +0 -0
- /package/backend/src/core/nodes/{object_get.js → objects/get.js} +0 -0
- /package/backend/src/core/nodes/{object_has_key.js → objects/has_key.js} +0 -0
- /package/backend/src/core/nodes/{object_set.js → objects/set.js} +0 -0
- /package/backend/src/core/nodes/{string_concat.js → strings/concat.js} +0 -0
- /package/backend/src/core/nodes/{string_contains.js → strings/contains.js} +0 -0
- /package/backend/src/core/nodes/{string_ends_with.js → strings/ends_with.js} +0 -0
- /package/backend/src/core/nodes/{string_equals.js → strings/equals.js} +0 -0
- /package/backend/src/core/nodes/{string_length.js → strings/length.js} +0 -0
- /package/backend/src/core/nodes/{string_matches.js → strings/matches.js} +0 -0
- /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>Мощная
|
|
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
|
-
|
|
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
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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
|
-
Это самый простой способ запустить
|
|
73
|
+
Это самый простой способ запустить панель локально. Убедитесь, что у вас установлен **Node.js v22+**.
|
|
70
74
|
|
|
71
|
-
1.
|
|
72
|
-
2.
|
|
75
|
+
1. Откройте терминал (командную строку)
|
|
76
|
+
2. Выполните одну команду:
|
|
73
77
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
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
|
-
##
|
|
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="
|
|
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
|
-
|
|
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
|
-
|
|
121
|
-
|
|
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
|
-
|
|
146
|
-
|
|
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>
|