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":"auth.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,cAAc,CACxB;IAAC,MAAM,GAAG,SAAS,GAAG,OAAO;IAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAAC,CAiDpE,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const auth = omegga => {
|
|
4
|
+
// patterns for leave message and host detection
|
|
5
|
+
const hostRegExp = /^Logged in as (?<name>.+) \((?<id>[0-9a-fA-F-]{36})\)\.$/;
|
|
6
|
+
const invalidRegExp = /^(Error: AuthState is Invalid on dedicated server - exiting\.|Changing AuthState from \w+ to Invalid\.)$/;
|
|
7
|
+
const validRegExp = /^Changing AuthState from \w+ to Valid(Online|Offline)\.$/;
|
|
8
|
+
return {
|
|
9
|
+
// listen for auth messages
|
|
10
|
+
pattern(_line, logMatch) {
|
|
11
|
+
// line is not generic console log
|
|
12
|
+
if (!logMatch)
|
|
13
|
+
return;
|
|
14
|
+
const { generator, data } = logMatch.groups;
|
|
15
|
+
// check if log is an auth log
|
|
16
|
+
if (generator !== 'LogAuthManager' && generator !== 'LogAuthSubsystem')
|
|
17
|
+
return;
|
|
18
|
+
// match against the patterns
|
|
19
|
+
const hostMatch = data.match(hostRegExp);
|
|
20
|
+
const invalidMatch = data.match(invalidRegExp);
|
|
21
|
+
const validMatch = data.match(validRegExp);
|
|
22
|
+
// if the log matches one of the patterns, return the result
|
|
23
|
+
if (hostMatch) {
|
|
24
|
+
const { name, id } = hostMatch.groups;
|
|
25
|
+
return ['host', { name, id }];
|
|
26
|
+
}
|
|
27
|
+
else if (invalidMatch) {
|
|
28
|
+
return ['invalid', null];
|
|
29
|
+
}
|
|
30
|
+
else if (validMatch) {
|
|
31
|
+
return ['valid', null];
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
// when there's a match, emit the chat message event
|
|
35
|
+
callback([type, host]) {
|
|
36
|
+
if (type == 'host') {
|
|
37
|
+
// store the host info
|
|
38
|
+
omegga.host = Object.freeze(host);
|
|
39
|
+
omegga.emit('host', Object.freeze(host));
|
|
40
|
+
}
|
|
41
|
+
else if (type === 'valid') {
|
|
42
|
+
// let the server know it has started
|
|
43
|
+
omegga.emit('start', { map: omegga.currentMap });
|
|
44
|
+
}
|
|
45
|
+
else if (type === 'invalid') {
|
|
46
|
+
omegga.emit('unauthorized');
|
|
47
|
+
// do nothing with invalid auth?? how did we get here
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
};
|
|
52
|
+
exports.default = auth;
|
|
53
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/omegga/matchers/auth.ts"],"names":[],"mappings":";;AAEA,MAAM,IAAI,GAEN,MAAM,CAAC,EAAE;IACX,gDAAgD;IAChD,MAAM,UAAU,GAAG,0DAA0D,CAAC;IAC9E,MAAM,aAAa,GACjB,0GAA0G,CAAC;IAC7G,MAAM,WAAW,GACf,0DAA0D,CAAC;IAE7D,OAAO;QACL,2BAA2B;QAC3B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5C,8BAA8B;YAC9B,IAAI,SAAS,KAAK,gBAAgB,IAAI,SAAS,KAAK,kBAAkB;gBACpE,OAAO;YAET,6BAA6B;YAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YAE3C,4DAA4D;YAC5D,IAAI,SAAS,EAAE;gBACb,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC;gBACtC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;aAC/B;iBAAM,IAAI,YAAY,EAAE;gBACvB,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;aAC1B;iBAAM,IAAI,UAAU,EAAE;gBACrB,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aACxB;QACH,CAAC;QACD,oDAAoD;QACpD,QAAQ,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;YACnB,IAAI,IAAI,IAAI,MAAM,EAAE;gBAClB,sBAAsB;gBACtB,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;aAC1C;iBAAM,IAAI,IAAI,KAAK,OAAO,EAAE;gBAC3B,qCAAqC;gBACrC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;aAClD;iBAAM,IAAI,IAAI,KAAK,SAAS,EAAE;gBAC7B,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC5B,qDAAqD;aACtD;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/chat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,cAAc,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAwEA,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const chat = omegga => {
|
|
4
|
+
// pattern to get PlayerController from a leave message
|
|
5
|
+
const chatRegExp = /^(?<name>.+?): (?<message>.+)$/;
|
|
6
|
+
const kickRegExp = /^(?<name>.+?) was kicked by (?<kicker>.+?) \((?<reason>.+?)\)$/;
|
|
7
|
+
const exists = (name) => omegga.players.some(p => p.name === name);
|
|
8
|
+
const sanitizeMsg = (msg) => msg
|
|
9
|
+
.toString()
|
|
10
|
+
.replace(/>/g, '>')
|
|
11
|
+
.replace(/&und;/g, '_')
|
|
12
|
+
.replace(/</g, '<')
|
|
13
|
+
.replace(/&scl;/g, ';');
|
|
14
|
+
const sanitizeName = (name) => name.toString().replace(/&und;/g, '_');
|
|
15
|
+
return {
|
|
16
|
+
// listen for chat messages
|
|
17
|
+
pattern(_line, logMatch) {
|
|
18
|
+
// line is not generic console log
|
|
19
|
+
if (!logMatch)
|
|
20
|
+
return;
|
|
21
|
+
const { generator, data } = logMatch.groups;
|
|
22
|
+
// check if log is a chat log
|
|
23
|
+
if (generator !== 'LogChat')
|
|
24
|
+
return;
|
|
25
|
+
// match the chat log to the chat message pattern
|
|
26
|
+
const chatMatch = data.match(chatRegExp);
|
|
27
|
+
const kickMatch = data.match(kickRegExp);
|
|
28
|
+
if (chatMatch) {
|
|
29
|
+
let { name, message } = chatMatch.groups;
|
|
30
|
+
name = sanitizeName(name);
|
|
31
|
+
message = sanitizeMsg(message);
|
|
32
|
+
// no player has this name. probably a bug
|
|
33
|
+
if (!exists(name))
|
|
34
|
+
return;
|
|
35
|
+
// return the player with the corresponding controller
|
|
36
|
+
return { type: 'chat', name, message };
|
|
37
|
+
}
|
|
38
|
+
else if (kickMatch) {
|
|
39
|
+
let { name, kicker, reason } = kickMatch.groups;
|
|
40
|
+
name = sanitizeName(name);
|
|
41
|
+
kicker = sanitizeName(kicker);
|
|
42
|
+
reason = sanitizeMsg(reason);
|
|
43
|
+
if (!exists(name) || !exists(kicker))
|
|
44
|
+
return;
|
|
45
|
+
return { type: 'kick', name, kicker, reason };
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
// when there's a match, emit the chat message event
|
|
49
|
+
callback({ type, name, kicker, message, reason }) {
|
|
50
|
+
if (type === 'chat') {
|
|
51
|
+
omegga.emit('chat', name, message);
|
|
52
|
+
// chat command parsing, emit `chatcmd:test` when `!test` is sent in chat
|
|
53
|
+
if (message.startsWith('!')) {
|
|
54
|
+
const [cmd, ...args] = message.slice(1).split(' ');
|
|
55
|
+
if (cmd.length > 0) {
|
|
56
|
+
omegga.emit('chatcmd:' + cmd.toLowerCase(), name, ...args);
|
|
57
|
+
omegga.emit('chatcmd', cmd.toLowerCase(), name, ...args);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
else if (type === 'kick') {
|
|
62
|
+
omegga.emit('kick', name, kicker, reason);
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
};
|
|
67
|
+
exports.default = chat;
|
|
68
|
+
//# sourceMappingURL=chat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat.js","sourceRoot":"","sources":["../../../src/omegga/matchers/chat.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+CpC,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const command = omegga => {
|
|
4
|
+
// pattern to get PlayerController from a leave message
|
|
5
|
+
const commandRegExp = /^Player (?<name>.+?) is trying to call command "\/(?<command>.+?)" with arg string "(?<args>.*?)".$/;
|
|
6
|
+
return {
|
|
7
|
+
// listen for commands messages
|
|
8
|
+
pattern(_line, logMatch) {
|
|
9
|
+
// line is not generic console log
|
|
10
|
+
if (!logMatch)
|
|
11
|
+
return;
|
|
12
|
+
const { generator, data } = logMatch.groups;
|
|
13
|
+
// check if log is a command log
|
|
14
|
+
if (generator !== 'LogChatCommands')
|
|
15
|
+
return;
|
|
16
|
+
// match the log to the command pattern
|
|
17
|
+
const match = data.match(commandRegExp);
|
|
18
|
+
if (match) {
|
|
19
|
+
const { name, command, args } = match.groups;
|
|
20
|
+
// no player has this name. probably a bug
|
|
21
|
+
if (!omegga.players.some(p => p.name === name))
|
|
22
|
+
return;
|
|
23
|
+
// return the player and the command
|
|
24
|
+
return { name, command, args: args.split(' ') };
|
|
25
|
+
}
|
|
26
|
+
return;
|
|
27
|
+
},
|
|
28
|
+
// when there's a match, emit the comand event
|
|
29
|
+
callback({ name, command, args }) {
|
|
30
|
+
// if the only argument is an empty string, ignore it
|
|
31
|
+
if (args.length === 1 && args[0].length === 0)
|
|
32
|
+
args.pop();
|
|
33
|
+
omegga.emit('cmd:' + command.toLowerCase(), name, ...args);
|
|
34
|
+
omegga.emit('cmd', command.toLowerCase(), name, ...args);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.default = command;
|
|
39
|
+
//# sourceMappingURL=command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/omegga/matchers/command.ts"],"names":[],"mappings":";;AAEA,MAAM,OAAO,GAIR,MAAM,CAAC,EAAE;IACZ,uDAAuD;IACvD,MAAM,aAAa,GACjB,qGAAqG,CAAC;IAExG,OAAO;QACL,+BAA+B;QAC/B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5C,gCAAgC;YAChC,IAAI,SAAS,KAAK,iBAAiB;gBAAE,OAAO;YAE5C,uCAAuC;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACxC,IAAI,KAAK,EAAE;gBACT,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;gBAE7C,0CAA0C;gBAC1C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;oBAAE,OAAO;gBAEvD,oCAAoC;gBACpC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;aACjD;YAED,OAAO;QACT,CAAC;QACD,8CAA8C;QAC9C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;YAC9B,qDAAqD;YACrD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;gBAAE,IAAI,CAAC,GAAG,EAAE,CAAC;YAE1D,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/exit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,cAAc,CAAC,gBAAgB,CAkB1C,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const exit = omegga => {
|
|
4
|
+
return {
|
|
5
|
+
// listen for exit messages
|
|
6
|
+
pattern(_line, logMatch) {
|
|
7
|
+
// line is not generic console log
|
|
8
|
+
if (!logMatch)
|
|
9
|
+
return;
|
|
10
|
+
const { generator, data } = logMatch.groups;
|
|
11
|
+
// check if log is the kill server log
|
|
12
|
+
return (generator.match(/^LogExit$/) && data.match(/^Game engine shut down$/));
|
|
13
|
+
},
|
|
14
|
+
// when there's a match, emit the exit message event
|
|
15
|
+
callback() {
|
|
16
|
+
omegga.emit('exit');
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
exports.default = exit;
|
|
21
|
+
//# sourceMappingURL=exit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exit.js","sourceRoot":"","sources":["../../../src/omegga/matchers/exit.ts"],"names":[],"mappings":";;AAEA,MAAM,IAAI,GAAqC,MAAM,CAAC,EAAE;IACtD,OAAO;QACL,2BAA2B;QAC3B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5C,sCAAsC;YACtC,OAAO,CACL,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,yBAAyB,CAAC,CACtE,CAAC;QACJ,CAAC;QACD,oDAAoD;QACpD,QAAQ;YACN,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/index.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;;AAGzC,wBAU2B"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const join_1 = __importDefault(require("./join"));
|
|
7
|
+
// 'join' event => { name, id, state, controller }
|
|
8
|
+
const leave_1 = __importDefault(require("./leave"));
|
|
9
|
+
// 'leave' event => { name, id, state, controller }
|
|
10
|
+
const chat_1 = __importDefault(require("./chat"));
|
|
11
|
+
// 'chat' event => name, message; 'chatcmd:command' event => name, [...args]
|
|
12
|
+
// 'kick' event => name, kicker, reason
|
|
13
|
+
const command_1 = __importDefault(require("./command"));
|
|
14
|
+
// 'cmd:command' event => name, args (string)
|
|
15
|
+
const auth_1 = __importDefault(require("./auth"));
|
|
16
|
+
// assigns host, 'host' event, 'start' event, 'unauthorized' event
|
|
17
|
+
const exit_1 = __importDefault(require("./exit"));
|
|
18
|
+
// 'exit' event
|
|
19
|
+
const version_1 = __importDefault(require("./version"));
|
|
20
|
+
// 'version' event, check game version
|
|
21
|
+
const init_1 = __importDefault(require("./init"));
|
|
22
|
+
// watch loginit for any funny business
|
|
23
|
+
const mapChange_1 = __importDefault(require("./mapChange"));
|
|
24
|
+
// 'mapchange' event
|
|
25
|
+
// interaction event
|
|
26
|
+
const interact_1 = __importDefault(require("./interact"));
|
|
27
|
+
exports.default = [
|
|
28
|
+
join_1.default,
|
|
29
|
+
leave_1.default,
|
|
30
|
+
chat_1.default,
|
|
31
|
+
command_1.default,
|
|
32
|
+
auth_1.default,
|
|
33
|
+
exit_1.default,
|
|
34
|
+
version_1.default,
|
|
35
|
+
init_1.default,
|
|
36
|
+
mapChange_1.default,
|
|
37
|
+
interact_1.default,
|
|
38
|
+
];
|
|
39
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/omegga/matchers/index.ts"],"names":[],"mappings":";;;;;AAEA,kDAA0B;AAC1B,kDAAkD;AAElD,oDAA4B;AAC5B,mDAAmD;AAEnD,kDAA0B;AAC1B,4EAA4E;AAC5E,uCAAuC;AAEvC,wDAAgC;AAChC,6CAA6C;AAE7C,kDAA0B;AAC1B,kEAAkE;AAElE,kDAA0B;AAC1B,eAAe;AAEf,wDAAgC;AAChC,sCAAsC;AAEtC,kDAA0B;AAC1B,uCAAuC;AAEvC,4DAAoC;AACpC,oBAAoB;AAEpB,oBAAoB;AACpB,0DAAkC;AAElC,kBAAe;IACb,cAAI;IACJ,eAAK;IACL,cAAI;IACJ,iBAAO;IACP,cAAI;IACJ,cAAI;IACJ,iBAAO;IACP,cAAI;IACJ,mBAAS;IACT,kBAAQ;CACgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,cAAc,CAAC,IAAI,CAsB9B,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
7
|
+
const init = _omegga => {
|
|
8
|
+
return {
|
|
9
|
+
// listen for auth messages
|
|
10
|
+
pattern(_line, logMatch) {
|
|
11
|
+
// line is not generic console log
|
|
12
|
+
if (!logMatch)
|
|
13
|
+
return;
|
|
14
|
+
const { generator, data } = logMatch.groups;
|
|
15
|
+
if (!generator.match(/^LogInit$/))
|
|
16
|
+
return;
|
|
17
|
+
// check if log is the kill server log
|
|
18
|
+
if (data.match(/we are not the first instance of this executable/)) {
|
|
19
|
+
logger_1.default.warn('W> WARNING'.yellow, 'You are running multiple brickadia instances, this better be intentional');
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
callback() { },
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
exports.default = init;
|
|
26
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/omegga/matchers/init.ts"],"names":[],"mappings":";;;;;AAAA,0DAA8B;AAG9B,MAAM,IAAI,GAAyB,OAAO,CAAC,EAAE;IAC3C,OAAO;QACL,2BAA2B;QAC3B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE5C,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC;gBAAE,OAAO;YAE1C,sCAAsC;YACtC,IAAI,IAAI,CAAC,KAAK,CAAC,kDAAkD,CAAC,EAAE;gBAClE,gBAAM,CAAC,IAAI,CACT,YAAY,CAAC,MAAM,EACnB,0EAA0E,CAC3E,CAAC;aACH;QACH,CAAC;QAED,QAAQ,KAAI,CAAC;KACd,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const interactRegExp = /^Player "(?<name>[^"]+)" \((?<id>[^,]+), (?<pawn>[^,]+), (?<controller>[^)]+)\) interacted with brick "(?<brick>[^\"]+)" at (?<x>-?\d+) (?<y>-?\d+) (?<z>-?\d+).$/;
|
|
4
|
+
const interact = omegga => {
|
|
5
|
+
return {
|
|
6
|
+
// listen for auth messages
|
|
7
|
+
pattern(_line, logMatch) {
|
|
8
|
+
// line is not generic console log
|
|
9
|
+
if (!logMatch)
|
|
10
|
+
return;
|
|
11
|
+
const { generator, data } = logMatch.groups;
|
|
12
|
+
if (generator !== 'LogBrickadia')
|
|
13
|
+
return;
|
|
14
|
+
const match = data.match(interactRegExp);
|
|
15
|
+
// check if log is the kill server log
|
|
16
|
+
if (match) {
|
|
17
|
+
return {
|
|
18
|
+
player: {
|
|
19
|
+
id: match.groups.id,
|
|
20
|
+
name: match.groups.name,
|
|
21
|
+
controller: match.groups.controller,
|
|
22
|
+
pawn: match.groups.pawn,
|
|
23
|
+
},
|
|
24
|
+
brick_name: match.groups.brick,
|
|
25
|
+
position: [
|
|
26
|
+
Number(match.groups.x),
|
|
27
|
+
Number(match.groups.y),
|
|
28
|
+
Number(match.groups.z),
|
|
29
|
+
],
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
callback(interaction) {
|
|
34
|
+
omegga.emit('interact', interaction);
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.default = interact;
|
|
39
|
+
//# sourceMappingURL=interact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interact.js","sourceRoot":"","sources":["../../../src/omegga/matchers/interact.ts"],"names":[],"mappings":";;AAGA,MAAM,cAAc,GAClB,mKAAmK,CAAC;AAEtK,MAAM,QAAQ,GAAqC,MAAM,CAAC,EAAE;IAC1D,OAAO;QACL,2BAA2B;QAC3B,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAE5C,IAAI,SAAS,KAAK,cAAc;gBAAE,OAAO;YAEzC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAEzC,sCAAsC;YACtC,IAAI,KAAK,EAAE;gBACT,OAAO;oBACL,MAAM,EAAE;wBACN,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE;wBACnB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;wBACvB,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,UAAU;wBACnC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,IAAI;qBACxB;oBACD,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK;oBAC9B,QAAQ,EAAE;wBACR,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;wBACtB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;qBACvB;iBACkB,CAAC;aACvB;QACH,CAAC;QAED,QAAQ,CAAC,WAAW;YAClB,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"join.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/join.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,kBAAuB;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,IAAI,EAAE,cAAc,CAAC,MAAM,CAyHhC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const player_1 = __importDefault(require("../player"));
|
|
7
|
+
const join = omegga => {
|
|
8
|
+
// username + id and a log counter to keep track of actual join messages
|
|
9
|
+
const userJoinInfo = [];
|
|
10
|
+
// username + id to get player state and controller
|
|
11
|
+
const joiningPlayers = [];
|
|
12
|
+
// patterns to match PlayerState and PlayerController objects in GetAll commands
|
|
13
|
+
const stateRegExp = /BP_PlayerState_C .+?PersistentLevel\.(?<state>BP_PlayerState_C_\d+)\.PlayerNamePrivate = (?<name>.+)$/;
|
|
14
|
+
const controllerRegExp = /BP_PlayerState_C .+?PersistentLevel\.(?<state>BP_PlayerState_C_\d+)\.Owner = BP_PlayerController_C'.+?:PersistentLevel.(?<controller>BP_PlayerController_C_\d+)'/;
|
|
15
|
+
return {
|
|
16
|
+
// listen for join events and wait for PlayerController info
|
|
17
|
+
pattern(line, logMatch) {
|
|
18
|
+
if (logMatch) {
|
|
19
|
+
const { generator, counter, data } = logMatch.groups;
|
|
20
|
+
let joinData = userJoinInfo.find(l => l.counter === counter);
|
|
21
|
+
// LogServerList includes the new user information
|
|
22
|
+
if (generator === 'LogServerList') {
|
|
23
|
+
// create joindata if it doesn't exist
|
|
24
|
+
if (!joinData) {
|
|
25
|
+
joinData = { counter };
|
|
26
|
+
userJoinInfo.push(joinData);
|
|
27
|
+
}
|
|
28
|
+
// match on username or user id
|
|
29
|
+
const match = data.match(/^(?<field>UserName|UserId): (?<value>.+)$/);
|
|
30
|
+
// put that value in the join data
|
|
31
|
+
if (match)
|
|
32
|
+
joinData[match.groups.field] =
|
|
33
|
+
match.groups.value;
|
|
34
|
+
// LogNet lets us know the player successfully joined
|
|
35
|
+
}
|
|
36
|
+
else if (generator == 'LogNet') {
|
|
37
|
+
// find which player joined
|
|
38
|
+
const match = data.match(/^Join succeeded: (.+)$/);
|
|
39
|
+
// make sure this joindata corresponds to this player
|
|
40
|
+
if (match && joinData.UserName === match[1]) {
|
|
41
|
+
// remove that player from our buffer
|
|
42
|
+
userJoinInfo.splice(userJoinInfo.indexOf(joinData), 1);
|
|
43
|
+
// found joined player, now we need to find the BRPlayerState
|
|
44
|
+
joiningPlayers.push({
|
|
45
|
+
name: joinData.UserName,
|
|
46
|
+
id: joinData.UserId,
|
|
47
|
+
});
|
|
48
|
+
// get the state of all players (including the one that is joining)
|
|
49
|
+
omegga.writeln('GetAll BRPlayerState PlayerNamePrivate');
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// only match state and controllers if we have joining players
|
|
53
|
+
}
|
|
54
|
+
else if (joiningPlayers.length) {
|
|
55
|
+
const stateMatch = line.match(stateRegExp);
|
|
56
|
+
const controllerMatch = line.match(controllerRegExp);
|
|
57
|
+
// this line matches our PlayerName -> PlayerState pattern
|
|
58
|
+
if (stateMatch) {
|
|
59
|
+
const { name, state } = stateMatch.groups;
|
|
60
|
+
// find the joining player that has a matching name
|
|
61
|
+
const player = joiningPlayers.find(p => p.name === name);
|
|
62
|
+
// check if another player is already using this state or if there's any joining player with this name
|
|
63
|
+
if (!player || omegga.players.some(p => p.state === state))
|
|
64
|
+
return;
|
|
65
|
+
// this player owns this state, find the controller now
|
|
66
|
+
player.state = state;
|
|
67
|
+
omegga.writeln(`GetAll BRPlayerState Owner Name=${state}`);
|
|
68
|
+
// this line matches our PlayerState -> PlayerController pattern
|
|
69
|
+
}
|
|
70
|
+
else if (controllerMatch) {
|
|
71
|
+
const { controller, state } = controllerMatch.groups;
|
|
72
|
+
// find the joining player that has a matching state
|
|
73
|
+
const player = joiningPlayers.find(p => p.state === state);
|
|
74
|
+
// no player found
|
|
75
|
+
if (!player)
|
|
76
|
+
return;
|
|
77
|
+
// assign the controller and state, remove the player from the joining players
|
|
78
|
+
player.controller = controller;
|
|
79
|
+
player.state = state;
|
|
80
|
+
joiningPlayers.splice(joiningPlayers.indexOf(player), 1);
|
|
81
|
+
// return the newly joined player
|
|
82
|
+
return new player_1.default(omegga, player.name, player.id, player.controller, player.state);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
// when there's a match, emit a join event and add the player to the player list
|
|
87
|
+
callback(player) {
|
|
88
|
+
omegga.emit('join', player);
|
|
89
|
+
omegga.players.push(player);
|
|
90
|
+
omegga.emit('plugin:players:raw', omegga.players.map(p => p.raw()));
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
exports.default = join;
|
|
95
|
+
//# sourceMappingURL=join.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"join.js","sourceRoot":"","sources":["../../../src/omegga/matchers/join.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leave.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/leave.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,kBAAuB;AACpC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,CAyD1C,CAAC;AAEF,eAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const logger_1 = __importDefault(require("../../logger"));
|
|
7
|
+
const leave = omegga => {
|
|
8
|
+
// pattern to get PlayerController from a leave message
|
|
9
|
+
const ownerRegExp = /Owner: (BP_PlayerController_C_\d+)/;
|
|
10
|
+
return {
|
|
11
|
+
// listen for leave events and wait for PlayerController info
|
|
12
|
+
pattern(_line, logMatch) {
|
|
13
|
+
// line is not generic console log
|
|
14
|
+
if (!logMatch)
|
|
15
|
+
return;
|
|
16
|
+
const { generator, data } = logMatch.groups;
|
|
17
|
+
// check if log is a disconnect log
|
|
18
|
+
if (generator !== 'LogNet' || !data.startsWith('UChannel::Close:'))
|
|
19
|
+
return;
|
|
20
|
+
// get the PlayerController from the leave message if there is one (there should be)
|
|
21
|
+
const match = data.match(ownerRegExp);
|
|
22
|
+
if (!match)
|
|
23
|
+
return null;
|
|
24
|
+
// helper func for finding player with this controller
|
|
25
|
+
const getLeavingPlayer = () => omegga.players.find(p => p.controller === match[1]);
|
|
26
|
+
let found = getLeavingPlayer();
|
|
27
|
+
// attempt to find the player over the course of 2 seconds
|
|
28
|
+
// this is because a player can join before all their data is collected
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
let tries = 50;
|
|
31
|
+
function attempt() {
|
|
32
|
+
found = getLeavingPlayer();
|
|
33
|
+
if (found)
|
|
34
|
+
return resolve(found);
|
|
35
|
+
if (tries-- < 0)
|
|
36
|
+
return reject('ghost player ' + match[1]);
|
|
37
|
+
setTimeout(attempt, 50);
|
|
38
|
+
}
|
|
39
|
+
attempt();
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
// when there's a match, remove the player from the player list, emit a leave event
|
|
43
|
+
async callback(res) {
|
|
44
|
+
if (!(res instanceof Promise))
|
|
45
|
+
return;
|
|
46
|
+
try {
|
|
47
|
+
const player = await res;
|
|
48
|
+
omegga.players.splice(omegga.players.indexOf(player), 1);
|
|
49
|
+
omegga.emit('leave', player);
|
|
50
|
+
omegga.emit('plugin:players:raw', omegga.players.map(p => p.raw()));
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
logger_1.default.error('error getting player leave', e);
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
};
|
|
58
|
+
exports.default = leave;
|
|
59
|
+
//# sourceMappingURL=leave.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"leave.js","sourceRoot":"","sources":["../../../src/omegga/matchers/leave.ts"],"names":[],"mappings":";;;;;AAEA,0DAA8B;AAE9B,MAAM,KAAK,GAA0C,MAAM,CAAC,EAAE;IAC5D,uDAAuD;IACvD,MAAM,WAAW,GAAG,oCAAoC,CAAC;IAEzD,OAAO;QACL,6DAA6D;QAC7D,OAAO,CAAC,KAAK,EAAE,QAAQ;YACrB,kCAAkC;YAClC,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAEtB,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC;YAC5C,mCAAmC;YACnC,IAAI,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC;gBAChE,OAAO;YAET,oFAAoF;YACpF,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YAExB,sDAAsD;YACtD,MAAM,gBAAgB,GAAG,GAAG,EAAE,CAC5B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtD,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAE/B,0DAA0D;YAC1D,uEAAuE;YACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,SAAS,OAAO;oBACd,KAAK,GAAG,gBAAgB,EAAE,CAAC;oBAE3B,IAAI,KAAK;wBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;oBACjC,IAAI,KAAK,EAAE,GAAG,CAAC;wBAAE,OAAO,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;oBAE3D,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;gBAC1B,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC;QACD,mFAAmF;QACnF,KAAK,CAAC,QAAQ,CAAC,GAAG;YAChB,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC;gBAAE,OAAO;YAEtC,IAAI;gBACF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC;gBACzB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC7B,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CACjC,CAAC;aACH;YAAC,OAAO,CAAC,EAAE;gBACV,gBAAM,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;aAC/C;QACH,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,KAAK,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mapChange.d.ts","sourceRoot":"","sources":["../../../src/omegga/matchers/mapChange.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAEzC,QAAA,MAAM,SAAS,EAAE,cAAc,CAAC,MAAM,CAmCrC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|