omegga 0.1.85 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +142 -62
- package/bin/omegga +10 -4
- package/dist/brickadia/config.d.ts +3 -0
- package/dist/brickadia/config.d.ts.map +1 -0
- package/dist/brickadia/config.js +61 -0
- package/dist/brickadia/config.js.map +1 -0
- package/dist/brickadia/presets.d.ts +65 -0
- package/dist/brickadia/presets.js +3 -0
- package/dist/brickadia/presets.js.map +1 -0
- package/dist/brickadia/server.d.ts +20 -0
- package/dist/brickadia/server.d.ts.map +1 -0
- package/dist/brickadia/server.js +188 -0
- package/dist/brickadia/server.js.map +1 -0
- package/dist/brickadia/types.d.ts +45 -0
- package/dist/brickadia/types.d.ts.map +1 -0
- package/dist/brickadia/types.js +3 -0
- package/dist/brickadia/types.js.map +1 -0
- package/dist/cli/auth.d.ts +20 -0
- package/dist/cli/auth.d.ts.map +1 -0
- package/dist/cli/auth.js +115 -0
- package/dist/cli/auth.js.map +1 -0
- package/dist/cli/config.d.ts +10 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +72 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/index.d.ts +20 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +15 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/installer.d.ts +1 -0
- package/dist/cli/installer.d.ts.map +1 -0
- package/dist/cli/installer.js +55 -0
- package/dist/cli/installer.js.map +1 -0
- package/dist/cli/plugin.d.ts +11 -0
- package/dist/cli/plugin.d.ts.map +1 -0
- package/dist/cli/plugin.js +598 -0
- package/dist/cli/plugin.js.map +1 -0
- package/dist/cli/terminal.d.ts +34 -0
- package/dist/cli/terminal.d.ts.map +1 -0
- package/dist/cli/terminal.js +395 -0
- package/dist/cli/terminal.js.map +1 -0
- package/dist/config/authorizer.d.ts +2 -0
- package/dist/config/authorizer.d.ts.map +1 -0
- package/dist/config/authorizer.js +38 -0
- package/dist/config/authorizer.js.map +1 -0
- package/dist/config/formats/format_js.d.ts +3 -0
- package/dist/config/formats/format_js.d.ts.map +1 -0
- package/dist/config/formats/format_js.js +10 -0
- package/dist/config/formats/format_js.js.map +1 -0
- package/dist/config/formats/format_yml.d.ts +3 -0
- package/dist/config/formats/format_yml.d.ts.map +1 -0
- package/dist/config/formats/format_yml.js +14 -0
- package/dist/config/formats/format_yml.js.map +1 -0
- package/dist/config/index.d.ts +18 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +86 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/reader.d.ts +3 -0
- package/dist/config/reader.d.ts.map +1 -0
- package/dist/config/reader.js +30 -0
- package/dist/config/reader.js.map +1 -0
- package/dist/config/types.d.ts +37 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +3 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validator.d.ts +6 -0
- package/dist/config/validator.d.ts.map +1 -0
- package/dist/config/validator.js +26 -0
- package/dist/config/validator.js.map +1 -0
- package/dist/config/writer.d.ts +3 -0
- package/dist/config/writer.d.ts.map +1 -0
- package/dist/config/writer.js +25 -0
- package/dist/config/writer.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.js +55 -0
- package/dist/index.js.map +1 -0
- package/dist/info/default_commands.json +28 -0
- package/dist/lib.d.ts +21 -0
- package/dist/lib.d.ts.map +1 -0
- package/dist/lib.js +54 -0
- package/dist/lib.js.map +1 -0
- package/dist/logger.d.ts +41 -0
- package/dist/logger.js +67 -0
- package/dist/logger.js.map +1 -0
- package/dist/main.d.ts +1 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +284 -0
- package/dist/main.js.map +1 -0
- package/dist/omegga/auth.d.ts +6 -0
- package/dist/omegga/auth.d.ts.map +1 -0
- package/dist/omegga/auth.js +139 -0
- package/dist/omegga/auth.js.map +1 -0
- package/dist/omegga/commandInjector.d.ts +35 -0
- package/dist/omegga/commandInjector.d.ts.map +1 -0
- package/dist/omegga/commandInjector.js +234 -0
- package/dist/omegga/commandInjector.js.map +1 -0
- package/dist/omegga/index.d.ts +7 -0
- package/dist/omegga/index.d.ts.map +1 -0
- package/dist/omegga/index.js +43 -0
- package/dist/omegga/index.js.map +1 -0
- package/dist/omegga/logWrangler.d.ts +32 -0
- package/dist/omegga/logWrangler.d.ts.map +1 -0
- package/dist/omegga/logWrangler.js +279 -0
- package/dist/omegga/logWrangler.js.map +1 -0
- package/dist/omegga/matchers/auth.d.ts +9 -0
- package/dist/omegga/matchers/auth.d.ts.map +1 -0
- package/dist/omegga/matchers/auth.js +53 -0
- package/dist/omegga/matchers/auth.js.map +1 -0
- package/dist/omegga/matchers/chat.d.ts +9 -0
- package/dist/omegga/matchers/chat.d.ts.map +1 -0
- package/dist/omegga/matchers/chat.js +68 -0
- package/dist/omegga/matchers/chat.js.map +1 -0
- package/dist/omegga/matchers/command.d.ts +7 -0
- package/dist/omegga/matchers/command.d.ts.map +1 -0
- package/dist/omegga/matchers/command.js +39 -0
- package/dist/omegga/matchers/command.js.map +1 -0
- package/dist/omegga/matchers/exit.d.ts +3 -0
- package/dist/omegga/matchers/exit.d.ts.map +1 -0
- package/dist/omegga/matchers/exit.js +21 -0
- package/dist/omegga/matchers/exit.js.map +1 -0
- package/dist/omegga/matchers/index.d.ts +3 -0
- package/dist/omegga/matchers/index.d.ts.map +1 -0
- package/dist/omegga/matchers/index.js +39 -0
- package/dist/omegga/matchers/index.js.map +1 -0
- package/dist/omegga/matchers/init.d.ts +3 -0
- package/dist/omegga/matchers/init.d.ts.map +1 -0
- package/dist/omegga/matchers/init.js +26 -0
- package/dist/omegga/matchers/init.js.map +1 -0
- package/dist/omegga/matchers/interact.d.ts +4 -0
- package/dist/omegga/matchers/interact.js +39 -0
- package/dist/omegga/matchers/interact.js.map +1 -0
- package/dist/omegga/matchers/join.d.ts +4 -0
- package/dist/omegga/matchers/join.d.ts.map +1 -0
- package/dist/omegga/matchers/join.js +95 -0
- package/dist/omegga/matchers/join.js.map +1 -0
- package/dist/omegga/matchers/leave.d.ts +4 -0
- package/dist/omegga/matchers/leave.d.ts.map +1 -0
- package/dist/omegga/matchers/leave.js +59 -0
- package/dist/omegga/matchers/leave.js.map +1 -0
- package/dist/omegga/matchers/mapChange.d.ts +3 -0
- package/dist/omegga/matchers/mapChange.d.ts.map +1 -0
- package/dist/omegga/matchers/mapChange.js +38 -0
- package/dist/omegga/matchers/mapChange.js.map +1 -0
- package/dist/omegga/matchers/types.d.ts +5 -0
- package/dist/omegga/matchers/types.d.ts.map +1 -0
- package/dist/omegga/matchers/types.js +7 -0
- package/dist/omegga/matchers/types.js.map +1 -0
- package/dist/omegga/matchers/version.d.ts +3 -0
- package/dist/omegga/matchers/version.d.ts.map +1 -0
- package/dist/omegga/matchers/version.js +45 -0
- package/dist/omegga/matchers/version.js.map +1 -0
- package/dist/omegga/player.d.ts +71 -0
- package/dist/omegga/player.d.ts.map +1 -0
- package/dist/omegga/player.js +442 -0
- package/dist/omegga/player.js.map +1 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts +23 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js +441 -0
- package/dist/omegga/plugin/plugin_jsonrpc_stdio.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts +129 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js +260 -0
- package/dist/omegga/plugin/plugin_node_safe/proxyOmegga.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.d.ts +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.js +289 -0
- package/dist/omegga/plugin/plugin_node_safe/worker.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe.d.ts +24 -0
- package/dist/omegga/plugin/plugin_node_safe.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_safe.js +397 -0
- package/dist/omegga/plugin/plugin_node_safe.js.map +1 -0
- package/dist/omegga/plugin/plugin_node_unsafe.d.ts +13 -0
- package/dist/omegga/plugin/plugin_node_unsafe.d.ts.map +1 -0
- package/dist/omegga/plugin/plugin_node_unsafe.js +178 -0
- package/dist/omegga/plugin/plugin_node_unsafe.js.map +1 -0
- package/dist/omegga/plugin.d.ts +86 -0
- package/dist/omegga/plugin.d.ts.map +1 -0
- package/dist/omegga/plugin.js +458 -0
- package/dist/omegga/plugin.js.map +1 -0
- package/dist/omegga/server.d.ts +149 -0
- package/dist/omegga/server.d.ts.map +1 -0
- package/dist/omegga/server.js +601 -0
- package/dist/omegga/server.js.map +1 -0
- package/dist/omegga/types.d.ts +48 -0
- package/dist/omegga/types.d.ts.map +1 -0
- package/dist/omegga/types.js +3 -0
- package/dist/omegga/types.js.map +1 -0
- package/dist/omegga/wrapper.d.ts +22 -0
- package/dist/omegga/wrapper.d.ts.map +1 -0
- package/dist/omegga/wrapper.js +75 -0
- package/dist/omegga/wrapper.js.map +1 -0
- package/dist/omeggaplugin.d.ts +1 -0
- package/dist/omeggaplugin.js +4 -0
- package/dist/omeggaplugin.js.map +1 -0
- package/dist/plugin.d.ts +781 -0
- package/dist/plugin.js +41 -0
- package/dist/plugin.js.map +1 -0
- package/dist/softconfig.d.ts +51 -0
- package/dist/softconfig.d.ts.map +1 -0
- package/dist/softconfig.js +82 -0
- package/dist/softconfig.js.map +1 -0
- package/dist/util/brick/checkBounds.d.ts +8 -0
- package/dist/util/brick/checkBounds.d.ts.map +1 -0
- package/dist/util/brick/checkBounds.js +22 -0
- package/dist/util/brick/checkBounds.js.map +1 -0
- package/dist/util/brick/constants.d.ts +18 -0
- package/dist/util/brick/constants.d.ts.map +1 -0
- package/dist/util/brick/constants.js +184 -0
- package/dist/util/brick/constants.js.map +1 -0
- package/dist/util/brick/getBounds.d.ts +4 -0
- package/dist/util/brick/getBounds.d.ts.map +1 -0
- package/dist/util/brick/getBounds.js +39 -0
- package/dist/util/brick/getBounds.js.map +1 -0
- package/dist/util/brick/getBrickSize.d.ts +3 -0
- package/dist/util/brick/getBrickSize.d.ts.map +1 -0
- package/dist/util/brick/getBrickSize.js +12 -0
- package/dist/util/brick/getBrickSize.js.map +1 -0
- package/dist/util/brick/getScaleAxis.d.ts +3 -0
- package/dist/util/brick/getScaleAxis.d.ts.map +1 -0
- package/dist/util/brick/getScaleAxis.js +38 -0
- package/dist/util/brick/getScaleAxis.js.map +1 -0
- package/dist/util/brick/index.d.ts +13 -0
- package/dist/util/brick/index.d.ts.map +1 -0
- package/dist/util/brick/index.js +29 -0
- package/dist/util/brick/index.js.map +1 -0
- package/dist/util/brick/rotate.d.ts +17 -0
- package/dist/util/brick/rotate.d.ts.map +1 -0
- package/dist/util/brick/rotate.js +38 -0
- package/dist/util/brick/rotate.js.map +1 -0
- package/dist/util/brick/setOwnership.d.ts +12 -0
- package/dist/util/brick/setOwnership.d.ts.map +1 -0
- package/dist/util/brick/setOwnership.js +21 -0
- package/dist/util/brick/setOwnership.js.map +1 -0
- package/dist/util/chat.d.ts +23 -0
- package/dist/util/chat.d.ts.map +1 -0
- package/dist/util/chat.js +50 -0
- package/dist/util/chat.js.map +1 -0
- package/dist/util/color.d.ts +13 -0
- package/dist/util/color.d.ts.map +1 -0
- package/dist/util/color.js +130 -0
- package/dist/util/color.js.map +1 -0
- package/dist/util/file.d.ts +5 -0
- package/dist/util/file.d.ts.map +1 -0
- package/dist/util/file.js +114 -0
- package/dist/util/file.js.map +1 -0
- package/dist/util/index.d.ts +162 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +92 -0
- package/dist/util/index.js.map +1 -0
- package/dist/util/map.d.ts +6 -0
- package/dist/util/map.d.ts.map +1 -0
- package/dist/util/map.js +26 -0
- package/dist/util/map.js.map +1 -0
- package/dist/util/pattern.d.ts +1 -0
- package/dist/util/pattern.d.ts.map +1 -0
- package/dist/util/pattern.js +11 -0
- package/dist/util/pattern.js.map +1 -0
- package/dist/util/time.d.ts +4 -0
- package/dist/util/time.d.ts.map +1 -0
- package/dist/util/time.js +41 -0
- package/dist/util/time.js.map +1 -0
- package/dist/util/uuid.d.ts +2 -0
- package/dist/util/uuid.d.ts.map +1 -0
- package/dist/util/uuid.js +8 -0
- package/dist/util/uuid.js.map +1 -0
- package/dist/util/wsl.d.ts +1 -0
- package/dist/util/wsl.d.ts.map +1 -0
- package/dist/util/wsl.js +14 -0
- package/dist/util/wsl.js.map +1 -0
- package/dist/webserver/backend/api.d.ts +3 -0
- package/dist/webserver/backend/api.d.ts.map +1 -0
- package/dist/webserver/backend/api.js +685 -0
- package/dist/webserver/backend/api.js.map +1 -0
- package/dist/webserver/backend/calendar.d.ts +5 -0
- package/dist/webserver/backend/calendar.d.ts.map +1 -0
- package/dist/webserver/backend/calendar.js +21 -0
- package/dist/webserver/backend/calendar.js.map +1 -0
- package/dist/webserver/backend/database.d.ts +149 -0
- package/dist/webserver/backend/database.d.ts.map +1 -0
- package/dist/webserver/backend/database.js +575 -0
- package/dist/webserver/backend/database.js.map +1 -0
- package/dist/webserver/backend/index.d.ts +31 -0
- package/dist/webserver/backend/index.d.ts.map +1 -0
- package/dist/webserver/backend/index.js +189 -0
- package/dist/webserver/backend/index.js.map +1 -0
- package/dist/webserver/backend/metrics.d.ts +3 -0
- package/dist/webserver/backend/metrics.d.ts.map +1 -0
- package/dist/webserver/backend/metrics.js +203 -0
- package/dist/webserver/backend/metrics.js.map +1 -0
- package/dist/webserver/backend/types.d.ts +115 -0
- package/dist/webserver/backend/types.d.ts.map +1 -0
- package/dist/webserver/backend/types.js +3 -0
- package/dist/webserver/backend/types.js.map +1 -0
- package/dist/webserver/backend/util.d.ts +2 -0
- package/dist/webserver/backend/util.d.ts.map +1 -0
- package/dist/webserver/backend/util.js +78 -0
- package/dist/webserver/backend/util.js.map +1 -0
- package/dist/webserver/index.d.ts +2 -0
- package/dist/webserver/index.d.ts.map +1 -0
- package/dist/webserver/index.js +9 -0
- package/dist/webserver/index.js.map +1 -0
- package/{src/webserver/frontend → frontend}/app.html +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceBold.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceItalic.otf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceMedium.otf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/GlacialIndifferenceRegular.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoBold.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoItalic.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/fonts/RobotoRegular.ttf +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/auth_bg.webp +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/dark_bg.webp +0 -0
- package/{src/webserver/frontend → frontend}/assets/img/turkey.webp +0 -0
- package/{src/webserver/frontend → frontend}/auth.html +0 -0
- package/index.js +10 -2
- package/package.json +44 -16
- package/public/app.bundle.js +537 -73
- package/public/app.bundle.js.map +1 -1
- package/public/app.css +727 -2
- package/public/app.css.map +1 -1
- package/public/auth.bundle.js +18 -18
- package/public/auth.bundle.js.map +1 -1
- package/public/auth.css +364 -2
- package/public/auth.css.map +1 -1
- package/templates/rpc/README.md +29 -0
- package/templates/rpc/doc.json +7 -0
- package/templates/rpc/omegga_plugin +0 -0
- package/templates/rpc/plugin.json +4 -0
- package/templates/rpc/setup.sh +3 -0
- package/templates/safe/README.md +29 -0
- package/templates/safe/access.json +1 -0
- package/templates/safe/doc.json +7 -0
- package/templates/safe/omegga.plugin.js +20 -0
- package/templates/safe/plugin.json +4 -0
- package/templates/safe/setup.sh +4 -0
- package/templates/safe-ts/.gitignore.rename +3 -0
- package/templates/safe-ts/README.md +29 -0
- package/templates/safe-ts/access.json +1 -0
- package/templates/safe-ts/doc.json +7 -0
- package/templates/safe-ts/omegga.d.ts +1311 -0
- package/templates/safe-ts/omegga.plugin.ts +29 -0
- package/templates/safe-ts/plugin.json +4 -0
- package/templates/safe-ts/setup.sh +4 -0
- package/templates/safe-ts/tsconfig.json +10 -0
- package/templates/unsafe/README.md +29 -0
- package/templates/unsafe/doc.json +7 -0
- package/templates/unsafe/omegga.main.js +15 -0
- package/templates/unsafe/plugin.json +4 -0
- package/templates/unsafe/setup.sh +4 -0
- package/.babelrc.json +0 -5
- package/.github/workflows/lint.yml +0 -26
- package/.prettierrc +0 -7
- package/.vscode/extensions.json +0 -5
- package/src/OMEGGA_LEGACY_INSTALL +0 -44
- package/src/brickadia/config.js +0 -42
- package/src/brickadia/server.js +0 -227
- package/src/cli/auth.js +0 -104
- package/src/cli/config.js +0 -77
- package/src/cli/index.js +0 -6
- package/src/cli/installer.js +0 -65
- package/src/cli/plugin.js +0 -575
- package/src/cli/terminal.js +0 -466
- package/src/config/authorizer.js +0 -37
- package/src/config/formats/format_js.js +0 -6
- package/src/config/formats/format_yml.js +0 -8
- package/src/config/index.js +0 -81
- package/src/config/reader.js +0 -27
- package/src/config/validator.js +0 -32
- package/src/config/writer.js +0 -20
- package/src/info/default_commands.json +0 -26
- package/src/lib.js +0 -23
- package/src/main.js +0 -332
- package/src/omegga/auth.js +0 -138
- package/src/omegga/commandInjector.js +0 -228
- package/src/omegga/index.js +0 -22
- package/src/omegga/logWrangler.js +0 -323
- package/src/omegga/matchers/auth.js +0 -49
- package/src/omegga/matchers/chat.js +0 -73
- package/src/omegga/matchers/command.js +0 -39
- package/src/omegga/matchers/exit.js +0 -19
- package/src/omegga/matchers/init.js +0 -23
- package/src/omegga/matchers/join.js +0 -115
- package/src/omegga/matchers/leave.js +0 -58
- package/src/omegga/matchers/mapChange.js +0 -37
- package/src/omegga/matchers/version.js +0 -45
- package/src/omegga/player.js +0 -585
- package/src/omegga/plugin/plugin_jsonrpc_stdio.js +0 -526
- package/src/omegga/plugin/plugin_node_safe/proxyOmegga.js +0 -117
- package/src/omegga/plugin/plugin_node_safe/worker.js +0 -238
- package/src/omegga/plugin/plugin_node_safe.js +0 -473
- package/src/omegga/plugin/plugin_node_unsafe.js +0 -177
- package/src/omegga/plugin.js +0 -565
- package/src/omegga/server.js +0 -658
- package/src/omegga/wrapper.js +0 -62
- package/src/softconfig.js +0 -64
- package/src/util/brick/checkBounds.js +0 -22
- package/src/util/brick/constants.js +0 -185
- package/src/util/brick/getBounds.js +0 -36
- package/src/util/brick/getBrickSize.js +0 -9
- package/src/util/brick/getScaleAxis.js +0 -31
- package/src/util/brick/index.js +0 -9
- package/src/util/brick/rotate.js +0 -43
- package/src/util/brick/setOwnership.js +0 -20
- package/src/util/chat.js +0 -28
- package/src/util/color.js +0 -143
- package/src/util/file.js +0 -119
- package/src/util/index.js +0 -28
- package/src/util/map.js +0 -28
- package/src/util/pattern.js +0 -14
- package/src/util/time.js +0 -46
- package/src/util/uuid.js +0 -8
- package/src/util/wsl.js +0 -9
- package/src/webserver/backend/api.js +0 -795
- package/src/webserver/backend/calendar.js +0 -15
- package/src/webserver/backend/database.js +0 -725
- package/src/webserver/backend/index.js +0 -206
- package/src/webserver/backend/metrics.js +0 -148
- package/src/webserver/backend/util.js +0 -75
- package/src/webserver/frontend/.eslintrc.yml +0 -26
- package/src/webserver/frontend/app.js +0 -78
- package/src/webserver/frontend/auth.js +0 -16
- package/src/webserver/frontend/components/Background.vue +0 -83
- package/src/webserver/frontend/components/Button.vue +0 -105
- package/src/webserver/frontend/components/ChatEntry.vue +0 -107
- package/src/webserver/frontend/components/ChatTime.vue +0 -40
- package/src/webserver/frontend/components/Dimmer.vue +0 -43
- package/src/webserver/frontend/components/Dropdown.vue +0 -145
- package/src/webserver/frontend/components/Footer.vue +0 -29
- package/src/webserver/frontend/components/Header.vue +0 -27
- package/src/webserver/frontend/components/InfiniteScroll.vue +0 -51
- package/src/webserver/frontend/components/Input.vue +0 -93
- package/src/webserver/frontend/components/ListInput.vue +0 -105
- package/src/webserver/frontend/components/Loader.vue +0 -98
- package/src/webserver/frontend/components/MainMenuButton.vue +0 -83
- package/src/webserver/frontend/components/Modal.vue +0 -44
- package/src/webserver/frontend/components/NavBar.vue +0 -24
- package/src/webserver/frontend/components/PlayerDropdown.vue +0 -210
- package/src/webserver/frontend/components/PopoutContent.vue +0 -32
- package/src/webserver/frontend/components/RoleDropdown.vue +0 -157
- package/src/webserver/frontend/components/Scroll.vue +0 -33
- package/src/webserver/frontend/components/Toggle.vue +0 -91
- package/src/webserver/frontend/components/index.js +0 -33
- package/src/webserver/frontend/css/font.scss +0 -53
- package/src/webserver/frontend/css/mixins.scss +0 -49
- package/src/webserver/frontend/css/style.scss +0 -166
- package/src/webserver/frontend/css/theme.scss +0 -64
- package/src/webserver/frontend/partials/NavHeader.vue +0 -55
- package/src/webserver/frontend/partials/Page.vue +0 -40
- package/src/webserver/frontend/partials/PageContent.vue +0 -31
- package/src/webserver/frontend/partials/SideNav.vue +0 -115
- package/src/webserver/frontend/partials/index.js +0 -4
- package/src/webserver/frontend/router.js +0 -83
- package/src/webserver/frontend/views/Auth.vue +0 -190
- package/src/webserver/frontend/views/History.vue +0 -462
- package/src/webserver/frontend/views/Home.vue +0 -251
- package/src/webserver/frontend/views/Main.vue +0 -69
- package/src/webserver/frontend/views/NotFound.vue +0 -10
- package/src/webserver/frontend/views/Players.vue +0 -425
- package/src/webserver/frontend/views/PlayersInspector.vue +0 -538
- package/src/webserver/frontend/views/Plugins.vue +0 -217
- package/src/webserver/frontend/views/PluginsInspector.vue +0 -418
- package/src/webserver/frontend/views/Server.vue +0 -167
- package/src/webserver/frontend/views/Users.vue +0 -538
- package/src/webserver/frontend/widgets/Chat.vue +0 -124
- package/src/webserver/frontend/widgets/Status.vue +0 -91
- package/src/webserver/frontend/widgets/index.js +0 -2
- package/src/webserver/frontend/widgets/tooltip.js +0 -108
- package/src/webserver/index.js +0 -4
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player.js","sourceRoot":"","sources":["../../src/omegga/player.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import Omegga from "../server";
|
|
2
|
+
import { Plugin } from "../plugin";
|
|
3
|
+
export default class RpcPlugin extends Plugin {
|
|
4
|
+
#private;
|
|
5
|
+
messageCounter: number;
|
|
6
|
+
static canLoad(pluginPath: string): boolean;
|
|
7
|
+
static getFormat(): string;
|
|
8
|
+
getDocumentation(): import("../..").IPluginDocumentation;
|
|
9
|
+
constructor(pluginPath: string, omegga: Omegga);
|
|
10
|
+
isLoaded(): boolean;
|
|
11
|
+
isCommand(cmd: string): boolean;
|
|
12
|
+
load(): Promise<boolean>;
|
|
13
|
+
unload(): Promise<boolean>;
|
|
14
|
+
attachListeners(): void;
|
|
15
|
+
detachListeners(): void;
|
|
16
|
+
writeln(line: string): void;
|
|
17
|
+
kill(): Promise<void>;
|
|
18
|
+
eventPassthrough(type: string, ...args: any[]): void;
|
|
19
|
+
initRPC(): void;
|
|
20
|
+
emitPlugin(event: string, from: string, args: any[]): Promise<any>;
|
|
21
|
+
emit(type: string, arg?: any): PromiseLike<any>;
|
|
22
|
+
notify(type: string, arg?: any): void;
|
|
23
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin_jsonrpc_stdio.d.ts","sourceRoot":"","sources":["../../../src/omegga/plugin/plugin_jsonrpc_stdio.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
3
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
4
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
5
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
6
|
+
};
|
|
7
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
8
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
11
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
var _RpcPlugin_child, _RpcPlugin_rpc, _RpcPlugin_errInterface, _RpcPlugin_outInterface;
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
const child_process_1 = require("child_process");
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
const json_rpc_2_0_1 = require("json-rpc-2.0");
|
|
21
|
+
const path_1 = __importDefault(require("path"));
|
|
22
|
+
const readline_1 = __importDefault(require("readline"));
|
|
23
|
+
const server_1 = __importDefault(require("../server"));
|
|
24
|
+
const plugin_1 = require("../plugin");
|
|
25
|
+
const proxyOmegga_1 = require("./plugin_node_safe/proxyOmegga");
|
|
26
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
27
|
+
// TODO: check if version is compatible (v1 -> v2) from file
|
|
28
|
+
// TODO: write jsonrpc wrappers in a few languages, implement a few simple plugins
|
|
29
|
+
// TODO: languages: [ python, go ]
|
|
30
|
+
const MAIN_FILE = 'omegga_plugin';
|
|
31
|
+
const DOC_FILE = 'doc.json';
|
|
32
|
+
const PLUGIN_FILE = 'plugin.json';
|
|
33
|
+
class RpcPlugin extends plugin_1.Plugin {
|
|
34
|
+
constructor(pluginPath, omegga) {
|
|
35
|
+
super(pluginPath, omegga);
|
|
36
|
+
_RpcPlugin_child.set(this, void 0);
|
|
37
|
+
_RpcPlugin_rpc.set(this, void 0);
|
|
38
|
+
_RpcPlugin_errInterface.set(this, void 0);
|
|
39
|
+
_RpcPlugin_outInterface.set(this, void 0);
|
|
40
|
+
this.messageCounter = 0;
|
|
41
|
+
// TODO: validate documentation
|
|
42
|
+
this.documentation = plugin_1.Plugin.readJSON(path_1.default.join(pluginPath, DOC_FILE));
|
|
43
|
+
this.pluginConfig = plugin_1.Plugin.readJSON(path_1.default.join(pluginPath, PLUGIN_FILE));
|
|
44
|
+
this.pluginFile = path_1.default.join(pluginPath, MAIN_FILE);
|
|
45
|
+
this.eventPassthrough = this.eventPassthrough.bind(this);
|
|
46
|
+
this.commands = [];
|
|
47
|
+
this.initRPC();
|
|
48
|
+
}
|
|
49
|
+
// all RPC plugins require a main (binary) file and a doc file
|
|
50
|
+
static canLoad(pluginPath) {
|
|
51
|
+
return (fs_1.default.existsSync(path_1.default.join(pluginPath, MAIN_FILE)) &&
|
|
52
|
+
fs_1.default.existsSync(path_1.default.join(pluginPath, DOC_FILE)));
|
|
53
|
+
}
|
|
54
|
+
// websocket rpc plugin type
|
|
55
|
+
static getFormat() {
|
|
56
|
+
return 'jsonrpc_stdio';
|
|
57
|
+
}
|
|
58
|
+
// documentation is based on doc.json file
|
|
59
|
+
getDocumentation() {
|
|
60
|
+
return this.documentation;
|
|
61
|
+
}
|
|
62
|
+
isLoaded() {
|
|
63
|
+
return !!__classPrivateFieldGet(this, _RpcPlugin_child, "f") && !__classPrivateFieldGet(this, _RpcPlugin_child, "f").exitCode;
|
|
64
|
+
}
|
|
65
|
+
// determing if a command is registered
|
|
66
|
+
isCommand(cmd) {
|
|
67
|
+
return this.commands.includes(cmd);
|
|
68
|
+
}
|
|
69
|
+
// spawn the plugin as a child process
|
|
70
|
+
async load() {
|
|
71
|
+
var _a;
|
|
72
|
+
const name = this.getName();
|
|
73
|
+
const verbose = (...msg) => logger_1.default.verbose(name.underline, ...msg);
|
|
74
|
+
verbose('Load method invoked');
|
|
75
|
+
let frozen = true, timed = false;
|
|
76
|
+
this.commands = [];
|
|
77
|
+
// can't load the plugin if the child is still running
|
|
78
|
+
if (__classPrivateFieldGet(this, _RpcPlugin_child, "f")) {
|
|
79
|
+
verbose('Plugin already has child process');
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
let config;
|
|
83
|
+
try {
|
|
84
|
+
verbose('Getting plugin config');
|
|
85
|
+
config = await this.storage.getConfig();
|
|
86
|
+
}
|
|
87
|
+
catch (e) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
try {
|
|
91
|
+
if ((_a = this.pluginConfig) === null || _a === void 0 ? void 0 : _a.emitConfig) {
|
|
92
|
+
verbose('Emitting plugin config');
|
|
93
|
+
await fs_1.default.promises.writeFile(path_1.default.join(this.path, this.pluginConfig.emitConfig), JSON.stringify(config));
|
|
94
|
+
}
|
|
95
|
+
verbose('Spawning child process');
|
|
96
|
+
__classPrivateFieldSet(this, _RpcPlugin_child, (0, child_process_1.spawn)(this.pluginFile), "f");
|
|
97
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").stdin.setDefaultEncoding('utf8');
|
|
98
|
+
__classPrivateFieldSet(this, _RpcPlugin_outInterface, readline_1.default.createInterface({
|
|
99
|
+
input: __classPrivateFieldGet(this, _RpcPlugin_child, "f").stdout,
|
|
100
|
+
terminal: false,
|
|
101
|
+
}), "f");
|
|
102
|
+
__classPrivateFieldSet(this, _RpcPlugin_errInterface, readline_1.default.createInterface({
|
|
103
|
+
input: __classPrivateFieldGet(this, _RpcPlugin_child, "f").stderr,
|
|
104
|
+
terminal: false,
|
|
105
|
+
}), "f");
|
|
106
|
+
this.attachListeners();
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
logger_1.default.errorp('error loading stdio rpc plugin', name.brightRed.underline, err);
|
|
110
|
+
await this.kill();
|
|
111
|
+
this.emitStatus();
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return Promise.race([
|
|
115
|
+
(async () => {
|
|
116
|
+
try {
|
|
117
|
+
// get some initial information to create an omegga proxy
|
|
118
|
+
const initialData = (0, proxyOmegga_1.bootstrap)(this.omegga);
|
|
119
|
+
verbose('Sending initial data');
|
|
120
|
+
// send all of the mock events to the proxy omegga
|
|
121
|
+
for (const ev in initialData) {
|
|
122
|
+
// send some initial information
|
|
123
|
+
this.notify(ev, initialData[ev]);
|
|
124
|
+
}
|
|
125
|
+
verbose('Initializing event passthrough');
|
|
126
|
+
// pass events through
|
|
127
|
+
this.omegga.on('*', this.eventPassthrough);
|
|
128
|
+
try {
|
|
129
|
+
// tell the plugin to start
|
|
130
|
+
verbose('Waiting for plugin to start...');
|
|
131
|
+
const result = await this.emit('init', config);
|
|
132
|
+
verbose('Initialized with result:', result);
|
|
133
|
+
// plugins can return a result object
|
|
134
|
+
if (typeof result === 'object' && result) {
|
|
135
|
+
// if registeredCommands is in the results, register the provided strings as commands
|
|
136
|
+
const cmds = result.registeredCommands;
|
|
137
|
+
if (cmds &&
|
|
138
|
+
cmds instanceof Array &&
|
|
139
|
+
cmds.every(i => typeof i === 'string'))
|
|
140
|
+
this.commands = cmds;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
catch (e) {
|
|
144
|
+
if (!e.message)
|
|
145
|
+
return;
|
|
146
|
+
logger_1.default.errorp(name.brightRed.underline, 'error starting: ', e);
|
|
147
|
+
}
|
|
148
|
+
// plugin is not frozen, resolve that it has loaded
|
|
149
|
+
frozen = false;
|
|
150
|
+
if (timed)
|
|
151
|
+
return;
|
|
152
|
+
this.emitStatus();
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
if (timed)
|
|
157
|
+
return;
|
|
158
|
+
logger_1.default.errorp('error loading stdio rpc plugin', name.brightRed.underline, e);
|
|
159
|
+
await this.kill();
|
|
160
|
+
frozen = false;
|
|
161
|
+
this.emitStatus();
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
})(),
|
|
165
|
+
new Promise(resolve => {
|
|
166
|
+
// let user know if the child quit while launching
|
|
167
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").once('exit', () => {
|
|
168
|
+
if (!frozen || timed)
|
|
169
|
+
return;
|
|
170
|
+
verbose('Plugin exited during init');
|
|
171
|
+
frozen = false;
|
|
172
|
+
this.emitStatus();
|
|
173
|
+
resolve(false);
|
|
174
|
+
});
|
|
175
|
+
// check if the child is frozen (while true)
|
|
176
|
+
setTimeout(() => {
|
|
177
|
+
if (!frozen)
|
|
178
|
+
return;
|
|
179
|
+
logger_1.default.errorp('I appear to be unresponsive when starting (maybe I forgot to respond to start)', name.brightRed.underline);
|
|
180
|
+
this.kill();
|
|
181
|
+
timed = true;
|
|
182
|
+
this.emitStatus();
|
|
183
|
+
resolve(false);
|
|
184
|
+
}, 5000);
|
|
185
|
+
}),
|
|
186
|
+
]);
|
|
187
|
+
}
|
|
188
|
+
// kill the child process after requesting it to stop
|
|
189
|
+
unload() {
|
|
190
|
+
if (!__classPrivateFieldGet(this, _RpcPlugin_child, "f") || __classPrivateFieldGet(this, _RpcPlugin_child, "f").exitCode) {
|
|
191
|
+
this.detachListeners();
|
|
192
|
+
this.emitStatus();
|
|
193
|
+
return Promise.resolve(true);
|
|
194
|
+
}
|
|
195
|
+
let frozen = true, timed = false;
|
|
196
|
+
const name = this.getName();
|
|
197
|
+
return Promise.race([
|
|
198
|
+
(async () => {
|
|
199
|
+
try {
|
|
200
|
+
// let the plugin know it's time to stop, if this error it's probably because the method was not implemented
|
|
201
|
+
try {
|
|
202
|
+
await this.emit('stop');
|
|
203
|
+
}
|
|
204
|
+
catch (e) {
|
|
205
|
+
// lazy developer - just implement stop please
|
|
206
|
+
}
|
|
207
|
+
await this.kill();
|
|
208
|
+
frozen = false;
|
|
209
|
+
if (timed)
|
|
210
|
+
return;
|
|
211
|
+
this.emitStatus();
|
|
212
|
+
this.commands = [];
|
|
213
|
+
return true;
|
|
214
|
+
}
|
|
215
|
+
catch (e) {
|
|
216
|
+
if (timed)
|
|
217
|
+
return;
|
|
218
|
+
logger_1.default.errorp('error unloading rpc plugin', name.brightRed.underline, e);
|
|
219
|
+
frozen = false;
|
|
220
|
+
this.emitStatus();
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
})(),
|
|
224
|
+
// this is wrapped in a promise for the freeze check
|
|
225
|
+
new Promise(resolve => {
|
|
226
|
+
// check if the child is frozen (while true)
|
|
227
|
+
setTimeout(() => {
|
|
228
|
+
if (!frozen)
|
|
229
|
+
return;
|
|
230
|
+
logger_1.default.errorp('I appear to be unresponsive when stopping (maybe I forgot to respond to stop)', name.brightRed.underline);
|
|
231
|
+
this.kill();
|
|
232
|
+
timed = true;
|
|
233
|
+
this.emitStatus();
|
|
234
|
+
resolve(true);
|
|
235
|
+
}, 5000);
|
|
236
|
+
}),
|
|
237
|
+
]);
|
|
238
|
+
}
|
|
239
|
+
// attaches event listeners
|
|
240
|
+
attachListeners() {
|
|
241
|
+
const name = this.getName();
|
|
242
|
+
__classPrivateFieldGet(this, _RpcPlugin_outInterface, "f").on('line', line => {
|
|
243
|
+
try {
|
|
244
|
+
__classPrivateFieldGet(this, _RpcPlugin_rpc, "f").receiveAndSend(JSON.parse(line));
|
|
245
|
+
}
|
|
246
|
+
catch (e) {
|
|
247
|
+
logger_1.default.error(this.getName().brightRed.underline, '!>'.red, 'error parsing rpc data', e, line);
|
|
248
|
+
}
|
|
249
|
+
});
|
|
250
|
+
// stderr - print out the errors
|
|
251
|
+
__classPrivateFieldGet(this, _RpcPlugin_errInterface, "f").on('line', err => {
|
|
252
|
+
logger_1.default.error(name.brightRed.underline, '!>'.red, err);
|
|
253
|
+
});
|
|
254
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").on('error', () => this.kill());
|
|
255
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").on('close', () => this.kill());
|
|
256
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").on('exit', code => {
|
|
257
|
+
logger_1.default.errorp('!>'.red, 'rpc plugin', name.brightRed.underline, 'exited with code', code);
|
|
258
|
+
this.kill();
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
// removes previously attached event listeners
|
|
262
|
+
detachListeners() {
|
|
263
|
+
__classPrivateFieldGet(this, _RpcPlugin_outInterface, "f").removeAllListeners('line');
|
|
264
|
+
__classPrivateFieldGet(this, _RpcPlugin_errInterface, "f").removeAllListeners('line');
|
|
265
|
+
if (__classPrivateFieldGet(this, _RpcPlugin_child, "f")) {
|
|
266
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").removeAllListeners('exit');
|
|
267
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").removeAllListeners('close');
|
|
268
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").removeAllListeners('error');
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
// write a string to the child process
|
|
272
|
+
writeln(line) {
|
|
273
|
+
try {
|
|
274
|
+
if (__classPrivateFieldGet(this, _RpcPlugin_child, "f") && !__classPrivateFieldGet(this, _RpcPlugin_child, "f").exitCode)
|
|
275
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").stdin.write(line + '\n');
|
|
276
|
+
}
|
|
277
|
+
catch (e) {
|
|
278
|
+
// the child probably died... oops!
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
// forcibly kills the plugin
|
|
282
|
+
async kill() {
|
|
283
|
+
__classPrivateFieldGet(this, _RpcPlugin_rpc, "f").rejectAllPendingRequests('Plugin Terminated');
|
|
284
|
+
this.detachListeners();
|
|
285
|
+
this.omegga.off('*', this.eventPassthrough);
|
|
286
|
+
if (!__classPrivateFieldGet(this, _RpcPlugin_child, "f"))
|
|
287
|
+
return;
|
|
288
|
+
// create a promise for the exit of the process
|
|
289
|
+
const promise = new Promise(resolve => __classPrivateFieldGet(this, _RpcPlugin_child, "f").once('exit', resolve));
|
|
290
|
+
// kill the process
|
|
291
|
+
__classPrivateFieldGet(this, _RpcPlugin_child, "f").kill('SIGINT');
|
|
292
|
+
// ...kill it again just to make sure it's dead
|
|
293
|
+
(0, child_process_1.spawn)('kill', ['-9', __classPrivateFieldGet(this, _RpcPlugin_child, "f").pid + '']);
|
|
294
|
+
// wait for the process to exit
|
|
295
|
+
await promise;
|
|
296
|
+
__classPrivateFieldSet(this, _RpcPlugin_child, undefined, "f");
|
|
297
|
+
this.emitStatus();
|
|
298
|
+
}
|
|
299
|
+
eventPassthrough(type, ...args) {
|
|
300
|
+
if (!__classPrivateFieldGet(this, _RpcPlugin_child, "f"))
|
|
301
|
+
return;
|
|
302
|
+
this.notify(type, args);
|
|
303
|
+
}
|
|
304
|
+
// setup the JSONRPC communication
|
|
305
|
+
initRPC() {
|
|
306
|
+
const server = new json_rpc_2_0_1.JSONRPCServer();
|
|
307
|
+
const client = new json_rpc_2_0_1.JSONRPCClient(req => {
|
|
308
|
+
try {
|
|
309
|
+
this.writeln(JSON.stringify(req));
|
|
310
|
+
return Promise.resolve();
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
return Promise.reject(error);
|
|
314
|
+
}
|
|
315
|
+
});
|
|
316
|
+
const rpc = (__classPrivateFieldSet(this, _RpcPlugin_rpc, new json_rpc_2_0_1.JSONRPCServerAndClient(server, client), "f"));
|
|
317
|
+
// plugin log generator function
|
|
318
|
+
const ezLog = (logFn, name, symbol) => (line) => console[logFn](name.underline, symbol, line);
|
|
319
|
+
const name = this.getName();
|
|
320
|
+
// server can output logs special formatting for stdout
|
|
321
|
+
rpc.addMethod('log', ezLog('log', name, '>>'.green));
|
|
322
|
+
rpc.addMethod('error', ezLog('error', name.brightRed, '!>'.red));
|
|
323
|
+
rpc.addMethod('info', ezLog('info', name, '#>'.blue));
|
|
324
|
+
rpc.addMethod('debug', ezLog('debug', name, '?>'.blue));
|
|
325
|
+
rpc.addMethod('warn', ezLog('warn', name.brightYellow, ':>'.yellow));
|
|
326
|
+
rpc.addMethod('trace', ezLog('trace', name, 'T>'.grey));
|
|
327
|
+
// plugin store interactions
|
|
328
|
+
rpc.addMethod('store.get', key => this.storage.get(key));
|
|
329
|
+
rpc.addMethod('store.set', ([key, value]) => this.storage.set(key, value));
|
|
330
|
+
rpc.addMethod('store.delete', key => this.storage.delete(key));
|
|
331
|
+
rpc.addMethod('store.wipe', () => this.storage.wipe());
|
|
332
|
+
rpc.addMethod('store.count', () => this.storage.count());
|
|
333
|
+
rpc.addMethod('store.keys', () => this.storage.keys());
|
|
334
|
+
// server can run console commands
|
|
335
|
+
rpc.addMethod('exec', line => this.omegga.writeln(line));
|
|
336
|
+
rpc.addMethod('writeln', line => this.omegga.writeln(line));
|
|
337
|
+
rpc.addMethod('broadcast', line => this.omegga.broadcast(line));
|
|
338
|
+
rpc.addMethod('whisper', ({ target, line }) => this.omegga.whisper(target, line));
|
|
339
|
+
rpc.addMethod('middlePrint', ({ target, line }) => this.omegga.middlePrint(target, line));
|
|
340
|
+
rpc.addMethod('getPlayers', () => this.omegga.getPlayers());
|
|
341
|
+
rpc.addMethod('getPlayerPosition', name => { var _a; return (_a = this.omegga.getPlayer(name)) === null || _a === void 0 ? void 0 : _a.getPosition(); }); // included for compatibility
|
|
342
|
+
rpc.addMethod('getAllPlayerPositions', () => this.omegga.getAllPlayerPositions());
|
|
343
|
+
rpc.addMethod('getEnvironmentPresets', () => this.omegga.getEnvironmentPresets());
|
|
344
|
+
rpc.addMethod('resetEnvironment', () => this.omegga.resetEnvironment());
|
|
345
|
+
rpc.addMethod('saveEnvironment', name => this.omegga.saveEnvironment(name));
|
|
346
|
+
rpc.addMethod('loadEnvironment', name => this.omegga.loadEnvironment(name));
|
|
347
|
+
rpc.addMethod('loadEnvironmentData', data => this.omegga.loadEnvironmentData(data));
|
|
348
|
+
rpc.addMethod('getServerStatus', () => this.omegga.getServerStatus());
|
|
349
|
+
rpc.addMethod('getMinigames', () => this.omegga.getMinigames());
|
|
350
|
+
rpc.addMethod('getMinigamePresets', () => this.omegga.getMinigamePresets());
|
|
351
|
+
rpc.addMethod('saveMinigame', ({ index, name }) => this.omegga.saveMinigame(index, name));
|
|
352
|
+
rpc.addMethod('loadMinigame', ({ name, owner }) => this.omegga.loadMinigame(name, owner));
|
|
353
|
+
rpc.addMethod('nextRoundMinigame', index => this.omegga.nextRoundMinigame(index));
|
|
354
|
+
rpc.addMethod('resetMinigame', index => this.omegga.resetMinigame(index));
|
|
355
|
+
rpc.addMethod('deleteMinigame', index => this.omegga.deleteMinigame(index));
|
|
356
|
+
rpc.addMethod('listMinigames', () => this.omegga.listMinigames());
|
|
357
|
+
rpc.addMethod('getHostId', () => this.omegga.getHostId());
|
|
358
|
+
rpc.addMethod('getRoleSetup', () => this.omegga.getRoleSetup());
|
|
359
|
+
rpc.addMethod('getBanList', () => this.omegga.getBanList());
|
|
360
|
+
rpc.addMethod('getSaves', () => this.omegga.getSaves());
|
|
361
|
+
rpc.addMethod('getSavePath', name => this.omegga.getSavePath(name));
|
|
362
|
+
rpc.addMethod('clearBricks', ({ target, quiet = false }) => this.omegga.clearBricks(target, quiet));
|
|
363
|
+
rpc.addMethod('clearAllBricks', quiet => this.omegga.clearAllBricks(quiet));
|
|
364
|
+
rpc.addMethod('saveBricks', name => this.omegga.saveBricks(name));
|
|
365
|
+
rpc.addMethod('loadBricks', ({ name, offX = 0, offY = 0, offZ = 0, quiet = false, }) => this.omegga.loadBricks(name, { offX, offY, offZ, quiet }));
|
|
366
|
+
rpc.addMethod('loadBricksOnPlayer', ({ name, player, offX = 0, offY = 0, offZ = 0, }) => this.omegga.loadBricksOnPlayer(name, player, { offX, offY, offZ }));
|
|
367
|
+
rpc.addMethod('readSaveData', name => this.omegga.readSaveData(name));
|
|
368
|
+
rpc.addMethod('getSaveData', () => this.omegga.getSaveData());
|
|
369
|
+
rpc.addMethod('loadSaveData', ({ data, offX = 0, offY = 0, offZ = 0, quiet = false, }) => this.omegga.loadSaveData(data, { offX, offY, offZ, quiet }));
|
|
370
|
+
rpc.addMethod('loadSaveDataOnPlayer', ({ data, player, offX = 0, offY = 0, offZ = 0, }) => this.omegga.loadSaveDataOnPlayer(data, player, { offX, offY, offZ }));
|
|
371
|
+
rpc.addMethod('changeMap', map => this.omegga.changeMap(map));
|
|
372
|
+
rpc.addMethod('unload', () => this.unload());
|
|
373
|
+
rpc.addMethod('reload', async () => {
|
|
374
|
+
await this.unload();
|
|
375
|
+
await this.load();
|
|
376
|
+
});
|
|
377
|
+
// player related operations
|
|
378
|
+
const addPlayerMethod = (name) => rpc.addMethod(`player.${name}`, player => { var _a; return (_a = this.omegga.getPlayer(player)) === null || _a === void 0 ? void 0 : _a[name](); });
|
|
379
|
+
rpc.addMethod('player.get', target => {
|
|
380
|
+
let player = this.omegga.getPlayer(target);
|
|
381
|
+
return player && Object.assign(Object.assign({}, player), { host: player.isHost() });
|
|
382
|
+
});
|
|
383
|
+
addPlayerMethod('getRoles');
|
|
384
|
+
addPlayerMethod('getPermissions');
|
|
385
|
+
addPlayerMethod('getNameColor');
|
|
386
|
+
addPlayerMethod('getPosition');
|
|
387
|
+
addPlayerMethod('getGhostBrick');
|
|
388
|
+
addPlayerMethod('getPaint');
|
|
389
|
+
addPlayerMethod('getTemplateBounds');
|
|
390
|
+
addPlayerMethod('getTemplateBoundsData');
|
|
391
|
+
rpc.addMethod('player.loadDataAtGhostBrick', ({ target, data, rotate = true, offX = 0, offY = 0, offZ = 0, quiet = false, }) => {
|
|
392
|
+
var _a;
|
|
393
|
+
return (_a = this.omegga
|
|
394
|
+
.getPlayer(target)) === null || _a === void 0 ? void 0 : _a.loadDataAtGhostBrick(data, { rotate, offX, offY, offZ, quiet });
|
|
395
|
+
});
|
|
396
|
+
rpc.addMethod('player.loadSaveData', ({ target, data, offX = 0, offY = 0, offZ = 0, }) => { var _a; return (_a = this.omegga.getPlayer(target)) === null || _a === void 0 ? void 0 : _a.loadSaveData(data, { offX, offY, offZ }); });
|
|
397
|
+
// plugin related operations
|
|
398
|
+
rpc.addMethod('plugin.get', async (name) => {
|
|
399
|
+
const plugin = this.omegga.pluginLoader.plugins.find(p => p.getName() === name);
|
|
400
|
+
if (plugin) {
|
|
401
|
+
return {
|
|
402
|
+
name,
|
|
403
|
+
documentation: plugin.getDocumentation(),
|
|
404
|
+
loaded: plugin.isLoaded(),
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
else {
|
|
408
|
+
return null;
|
|
409
|
+
}
|
|
410
|
+
});
|
|
411
|
+
rpc.addMethod('plugin.emit', async ([name, event, ...args]) => {
|
|
412
|
+
const plugin = this.omegga.pluginLoader.plugins.find(p => p.getName() === name);
|
|
413
|
+
if (plugin) {
|
|
414
|
+
return plugin.emitPlugin(event, this.getName(), args);
|
|
415
|
+
}
|
|
416
|
+
else {
|
|
417
|
+
return null;
|
|
418
|
+
}
|
|
419
|
+
});
|
|
420
|
+
}
|
|
421
|
+
// emit a custom plugin event
|
|
422
|
+
async emitPlugin(event, from, args) {
|
|
423
|
+
return await this.emit('plugin:emit', [event, from, ...args]);
|
|
424
|
+
}
|
|
425
|
+
// emit a message to the plugin via the jsonrpc client and expect a response
|
|
426
|
+
emit(type, arg) {
|
|
427
|
+
return __classPrivateFieldGet(this, _RpcPlugin_rpc, "f").request(type, arg);
|
|
428
|
+
}
|
|
429
|
+
// emit a message to the plugin via the jsonrpc client, don't expect a response
|
|
430
|
+
notify(type, arg) {
|
|
431
|
+
try {
|
|
432
|
+
__classPrivateFieldGet(this, _RpcPlugin_rpc, "f").notify(type, arg);
|
|
433
|
+
}
|
|
434
|
+
catch (e) {
|
|
435
|
+
// this only happens if the RPC library is hitting some issues - probably redundant
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
exports.default = RpcPlugin;
|
|
440
|
+
_RpcPlugin_child = new WeakMap(), _RpcPlugin_rpc = new WeakMap(), _RpcPlugin_errInterface = new WeakMap(), _RpcPlugin_outInterface = new WeakMap();
|
|
441
|
+
//# sourceMappingURL=plugin_jsonrpc_stdio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugin_jsonrpc_stdio.js","sourceRoot":"","sources":["../../../src/omegga/plugin/plugin_jsonrpc_stdio.ts"],"names":[],"mappings":"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"}
|