blockmine 1.24.0 → 1.25.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 (346) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/README.en.md +427 -0
  3. package/README.md +40 -0
  4. package/backend/cli.js +1 -1
  5. package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
  6. package/backend/src/api/routes/bots.js +13 -0
  7. package/backend/src/api/routes/servers.js +14 -2
  8. package/backend/src/core/BotProcess.js +98 -2
  9. package/backend/src/core/PluginLoader.js +83 -3
  10. package/backend/src/core/PluginManager.js +75 -5
  11. package/backend/src/core/services/BotLifecycleService.js +186 -2
  12. package/backend/src/server.js +11 -1
  13. package/frontend/dist/assets/browser-ponyfill-DN7pwmHT.js +2 -0
  14. package/frontend/dist/assets/index-LSy71uwm.js +11261 -0
  15. package/frontend/dist/assets/index-SfhKxI4-.css +32 -0
  16. package/frontend/dist/flags/en.svg +32 -0
  17. package/frontend/dist/flags/ru.svg +5 -0
  18. package/frontend/dist/index.html +2 -2
  19. package/frontend/dist/locales/en/admin.json +100 -0
  20. package/frontend/dist/locales/en/api-keys.json +58 -0
  21. package/frontend/dist/locales/en/bots.json +110 -0
  22. package/frontend/dist/locales/en/common.json +47 -0
  23. package/frontend/dist/locales/en/configuration.json +22 -0
  24. package/frontend/dist/locales/en/console.json +10 -0
  25. package/frontend/dist/locales/en/dashboard.json +85 -0
  26. package/frontend/dist/locales/en/dialogs.json +70 -0
  27. package/frontend/dist/locales/en/event-graphs.json +50 -0
  28. package/frontend/dist/locales/en/graph-store.json +70 -0
  29. package/frontend/dist/locales/en/login.json +34 -0
  30. package/frontend/dist/locales/en/management.json +114 -0
  31. package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
  32. package/frontend/dist/locales/en/nodes.json +1077 -0
  33. package/frontend/dist/locales/en/permissions.json +50 -0
  34. package/frontend/dist/locales/en/plugin-detail.json +49 -0
  35. package/frontend/dist/locales/en/plugins.json +110 -0
  36. package/frontend/dist/locales/en/proxies.json +81 -0
  37. package/frontend/dist/locales/en/servers.json +39 -0
  38. package/frontend/dist/locales/en/setup.json +17 -0
  39. package/frontend/dist/locales/en/sidebar.json +27 -0
  40. package/frontend/dist/locales/en/tasks.json +62 -0
  41. package/frontend/dist/locales/en/visual-editor.json +219 -0
  42. package/frontend/dist/locales/en/websocket.json +86 -0
  43. package/frontend/dist/locales/ru/admin.json +100 -0
  44. package/frontend/dist/locales/ru/api-keys.json +58 -0
  45. package/frontend/dist/locales/ru/bots.json +110 -0
  46. package/frontend/dist/locales/ru/common.json +49 -0
  47. package/frontend/dist/locales/ru/configuration.json +22 -0
  48. package/frontend/dist/locales/ru/console.json +10 -0
  49. package/frontend/dist/locales/ru/dashboard.json +85 -0
  50. package/frontend/dist/locales/ru/dialogs.json +70 -0
  51. package/frontend/dist/locales/ru/event-graphs.json +50 -0
  52. package/frontend/dist/locales/ru/graph-store.json +70 -0
  53. package/frontend/dist/locales/ru/login.json +34 -0
  54. package/frontend/dist/locales/ru/management.json +114 -0
  55. package/frontend/dist/locales/ru/minecraft-viewer.json +27 -0
  56. package/frontend/dist/locales/ru/nodes.json +1077 -0
  57. package/frontend/dist/locales/ru/permissions.json +50 -0
  58. package/frontend/dist/locales/ru/plugin-detail.json +49 -0
  59. package/frontend/dist/locales/ru/plugins.json +110 -0
  60. package/frontend/dist/locales/ru/proxies.json +81 -0
  61. package/frontend/dist/locales/ru/servers.json +39 -0
  62. package/frontend/dist/locales/ru/setup.json +17 -0
  63. package/frontend/dist/locales/ru/sidebar.json +27 -0
  64. package/frontend/dist/locales/ru/tasks.json +62 -0
  65. package/frontend/dist/locales/ru/visual-editor.json +221 -0
  66. package/frontend/dist/locales/ru/websocket.json +86 -0
  67. package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
  68. package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
  69. package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
  70. package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
  71. package/frontend/package.json +4 -0
  72. package/package.json +1 -1
  73. package/screen/3dviewer.png +0 -0
  74. package/screen/console.png +0 -0
  75. package/screen/dashboard.png +0 -0
  76. package/screen/graph_collabe.png +0 -0
  77. package/screen/graph_live_debug.png +0 -0
  78. package/screen/language_selector.png +0 -0
  79. package/screen/management_command.png +0 -0
  80. package/screen/node_debug_trace.png +0 -0
  81. package/screen/plugin_/320/276/320/261/320/267/320/276/321/200.png +0 -0
  82. package/screen/websocket.png +0 -0
  83. 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
  84. 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
  85. package/.claude/agents/README.md +0 -469
  86. package/.claude/agents/auth-route-debugger.md +0 -118
  87. package/.claude/agents/auth-route-tester.md +0 -93
  88. package/.claude/agents/auto-error-resolver.md +0 -97
  89. package/.claude/agents/build-optimizer.md +0 -236
  90. package/.claude/agents/code-architect.md +0 -34
  91. package/.claude/agents/code-architecture-reviewer.md +0 -83
  92. package/.claude/agents/code-explorer.md +0 -51
  93. package/.claude/agents/code-refactor-master.md +0 -94
  94. package/.claude/agents/code-reviewer.md +0 -46
  95. package/.claude/agents/cost-optimizer.md +0 -134
  96. package/.claude/agents/deployment-orchestrator.md +0 -113
  97. package/.claude/agents/documentation-architect.md +0 -82
  98. package/.claude/agents/frontend-error-fixer.md +0 -77
  99. package/.claude/agents/iac-code-generator.md +0 -71
  100. package/.claude/agents/incident-responder.md +0 -346
  101. package/.claude/agents/infrastructure-architect.md +0 -31
  102. package/.claude/agents/kubernetes-specialist.md +0 -56
  103. package/.claude/agents/migration-planner.md +0 -181
  104. package/.claude/agents/network-architect.md +0 -196
  105. package/.claude/agents/plan-reviewer.md +0 -52
  106. package/.claude/agents/refactor-planner.md +0 -63
  107. package/.claude/agents/security-scanner.md +0 -102
  108. package/.claude/agents/web-research-specialist.md +0 -78
  109. package/.claude/commands/cost-analysis.md +0 -315
  110. package/.claude/commands/dev-docs-update.md +0 -55
  111. package/.claude/commands/dev-docs.md +0 -51
  112. package/.claude/commands/feature-dev.md +0 -125
  113. package/.claude/commands/incident-debug.md +0 -247
  114. package/.claude/commands/infra-plan.md +0 -81
  115. package/.claude/commands/migration-plan.md +0 -478
  116. package/.claude/commands/route-research-for-testing.md +0 -37
  117. package/.claude/commands/security-review.md +0 -66
  118. package/.claude/hooks/CONFIG.md +0 -448
  119. package/.claude/hooks/README.md +0 -163
  120. package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
  121. package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
  122. package/.claude/hooks/add-skill-activation-banners.ts +0 -132
  123. package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
  124. package/.claude/hooks/error-handling-reminder.sh +0 -12
  125. package/.claude/hooks/error-handling-reminder.ts +0 -222
  126. package/.claude/hooks/k8s-manifest-validator.sh +0 -56
  127. package/.claude/hooks/package-lock.json +0 -556
  128. package/.claude/hooks/package.json +0 -16
  129. package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
  130. package/.claude/hooks/post-tool-use-tracker.sh +0 -183
  131. package/.claude/hooks/security-policy-check.sh +0 -247
  132. package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
  133. package/.claude/hooks/skill-activation-prompt.sh +0 -10
  134. package/.claude/hooks/skill-activation-prompt.ts +0 -141
  135. package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
  136. package/.claude/hooks/terraform-validator.sh +0 -53
  137. package/.claude/hooks/test-input.json +0 -7
  138. package/.claude/hooks/test-skill-activation.ts +0 -427
  139. package/.claude/hooks/trigger-build-resolver.sh +0 -79
  140. package/.claude/hooks/tsc-check.sh +0 -173
  141. package/.claude/hooks/tsconfig.json +0 -19
  142. package/.claude/settings.json +0 -59
  143. package/.claude/settings.local.json +0 -67
  144. package/.claude/skills/README.md +0 -507
  145. package/.claude/skills/api-engineering/SKILL.md +0 -63
  146. package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
  147. package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
  148. package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
  149. package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
  150. package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
  151. package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
  152. package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
  153. package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
  154. package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
  155. package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
  156. package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
  157. package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
  158. package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
  159. package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
  160. package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
  161. package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
  162. package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
  163. package/.claude/skills/build-engineering/SKILL.md +0 -431
  164. package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
  165. package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
  166. package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
  167. package/.claude/skills/build-engineering/resources/build-security.md +0 -95
  168. package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
  169. package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
  170. package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
  171. package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
  172. package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
  173. package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
  174. package/.claude/skills/cloud-engineering/SKILL.md +0 -675
  175. package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
  176. package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
  177. package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
  178. package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
  179. package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
  180. package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
  181. package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
  182. package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
  183. package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
  184. package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
  185. package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
  186. package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
  187. package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
  188. package/.claude/skills/cybersecurity/SKILL.md +0 -409
  189. package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
  190. package/.claude/skills/database-engineering/SKILL.md +0 -61
  191. package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
  192. package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
  193. package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
  194. package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
  195. package/.claude/skills/devsecops/SKILL.md +0 -374
  196. package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
  197. package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
  198. package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
  199. package/.claude/skills/devsecops/resources/container-security.md +0 -915
  200. package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
  201. package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
  202. package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
  203. package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
  204. package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
  205. package/.claude/skills/devsecops/resources/security-testing.md +0 -203
  206. package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
  207. package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
  208. package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
  209. package/.claude/skills/documentation-as-code/SKILL.md +0 -323
  210. package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
  211. package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
  212. package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
  213. package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
  214. package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
  215. package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
  216. package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
  217. package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
  218. package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
  219. package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
  220. package/.claude/skills/engineering-management/SKILL.md +0 -356
  221. package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
  222. package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
  223. package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
  224. package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
  225. package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
  226. package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
  227. package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
  228. package/.claude/skills/error-tracking/SKILL.md +0 -379
  229. package/.claude/skills/frontend-design/SKILL.md +0 -42
  230. package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
  231. package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
  232. package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
  233. package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
  234. package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
  235. package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
  236. package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
  237. package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
  238. package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
  239. package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
  240. package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
  241. package/.claude/skills/general-it-engineering/SKILL.md +0 -393
  242. package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
  243. package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
  244. package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
  245. package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
  246. package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
  247. package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
  248. package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
  249. package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
  250. package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
  251. package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
  252. package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
  253. package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
  254. package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
  255. package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
  256. package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
  257. package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
  258. package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
  259. package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
  260. package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
  261. package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
  262. package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
  263. package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
  264. package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
  265. package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
  266. package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
  267. package/.claude/skills/network-engineering/SKILL.md +0 -385
  268. package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
  269. package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
  270. package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
  271. package/.claude/skills/network-engineering/resources/network-security.md +0 -921
  272. package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
  273. package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
  274. package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
  275. package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
  276. package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
  277. package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
  278. package/.claude/skills/node-development/SKILL.md +0 -317
  279. package/.claude/skills/observability-engineering/SKILL.md +0 -101
  280. package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
  281. package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
  282. package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
  283. package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
  284. package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
  285. package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
  286. package/.claude/skills/platform-engineering/SKILL.md +0 -555
  287. package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
  288. package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
  289. package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
  290. package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
  291. package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
  292. package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
  293. package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
  294. package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
  295. package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
  296. package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
  297. package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
  298. package/.claude/skills/release-engineering/SKILL.md +0 -393
  299. package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
  300. package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
  301. package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
  302. package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
  303. package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
  304. package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
  305. package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
  306. package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
  307. package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
  308. package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
  309. package/.claude/skills/route-tester/SKILL.md +0 -392
  310. package/.claude/skills/skill-developer/ADVANCED.md +0 -197
  311. package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
  312. package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
  313. package/.claude/skills/skill-developer/SKILL.md +0 -430
  314. package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
  315. package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
  316. package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
  317. package/.claude/skills/skill-rules.json +0 -2989
  318. package/.claude/skills/sre/SKILL.md +0 -464
  319. package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
  320. package/.claude/skills/sre/resources/capacity-planning.md +0 -226
  321. package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
  322. package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
  323. package/.claude/skills/sre/resources/incident-management.md +0 -436
  324. package/.claude/skills/sre/resources/observability-stack.md +0 -240
  325. package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
  326. package/.claude/skills/sre/resources/performance-optimization.md +0 -108
  327. package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
  328. package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
  329. package/.claude/skills/sre/resources/toil-reduction.md +0 -145
  330. package/.claude/skills/systems-engineering/SKILL.md +0 -648
  331. package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
  332. package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
  333. package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
  334. package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
  335. package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
  336. package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
  337. package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
  338. package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
  339. package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
  340. package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
  341. package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
  342. package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
  343. package/.claude/skills/technical-leadership/SKILL.md +0 -728
  344. package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
  345. package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
  346. package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
@@ -0,0 +1,221 @@
1
+ {
2
+ "loading": "Загрузка редактора...",
3
+ "loadingSettings": "Загрузка настроек...",
4
+ "editor": {
5
+ "title": "Редактор"
6
+ },
7
+ "createGraph": {
8
+ "title": "Создать новый граф событий",
9
+ "graphName": "Название графа",
10
+ "graphNamePlaceholder": "Название графа",
11
+ "pluginOwner": "Плагин-владелец",
12
+ "selectPlugin": "Выберите плагин",
13
+ "noPluginSystem": "Нет (системный)",
14
+ "pluginBindNote": "Привязка к локальному плагину позволит автоматически удалить граф при удалении плагина",
15
+ "cancel": "Отмена",
16
+ "create": "Создать",
17
+ "creating": "Создание..."
18
+ },
19
+ "settings": {
20
+ "titleEventGraph": "Настройки графа событий",
21
+ "titleCommand": "Настройки команды",
22
+ "graphName": "Имя графа",
23
+ "commandName": "Имя команды",
24
+ "enabled": "Включено",
25
+ "pluginOwner": "Плагин-владелец",
26
+ "selectPlugin": "Выберите плагин...",
27
+ "noPluginSystem": "Нет (системный)",
28
+ "pluginActive": "(активен)",
29
+ "pluginInactive": "(неактивен)",
30
+ "loadingPlugins": "Загрузка плагинов...",
31
+ "pluginBindNote": "Привязка к локальному плагину позволит автоматически удалить {{type}} при удалении плагина",
32
+ "pluginBindNoteGraph": "граф",
33
+ "pluginBindNoteCommand": "команду",
34
+ "pluginPermissionNote": "Для назначения плагина-владельца требуются права plugin:list",
35
+ "description": "Описание",
36
+ "aliases": "Алиасы (через запятую)",
37
+ "permission": "Права доступа",
38
+ "selectPermission": "Выберите право...",
39
+ "noPermission": "Нет",
40
+ "cooldown": "Кулдаун (секунды)",
41
+ "cooldownNote": "Время в секундах, которое должно пройти между использованиями команды",
42
+ "chatTypes": "Типы чатов (через запятую)",
43
+ "arguments": "Аргументы команды",
44
+ "argName": "Имя",
45
+ "argRequired": "Обяз.",
46
+ "addArgument": "Добавить аргумент"
47
+ },
48
+ "debug": {
49
+ "liveEnabled": "Live Debug Вкл",
50
+ "live": "Live Debug",
51
+ "traceEnabled": "Трассировка Вкл",
52
+ "traceView": "Просмотр трассировки"
53
+ },
54
+ "publish": {
55
+ "button": "Опубликовать",
56
+ "title": "Опубликовать граф в магазин",
57
+ "name": "Название",
58
+ "namePlaceholder": "Название графа",
59
+ "author": "Автор",
60
+ "authorPlaceholder": "Ваше имя",
61
+ "description": "Описание",
62
+ "descriptionPlaceholder": "Описание графа (минимум 10 символов)",
63
+ "submit": "Опубликовать",
64
+ "cancel": "Отмена",
65
+ "success": "Граф опубликован и ожидает модерации!",
66
+ "allFieldsRequired": "Все поля обязательны",
67
+ "descriptionMinLength": "Описание должно содержать минимум 10 символов",
68
+ "error": "Ошибка при публикации графа"
69
+ },
70
+ "save": {
71
+ "button": "Сохранить",
72
+ "saving": "Сохранение...",
73
+ "saveFirst": "Сохраните граф перед просмотром трассировок"
74
+ },
75
+ "selectEventType": {
76
+ "title": "Выберите тип события для просмотра"
77
+ },
78
+ "trace": {
79
+ "noEventNodes": "В графе нет event нод",
80
+ "notFound": "Трассировки не найдены для этого графа",
81
+ "loadError": "Не удалось загрузить трассировку"
82
+ },
83
+ "variables": {
84
+ "title": "Переменные",
85
+ "group": "Переменные",
86
+ "get": "Получить переменную",
87
+ "set": "Задать переменную",
88
+ "namePlaceholder": "Имя",
89
+ "valuePlaceholder": "Значение по умолч.",
90
+ "addVariable": "Добавить переменную"
91
+ },
92
+ "arguments": {
93
+ "group": "Аргументы",
94
+ "get": "Получить аргумент"
95
+ },
96
+ "nodeSettings": {
97
+ "variableName": "Имя переменной:",
98
+ "selectVariable": "Выберите переменную...",
99
+ "argumentName": "Имя аргумента:",
100
+ "selectArgument": "Выберите аргумент...",
101
+ "mode": "Режим:",
102
+ "simple": "Простой",
103
+ "advanced": "Расширенный",
104
+ "operator": "Оператор:",
105
+ "addPin": "Добавить пин",
106
+ "httpMethod": "HTTP Method:"
107
+ },
108
+ "contextMenu": {
109
+ "searchPlaceholder": "Введите команду или поиск...",
110
+ "noResults": "Ничего не найдено.",
111
+ "variablesGroup": "📦 Переменные",
112
+ "argumentsGroup": "🎯 Аргументы",
113
+ "getVariable": "📤 Получить переменную {{name}}",
114
+ "setVariable": "📥 Задать переменную {{name}}",
115
+ "getArgument": "📤 Получить аргумент {{name}}"
116
+ },
117
+ "nodePanel": {
118
+ "title": "Добавить ноду",
119
+ "categories": {
120
+ "data": "📊 Данные",
121
+ "flow": "🔀 Управление",
122
+ "math": "🔢 Математика",
123
+ "logic": "🧠 Логика",
124
+ "string": "📝 Строки",
125
+ "array": "📦 Массивы",
126
+ "object": "🗃️ Объекты",
127
+ "action": "⚡ Действия",
128
+ "time": "⏰ Время",
129
+ "user": "👤 Пользователи",
130
+ "type": "🔄 Типы",
131
+ "bot": "🤖 Бот",
132
+ "debug": "🐛 Отладка",
133
+ "inventory": "🎒 Инвентарь",
134
+ "navigation": "🧭 Навигация",
135
+ "container": "📦 Контейнеры",
136
+ "furnace": "🔥 Печка",
137
+ "event": "📡 События"
138
+ }
139
+ },
140
+ "debugControls": {
141
+ "paused": "На паузе",
142
+ "continue": "Продолжить (F5)",
143
+ "stepForward": "Шаг вперед (F10)",
144
+ "stop": "Стоп (Shift+F5)"
145
+ },
146
+ "debugPanel": {
147
+ "title": "Панель отладки",
148
+ "debugMode": "Режим отладки",
149
+ "live": "Live",
150
+ "trace": "Трассировка",
151
+ "normal": "Обычный",
152
+ "connected": "Подключено",
153
+ "disconnected": "Отключено",
154
+ "users_one": "{{count}} пользователь",
155
+ "users_few": "{{count}} пользователя",
156
+ "users_many": "{{count}} пользователей",
157
+ "connectedUsers": "Подключенные пользователи:",
158
+ "onPause": "⏸️ На паузе",
159
+ "pausedDescription": "Выполнение приостановлено на брейкпоинте. Используйте элементы управления для продолжения.",
160
+ "breakpoints": "Брейкпоинты",
161
+ "noBreakpoints": "Нет брейкпоинтов",
162
+ "noBreakpointsLive": "Нажмите на левый край ноды, чтобы добавить брейкпоинт",
163
+ "noBreakpointsNormal": "Переключитесь в Live режим для добавления брейкпоинтов",
164
+ "hitCount": "Срабатываний: {{count}}",
165
+ "disable": "Отключить",
166
+ "enable": "Включить",
167
+ "delete": "Удалить",
168
+ "normalModeTitle": "Обычный режим:",
169
+ "normalModeDesc": "Редактирование графа. Включите <strong>Live режим</strong> для отладки в реальном времени с брейкпоинтами.",
170
+ "traceModeTitle": "Режим трассировки:",
171
+ "traceModeDesc": "Просмотр трассировок выполнения после завершения команд. Переключитесь в <strong>Live режим</strong> для отладки в реальном времени с брейкпоинтами.",
172
+ "editValue": "Редактировать значение"
173
+ },
174
+ "traceViewer": {
175
+ "completed": "Завершено",
176
+ "error": "Ошибка",
177
+ "running": "Выполняется",
178
+ "step": "Шаг {{current}} / {{total}}",
179
+ "node": "Нода:",
180
+ "time": "Время:",
181
+ "inputs": "Входы:",
182
+ "outputs": "Выходы:"
183
+ },
184
+ "whatIfEditor": {
185
+ "title": "Выполнение приостановлено",
186
+ "node": "Нода:",
187
+ "editHint": "Редактируйте значения прямо на нодах - кликните на зелёные бейджи с данными",
188
+ "syncHint": "Все изменения синхронизируются в реальном времени между пользователями",
189
+ "graphVariables": "📦 Переменные графа",
190
+ "continue": "Продолжить (F5)",
191
+ "stop": "Стоп",
192
+ "modified": "Изменено",
193
+ "empty": "(пусто)",
194
+ "changesWarning_one": "⚠️ Вы изменили {{count}} значение. Нажмите \"Продолжить\" для применения изменений.",
195
+ "changesWarning_few": "⚠️ Вы изменили {{count}} значения. Нажмите \"Продолжить\" для применения изменений.",
196
+ "changesWarning_many": "⚠️ Вы изменили {{count}} значений. Нажмите \"Продолжить\" для применения изменений."
197
+ },
198
+ "breakpointDialog": {
199
+ "editTitle": "Редактировать брейкпоинт",
200
+ "addTitle": "Добавить брейкпоинт",
201
+ "description": "Брейкпоинт приостановит выполнение на этой ноде. Вы сможете просмотреть и изменить значения переменных перед продолжением.",
202
+ "conditionLabel": "Условие (необязательно)",
203
+ "conditionPlaceholder": "user.username === 'admin'",
204
+ "conditionHelp": "JavaScript выражение. Оставьте пустым для безусловной остановки.",
205
+ "availableVars": "Доступные переменные:",
206
+ "howItWorksTitle": "💡 Как работают условия:",
207
+ "howItWorks1": "Выполнение остановится только если условие вернёт <code class=\"text-green-400\">true</code>",
208
+ "howItWorks2": "Используйте <code class=\"text-blue-400\">user</code> для проверки пользователя (username, id)",
209
+ "howItWorks3": "Используйте <code class=\"text-blue-400\">args</code> для проверки аргументов команды",
210
+ "howItWorks4": "Используйте <code class=\"text-blue-400\">variables</code> для проверки переменных графа",
211
+ "examplesTitle": "📋 Примеры условий:",
212
+ "exampleAdmin": "Остановиться только для админа:",
213
+ "exampleCount": "Остановиться если число больше 10:",
214
+ "exampleDebug": "Остановиться в режиме отладки:",
215
+ "exampleCombined": "Комбинация условий:",
216
+ "cancel": "Отмена",
217
+ "update": "Обновить",
218
+ "add": "Добавить",
219
+ "breakpoint": "брейкпоинт"
220
+ }
221
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "title": "WebSocket API",
3
+ "tabs": {
4
+ "keys": "API Ключи",
5
+ "logs": "Логи подключений",
6
+ "docs": "Документация"
7
+ },
8
+ "clients": "Клиентов",
9
+ "createKey": "Создать ключ",
10
+ "keys": {
11
+ "title": "Ваши API Ключи",
12
+ "description": "Создавайте и управляйте API ключами для доступа к боту через WebSocket",
13
+ "loading": "Загрузка...",
14
+ "empty": "У вас пока нет API ключей",
15
+ "emptyHint": "Создайте первый ключ, чтобы начать использовать WebSocket API",
16
+ "name": "Название",
17
+ "key": "Ключ",
18
+ "permissions": "Права",
19
+ "createdAt": "Создан",
20
+ "lastUsed": "Последнее использование",
21
+ "actions": "Действия",
22
+ "never": "Никогда"
23
+ },
24
+ "permissions": {
25
+ "Read": "Чтение",
26
+ "Write": "Запись",
27
+ "ReadWrite": "Чтение/Запись"
28
+ },
29
+ "logs": {
30
+ "title": "Логи подключений",
31
+ "description": "История подключений к WebSocket API (последние 50)",
32
+ "empty": "Пока нет подключений",
33
+ "action": "Действие",
34
+ "key": "Ключ",
35
+ "ip": "IP адрес",
36
+ "time": "Время",
37
+ "connect": "Подключение",
38
+ "disconnect": "Отключение"
39
+ },
40
+ "docs": {
41
+ "botId": "ID текущего бота",
42
+ "title": "Подключение к WebSocket API",
43
+ "description": "Примеры использования API для разных языков программирования",
44
+ "endpoint": "Endpoint",
45
+ "params": "Параметры подключения",
46
+ "recommended": "Рекомендуется",
47
+ "recommendedHint": "Используйте высокоуровневый SDK blockmine-sdk для простого использования API",
48
+ "sdkTitle": "Вариант 1: Высокоуровневый SDK (рекомендуется)",
49
+ "sdkDescription": "Простой Promise-based API для работы с ботом",
50
+ "rawTitle": "Вариант 2: Прямое использование Socket.IO",
51
+ "rawDescription": "Для продвинутых пользователей, которым нужен полный контроль",
52
+ "eventsTitle": "Доступные события (Read)",
53
+ "actionsTitle": "Доступные действия",
54
+ "examplesTitle": "Примеры использования"
55
+ },
56
+ "createDialog": {
57
+ "title": "Создать API ключ",
58
+ "description": "Создайте новый API ключ для доступа к боту через WebSocket",
59
+ "nameLabel": "Название ключа",
60
+ "namePlaceholder": "Например: Discord-бот",
61
+ "permissionsLabel": "Права доступа",
62
+ "readOnly": "Только чтение (получение событий)",
63
+ "writeOnly": "Только запись (отправка действий)",
64
+ "readWrite": "Чтение и запись (полный доступ)",
65
+ "creating": "Создание...",
66
+ "create": "Создать",
67
+ "cancel": "Отмена",
68
+ "close": "Закрыть",
69
+ "keyCreated": "Ваш API ключ",
70
+ "saveWarning": "Важно! Сохраните этот ключ сейчас. Вы не сможете увидеть его снова."
71
+ },
72
+ "messages": {
73
+ "error": "Ошибка",
74
+ "success": "Успех",
75
+ "loadKeysError": "Не удалось загрузить API ключи",
76
+ "loadLogsError": "Не удалось загрузить логи подключений",
77
+ "enterKeyName": "Введите название ключа",
78
+ "keyCreated": "API ключ создан",
79
+ "keyCreateError": "Не удалось создать ключ",
80
+ "keyDeleted": "API ключ удален",
81
+ "keyDeleteError": "Не удалось удалить ключ",
82
+ "deleteConfirm": "Вы уверены, что хотите удалить этот ключ? Все приложения, использующие его, потеряют доступ.",
83
+ "copied": "Скопировано",
84
+ "copiedHint": "Ключ скопирован в буфер обмена"
85
+ }
86
+ }
@@ -20063,10 +20063,10 @@ Syntax: ${textToMarkedString(entry.syntax)}`;
20063
20063
  }, format: function(t4) {
20064
20064
  if (null === t4 || "object" != typeof t4)
20065
20065
  throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof t4);
20066
- return function(t5, e3) {
20066
+ return (function(t5, e3) {
20067
20067
  var r3 = e3.dir || e3.root, n3 = e3.base || (e3.name || "") + (e3.ext || "");
20068
20068
  return r3 ? r3 === e3.root ? r3 + n3 : r3 + "/" + n3 : n3;
20069
- }(0, t4);
20069
+ })(0, t4);
20070
20070
  }, parse: function(t4) {
20071
20071
  e2(t4);
20072
20072
  var r3 = { root: "", dir: "", base: "", ext: "", name: "" };
@@ -20132,9 +20132,9 @@ Syntax: ${textToMarkedString(entry.syntax)}`;
20132
20132
  query;
20133
20133
  fragment;
20134
20134
  constructor(t4, e3, r2, n2, i2, o2 = false) {
20135
- "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ function(t5, e4) {
20135
+ "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ (function(t5, e4) {
20136
20136
  return t5 || e4 ? t5 : "file";
20137
- }(t4, o2), this.authority = e3 || h, this.path = function(t5, e4) {
20137
+ })(t4, o2), this.authority = e3 || h, this.path = (function(t5, e4) {
20138
20138
  switch (t5) {
20139
20139
  case "https":
20140
20140
  case "http":
@@ -20142,7 +20142,7 @@ Syntax: ${textToMarkedString(entry.syntax)}`;
20142
20142
  e4 ? e4[0] !== a2 && (e4 = a2 + e4) : e4 = a2;
20143
20143
  }
20144
20144
  return e4;
20145
- }(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
20145
+ })(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
20146
20146
  }
20147
20147
  get fsPath() {
20148
20148
  return m(this, false);
@@ -20266,7 +20266,7 @@ Syntax: ${textToMarkedString(entry.syntax)}`;
20266
20266
  var A2 = r(470);
20267
20267
  const w = A2.posix || A2, x = "/";
20268
20268
  var P;
20269
- !function(t4) {
20269
+ !(function(t4) {
20270
20270
  t4.joinPath = function(t5, ...e3) {
20271
20271
  return t5.with({ path: w.join(t5.path, ...e3) });
20272
20272
  }, t4.resolvePath = function(t5, ...e3) {
@@ -20284,7 +20284,7 @@ Syntax: ${textToMarkedString(entry.syntax)}`;
20284
20284
  }, t4.extname = function(t5) {
20285
20285
  return w.extname(t5.path);
20286
20286
  };
20287
- }(P || (P = {}));
20287
+ })(P || (P = {}));
20288
20288
  })(), LIB = n;
20289
20289
  })();
20290
20290
  var { URI: URI22, Utils } = LIB;
@@ -22379,10 +22379,10 @@
22379
22379
  }, format: function(t4) {
22380
22380
  if (null === t4 || "object" != typeof t4)
22381
22381
  throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof t4);
22382
- return function(t5, e3) {
22382
+ return (function(t5, e3) {
22383
22383
  var r3 = e3.dir || e3.root, n3 = e3.base || (e3.name || "") + (e3.ext || "");
22384
22384
  return r3 ? r3 === e3.root ? r3 + n3 : r3 + "/" + n3 : n3;
22385
- }(0, t4);
22385
+ })(0, t4);
22386
22386
  }, parse: function(t4) {
22387
22387
  e2(t4);
22388
22388
  var r3 = { root: "", dir: "", base: "", ext: "", name: "" };
@@ -22448,9 +22448,9 @@
22448
22448
  query;
22449
22449
  fragment;
22450
22450
  constructor(t4, e3, r2, n2, i2, o2 = false) {
22451
- "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ function(t5, e4) {
22451
+ "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ (function(t5, e4) {
22452
22452
  return t5 || e4 ? t5 : "file";
22453
- }(t4, o2), this.authority = e3 || h, this.path = function(t5, e4) {
22453
+ })(t4, o2), this.authority = e3 || h, this.path = (function(t5, e4) {
22454
22454
  switch (t5) {
22455
22455
  case "https":
22456
22456
  case "http":
@@ -22458,7 +22458,7 @@
22458
22458
  e4 ? e4[0] !== a && (e4 = a + e4) : e4 = a;
22459
22459
  }
22460
22460
  return e4;
22461
- }(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
22461
+ })(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
22462
22462
  }
22463
22463
  get fsPath() {
22464
22464
  return m(this, false);
@@ -22582,7 +22582,7 @@
22582
22582
  var A = r(470);
22583
22583
  const w = A.posix || A, x = "/";
22584
22584
  var P;
22585
- !function(t4) {
22585
+ !(function(t4) {
22586
22586
  t4.joinPath = function(t5, ...e3) {
22587
22587
  return t5.with({ path: w.join(t5.path, ...e3) });
22588
22588
  }, t4.resolvePath = function(t5, ...e3) {
@@ -22600,7 +22600,7 @@
22600
22600
  }, t4.extname = function(t5) {
22601
22601
  return w.extname(t5.path);
22602
22602
  };
22603
- }(P || (P = {}));
22603
+ })(P || (P = {}));
22604
22604
  })(), LIB = n;
22605
22605
  })();
22606
22606
  var { URI: URI22, Utils } = LIB;
@@ -19625,10 +19625,10 @@
19625
19625
  }, format: function(t4) {
19626
19626
  if (null === t4 || "object" != typeof t4)
19627
19627
  throw new TypeError('The "pathObject" argument must be of type Object. Received type ' + typeof t4);
19628
- return function(t5, e3) {
19628
+ return (function(t5, e3) {
19629
19629
  var r3 = e3.dir || e3.root, n3 = e3.base || (e3.name || "") + (e3.ext || "");
19630
19630
  return r3 ? r3 === e3.root ? r3 + n3 : r3 + "/" + n3 : n3;
19631
- }(0, t4);
19631
+ })(0, t4);
19632
19632
  }, parse: function(t4) {
19633
19633
  e2(t4);
19634
19634
  var r3 = { root: "", dir: "", base: "", ext: "", name: "" };
@@ -19694,9 +19694,9 @@
19694
19694
  query;
19695
19695
  fragment;
19696
19696
  constructor(t4, e3, r2, n2, i2, o2 = false) {
19697
- "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ function(t5, e4) {
19697
+ "object" == typeof t4 ? (this.scheme = t4.scheme || h, this.authority = t4.authority || h, this.path = t4.path || h, this.query = t4.query || h, this.fragment = t4.fragment || h) : (this.scheme = /* @__PURE__ */ (function(t5, e4) {
19698
19698
  return t5 || e4 ? t5 : "file";
19699
- }(t4, o2), this.authority = e3 || h, this.path = function(t5, e4) {
19699
+ })(t4, o2), this.authority = e3 || h, this.path = (function(t5, e4) {
19700
19700
  switch (t5) {
19701
19701
  case "https":
19702
19702
  case "http":
@@ -19704,7 +19704,7 @@
19704
19704
  e4 ? e4[0] !== a2 && (e4 = a2 + e4) : e4 = a2;
19705
19705
  }
19706
19706
  return e4;
19707
- }(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
19707
+ })(this.scheme, r2 || h), this.query = n2 || h, this.fragment = i2 || h, s(this, o2));
19708
19708
  }
19709
19709
  get fsPath() {
19710
19710
  return m(this, false);
@@ -19828,7 +19828,7 @@
19828
19828
  var A2 = r(470);
19829
19829
  const w = A2.posix || A2, x = "/";
19830
19830
  var P;
19831
- !function(t4) {
19831
+ !(function(t4) {
19832
19832
  t4.joinPath = function(t5, ...e3) {
19833
19833
  return t5.with({ path: w.join(t5.path, ...e3) });
19834
19834
  }, t4.resolvePath = function(t5, ...e3) {
@@ -19846,7 +19846,7 @@
19846
19846
  }, t4.extname = function(t5) {
19847
19847
  return w.extname(t5.path);
19848
19848
  };
19849
- }(P || (P = {}));
19849
+ })(P || (P = {}));
19850
19850
  })(), LIB = n;
19851
19851
  })();
19852
19852
  var { URI: URI22, Utils } = LIB;
@@ -81262,9 +81262,9 @@ ${lanes.join("\n")}
81262
81262
  const elem = getElaborationElementForJsxChild(child, childrenNameType, getInvalidTextualChildDiagnostic);
81263
81263
  if (elem) {
81264
81264
  result = elaborateElementwise(
81265
- function* () {
81265
+ (function* () {
81266
81266
  yield elem;
81267
- }(),
81267
+ })(),
81268
81268
  source,
81269
81269
  target,
81270
81270
  relation,
@@ -183773,7 +183773,7 @@ ${newComment.split("\n").map((c) => ` * ${c}`).join("\n")}
183773
183773
  return !!(symbol2.flags & 1920) && !((_a2 = symbol2.declarations) == null ? void 0 : _a2.every((d) => d.parent === node.parent));
183774
183774
  } : isRhsOfImportDeclaration ? (
183775
183775
  // Any kind is allowed when dotting off namespace in internal import equals declaration
183776
- (symbol2) => isValidTypeAccess(symbol2) || isValidValueAccess(symbol2)
183776
+ ((symbol2) => isValidTypeAccess(symbol2) || isValidValueAccess(symbol2))
183777
183777
  ) : isTypeLocation || insideJsDocTagTypeExpression ? isValidTypeAccess : isValidValueAccess;
183778
183778
  for (const exportedSymbol of exportedSymbols) {
183779
183779
  if (isValidAccess(exportedSymbol)) {
@@ -41,6 +41,9 @@
41
41
  "cmdk": "^1.1.1",
42
42
  "cron-parser": "^5.3.0",
43
43
  "diff": "^8.0.2",
44
+ "i18next": "^25.7.1",
45
+ "i18next-browser-languagedetector": "^8.2.0",
46
+ "i18next-http-backend": "^3.0.2",
44
47
  "immer": "^10.1.1",
45
48
  "lucide-react": "^0.514.0",
46
49
  "minecraft-data": "^3.100.0",
@@ -49,6 +52,7 @@
49
52
  "prismarine-viewer": "^1.33.0",
50
53
  "react": "^19.1.0",
51
54
  "react-dom": "^19.1.0",
55
+ "react-i18next": "^16.4.0",
52
56
  "react-markdown": "^10.1.0",
53
57
  "react-resizable-panels": "^3.0.2",
54
58
  "react-router-dom": "^7.6.2",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "blockmine",
3
- "version": "1.24.0",
3
+ "version": "1.25.0",
4
4
  "description": "Мощная панель управления ботами для Майнкрафта.",
5
5
  "author": "merka",
6
6
  "license": "MIT",
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file