blockmine 1.24.0 → 1.27.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/CHANGELOG.md +76 -1
- package/README.en.md +427 -0
- package/README.md +40 -0
- package/backend/package.json +2 -2
- package/backend/prisma/migrations/20260328173000_add_plugin_source_ref/migration.sql +2 -0
- package/backend/prisma/migrations/migration_lock.toml +2 -2
- package/backend/prisma/schema.prisma +2 -0
- package/backend/src/ai/plugin-assistant-system-prompt.md +664 -5
- package/backend/src/api/routes/apiKeys.js +8 -0
- package/backend/src/api/routes/bots.js +271 -9
- package/backend/src/api/routes/eventGraphs.js +151 -1
- package/backend/src/api/routes/health.js +38 -0
- package/backend/src/api/routes/nodeRegistry.js +63 -0
- package/backend/src/api/routes/plugins.js +254 -29
- package/backend/src/api/routes/servers.js +14 -2
- package/backend/src/container.js +11 -8
- package/backend/src/core/BotCommandLoader.js +161 -0
- package/backend/src/core/BotConnection.js +125 -0
- package/backend/src/core/BotEventHandlers.js +234 -0
- package/backend/src/core/BotIPCHandler.js +445 -0
- package/backend/src/core/BotManager.js +15 -7
- package/backend/src/core/BotProcess.js +169 -140
- package/backend/src/core/EventGraphManager.js +7 -3
- package/backend/src/core/GraphDebugHandler.js +229 -0
- package/backend/src/core/GraphDebugIPC.js +117 -0
- package/backend/src/core/GraphExecutionEngine.js +545 -978
- package/backend/src/core/GraphTraversal.js +80 -0
- package/backend/src/core/GraphValidation.js +73 -0
- package/backend/src/core/NodeDefinition.js +138 -0
- package/backend/src/core/NodeRegistry.js +153 -141
- package/backend/src/core/PluginLoader.js +83 -3
- package/backend/src/core/PluginManager.js +346 -35
- package/backend/src/core/RewindSignal.js +9 -0
- package/backend/src/core/config/ConfigValidator.js +72 -0
- package/backend/src/core/config/FeatureFlags.js +52 -0
- package/backend/src/core/config/__tests__/ConfigValidator.test.js +232 -0
- package/backend/src/core/domain/entities/Bot.js +39 -0
- package/backend/src/core/domain/entities/Command.js +41 -0
- package/backend/src/core/domain/entities/EventGraph.js +39 -0
- package/backend/src/core/domain/entities/Plugin.js +45 -0
- package/backend/src/core/domain/entities/User.js +40 -0
- package/backend/src/core/domain/services/DependencyResolver.js +168 -0
- package/backend/src/core/domain/services/GraphValidator.js +117 -0
- package/backend/src/core/domain/services/PermissionChecker.js +34 -0
- package/backend/src/core/domain/services/__tests__/DependencyResolver.test.js +126 -0
- package/backend/src/core/domain/valueObjects/BotConfig.js +27 -0
- package/backend/src/core/domain/valueObjects/DependencyGraph.js +86 -0
- package/backend/src/core/domain/valueObjects/PluginManifest.js +36 -0
- package/backend/src/core/errors/BaseError.js +29 -0
- package/backend/src/core/errors/ErrorHandler.js +81 -0
- package/backend/src/core/errors/__tests__/ErrorHandler.test.js +188 -0
- package/backend/src/core/errors/index.js +68 -0
- package/backend/src/core/infrastructure/BatchingUtility.js +66 -0
- package/backend/src/core/infrastructure/CircuitBreaker.js +103 -0
- package/backend/src/core/infrastructure/ConnectionPool.js +81 -0
- package/backend/src/core/infrastructure/RateLimiter.js +64 -0
- package/backend/src/core/infrastructure/__tests__/BatchingUtility.test.js +86 -0
- package/backend/src/core/infrastructure/__tests__/CircuitBreaker.test.js +156 -0
- package/backend/src/core/infrastructure/__tests__/ConnectionPool.test.js +146 -0
- package/backend/src/core/infrastructure/__tests__/RateLimiter.test.js +171 -0
- package/backend/src/core/ipc/botApiFactory.js +72 -0
- package/backend/src/core/ipc/ipcMessageTypes.js +115 -0
- package/backend/src/core/logging/AuditLogger.js +61 -0
- package/backend/src/core/logging/StructuredLogger.js +80 -0
- package/backend/src/core/logging/__tests__/StructuredLogger.test.js +213 -0
- package/backend/src/core/logging/index.js +7 -0
- package/backend/src/core/metrics/MetricsCollector.js +104 -0
- package/backend/src/core/metrics/__tests__/MetricsCollector.test.js +131 -0
- package/backend/src/core/node-registries/actionsNodes.js +191 -0
- package/backend/src/core/node-registries/arraysNodes.js +152 -0
- package/backend/src/core/node-registries/botNodes.js +48 -0
- package/backend/src/core/node-registries/containerNodes.js +141 -0
- package/backend/src/core/node-registries/dataNodes.js +284 -0
- package/backend/src/core/node-registries/debugNodes.js +23 -0
- package/backend/src/core/node-registries/eventsNodes.js +223 -0
- package/backend/src/core/node-registries/flowNodes.js +151 -0
- package/backend/src/core/node-registries/furnaceNodes.js +123 -0
- package/backend/src/core/node-registries/index.js +108 -0
- package/backend/src/core/node-registries/inventory.js +102 -106
- package/backend/src/core/node-registries/logicNodes.js +54 -0
- package/backend/src/core/node-registries/mathNodes.js +38 -0
- package/backend/src/core/node-registries/navigationNodes.js +109 -0
- package/backend/src/core/node-registries/objectsNodes.js +90 -0
- package/backend/src/core/node-registries/stringsNodes.js +165 -0
- package/backend/src/core/node-registries/timeNodes.js +105 -0
- package/backend/src/core/node-registries/typeNodes.js +22 -0
- package/backend/src/core/node-registries/usersNodes.js +126 -0
- package/backend/src/core/nodes/arrays/shuffle.js +14 -0
- package/backend/src/core/nodes/bot/get_name.js +8 -0
- package/backend/src/core/nodes/bot/stop_bot.js +5 -0
- package/backend/src/core/nodes/container/open.js +101 -111
- package/backend/src/core/nodes/data/store_read.js +26 -0
- package/backend/src/core/nodes/data/store_write.js +23 -0
- package/backend/src/core/nodes/event/call_event.js +31 -0
- package/backend/src/core/nodes/event/custom_event.js +8 -0
- package/backend/src/core/nodes/flow/timer.js +35 -0
- package/backend/src/core/nodes/inventory/drop.js +73 -65
- package/backend/src/core/nodes/inventory/equip.js +54 -45
- package/backend/src/core/nodes/inventory/select_slot.js +48 -46
- package/backend/src/core/nodes/navigation/follow.js +54 -51
- package/backend/src/core/nodes/navigation/go_to.js +41 -53
- package/backend/src/core/nodes/navigation/go_to_entity.js +65 -69
- package/backend/src/core/nodes/navigation/go_to_player.js +65 -70
- package/backend/src/core/nodes/navigation/stop.js +17 -26
- package/backend/src/core/nodes/users/add_to_group.js +24 -0
- package/backend/src/core/nodes/users/check_permission.js +26 -0
- package/backend/src/core/nodes/users/remove_from_group.js +24 -0
- package/backend/src/core/services/BotIPCMessageRouter.js +337 -0
- package/backend/src/core/services/BotLifecycleService.js +43 -450
- package/backend/src/core/services/CacheManager.js +83 -23
- package/backend/src/core/services/CrashRestartManager.js +42 -0
- package/backend/src/core/services/DebugSessionManager.js +114 -12
- package/backend/src/core/services/EventGraphService.js +69 -0
- package/backend/src/core/services/MinecraftBotManager.js +9 -1
- package/backend/src/core/services/PluginManagementService.js +84 -0
- package/backend/src/core/services/TestModeContext.js +65 -0
- package/backend/src/core/services/__tests__/CacheManager.test.js +168 -0
- package/backend/src/core/services.js +1 -11
- package/backend/src/core/validation/InputValidator.js +167 -0
- package/backend/src/core/validation/__tests__/InputValidator.test.js +296 -0
- package/backend/src/real-time/botApi/index.js +1 -1
- package/backend/src/real-time/socketHandler.js +26 -0
- package/backend/src/server.js +21 -6
- package/frontend/dist/assets/browser-ponyfill-D8y0Ty7C.js +2 -0
- package/frontend/dist/assets/index-CFJLS0dk.css +32 -0
- package/frontend/dist/assets/index-D91UGNMG.js +11260 -0
- package/frontend/dist/flags/en.svg +32 -0
- package/frontend/dist/flags/ru.svg +5 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/locales/en/admin.json +100 -0
- package/frontend/dist/locales/en/api-keys.json +58 -0
- package/frontend/dist/locales/en/bots.json +113 -0
- package/frontend/dist/locales/en/common.json +53 -0
- package/frontend/dist/locales/en/configuration.json +22 -0
- package/frontend/dist/locales/en/console.json +10 -0
- package/frontend/dist/locales/en/dashboard.json +85 -0
- package/frontend/dist/locales/en/dialogs.json +70 -0
- package/frontend/dist/locales/en/event-graphs.json +50 -0
- package/frontend/dist/locales/en/graph-store.json +70 -0
- package/frontend/dist/locales/en/login.json +36 -0
- package/frontend/dist/locales/en/management.json +192 -0
- package/frontend/dist/locales/en/minecraft-viewer.json +27 -0
- package/frontend/dist/locales/en/nodes.json +1132 -0
- package/frontend/dist/locales/en/permissions.json +50 -0
- package/frontend/dist/locales/en/plugin-detail.json +69 -0
- package/frontend/dist/locales/en/plugins.json +329 -0
- package/frontend/dist/locales/en/proxies.json +81 -0
- package/frontend/dist/locales/en/servers.json +39 -0
- package/frontend/dist/locales/en/setup.json +19 -0
- package/frontend/dist/locales/en/sidebar.json +195 -0
- package/frontend/dist/locales/en/tasks.json +62 -0
- package/frontend/dist/locales/en/visual-editor.json +418 -0
- package/frontend/dist/locales/en/websocket.json +86 -0
- package/frontend/dist/locales/ru/admin.json +100 -0
- package/frontend/dist/locales/ru/api-keys.json +58 -0
- package/frontend/dist/locales/ru/bots.json +113 -0
- package/frontend/dist/locales/ru/common.json +49 -0
- package/frontend/dist/locales/ru/configuration.json +22 -0
- package/frontend/dist/locales/ru/console.json +10 -0
- package/frontend/dist/locales/ru/dashboard.json +85 -0
- package/frontend/dist/locales/ru/dialogs.json +70 -0
- package/frontend/dist/locales/ru/event-graphs.json +50 -0
- package/frontend/dist/locales/ru/graph-store.json +70 -0
- package/frontend/dist/locales/ru/login.json +36 -0
- package/frontend/dist/locales/ru/management.json +192 -0
- package/frontend/dist/locales/ru/minecraft-viewer.json +30 -0
- package/frontend/dist/locales/ru/nodes.json +1131 -0
- package/frontend/dist/locales/ru/permissions.json +50 -0
- package/frontend/dist/locales/ru/plugin-detail.json +49 -0
- package/frontend/dist/locales/ru/plugins.json +209 -0
- package/frontend/dist/locales/ru/proxies.json +81 -0
- package/frontend/dist/locales/ru/servers.json +39 -0
- package/frontend/dist/locales/ru/setup.json +19 -0
- package/frontend/dist/locales/ru/sidebar.json +195 -0
- package/frontend/dist/locales/ru/tasks.json +62 -0
- package/frontend/dist/locales/ru/visual-editor.json +420 -0
- package/frontend/dist/locales/ru/websocket.json +86 -0
- package/frontend/dist/monacoeditorwork/css.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/html.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/json.worker.bundle.js +7 -7
- package/frontend/dist/monacoeditorwork/ts.worker.bundle.js +3 -3
- package/frontend/package.json +6 -0
- package/nul +12 -0
- package/package.json +3 -3
- package/screen/3dviewer.png +0 -0
- 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/language_selector.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/.claude/agents/README.md +0 -469
- package/.claude/agents/auth-route-debugger.md +0 -118
- package/.claude/agents/auth-route-tester.md +0 -93
- package/.claude/agents/auto-error-resolver.md +0 -97
- package/.claude/agents/build-optimizer.md +0 -236
- package/.claude/agents/code-architect.md +0 -34
- package/.claude/agents/code-architecture-reviewer.md +0 -83
- package/.claude/agents/code-explorer.md +0 -51
- package/.claude/agents/code-refactor-master.md +0 -94
- package/.claude/agents/code-reviewer.md +0 -46
- package/.claude/agents/cost-optimizer.md +0 -134
- package/.claude/agents/deployment-orchestrator.md +0 -113
- package/.claude/agents/documentation-architect.md +0 -82
- package/.claude/agents/frontend-error-fixer.md +0 -77
- package/.claude/agents/iac-code-generator.md +0 -71
- package/.claude/agents/incident-responder.md +0 -346
- package/.claude/agents/infrastructure-architect.md +0 -31
- package/.claude/agents/kubernetes-specialist.md +0 -56
- package/.claude/agents/migration-planner.md +0 -181
- package/.claude/agents/network-architect.md +0 -196
- package/.claude/agents/plan-reviewer.md +0 -52
- package/.claude/agents/refactor-planner.md +0 -63
- package/.claude/agents/security-scanner.md +0 -102
- package/.claude/agents/web-research-specialist.md +0 -78
- package/.claude/commands/cost-analysis.md +0 -315
- package/.claude/commands/dev-docs-update.md +0 -55
- package/.claude/commands/dev-docs.md +0 -51
- package/.claude/commands/feature-dev.md +0 -125
- package/.claude/commands/incident-debug.md +0 -247
- package/.claude/commands/infra-plan.md +0 -81
- package/.claude/commands/migration-plan.md +0 -478
- package/.claude/commands/route-research-for-testing.md +0 -37
- package/.claude/commands/security-review.md +0 -66
- package/.claude/hooks/CONFIG.md +0 -448
- package/.claude/hooks/README.md +0 -163
- package/.claude/hooks/SKILL_ACTIVATION_COMPLETE.md +0 -226
- package/.claude/hooks/WINDOWS_HOOKS_README.md +0 -151
- package/.claude/hooks/add-skill-activation-banners.ts +0 -132
- package/.claude/hooks/comprehensive-skill-test.ts +0 -1315
- package/.claude/hooks/error-handling-reminder.sh +0 -12
- package/.claude/hooks/error-handling-reminder.ts +0 -222
- package/.claude/hooks/k8s-manifest-validator.sh +0 -56
- package/.claude/hooks/package-lock.json +0 -556
- package/.claude/hooks/package.json +0 -16
- package/.claude/hooks/post-tool-use-tracker.ps1 +0 -174
- package/.claude/hooks/post-tool-use-tracker.sh +0 -183
- package/.claude/hooks/security-policy-check.sh +0 -247
- package/.claude/hooks/skill-activation-prompt.ps1 +0 -10
- package/.claude/hooks/skill-activation-prompt.sh +0 -10
- package/.claude/hooks/skill-activation-prompt.ts +0 -141
- package/.claude/hooks/stop-build-check-enhanced.sh +0 -130
- package/.claude/hooks/terraform-validator.sh +0 -53
- package/.claude/hooks/test-input.json +0 -7
- package/.claude/hooks/test-skill-activation.ts +0 -427
- package/.claude/hooks/trigger-build-resolver.sh +0 -79
- package/.claude/hooks/tsc-check.sh +0 -173
- package/.claude/hooks/tsconfig.json +0 -19
- package/.claude/settings.json +0 -59
- package/.claude/settings.local.json +0 -67
- package/.claude/skills/README.md +0 -507
- package/.claude/skills/api-engineering/SKILL.md +0 -63
- package/.claude/skills/api-engineering/resources/api-versioning.md +0 -88
- package/.claude/skills/api-engineering/resources/graphql-patterns.md +0 -106
- package/.claude/skills/api-engineering/resources/rate-limiting.md +0 -118
- package/.claude/skills/api-engineering/resources/rest-api-design.md +0 -105
- package/.claude/skills/backend-dev-guidelines/SKILL.md +0 -306
- package/.claude/skills/backend-dev-guidelines/resources/architecture-overview.md +0 -451
- package/.claude/skills/backend-dev-guidelines/resources/async-and-errors.md +0 -307
- package/.claude/skills/backend-dev-guidelines/resources/complete-examples.md +0 -638
- package/.claude/skills/backend-dev-guidelines/resources/configuration.md +0 -275
- package/.claude/skills/backend-dev-guidelines/resources/database-patterns.md +0 -224
- package/.claude/skills/backend-dev-guidelines/resources/middleware-guide.md +0 -213
- package/.claude/skills/backend-dev-guidelines/resources/routing-and-controllers.md +0 -756
- package/.claude/skills/backend-dev-guidelines/resources/sentry-and-monitoring.md +0 -336
- package/.claude/skills/backend-dev-guidelines/resources/services-and-repositories.md +0 -789
- package/.claude/skills/backend-dev-guidelines/resources/testing-guide.md +0 -235
- package/.claude/skills/backend-dev-guidelines/resources/validation-patterns.md +0 -754
- package/.claude/skills/budget-and-cost-management/SKILL.md +0 -850
- package/.claude/skills/build-engineering/SKILL.md +0 -431
- package/.claude/skills/build-engineering/resources/artifact-repositories.md +0 -72
- package/.claude/skills/build-engineering/resources/build-caching.md +0 -96
- package/.claude/skills/build-engineering/resources/build-pipelines.md +0 -105
- package/.claude/skills/build-engineering/resources/build-security.md +0 -95
- package/.claude/skills/build-engineering/resources/build-systems.md +0 -389
- package/.claude/skills/build-engineering/resources/compilation-optimization.md +0 -201
- package/.claude/skills/build-engineering/resources/dependency-management.md +0 -73
- package/.claude/skills/build-engineering/resources/monorepo-builds.md +0 -110
- package/.claude/skills/build-engineering/resources/performance-optimization.md +0 -113
- package/.claude/skills/build-engineering/resources/reproducible-builds.md +0 -82
- package/.claude/skills/cloud-engineering/SKILL.md +0 -675
- package/.claude/skills/cloud-engineering/resources/aws-patterns.md +0 -742
- package/.claude/skills/cloud-engineering/resources/azure-patterns.md +0 -714
- package/.claude/skills/cloud-engineering/resources/cleared-cloud-environments.md +0 -987
- package/.claude/skills/cloud-engineering/resources/cloud-cost-optimization.md +0 -757
- package/.claude/skills/cloud-engineering/resources/cloud-networking.md +0 -1058
- package/.claude/skills/cloud-engineering/resources/cloud-security-tools.md +0 -1530
- package/.claude/skills/cloud-engineering/resources/cloud-security.md +0 -990
- package/.claude/skills/cloud-engineering/resources/gcp-patterns.md +0 -758
- package/.claude/skills/cloud-engineering/resources/migration-strategies.md +0 -820
- package/.claude/skills/cloud-engineering/resources/multi-cloud-strategies.md +0 -670
- package/.claude/skills/cloud-engineering/resources/oci-patterns.md +0 -1198
- package/.claude/skills/cloud-engineering/resources/serverless-patterns.md +0 -795
- package/.claude/skills/cloud-engineering/resources/well-architected-frameworks.md +0 -966
- package/.claude/skills/cybersecurity/SKILL.md +0 -409
- package/.claude/skills/cybersecurity/resources/security-architecture.md +0 -266
- package/.claude/skills/database-engineering/SKILL.md +0 -61
- package/.claude/skills/database-engineering/resources/backup-and-recovery.md +0 -72
- package/.claude/skills/database-engineering/resources/database-replication.md +0 -63
- package/.claude/skills/database-engineering/resources/postgresql-fundamentals.md +0 -70
- package/.claude/skills/database-engineering/resources/query-optimization.md +0 -68
- package/.claude/skills/devsecops/SKILL.md +0 -374
- package/.claude/skills/devsecops/resources/ci-cd-security.md +0 -204
- package/.claude/skills/devsecops/resources/compliance-automation.md +0 -530
- package/.claude/skills/devsecops/resources/compliance-frameworks.md +0 -2322
- package/.claude/skills/devsecops/resources/container-security.md +0 -915
- package/.claude/skills/devsecops/resources/cspm-integration.md +0 -1440
- package/.claude/skills/devsecops/resources/policy-enforcement.md +0 -619
- package/.claude/skills/devsecops/resources/secrets-management.md +0 -755
- package/.claude/skills/devsecops/resources/security-monitoring.md +0 -146
- package/.claude/skills/devsecops/resources/security-scanning.md +0 -887
- package/.claude/skills/devsecops/resources/security-testing.md +0 -203
- package/.claude/skills/devsecops/resources/supply-chain-security.md +0 -518
- package/.claude/skills/devsecops/resources/vulnerability-management.md +0 -481
- package/.claude/skills/devsecops/resources/zero-trust-architecture.md +0 -177
- package/.claude/skills/documentation-as-code/SKILL.md +0 -323
- package/.claude/skills/documentation-as-code/resources/api-documentation.md +0 -90
- package/.claude/skills/documentation-as-code/resources/changelog-management.md +0 -79
- package/.claude/skills/documentation-as-code/resources/diagram-generation.md +0 -44
- package/.claude/skills/documentation-as-code/resources/docs-as-code-workflow.md +0 -99
- package/.claude/skills/documentation-as-code/resources/documentation-automation.md +0 -68
- package/.claude/skills/documentation-as-code/resources/documentation-sites.md +0 -79
- package/.claude/skills/documentation-as-code/resources/markdown-best-practices.md +0 -162
- package/.claude/skills/documentation-as-code/resources/openapi-specification.md +0 -77
- package/.claude/skills/documentation-as-code/resources/readme-engineering.md +0 -60
- package/.claude/skills/documentation-as-code/resources/technical-writing-guide.md +0 -202
- package/.claude/skills/engineering-management/SKILL.md +0 -356
- package/.claude/skills/engineering-management/resources/career-ladders.md +0 -609
- package/.claude/skills/engineering-management/resources/hiring-and-assessment.md +0 -555
- package/.claude/skills/engineering-management/resources/one-on-one-guides.md +0 -609
- package/.claude/skills/engineering-management/resources/resource-planning.md +0 -557
- package/.claude/skills/engineering-management/resources/team-organization-patterns.md +0 -491
- package/.claude/skills/engineering-management/resources/technical-interviews.md +0 -474
- package/.claude/skills/engineering-operations-management/SKILL.md +0 -817
- package/.claude/skills/error-tracking/SKILL.md +0 -379
- package/.claude/skills/frontend-design/SKILL.md +0 -42
- package/.claude/skills/frontend-dev-guidelines/SKILL.md +0 -403
- package/.claude/skills/frontend-dev-guidelines/resources/common-patterns.md +0 -331
- package/.claude/skills/frontend-dev-guidelines/resources/complete-examples.md +0 -872
- package/.claude/skills/frontend-dev-guidelines/resources/component-patterns.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/data-fetching.md +0 -767
- package/.claude/skills/frontend-dev-guidelines/resources/file-organization.md +0 -502
- package/.claude/skills/frontend-dev-guidelines/resources/loading-and-error-states.md +0 -501
- package/.claude/skills/frontend-dev-guidelines/resources/performance.md +0 -406
- package/.claude/skills/frontend-dev-guidelines/resources/routing-guide.md +0 -364
- package/.claude/skills/frontend-dev-guidelines/resources/styling-guide.md +0 -428
- package/.claude/skills/frontend-dev-guidelines/resources/typescript-standards.md +0 -418
- package/.claude/skills/general-it-engineering/SKILL.md +0 -393
- package/.claude/skills/general-it-engineering/resources/asset-management.md +0 -712
- package/.claude/skills/general-it-engineering/resources/automation-orchestration.md +0 -817
- package/.claude/skills/general-it-engineering/resources/business-continuity.md +0 -786
- package/.claude/skills/general-it-engineering/resources/change-management.md +0 -715
- package/.claude/skills/general-it-engineering/resources/enterprise-monitoring.md +0 -729
- package/.claude/skills/general-it-engineering/resources/help-desk-operations.md +0 -738
- package/.claude/skills/general-it-engineering/resources/incident-service-management.md +0 -834
- package/.claude/skills/general-it-engineering/resources/it-governance.md +0 -753
- package/.claude/skills/general-it-engineering/resources/itil-framework.md +0 -503
- package/.claude/skills/general-it-engineering/resources/service-management.md +0 -669
- package/.claude/skills/infrastructure-architecture/SKILL.md +0 -328
- package/.claude/skills/infrastructure-architecture/resources/architecture-decision-records.md +0 -505
- package/.claude/skills/infrastructure-architecture/resources/architecture-patterns.md +0 -528
- package/.claude/skills/infrastructure-architecture/resources/capacity-planning.md +0 -453
- package/.claude/skills/infrastructure-architecture/resources/cleared-environment-architecture.md +0 -773
- package/.claude/skills/infrastructure-architecture/resources/cost-architecture.md +0 -499
- package/.claude/skills/infrastructure-architecture/resources/data-architecture.md +0 -501
- package/.claude/skills/infrastructure-architecture/resources/disaster-recovery.md +0 -535
- package/.claude/skills/infrastructure-architecture/resources/migration-architecture.md +0 -512
- package/.claude/skills/infrastructure-architecture/resources/multi-region-design.md +0 -608
- package/.claude/skills/infrastructure-architecture/resources/reference-architectures.md +0 -562
- package/.claude/skills/infrastructure-architecture/resources/security-architecture.md +0 -538
- package/.claude/skills/infrastructure-architecture/resources/system-design-principles.md +0 -489
- package/.claude/skills/infrastructure-architecture/resources/workload-classification.md +0 -1000
- package/.claude/skills/infrastructure-strategy/SKILL.md +0 -924
- package/.claude/skills/network-engineering/SKILL.md +0 -385
- package/.claude/skills/network-engineering/resources/dns-management.md +0 -738
- package/.claude/skills/network-engineering/resources/load-balancing.md +0 -820
- package/.claude/skills/network-engineering/resources/network-architecture.md +0 -546
- package/.claude/skills/network-engineering/resources/network-security.md +0 -921
- package/.claude/skills/network-engineering/resources/network-troubleshooting.md +0 -749
- package/.claude/skills/network-engineering/resources/routing-switching.md +0 -373
- package/.claude/skills/network-engineering/resources/sdn-networking.md +0 -695
- package/.claude/skills/network-engineering/resources/service-mesh-networking.md +0 -777
- package/.claude/skills/network-engineering/resources/tcp-ip-protocols.md +0 -444
- package/.claude/skills/network-engineering/resources/vpn-connectivity.md +0 -672
- package/.claude/skills/node-development/SKILL.md +0 -317
- package/.claude/skills/observability-engineering/SKILL.md +0 -101
- package/.claude/skills/observability-engineering/resources/apm-tools.md +0 -97
- package/.claude/skills/observability-engineering/resources/correlation-strategies.md +0 -87
- package/.claude/skills/observability-engineering/resources/distributed-tracing.md +0 -98
- package/.claude/skills/observability-engineering/resources/logs-aggregation.md +0 -118
- package/.claude/skills/observability-engineering/resources/observability-cost-optimization.md +0 -141
- package/.claude/skills/observability-engineering/resources/opentelemetry.md +0 -110
- package/.claude/skills/platform-engineering/SKILL.md +0 -555
- package/.claude/skills/platform-engineering/resources/architecture-overview.md +0 -600
- package/.claude/skills/platform-engineering/resources/container-orchestration.md +0 -916
- package/.claude/skills/platform-engineering/resources/cost-optimization.md +0 -634
- package/.claude/skills/platform-engineering/resources/developer-platforms.md +0 -670
- package/.claude/skills/platform-engineering/resources/gitops-automation.md +0 -650
- package/.claude/skills/platform-engineering/resources/infrastructure-as-code.md +0 -778
- package/.claude/skills/platform-engineering/resources/infrastructure-standards.md +0 -708
- package/.claude/skills/platform-engineering/resources/multi-tenancy.md +0 -602
- package/.claude/skills/platform-engineering/resources/platform-security.md +0 -711
- package/.claude/skills/platform-engineering/resources/resource-management.md +0 -592
- package/.claude/skills/platform-engineering/resources/service-mesh.md +0 -628
- package/.claude/skills/release-engineering/SKILL.md +0 -393
- package/.claude/skills/release-engineering/resources/artifact-management.md +0 -108
- package/.claude/skills/release-engineering/resources/build-optimization.md +0 -84
- package/.claude/skills/release-engineering/resources/ci-cd-pipelines.md +0 -411
- package/.claude/skills/release-engineering/resources/deployment-strategies.md +0 -197
- package/.claude/skills/release-engineering/resources/pipeline-security.md +0 -62
- package/.claude/skills/release-engineering/resources/progressive-delivery.md +0 -83
- package/.claude/skills/release-engineering/resources/release-automation.md +0 -68
- package/.claude/skills/release-engineering/resources/release-orchestration.md +0 -77
- package/.claude/skills/release-engineering/resources/rollback-strategies.md +0 -66
- package/.claude/skills/release-engineering/resources/versioning-strategies.md +0 -59
- package/.claude/skills/route-tester/SKILL.md +0 -392
- package/.claude/skills/skill-developer/ADVANCED.md +0 -197
- package/.claude/skills/skill-developer/HOOK_MECHANISMS.md +0 -306
- package/.claude/skills/skill-developer/PATTERNS_LIBRARY.md +0 -152
- package/.claude/skills/skill-developer/SKILL.md +0 -430
- package/.claude/skills/skill-developer/SKILL_RULES_REFERENCE.md +0 -315
- package/.claude/skills/skill-developer/TRIGGER_TYPES.md +0 -305
- package/.claude/skills/skill-developer/TROUBLESHOOTING.md +0 -514
- package/.claude/skills/skill-rules.json +0 -2989
- package/.claude/skills/sre/SKILL.md +0 -464
- package/.claude/skills/sre/resources/alerting-best-practices.md +0 -282
- package/.claude/skills/sre/resources/capacity-planning.md +0 -226
- package/.claude/skills/sre/resources/chaos-engineering.md +0 -193
- package/.claude/skills/sre/resources/disaster-recovery.md +0 -232
- package/.claude/skills/sre/resources/incident-management.md +0 -436
- package/.claude/skills/sre/resources/observability-stack.md +0 -240
- package/.claude/skills/sre/resources/on-call-runbooks.md +0 -167
- package/.claude/skills/sre/resources/performance-optimization.md +0 -108
- package/.claude/skills/sre/resources/reliability-patterns.md +0 -183
- package/.claude/skills/sre/resources/slo-sli-sla.md +0 -464
- package/.claude/skills/sre/resources/toil-reduction.md +0 -145
- package/.claude/skills/systems-engineering/SKILL.md +0 -648
- package/.claude/skills/systems-engineering/resources/automation-patterns.md +0 -771
- package/.claude/skills/systems-engineering/resources/configuration-management.md +0 -998
- package/.claude/skills/systems-engineering/resources/linux-administration.md +0 -672
- package/.claude/skills/systems-engineering/resources/networking-fundamentals.md +0 -982
- package/.claude/skills/systems-engineering/resources/performance-tuning.md +0 -871
- package/.claude/skills/systems-engineering/resources/powershell-scripting.md +0 -482
- package/.claude/skills/systems-engineering/resources/security-hardening.md +0 -739
- package/.claude/skills/systems-engineering/resources/shell-scripting.md +0 -915
- package/.claude/skills/systems-engineering/resources/storage-management.md +0 -628
- package/.claude/skills/systems-engineering/resources/system-monitoring.md +0 -787
- package/.claude/skills/systems-engineering/resources/troubleshooting-guide.md +0 -753
- package/.claude/skills/systems-engineering/resources/windows-administration.md +0 -738
- package/.claude/skills/technical-leadership/SKILL.md +0 -728
- package/backend/docs/SECRETS_DOCUMENTATION.md +0 -327
- package/backend/package-lock.json +0 -6801
- package/backend/src/core/node-registries/actions.js +0 -202
- package/backend/src/core/node-registries/arrays.js +0 -155
- package/backend/src/core/node-registries/bot.js +0 -23
- package/backend/src/core/node-registries/container.js +0 -162
- package/backend/src/core/node-registries/data.js +0 -290
- package/backend/src/core/node-registries/debug.js +0 -26
- package/backend/src/core/node-registries/events.js +0 -201
- package/backend/src/core/node-registries/flow.js +0 -139
- package/backend/src/core/node-registries/furnace.js +0 -143
- package/backend/src/core/node-registries/logic.js +0 -62
- package/backend/src/core/node-registries/math.js +0 -42
- package/backend/src/core/node-registries/navigation.js +0 -111
- package/backend/src/core/node-registries/objects.js +0 -98
- package/backend/src/core/node-registries/strings.js +0 -187
- package/backend/src/core/node-registries/time.js +0 -113
- package/backend/src/core/node-registries/type.js +0 -25
- package/backend/src/core/node-registries/users.js +0 -79
- package/frontend/dist/assets/index-BC-NbKXi.css +0 -32
- package/frontend/dist/assets/index-DqJXZMHY.js +0 -11266
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"title": "Планировщик задач",
|
|
3
|
+
"description": "Автоматизируйте действия ботов с помощью cron-задач.",
|
|
4
|
+
"createTask": "Создать задачу",
|
|
5
|
+
"table": {
|
|
6
|
+
"status": "Статус",
|
|
7
|
+
"name": "Название",
|
|
8
|
+
"schedule": "Расписание",
|
|
9
|
+
"nextRun": "Следующий запуск",
|
|
10
|
+
"action": "Действие",
|
|
11
|
+
"actions": "Действия"
|
|
12
|
+
},
|
|
13
|
+
"cron": {
|
|
14
|
+
"disabled": "Отключено",
|
|
15
|
+
"onStartup": "При старте",
|
|
16
|
+
"onStartupHuman": "Выполняется при запуске панели",
|
|
17
|
+
"noSchedule": "Нет расписания",
|
|
18
|
+
"error": "Ошибка"
|
|
19
|
+
},
|
|
20
|
+
"actions": {
|
|
21
|
+
"startBot": "Запустить бота",
|
|
22
|
+
"stopBot": "Остановить бота",
|
|
23
|
+
"restartBot": "Перезапустить бота",
|
|
24
|
+
"sendCommand": "Отправить команду"
|
|
25
|
+
},
|
|
26
|
+
"empty": "Задачи не найдены.",
|
|
27
|
+
"deleteDialog": {
|
|
28
|
+
"title": "Удалить задачу \"{{name}}\"?",
|
|
29
|
+
"description": "Это действие необратимо и приведет к удалению задачи из расписания.",
|
|
30
|
+
"confirm": "Да, удалить"
|
|
31
|
+
},
|
|
32
|
+
"form": {
|
|
33
|
+
"titleEdit": "Редактировать задачу",
|
|
34
|
+
"titleCreate": "Создать новую задачу",
|
|
35
|
+
"descriptionStartup": "Эта задача будет выполнена один раз при каждом запуске панели.",
|
|
36
|
+
"descriptionSchedule": "Задачи выполняются по расписанию для выбранных ботов.",
|
|
37
|
+
"taskName": "Название задачи",
|
|
38
|
+
"runOnStartup": "Выполнять при запуске панели",
|
|
39
|
+
"runOnStartupDescription": "Задача будет выполнена один раз при каждом старте/перезапуске панели.",
|
|
40
|
+
"schedule": "Расписание",
|
|
41
|
+
"advancedMode": "Продвинутый режим",
|
|
42
|
+
"cronHelp": "Помощь по cron-паттернам",
|
|
43
|
+
"repeatEvery": "Повторять каждые",
|
|
44
|
+
"minutes": "Минут",
|
|
45
|
+
"hours": "Часов",
|
|
46
|
+
"days": "Дней",
|
|
47
|
+
"startTime": "Время запуска",
|
|
48
|
+
"action": "Действие",
|
|
49
|
+
"selectAction": "Выберите действие",
|
|
50
|
+
"targetBots": "Целевые боты",
|
|
51
|
+
"allBots": "Все боты",
|
|
52
|
+
"selectedCount": "{{count}} выбрано",
|
|
53
|
+
"selectBots": "Выберите ботов...",
|
|
54
|
+
"searchBots": "Поиск ботов...",
|
|
55
|
+
"noBotsFound": "Боты не найдены.",
|
|
56
|
+
"commandToSend": "Команда для отправки",
|
|
57
|
+
"commandPlaceholder": "Привет, мир!",
|
|
58
|
+
"cancel": "Отмена",
|
|
59
|
+
"saving": "Сохранение...",
|
|
60
|
+
"save": "Сохранить"
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,420 @@
|
|
|
1
|
+
{
|
|
2
|
+
"loading": "Загрузка редактора...",
|
|
3
|
+
"loadingSettings": "Загрузка настроек...",
|
|
4
|
+
"editor": {
|
|
5
|
+
"title": "Редактор",
|
|
6
|
+
"botFallback": "Бот {{id}}"
|
|
7
|
+
},
|
|
8
|
+
"createGraph": {
|
|
9
|
+
"title": "Создать новый граф событий",
|
|
10
|
+
"graphName": "Название графа",
|
|
11
|
+
"graphNamePlaceholder": "Название графа",
|
|
12
|
+
"pluginOwner": "Плагин-владелец",
|
|
13
|
+
"selectPlugin": "Выберите плагин",
|
|
14
|
+
"noPluginSystem": "Нет (системный)",
|
|
15
|
+
"pluginBindNote": "Привязка к локальному плагину позволит автоматически удалить граф при удалении плагина",
|
|
16
|
+
"cancel": "Отмена",
|
|
17
|
+
"create": "Создать",
|
|
18
|
+
"creating": "Создание..."
|
|
19
|
+
},
|
|
20
|
+
"settings": {
|
|
21
|
+
"titleEventGraph": "Настройки графа событий",
|
|
22
|
+
"titleCommand": "Настройки команды",
|
|
23
|
+
"graphName": "Имя графа",
|
|
24
|
+
"commandName": "Имя команды",
|
|
25
|
+
"enabled": "Включено",
|
|
26
|
+
"pluginOwner": "Плагин-владелец",
|
|
27
|
+
"selectPlugin": "Выберите плагин...",
|
|
28
|
+
"noPluginSystem": "Нет (системный)",
|
|
29
|
+
"pluginActive": "(активен)",
|
|
30
|
+
"pluginInactive": "(неактивен)",
|
|
31
|
+
"loadingPlugins": "Загрузка плагинов...",
|
|
32
|
+
"pluginBindNote": "Привязка к локальному плагину позволит автоматически удалить {{type}} при удалении плагина",
|
|
33
|
+
"pluginBindNoteGraph": "граф",
|
|
34
|
+
"pluginBindNoteCommand": "команду",
|
|
35
|
+
"pluginPermissionNote": "Для назначения плагина-владельца требуются права plugin:list",
|
|
36
|
+
"description": "Описание",
|
|
37
|
+
"aliases": "Алиасы (через запятую)",
|
|
38
|
+
"permission": "Права доступа",
|
|
39
|
+
"selectPermission": "Выберите право...",
|
|
40
|
+
"noPermission": "Нет",
|
|
41
|
+
"cooldown": "Кулдаун (секунды)",
|
|
42
|
+
"cooldownNote": "Время в секундах, которое должно пройти между использованиями команды",
|
|
43
|
+
"chatTypes": "Типы чатов (через запятую)",
|
|
44
|
+
"arguments": "Аргументы команды",
|
|
45
|
+
"argName": "Имя",
|
|
46
|
+
"argRequired": "Обяз.",
|
|
47
|
+
"addArgument": "Добавить аргумент"
|
|
48
|
+
},
|
|
49
|
+
"debug": {
|
|
50
|
+
"liveEnabled": "Live Debug Вкл",
|
|
51
|
+
"live": "Live Debug",
|
|
52
|
+
"traceEnabled": "Трассировка Вкл",
|
|
53
|
+
"traceView": "Просмотр трассировки"
|
|
54
|
+
},
|
|
55
|
+
"publish": {
|
|
56
|
+
"button": "Опубликовать",
|
|
57
|
+
"title": "Опубликовать граф в магазин",
|
|
58
|
+
"name": "Название",
|
|
59
|
+
"namePlaceholder": "Название графа",
|
|
60
|
+
"author": "Автор",
|
|
61
|
+
"authorPlaceholder": "Ваше имя",
|
|
62
|
+
"description": "Описание",
|
|
63
|
+
"descriptionPlaceholder": "Описание графа (минимум 10 символов)",
|
|
64
|
+
"submit": "Опубликовать",
|
|
65
|
+
"cancel": "Отмена",
|
|
66
|
+
"success": "Граф опубликован и ожидает модерации!",
|
|
67
|
+
"allFieldsRequired": "Все поля обязательны",
|
|
68
|
+
"descriptionMinLength": "Описание должно содержать минимум 10 символов",
|
|
69
|
+
"error": "Ошибка при публикации графа"
|
|
70
|
+
},
|
|
71
|
+
"save": {
|
|
72
|
+
"button": "Сохранить",
|
|
73
|
+
"saving": "Сохранение...",
|
|
74
|
+
"saveFirst": "Сохраните граф перед просмотром трассировок"
|
|
75
|
+
},
|
|
76
|
+
"selectEventType": {
|
|
77
|
+
"title": "Выберите тип события для просмотра"
|
|
78
|
+
},
|
|
79
|
+
"trace": {
|
|
80
|
+
"noEventNodes": "В графе нет event нод",
|
|
81
|
+
"notFound": "Трассировки не найдены для этого графа",
|
|
82
|
+
"loadError": "Не удалось загрузить трассировку"
|
|
83
|
+
},
|
|
84
|
+
"variables": {
|
|
85
|
+
"title": "Переменные",
|
|
86
|
+
"group": "Переменные",
|
|
87
|
+
"get": "Получить переменную",
|
|
88
|
+
"set": "Задать переменную",
|
|
89
|
+
"namePlaceholder": "Имя",
|
|
90
|
+
"valuePlaceholder": "Значение по умолч.",
|
|
91
|
+
"addVariable": "Добавить переменную"
|
|
92
|
+
},
|
|
93
|
+
"arguments": {
|
|
94
|
+
"group": "Аргументы",
|
|
95
|
+
"get": "Получить аргумент"
|
|
96
|
+
},
|
|
97
|
+
"nodeSettings": {
|
|
98
|
+
"variableName": "Имя переменной:",
|
|
99
|
+
"selectVariable": "Выберите переменную...",
|
|
100
|
+
"argumentName": "Имя аргумента:",
|
|
101
|
+
"selectArgument": "Выберите аргумент...",
|
|
102
|
+
"mode": "Режим:",
|
|
103
|
+
"simple": "Простой",
|
|
104
|
+
"advanced": "Расширенный",
|
|
105
|
+
"operator": "Оператор:",
|
|
106
|
+
"addPin": "Добавить пин",
|
|
107
|
+
"httpMethod": "HTTP Method:",
|
|
108
|
+
"value": "Значение:",
|
|
109
|
+
"number": "Число:",
|
|
110
|
+
"targetType": "Целевой тип:",
|
|
111
|
+
"selectType": "Выберите тип...",
|
|
112
|
+
"checkType": "Проверить тип:",
|
|
113
|
+
"add": "Добавить",
|
|
114
|
+
"remove": "Удалить",
|
|
115
|
+
"addField": "Добавить поле",
|
|
116
|
+
"removeField": "Удалить поле",
|
|
117
|
+
"cases": "Case'ы:",
|
|
118
|
+
"comparePlaceholder": "Значение для сравнения",
|
|
119
|
+
"autoCompareHint": "Автоматически определяет тип сравнения: числа, строки, массивы, объекты",
|
|
120
|
+
"selectIn3dViewer": "Выбрать в 3D Viewer",
|
|
121
|
+
"selectContainerIn3dViewer": "Выбрать сундук в 3D Viewer",
|
|
122
|
+
"selectFurnaceIn3dViewer": "Выбрать печку в 3D Viewer",
|
|
123
|
+
"jsonObject": "JSON объект:",
|
|
124
|
+
"minimumDefault": "Минимум (по умолчанию)",
|
|
125
|
+
"maximumDefault": "Максимум (по умолчанию)",
|
|
126
|
+
"usedWhenPinDisconnected": "Используется, если пин {{pin}} не подключен",
|
|
127
|
+
"selectOperation": "Выберите операцию...",
|
|
128
|
+
"booleanTrue": "True (Истина)",
|
|
129
|
+
"booleanFalse": "False (Ложь)",
|
|
130
|
+
"castString": "String (Текст)",
|
|
131
|
+
"castNumber": "Number (Число)",
|
|
132
|
+
"castBoolean": "Boolean (Да / Нет)",
|
|
133
|
+
"typeString": "String (Строка)",
|
|
134
|
+
"typeNumber": "Number (Число)",
|
|
135
|
+
"typeNumericString": "Числовая строка (\"100\")",
|
|
136
|
+
"typeBoolean": "Boolean (Да / Нет)",
|
|
137
|
+
"typeArray": "Array (Массив)",
|
|
138
|
+
"typeObject": "Object (Объект)",
|
|
139
|
+
"typeNull": "Null / Undefined (Пусто)",
|
|
140
|
+
"compareEquals": "Равно (==)",
|
|
141
|
+
"compareNotEquals": "Не равно (!=)",
|
|
142
|
+
"compareGreater": "Больше (>)",
|
|
143
|
+
"compareLess": "Меньше (<)",
|
|
144
|
+
"compareGreaterOrEqual": "Больше или равно (>=)",
|
|
145
|
+
"compareLessOrEqual": "Меньше или равно (<=)",
|
|
146
|
+
"logicAnd": "И (AND)",
|
|
147
|
+
"logicOr": "ИЛИ (OR)",
|
|
148
|
+
"logicNot": "НЕ (NOT)",
|
|
149
|
+
"mathAdd": "Сложение (+)",
|
|
150
|
+
"mathSubtract": "Вычитание (-)",
|
|
151
|
+
"mathMultiply": "Умножение (*)",
|
|
152
|
+
"mathDivide": "Деление (/)",
|
|
153
|
+
"timeBefore": "Раньше (<)",
|
|
154
|
+
"timeAfter": "Позже (>)",
|
|
155
|
+
"timeEqual": "Равны (=)",
|
|
156
|
+
"timeBeforeOrEqual": "Раньше или равно (≤)",
|
|
157
|
+
"timeAfterOrEqual": "Позже или равно (≥)",
|
|
158
|
+
"stringLiteralPlaceholder": "Привет, {username}!"
|
|
159
|
+
},
|
|
160
|
+
"contextMenu": {
|
|
161
|
+
"searchPlaceholder": "Введите команду или поиск...",
|
|
162
|
+
"noResults": "Ничего не найдено.",
|
|
163
|
+
"variablesGroup": "Переменные",
|
|
164
|
+
"argumentsGroup": "Аргументы",
|
|
165
|
+
"getVariable": "Получить переменную {{name}}",
|
|
166
|
+
"setVariable": "Задать переменную {{name}}",
|
|
167
|
+
"getArgument": "Получить аргумент {{name}}"
|
|
168
|
+
},
|
|
169
|
+
"nodePanel": {
|
|
170
|
+
"title": "Добавить ноду",
|
|
171
|
+
"categories": {
|
|
172
|
+
"data": "Данные",
|
|
173
|
+
"flow": "Управление",
|
|
174
|
+
"math": "Математика",
|
|
175
|
+
"logic": "Логика",
|
|
176
|
+
"string": "Строки",
|
|
177
|
+
"array": "Массивы",
|
|
178
|
+
"object": "Объекты",
|
|
179
|
+
"action": "Действия",
|
|
180
|
+
"time": "Время",
|
|
181
|
+
"user": "Пользователи",
|
|
182
|
+
"type": "Типы",
|
|
183
|
+
"bot": "Бот",
|
|
184
|
+
"debug": "Отладка",
|
|
185
|
+
"inventory": "Инвентарь",
|
|
186
|
+
"navigation": "Навигация",
|
|
187
|
+
"container": "Контейнеры",
|
|
188
|
+
"furnace": "Печка",
|
|
189
|
+
"event": "События",
|
|
190
|
+
"websocket": "WebSocket API"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"collaboration": {
|
|
194
|
+
"online": "В сети ({{count}})",
|
|
195
|
+
"editing": "Редактирование"
|
|
196
|
+
},
|
|
197
|
+
"debugControls": {
|
|
198
|
+
"paused": "На паузе",
|
|
199
|
+
"continue": "Продолжить (F5)",
|
|
200
|
+
"stepForward": "Шаг вперед (F10)",
|
|
201
|
+
"stop": "Стоп (Shift+F5)"
|
|
202
|
+
},
|
|
203
|
+
"debugPanel": {
|
|
204
|
+
"title": "Панель отладки",
|
|
205
|
+
"debugMode": "Режим отладки",
|
|
206
|
+
"live": "Live",
|
|
207
|
+
"trace": "Трассировка",
|
|
208
|
+
"normal": "Обычный",
|
|
209
|
+
"connected": "Подключено",
|
|
210
|
+
"disconnected": "Отключено",
|
|
211
|
+
"users_one": "{{count}} пользователь",
|
|
212
|
+
"users_few": "{{count}} пользователя",
|
|
213
|
+
"users_many": "{{count}} пользователей",
|
|
214
|
+
"connectedUsers": "Подключенные пользователи:",
|
|
215
|
+
"onPause": "На паузе",
|
|
216
|
+
"pausedDescription": "Выполнение приостановлено на брейкпоинте. Используйте элементы управления для продолжения.",
|
|
217
|
+
"breakpoints": "Брейкпоинты",
|
|
218
|
+
"noBreakpoints": "Нет брейкпоинтов",
|
|
219
|
+
"noBreakpointsLive": "Нажмите на левый край ноды, чтобы добавить брейкпоинт",
|
|
220
|
+
"noBreakpointsNormal": "Переключитесь в Live режим для добавления брейкпоинтов",
|
|
221
|
+
"hitCount": "Срабатываний: {{count}}",
|
|
222
|
+
"disable": "Отключить",
|
|
223
|
+
"enable": "Включить",
|
|
224
|
+
"delete": "Удалить",
|
|
225
|
+
"normalModeTitle": "Обычный режим:",
|
|
226
|
+
"normalModeDesc": "Редактирование графа. Включите <strong>Live режим</strong> для отладки в реальном времени с брейкпоинтами.",
|
|
227
|
+
"traceModeTitle": "Режим трассировки:",
|
|
228
|
+
"traceModeDesc": "Просмотр трассировок выполнения после завершения команд. Переключитесь в <strong>Live режим</strong> для отладки в реальном времени с брейкпоинтами.",
|
|
229
|
+
"editValue": "Редактировать значение",
|
|
230
|
+
"connection": "Подключение",
|
|
231
|
+
"status": "Статус:",
|
|
232
|
+
"usersLabel": "Пользователей:",
|
|
233
|
+
"tipTitle": "Подсказка",
|
|
234
|
+
"liveModeTip": "Запустите тестовый прогон или дождитесь срабатывания брейкпоинта. На паузе появится панель с входными значениями и управлением шагами."
|
|
235
|
+
},
|
|
236
|
+
"traceViewer": {
|
|
237
|
+
"completed": "Завершено",
|
|
238
|
+
"error": "Ошибка",
|
|
239
|
+
"running": "Выполняется",
|
|
240
|
+
"step": "Шаг {{current}} / {{total}}",
|
|
241
|
+
"node": "Нода:",
|
|
242
|
+
"time": "Время:",
|
|
243
|
+
"inputs": "Входы:",
|
|
244
|
+
"outputs": "Выходы:"
|
|
245
|
+
},
|
|
246
|
+
"traceStepInfo": {
|
|
247
|
+
"title": "Информация о шаге",
|
|
248
|
+
"empty": "Выберите шаг для просмотра деталей",
|
|
249
|
+
"stepOf": "Шаг {{step}} из {{total}}",
|
|
250
|
+
"node": "Нода",
|
|
251
|
+
"name": "Название:",
|
|
252
|
+
"type": "Тип:",
|
|
253
|
+
"id": "ID:",
|
|
254
|
+
"unknown": "Неизвестно",
|
|
255
|
+
"status": "Статус",
|
|
256
|
+
"result": "Результат:",
|
|
257
|
+
"success": "Успешно",
|
|
258
|
+
"error": "Ошибка",
|
|
259
|
+
"time": "Время:",
|
|
260
|
+
"inputs": "Входные данные",
|
|
261
|
+
"outputs": "Выходные данные",
|
|
262
|
+
"path": "Путь выполнения"
|
|
263
|
+
},
|
|
264
|
+
"valueEditor": {
|
|
265
|
+
"title": "Редактировать значение",
|
|
266
|
+
"jsonObjectArray": "JSON объект / массив",
|
|
267
|
+
"jsonHint": "💡 Используйте корректный JSON формат",
|
|
268
|
+
"value": "Значение",
|
|
269
|
+
"placeholder": "Введите значение",
|
|
270
|
+
"scalarHint": "💡 Поддерживаются: строки, числа, true/false, null",
|
|
271
|
+
"currentValue": "Текущее значение:",
|
|
272
|
+
"empty": "(пусто)",
|
|
273
|
+
"cancel": "Отмена",
|
|
274
|
+
"save": "Сохранить",
|
|
275
|
+
"invalidJson": "Некорректный JSON: {{message}}"
|
|
276
|
+
},
|
|
277
|
+
"nodeHelp": {
|
|
278
|
+
"flowBreak": {
|
|
279
|
+
"intro": "Нода Break прерывает выполнение цикла.",
|
|
280
|
+
"item1": "Используется внутри циклов For Each и While",
|
|
281
|
+
"item2": "При выполнении немедленно прерывает цикл",
|
|
282
|
+
"item3": "Управление передаётся на выход Completed цикла",
|
|
283
|
+
"note": "Примечание: у этой ноды нет выходных пинов, потому что выполнение продолжается с выхода Completed родительского цикла."
|
|
284
|
+
},
|
|
285
|
+
"flowDelay": {
|
|
286
|
+
"label": "Задержка в миллисекундах (по умолчанию)",
|
|
287
|
+
"intro": "Нода Delay приостанавливает выполнение графа.",
|
|
288
|
+
"item1": "1000 мс = 1 секунда",
|
|
289
|
+
"item2": "Можно указать задержку через пин или в настройках",
|
|
290
|
+
"item3": "Если значение отрицательное или не число, задержка будет 0 мс",
|
|
291
|
+
"note": "Примечание: задержка работает асинхронно и не блокирует другие процессы приложения."
|
|
292
|
+
},
|
|
293
|
+
"flowForEach": {
|
|
294
|
+
"intro": "Цикл For Each проходит по каждому элементу массива.",
|
|
295
|
+
"item1": "Подключите массив к входу Array",
|
|
296
|
+
"item2": "Используйте выход Element для получения текущего элемента",
|
|
297
|
+
"item3": "Используйте выход Index для получения текущего индекса",
|
|
298
|
+
"item4": "Тело цикла выполняется для каждого элемента",
|
|
299
|
+
"item5": "После завершения срабатывает выход Completed",
|
|
300
|
+
"note": "Примечание: цикл можно прервать с помощью ноды Break."
|
|
301
|
+
},
|
|
302
|
+
"flowWhile": {
|
|
303
|
+
"intro": "Цикл While выполняется, пока условие истинно.",
|
|
304
|
+
"item1": "Подключите boolean значение к входу Condition",
|
|
305
|
+
"item2": "Используйте выход Iteration для получения номера итерации",
|
|
306
|
+
"item3": "Тело цикла выполняется на каждой итерации",
|
|
307
|
+
"item4": "После завершения срабатывает выход Completed",
|
|
308
|
+
"warning": "⚠️ Важно: максимальное количество итераций — 1000. Убедитесь, что условие может стать false, иначе цикл будет прерван.",
|
|
309
|
+
"note": "Примечание: цикл можно прервать досрочно с помощью ноды Break."
|
|
310
|
+
},
|
|
311
|
+
"mathRandom": {
|
|
312
|
+
"note": "Примечание: если min или max содержат точку или запятую, будет сгенерировано float-число, иначе — целое."
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"whatIfEditor": {
|
|
316
|
+
"title": "Выполнение приостановлено",
|
|
317
|
+
"node": "Нода:",
|
|
318
|
+
"editHint": "Редактируйте значения прямо на нодах - кликните на зелёные бейджи с данными",
|
|
319
|
+
"syncHint": "Все изменения синхронизируются в реальном времени между пользователями",
|
|
320
|
+
"graphVariables": "Переменные графа",
|
|
321
|
+
"continue": "Продолжить (F5)",
|
|
322
|
+
"stop": "Стоп",
|
|
323
|
+
"modified": "Изменено",
|
|
324
|
+
"empty": "(пусто)",
|
|
325
|
+
"changesWarning_one": "Вы изменили {{count}} значение. Нажмите \"Продолжить\" для применения изменений.",
|
|
326
|
+
"changesWarning_few": "Вы изменили {{count}} значения. Нажмите \"Продолжить\" для применения изменений.",
|
|
327
|
+
"changesWarning_many": "Вы изменили {{count}} значений. Нажмите \"Продолжить\" для применения изменений."
|
|
328
|
+
},
|
|
329
|
+
"breakpointDialog": {
|
|
330
|
+
"editTitle": "Редактировать брейкпоинт",
|
|
331
|
+
"addTitle": "Добавить брейкпоинт",
|
|
332
|
+
"description": "Брейкпоинт приостановит выполнение на этой ноде. Вы сможете просмотреть и изменить значения переменных перед продолжением.",
|
|
333
|
+
"conditionLabel": "Условие (необязательно)",
|
|
334
|
+
"conditionPlaceholder": "user.username === 'admin'",
|
|
335
|
+
"conditionHelp": "JavaScript выражение. Оставьте пустым для безусловной остановки.",
|
|
336
|
+
"availableVars": "Доступные переменные:",
|
|
337
|
+
"howItWorksTitle": "Как работают условия:",
|
|
338
|
+
"howItWorks1": "Выполнение остановится только если условие вернёт <code class=\"text-green-400\">true</code>",
|
|
339
|
+
"howItWorks2": "Используйте <code class=\"text-blue-400\">user</code> для проверки пользователя (username, id)",
|
|
340
|
+
"howItWorks3": "Используйте <code class=\"text-blue-400\">args</code> для проверки аргументов команды",
|
|
341
|
+
"howItWorks4": "Используйте <code class=\"text-blue-400\">variables</code> для проверки переменных графа",
|
|
342
|
+
"examplesTitle": "Примеры условий:",
|
|
343
|
+
"exampleAdmin": "Остановиться только для админа:",
|
|
344
|
+
"exampleCount": "Остановиться если число больше 10:",
|
|
345
|
+
"exampleDebug": "Остановиться в режиме отладки:",
|
|
346
|
+
"exampleCombined": "Комбинация условий:",
|
|
347
|
+
"cancel": "Отмена",
|
|
348
|
+
"update": "Обновить",
|
|
349
|
+
"add": "Добавить",
|
|
350
|
+
"breakpoint": "брейкпоинт"
|
|
351
|
+
},
|
|
352
|
+
"debugStepInfo": {
|
|
353
|
+
"title": "Отладка",
|
|
354
|
+
"empty": "Запустите граф или включите тестовый режим — здесь появятся данные текущего шага.",
|
|
355
|
+
"stepNumber": "Шаг {{n}}",
|
|
356
|
+
"testStepNumber": "Тестовый шаг {{n}}",
|
|
357
|
+
"paused": "На паузе",
|
|
358
|
+
"controls": "Управление",
|
|
359
|
+
"whatIf": "Что если (изменить значения)",
|
|
360
|
+
"historyDepth": "Глубина истории:",
|
|
361
|
+
"unknown": "Неизвестно"
|
|
362
|
+
},
|
|
363
|
+
"eventNodes": {
|
|
364
|
+
"addPin": "Добавить пин",
|
|
365
|
+
"pinName": "Имя:",
|
|
366
|
+
"pinNamePlaceholder": "Имя пина",
|
|
367
|
+
"pinType": "Тип:",
|
|
368
|
+
"confirmPin": "Добавить",
|
|
369
|
+
"cancelPin": "Отмена",
|
|
370
|
+
"deletePin": "Удалить",
|
|
371
|
+
"eventName": "Имя события:",
|
|
372
|
+
"eventNamePlaceholder": "Моё событие",
|
|
373
|
+
"selectEvent": "Выбрать событие:",
|
|
374
|
+
"noEvents": "Нет доступных событий",
|
|
375
|
+
"selectEventPlaceholder": "Выберите событие..."
|
|
376
|
+
},
|
|
377
|
+
"testMode": {
|
|
378
|
+
"title": "Режим теста",
|
|
379
|
+
"description": "Запустить граф пошагово с эмулированным событием. Можно менять значения и откатываться назад.",
|
|
380
|
+
"startButton": "Запустить тест",
|
|
381
|
+
"exitButton": "Выйти из теста",
|
|
382
|
+
"running": "идёт",
|
|
383
|
+
"idle": "ожидание",
|
|
384
|
+
"startTitle": "Запуск тестового прогона",
|
|
385
|
+
"startRun": "Запустить",
|
|
386
|
+
"cancel": "Отмена",
|
|
387
|
+
"close": "Закрыть",
|
|
388
|
+
"eventTypeLabel": "Тип события",
|
|
389
|
+
"noFields": "Дополнительные данные не нужны",
|
|
390
|
+
"stepBack": "Назад",
|
|
391
|
+
"stepBackTitle": "Откатить на 1 шаг",
|
|
392
|
+
"step": "шаг {{n}}",
|
|
393
|
+
"runNodeTitle": "Запуск ноды изолированно",
|
|
394
|
+
"runSelectedNode": "Запустить эту ноду ({{type}})",
|
|
395
|
+
"runIsolated": "Запустить",
|
|
396
|
+
"noInputPins": "У этой ноды нет входных пинов с данными",
|
|
397
|
+
"valueOrJson": "значение или JSON",
|
|
398
|
+
"executed": "Выполнено",
|
|
399
|
+
"error": "Ошибка",
|
|
400
|
+
"outputs": "Выходы:",
|
|
401
|
+
"fields": {
|
|
402
|
+
"username": "Имя пользователя",
|
|
403
|
+
"message": "Сообщение",
|
|
404
|
+
"health": "Здоровье (0-20)",
|
|
405
|
+
"food": "Сытость (0-20)",
|
|
406
|
+
"commandArgsJson": "Аргументы команды (JSON)"
|
|
407
|
+
},
|
|
408
|
+
"events": {
|
|
409
|
+
"chat": "Сообщение в чате",
|
|
410
|
+
"playerJoined": "Игрок зашёл",
|
|
411
|
+
"playerLeft": "Игрок вышел",
|
|
412
|
+
"health": "Изменение здоровья",
|
|
413
|
+
"botDied": "Смерть бота",
|
|
414
|
+
"entitySpawn": "Появление сущности",
|
|
415
|
+
"entityGone": "Исчезновение сущности",
|
|
416
|
+
"botStartup": "Запуск бота",
|
|
417
|
+
"command": "Команда"
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
@@ -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;
|