@omujs/omu 0.9.9 → 0.9.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +157 -0
- package/README.md +0 -1
- package/dist/dts/address.d.ts +4 -4
- package/dist/dts/api/asset/extension.d.ts +25 -0
- package/dist/dts/api/asset/index.d.ts +2 -0
- package/dist/dts/api/dashboard/extension.d.ts +186 -0
- package/dist/dts/api/dashboard/handler.d.ts +21 -0
- package/dist/dts/api/dashboard/index.d.ts +3 -0
- package/dist/dts/api/dashboard/packets.d.ts +73 -0
- package/dist/dts/api/endpoint/endpoint.d.ts +32 -0
- package/dist/dts/api/endpoint/extension.d.ts +23 -0
- package/dist/dts/api/endpoint/index.d.ts +2 -0
- package/dist/dts/api/endpoint/packets.d.ts +51 -0
- package/dist/dts/api/extension-registry.d.ts +8 -0
- package/dist/dts/api/extension.d.ts +11 -0
- package/dist/dts/api/http/extension.d.ts +174 -0
- package/dist/dts/api/http/index.d.ts +1 -0
- package/dist/dts/api/i18n/extension.d.ts +22 -0
- package/dist/dts/api/i18n/index.d.ts +1 -0
- package/dist/dts/api/index.d.ts +2 -0
- package/dist/dts/api/logger/extension.d.ts +25 -0
- package/dist/dts/api/logger/index.d.ts +1 -0
- package/dist/dts/api/logger/packets.d.ts +18 -0
- package/dist/dts/api/permission/extension.d.ts +18 -0
- package/dist/dts/api/permission/index.d.ts +1 -0
- package/dist/dts/api/permission/permission.d.ts +25 -0
- package/dist/dts/api/plugin/extension.d.ts +43 -0
- package/dist/dts/api/plugin/index.d.ts +2 -0
- package/dist/dts/api/plugin/package-info.d.ts +84 -0
- package/dist/dts/api/registry/extension.d.ts +26 -0
- package/dist/dts/api/registry/index.d.ts +2 -0
- package/dist/dts/api/registry/packets.d.ts +20 -0
- package/dist/dts/api/registry/registry.d.ts +44 -0
- package/dist/dts/api/server/extension.d.ts +47 -0
- package/dist/dts/api/server/index.d.ts +1 -0
- package/dist/dts/api/session/extension.d.ts +51 -0
- package/dist/dts/api/session/index.d.ts +1 -0
- package/dist/dts/api/signal/extension.d.ts +22 -0
- package/dist/dts/api/signal/index.d.ts +1 -0
- package/dist/dts/api/signal/packets.d.ts +21 -0
- package/dist/dts/api/signal/signal.d.ts +33 -0
- package/dist/dts/api/table/extension.d.ts +29 -0
- package/dist/dts/api/table/index.d.ts +2 -0
- package/dist/dts/api/table/packets.d.ts +65 -0
- package/dist/dts/api/table/table.d.ts +76 -0
- package/dist/dts/app.d.ts +44 -37
- package/dist/dts/const.d.ts +0 -1
- package/dist/dts/errors.d.ts +18 -13
- package/dist/dts/event/index.d.ts +6 -0
- package/dist/dts/helper.d.ts +13 -0
- package/dist/dts/identifier.d.ts +45 -39
- package/dist/dts/index.d.ts +37 -7
- package/dist/dts/localization/index.d.ts +2 -3
- package/dist/dts/localization/locale.d.ts +732 -733
- package/dist/dts/localization/localization.d.ts +3 -6
- package/dist/dts/lock.d.ts +6 -0
- package/dist/dts/network/connection.d.ts +13 -13
- package/dist/dts/network/encryption.d.ts +38 -0
- package/dist/dts/network/frame-transport.d.ts +22 -0
- package/dist/dts/network/index.d.ts +5 -4
- package/dist/dts/network/network.d.ts +52 -51
- package/dist/dts/network/packet/index.d.ts +2 -3
- package/dist/dts/network/packet/packet-types.d.ts +73 -52
- package/dist/dts/network/packet/packet.d.ts +26 -22
- package/dist/dts/network/websocket-transport.d.ts +24 -0
- package/dist/dts/omu.d.ts +60 -49
- package/dist/dts/serialize/bytebuffer.d.ts +71 -0
- package/dist/dts/serialize/index.d.ts +2 -0
- package/dist/dts/serialize/serializer.d.ts +38 -0
- package/dist/dts/token.d.ts +11 -10
- package/dist/dts/version.d.ts +1 -2
- package/dist/esm/address.js +4 -2
- package/dist/esm/api/asset/extension.js +877 -0
- package/dist/esm/api/asset/index.js +875 -0
- package/dist/esm/api/dashboard/extension.js +1281 -0
- package/dist/esm/api/dashboard/handler.js +4 -0
- package/dist/esm/api/dashboard/index.js +1279 -0
- package/dist/esm/api/dashboard/packets.js +413 -0
- package/dist/esm/api/endpoint/endpoint.js +380 -0
- package/dist/esm/api/endpoint/extension.js +1087 -0
- package/dist/esm/api/endpoint/index.js +380 -0
- package/dist/esm/api/endpoint/packets.js +790 -0
- package/dist/esm/api/extension-registry.js +23 -0
- package/dist/esm/api/extension.js +275 -0
- package/dist/esm/api/http/extension.js +1426 -0
- package/dist/esm/api/http/index.js +1312 -0
- package/dist/esm/api/i18n/extension.js +1237 -0
- package/dist/esm/api/i18n/index.js +1235 -0
- package/dist/esm/api/index.js +292 -0
- package/dist/esm/api/logger/extension.js +847 -0
- package/dist/esm/api/logger/index.js +843 -0
- package/dist/esm/api/logger/packets.js +664 -0
- package/dist/esm/api/permission/extension.js +529 -0
- package/dist/esm/api/permission/index.js +291 -0
- package/dist/esm/api/permission/permission.js +291 -0
- package/dist/esm/api/plugin/extension.js +528 -0
- package/dist/esm/api/plugin/index.js +526 -0
- package/dist/esm/api/plugin/package-info.js +4 -0
- package/dist/esm/api/registry/extension.js +1170 -0
- package/dist/esm/api/registry/index.js +1169 -0
- package/dist/esm/api/registry/packets.js +685 -0
- package/dist/esm/api/registry/registry.js +380 -0
- package/dist/esm/api/server/extension.js +2009 -0
- package/dist/esm/api/server/index.js +1987 -0
- package/dist/esm/api/session/extension.js +2111 -0
- package/dist/esm/api/session/index.js +2111 -0
- package/dist/esm/api/signal/extension.js +1022 -0
- package/dist/esm/api/signal/index.js +376 -0
- package/dist/esm/api/signal/packets.js +681 -0
- package/dist/esm/api/signal/signal.js +376 -0
- package/dist/esm/api/table/extension.js +1544 -0
- package/dist/esm/api/table/index.js +1543 -0
- package/dist/esm/api/table/packets.js +895 -0
- package/dist/esm/api/table/table.js +380 -0
- package/dist/esm/app.js +259 -40
- package/dist/esm/const.js +11 -3
- package/dist/esm/errors.js +533 -40
- package/dist/esm/event/index.js +22 -0
- package/dist/esm/helper.js +15 -0
- package/dist/esm/identifier.js +244 -139
- package/dist/esm/index.js +4837 -6
- package/dist/esm/localization/index.js +742 -2
- package/dist/esm/localization/locale.js +741 -735
- package/dist/esm/localization/localization.js +4 -2
- package/dist/esm/lock.js +46 -0
- package/dist/esm/network/connection.js +288 -27
- package/dist/esm/network/encryption.js +977 -0
- package/dist/esm/network/frame-transport.js +525 -0
- package/dist/esm/network/index.js +1614 -2
- package/dist/esm/network/network.js +1337 -195
- package/dist/esm/network/packet/index.js +482 -2
- package/dist/esm/network/packet/packet-types.js +478 -80
- package/dist/esm/network/packet/packet.js +125 -16
- package/dist/esm/network/websocket-transport.js +487 -0
- package/dist/esm/omu.js +4621 -91
- package/dist/esm/serialize/bytebuffer.js +378 -0
- package/dist/esm/serialize/index.js +465 -0
- package/dist/esm/serialize/serializer.js +97 -0
- package/dist/esm/token.js +42 -18
- package/dist/esm/version.js +9 -2
- package/package.json +26 -33
- package/src/address.ts +1 -0
- package/src/api/asset/extension.ts +159 -0
- package/src/api/asset/index.ts +6 -0
- package/src/api/dashboard/extension.ts +614 -0
- package/src/api/dashboard/handler.ts +23 -0
- package/src/api/dashboard/index.ts +36 -0
- package/src/api/dashboard/packets.ts +126 -0
- package/src/api/endpoint/endpoint.ts +56 -0
- package/src/api/endpoint/extension.ts +133 -0
- package/src/api/endpoint/index.ts +3 -0
- package/src/api/endpoint/packets.ts +176 -0
- package/src/api/extension-registry.ts +17 -0
- package/src/{extension → api}/extension.ts +3 -4
- package/src/api/http/extension.ts +752 -0
- package/src/api/http/index.ts +2 -0
- package/src/{extension/i18n/i18n-extension.ts → api/i18n/extension.ts} +9 -10
- package/src/api/i18n/index.ts +2 -0
- package/src/{extension/logger/logger-extension.ts → api/logger/extension.ts} +16 -17
- package/src/api/logger/index.ts +4 -0
- package/src/{extension → api}/logger/packets.ts +3 -3
- package/src/{extension/permission/permission-extension.ts → api/permission/extension.ts} +24 -23
- package/src/api/permission/index.ts +2 -0
- package/src/{extension → api}/permission/permission.ts +8 -11
- package/src/{extension/plugin/plugin-extension.ts → api/plugin/extension.ts} +32 -19
- package/src/api/plugin/index.ts +3 -0
- package/src/{extension/registry/registry-extension.ts → api/registry/extension.ts} +76 -47
- package/src/api/registry/index.ts +3 -0
- package/src/api/registry/packets.ts +64 -0
- package/src/api/registry/registry.ts +73 -0
- package/src/api/server/extension.ts +126 -0
- package/src/api/server/index.ts +11 -0
- package/src/api/session/extension.ts +196 -0
- package/src/api/session/index.ts +7 -0
- package/src/{extension/signal/signal-extension.ts → api/signal/extension.ts} +42 -35
- package/src/api/signal/index.ts +1 -0
- package/src/api/signal/packets.ts +61 -0
- package/src/api/signal/signal.ts +67 -0
- package/src/{extension/table/table-extension.ts → api/table/extension.ts} +111 -154
- package/src/api/table/index.ts +3 -0
- package/src/{extension → api}/table/packets.ts +28 -27
- package/src/{extension → api}/table/table.ts +24 -18
- package/src/app.ts +43 -25
- package/src/const.ts +2 -2
- package/src/errors.ts +12 -0
- package/src/helper.ts +16 -0
- package/src/identifier.ts +59 -4
- package/src/index.ts +86 -5
- package/src/localization/index.ts +2 -2
- package/src/lock.ts +43 -0
- package/src/network/connection.ts +7 -5
- package/src/network/encryption.ts +221 -0
- package/src/network/frame-transport.ts +186 -0
- package/src/network/index.ts +4 -1
- package/src/network/network.ts +138 -90
- package/src/network/packet/index.ts +3 -2
- package/src/network/packet/packet-types.ts +79 -36
- package/src/network/packet/packet.ts +20 -11
- package/src/network/websocket-transport.ts +123 -0
- package/src/omu.ts +56 -30
- package/src/serialize/bytebuffer.ts +424 -0
- package/src/serialize/index.ts +2 -0
- package/src/serialize/serializer.ts +149 -0
- package/src/token.ts +28 -14
- package/src/version.ts +1 -1
- package/tsconfig.json +8 -2
- package/tsconfig.tsbuildinfo +1 -0
- package/LICENSE +0 -21
- package/dist/dts/address.d.ts.map +0 -1
- package/dist/dts/app.d.ts.map +0 -1
- package/dist/dts/bytebuffer.d.ts +0 -49
- package/dist/dts/bytebuffer.d.ts.map +0 -1
- package/dist/dts/client.d.ts +0 -48
- package/dist/dts/client.d.ts.map +0 -1
- package/dist/dts/const.d.ts.map +0 -1
- package/dist/dts/errors.d.ts.map +0 -1
- package/dist/dts/event-emitter.d.ts +0 -7
- package/dist/dts/event-emitter.d.ts.map +0 -1
- package/dist/dts/extension/asset/asset-extension.d.ts +0 -24
- package/dist/dts/extension/asset/asset-extension.d.ts.map +0 -1
- package/dist/dts/extension/asset/index.d.ts +0 -2
- package/dist/dts/extension/asset/index.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts +0 -29
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/dashboard.d.ts +0 -10
- package/dist/dts/extension/dashboard/dashboard.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/index.d.ts +0 -3
- package/dist/dts/extension/dashboard/index.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/packets.d.ts +0 -41
- package/dist/dts/extension/dashboard/packets.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/endpoint-extension.d.ts +0 -16
- package/dist/dts/extension/endpoint/endpoint-extension.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/endpoint.d.ts +0 -22
- package/dist/dts/extension/endpoint/endpoint.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/index.d.ts +0 -3
- package/dist/dts/extension/endpoint/index.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/packets.d.ts +0 -24
- package/dist/dts/extension/endpoint/packets.d.ts.map +0 -1
- package/dist/dts/extension/extension-registry.d.ts +0 -12
- package/dist/dts/extension/extension-registry.d.ts.map +0 -1
- package/dist/dts/extension/extension.d.ts +0 -13
- package/dist/dts/extension/extension.d.ts.map +0 -1
- package/dist/dts/extension/i18n/i18n-extension.d.ts +0 -21
- package/dist/dts/extension/i18n/i18n-extension.d.ts.map +0 -1
- package/dist/dts/extension/i18n/index.d.ts +0 -2
- package/dist/dts/extension/i18n/index.d.ts.map +0 -1
- package/dist/dts/extension/index.d.ts +0 -3
- package/dist/dts/extension/index.d.ts.map +0 -1
- package/dist/dts/extension/logger/index.d.ts +0 -2
- package/dist/dts/extension/logger/index.d.ts.map +0 -1
- package/dist/dts/extension/logger/logger-extension.d.ts +0 -25
- package/dist/dts/extension/logger/logger-extension.d.ts.map +0 -1
- package/dist/dts/extension/logger/packets.d.ts +0 -19
- package/dist/dts/extension/logger/packets.d.ts.map +0 -1
- package/dist/dts/extension/permission/index.d.ts +0 -3
- package/dist/dts/extension/permission/index.d.ts.map +0 -1
- package/dist/dts/extension/permission/permission-extension.d.ts +0 -18
- package/dist/dts/extension/permission/permission-extension.d.ts.map +0 -1
- package/dist/dts/extension/permission/permission.d.ts +0 -28
- package/dist/dts/extension/permission/permission.d.ts.map +0 -1
- package/dist/dts/extension/plugin/index.d.ts +0 -2
- package/dist/dts/extension/plugin/index.d.ts.map +0 -1
- package/dist/dts/extension/plugin/package-info.d.ts +0 -85
- package/dist/dts/extension/plugin/package-info.d.ts.map +0 -1
- package/dist/dts/extension/plugin/plugin-extension.d.ts +0 -34
- package/dist/dts/extension/plugin/plugin-extension.d.ts.map +0 -1
- package/dist/dts/extension/registry/index.d.ts +0 -3
- package/dist/dts/extension/registry/index.d.ts.map +0 -1
- package/dist/dts/extension/registry/packets.d.ts +0 -17
- package/dist/dts/extension/registry/packets.d.ts.map +0 -1
- package/dist/dts/extension/registry/registry-extension.d.ts +0 -19
- package/dist/dts/extension/registry/registry-extension.d.ts.map +0 -1
- package/dist/dts/extension/registry/registry.d.ts +0 -40
- package/dist/dts/extension/registry/registry.d.ts.map +0 -1
- package/dist/dts/extension/server/index.d.ts +0 -2
- package/dist/dts/extension/server/index.d.ts.map +0 -1
- package/dist/dts/extension/server/server-extension.d.ts +0 -41
- package/dist/dts/extension/server/server-extension.d.ts.map +0 -1
- package/dist/dts/extension/signal/index.d.ts +0 -3
- package/dist/dts/extension/signal/index.d.ts.map +0 -1
- package/dist/dts/extension/signal/packets.d.ts +0 -17
- package/dist/dts/extension/signal/packets.d.ts.map +0 -1
- package/dist/dts/extension/signal/signal-extension.d.ts +0 -18
- package/dist/dts/extension/signal/signal-extension.d.ts.map +0 -1
- package/dist/dts/extension/signal/signal.d.ts +0 -33
- package/dist/dts/extension/signal/signal.d.ts.map +0 -1
- package/dist/dts/extension/table/index.d.ts +0 -3
- package/dist/dts/extension/table/index.d.ts.map +0 -1
- package/dist/dts/extension/table/packets.d.ts +0 -66
- package/dist/dts/extension/table/packets.d.ts.map +0 -1
- package/dist/dts/extension/table/table-extension.d.ts +0 -31
- package/dist/dts/extension/table/table-extension.d.ts.map +0 -1
- package/dist/dts/extension/table/table.d.ts +0 -79
- package/dist/dts/extension/table/table.d.ts.map +0 -1
- package/dist/dts/identifier.d.ts.map +0 -1
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/interface.d.ts +0 -7
- package/dist/dts/interface.d.ts.map +0 -1
- package/dist/dts/localization/index.d.ts.map +0 -1
- package/dist/dts/localization/locale.d.ts.map +0 -1
- package/dist/dts/localization/localization.d.ts.map +0 -1
- package/dist/dts/model.d.ts +0 -5
- package/dist/dts/model.d.ts.map +0 -1
- package/dist/dts/network/connection.d.ts.map +0 -1
- package/dist/dts/network/index.d.ts.map +0 -1
- package/dist/dts/network/network.d.ts.map +0 -1
- package/dist/dts/network/packet/index.d.ts.map +0 -1
- package/dist/dts/network/packet/packet-types.d.ts.map +0 -1
- package/dist/dts/network/packet/packet.d.ts.map +0 -1
- package/dist/dts/network/websocket-connection.d.ts +0 -20
- package/dist/dts/network/websocket-connection.d.ts.map +0 -1
- package/dist/dts/omu.d.ts.map +0 -1
- package/dist/dts/serializer.d.ts +0 -22
- package/dist/dts/serializer.d.ts.map +0 -1
- package/dist/dts/token.d.ts.map +0 -1
- package/dist/dts/version.d.ts.map +0 -1
- package/dist/esm/address.js.map +0 -1
- package/dist/esm/app.js.map +0 -1
- package/dist/esm/bytebuffer.js +0 -191
- package/dist/esm/bytebuffer.js.map +0 -1
- package/dist/esm/client.js +0 -2
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/const.js.map +0 -1
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/event-emitter.js +0 -15
- package/dist/esm/event-emitter.js.map +0 -1
- package/dist/esm/extension/asset/asset-extension.js +0 -104
- package/dist/esm/extension/asset/asset-extension.js.map +0 -1
- package/dist/esm/extension/asset/index.js +0 -2
- package/dist/esm/extension/asset/index.js.map +0 -1
- package/dist/esm/extension/dashboard/dashboard-extension.js +0 -186
- package/dist/esm/extension/dashboard/dashboard-extension.js.map +0 -1
- package/dist/esm/extension/dashboard/dashboard.js +0 -2
- package/dist/esm/extension/dashboard/dashboard.js.map +0 -1
- package/dist/esm/extension/dashboard/index.js +0 -2
- package/dist/esm/extension/dashboard/index.js.map +0 -1
- package/dist/esm/extension/dashboard/packets.js +0 -96
- package/dist/esm/extension/dashboard/packets.js.map +0 -1
- package/dist/esm/extension/endpoint/endpoint-extension.js +0 -86
- package/dist/esm/extension/endpoint/endpoint-extension.js.map +0 -1
- package/dist/esm/extension/endpoint/endpoint.js +0 -22
- package/dist/esm/extension/endpoint/endpoint.js.map +0 -1
- package/dist/esm/extension/endpoint/index.js +0 -2
- package/dist/esm/extension/endpoint/index.js.map +0 -1
- package/dist/esm/extension/endpoint/packets.js +0 -77
- package/dist/esm/extension/endpoint/packets.js.map +0 -1
- package/dist/esm/extension/extension-registry.js +0 -34
- package/dist/esm/extension/extension-registry.js.map +0 -1
- package/dist/esm/extension/extension.js +0 -16
- package/dist/esm/extension/extension.js.map +0 -1
- package/dist/esm/extension/i18n/i18n-extension.js +0 -68
- package/dist/esm/extension/i18n/i18n-extension.js.map +0 -1
- package/dist/esm/extension/i18n/index.js +0 -2
- package/dist/esm/extension/i18n/index.js.map +0 -1
- package/dist/esm/extension/index.js +0 -3
- package/dist/esm/extension/index.js.map +0 -1
- package/dist/esm/extension/logger/index.js +0 -2
- package/dist/esm/extension/logger/index.js.map +0 -1
- package/dist/esm/extension/logger/logger-extension.js +0 -60
- package/dist/esm/extension/logger/logger-extension.js.map +0 -1
- package/dist/esm/extension/logger/packets.js +0 -33
- package/dist/esm/extension/logger/packets.js.map +0 -1
- package/dist/esm/extension/permission/index.js +0 -3
- package/dist/esm/extension/permission/index.js.map +0 -1
- package/dist/esm/extension/permission/permission-extension.js +0 -74
- package/dist/esm/extension/permission/permission-extension.js.map +0 -1
- package/dist/esm/extension/permission/permission.js +0 -28
- package/dist/esm/extension/permission/permission.js.map +0 -1
- package/dist/esm/extension/plugin/index.js +0 -2
- package/dist/esm/extension/plugin/index.js.map +0 -1
- package/dist/esm/extension/plugin/package-info.js +0 -2
- package/dist/esm/extension/plugin/package-info.js.map +0 -1
- package/dist/esm/extension/plugin/plugin-extension.js +0 -63
- package/dist/esm/extension/plugin/plugin-extension.js.map +0 -1
- package/dist/esm/extension/registry/index.js +0 -3
- package/dist/esm/extension/registry/index.js.map +0 -1
- package/dist/esm/extension/registry/packets.js +0 -48
- package/dist/esm/extension/registry/packets.js.map +0 -1
- package/dist/esm/extension/registry/registry-extension.js +0 -134
- package/dist/esm/extension/registry/registry-extension.js.map +0 -1
- package/dist/esm/extension/registry/registry.js +0 -55
- package/dist/esm/extension/registry/registry.js.map +0 -1
- package/dist/esm/extension/server/index.js +0 -2
- package/dist/esm/extension/server/index.js.map +0 -1
- package/dist/esm/extension/server/server-extension.js +0 -138
- package/dist/esm/extension/server/server-extension.js.map +0 -1
- package/dist/esm/extension/signal/index.js +0 -3
- package/dist/esm/extension/signal/index.js.map +0 -1
- package/dist/esm/extension/signal/packets.js +0 -44
- package/dist/esm/extension/signal/packets.js.map +0 -1
- package/dist/esm/extension/signal/signal-extension.js +0 -95
- package/dist/esm/extension/signal/signal-extension.js.map +0 -1
- package/dist/esm/extension/signal/signal.js +0 -53
- package/dist/esm/extension/signal/signal.js.map +0 -1
- package/dist/esm/extension/table/index.js +0 -3
- package/dist/esm/extension/table/index.js.map +0 -1
- package/dist/esm/extension/table/packets.js +0 -252
- package/dist/esm/extension/table/packets.js.map +0 -1
- package/dist/esm/extension/table/table-extension.js +0 -454
- package/dist/esm/extension/table/table-extension.js.map +0 -1
- package/dist/esm/extension/table/table.js +0 -20
- package/dist/esm/extension/table/table.js.map +0 -1
- package/dist/esm/identifier.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interface.js +0 -2
- package/dist/esm/interface.js.map +0 -1
- package/dist/esm/localization/index.js.map +0 -1
- package/dist/esm/localization/locale.js.map +0 -1
- package/dist/esm/localization/localization.js.map +0 -1
- package/dist/esm/model.js +0 -2
- package/dist/esm/model.js.map +0 -1
- package/dist/esm/network/connection.js.map +0 -1
- package/dist/esm/network/index.js.map +0 -1
- package/dist/esm/network/network.js.map +0 -1
- package/dist/esm/network/packet/index.js.map +0 -1
- package/dist/esm/network/packet/packet-types.js.map +0 -1
- package/dist/esm/network/packet/packet.js.map +0 -1
- package/dist/esm/network/websocket-connection.js +0 -95
- package/dist/esm/network/websocket-connection.js.map +0 -1
- package/dist/esm/omu.js.map +0 -1
- package/dist/esm/serializer.js +0 -55
- package/dist/esm/serializer.js.map +0 -1
- package/dist/esm/token.js.map +0 -1
- package/dist/esm/version.js.map +0 -1
- package/eslint.config.js +0 -6
- package/src/bytebuffer.ts +0 -222
- package/src/client.ts +0 -53
- package/src/extension/asset/asset-extension.ts +0 -148
- package/src/extension/asset/index.ts +0 -6
- package/src/extension/dashboard/dashboard-extension.ts +0 -238
- package/src/extension/dashboard/dashboard.ts +0 -11
- package/src/extension/dashboard/index.ts +0 -9
- package/src/extension/dashboard/packets.ts +0 -98
- package/src/extension/endpoint/endpoint-extension.ts +0 -125
- package/src/extension/endpoint/endpoint.ts +0 -58
- package/src/extension/endpoint/index.ts +0 -3
- package/src/extension/endpoint/packets.ts +0 -78
- package/src/extension/extension-registry.ts +0 -39
- package/src/extension/i18n/index.ts +0 -2
- package/src/extension/logger/index.ts +0 -5
- package/src/extension/permission/index.ts +0 -3
- package/src/extension/plugin/index.ts +0 -4
- package/src/extension/registry/index.ts +0 -3
- package/src/extension/registry/packets.ts +0 -50
- package/src/extension/registry/registry.ts +0 -98
- package/src/extension/server/index.ts +0 -6
- package/src/extension/server/server-extension.ts +0 -173
- package/src/extension/signal/index.ts +0 -3
- package/src/extension/signal/packets.ts +0 -46
- package/src/extension/signal/signal.ts +0 -89
- package/src/extension/table/index.ts +0 -3
- package/src/interface.ts +0 -8
- package/src/model.ts +0 -4
- package/src/network/websocket-connection.ts +0 -109
- package/src/serializer.ts +0 -89
- /package/src/{extension → api}/index.ts +0 -0
- /package/src/{extension → api}/plugin/package-info.ts +0 -0
- /package/src/{event-emitter.ts → event/index.ts} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { Identifier } from '../../identifier';
|
|
2
|
+
import { ByteReader, ByteWriter, Flags } from '../../serialize';
|
|
3
3
|
|
|
4
4
|
import type { TableConfig } from './table.js';
|
|
5
5
|
|
|
@@ -13,7 +13,7 @@ export class TablePacket {
|
|
|
13
13
|
}
|
|
14
14
|
|
|
15
15
|
public static deserialize(data: Uint8Array): TablePacket {
|
|
16
|
-
const reader =
|
|
16
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
17
17
|
const id = Identifier.fromKey(reader.readString());
|
|
18
18
|
return new TablePacket(id);
|
|
19
19
|
}
|
|
@@ -28,22 +28,22 @@ export class TableItemsPacket {
|
|
|
28
28
|
public static serialize(packet: TableItemsPacket): Uint8Array {
|
|
29
29
|
const writer = new ByteWriter();
|
|
30
30
|
writer.writeString(packet.id.key());
|
|
31
|
-
writer.
|
|
31
|
+
writer.writeULEB128(Object.keys(packet.items).length);
|
|
32
32
|
for (const [key, value] of Object.entries(packet.items)) {
|
|
33
33
|
writer.writeString(key);
|
|
34
|
-
writer.
|
|
34
|
+
writer.writeUint8Array(value);
|
|
35
35
|
}
|
|
36
36
|
return writer.finish();
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
public static deserialize(data: Uint8Array): TableItemsPacket {
|
|
40
|
-
const reader =
|
|
40
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
41
41
|
const id = Identifier.fromKey(reader.readString());
|
|
42
|
-
const count = reader.
|
|
42
|
+
const count = reader.readULEB128();
|
|
43
43
|
const items: Record<string, Uint8Array> = {};
|
|
44
44
|
for (let i = 0; i < count; i++) {
|
|
45
45
|
const key = reader.readString();
|
|
46
|
-
const value = reader.
|
|
46
|
+
const value = reader.readUint8Array();
|
|
47
47
|
items[key] = value;
|
|
48
48
|
}
|
|
49
49
|
return new TableItemsPacket(id, items);
|
|
@@ -59,7 +59,7 @@ export class TableKeysPacket {
|
|
|
59
59
|
public static serialize(packet: TableKeysPacket): Uint8Array {
|
|
60
60
|
const writer = new ByteWriter();
|
|
61
61
|
writer.writeString(packet.id.key());
|
|
62
|
-
writer.
|
|
62
|
+
writer.writeULEB128(packet.keys.length);
|
|
63
63
|
for (const key of packet.keys) {
|
|
64
64
|
writer.writeString(key);
|
|
65
65
|
}
|
|
@@ -67,9 +67,9 @@ export class TableKeysPacket {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
public static deserialize(data: Uint8Array): TableKeysPacket {
|
|
70
|
-
const reader =
|
|
70
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
71
71
|
const id = Identifier.fromKey(reader.readString());
|
|
72
|
-
const count = reader.
|
|
72
|
+
const count = reader.readULEB128();
|
|
73
73
|
const keys: string[] = [];
|
|
74
74
|
for (let i = 0; i < count; i++) {
|
|
75
75
|
keys.push(reader.readString());
|
|
@@ -88,24 +88,24 @@ export class TableProxyPacket {
|
|
|
88
88
|
public static serialize(packet: TableProxyPacket): Uint8Array {
|
|
89
89
|
const writer = new ByteWriter();
|
|
90
90
|
writer.writeString(packet.id.key());
|
|
91
|
-
writer.
|
|
92
|
-
writer.
|
|
91
|
+
writer.writeULEB128(packet.key);
|
|
92
|
+
writer.writeULEB128(Object.keys(packet.items).length);
|
|
93
93
|
for (const [key, value] of Object.entries(packet.items)) {
|
|
94
94
|
writer.writeString(key);
|
|
95
|
-
writer.
|
|
95
|
+
writer.writeUint8Array(value);
|
|
96
96
|
}
|
|
97
97
|
return writer.finish();
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
public static deserialize(data: Uint8Array): TableProxyPacket {
|
|
101
|
-
const reader =
|
|
101
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
102
102
|
const id = Identifier.fromKey(reader.readString());
|
|
103
|
-
const key = reader.
|
|
104
|
-
const count = reader.
|
|
103
|
+
const key = reader.readULEB128();
|
|
104
|
+
const count = reader.readULEB128();
|
|
105
105
|
const items: Record<string, Uint8Array> = {};
|
|
106
106
|
for (let i = 0; i < count; i++) {
|
|
107
107
|
const key = reader.readString();
|
|
108
|
-
const value = reader.
|
|
108
|
+
const value = reader.readUint8Array();
|
|
109
109
|
items[key] = value;
|
|
110
110
|
}
|
|
111
111
|
return new TableProxyPacket(id, items, key);
|
|
@@ -122,8 +122,8 @@ export class TableFetchPacket {
|
|
|
122
122
|
public static serialize(packet: TableFetchPacket): Uint8Array {
|
|
123
123
|
const writer = new ByteWriter();
|
|
124
124
|
writer.writeString(packet.id.key());
|
|
125
|
-
writer.
|
|
126
|
-
const flags = new Flags({length: 2});
|
|
125
|
+
writer.writeULEB128(packet.limit);
|
|
126
|
+
const flags = new Flags({ length: 2 });
|
|
127
127
|
flags.set(0, packet.backward);
|
|
128
128
|
flags.set(1, packet.cursor !== null);
|
|
129
129
|
writer.writeFlags(flags);
|
|
@@ -134,9 +134,9 @@ export class TableFetchPacket {
|
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
public static deserialize(data: Uint8Array): TableFetchPacket {
|
|
137
|
-
const reader =
|
|
137
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
138
138
|
const id = Identifier.fromKey(reader.readString());
|
|
139
|
-
const limit = reader.
|
|
139
|
+
const limit = reader.readULEB128();
|
|
140
140
|
const flags = reader.readFlags(2);
|
|
141
141
|
const backward = flags.get(0);
|
|
142
142
|
const cursor = flags.ifSet(1, () => reader.readString());
|
|
@@ -160,7 +160,7 @@ export class TableFetchRangePacket {
|
|
|
160
160
|
}
|
|
161
161
|
|
|
162
162
|
public static deserialize(data: Uint8Array): TableFetchRangePacket {
|
|
163
|
-
const reader =
|
|
163
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
164
164
|
const id = Identifier.fromKey(reader.readString());
|
|
165
165
|
const start = reader.readString();
|
|
166
166
|
const end = reader.readString();
|
|
@@ -182,7 +182,7 @@ export class SetConfigPacket {
|
|
|
182
182
|
}
|
|
183
183
|
|
|
184
184
|
public static deserialize(data: Uint8Array): SetConfigPacket {
|
|
185
|
-
const reader =
|
|
185
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
186
186
|
const id = Identifier.fromKey(reader.readString());
|
|
187
187
|
const config = JSON.parse(reader.readString());
|
|
188
188
|
return new SetConfigPacket(id, config);
|
|
@@ -218,7 +218,7 @@ export class SetPermissionPacket {
|
|
|
218
218
|
if (packet.proxy !== null) {
|
|
219
219
|
flags |= 0b10000;
|
|
220
220
|
}
|
|
221
|
-
writer.
|
|
221
|
+
writer.writeUint8(flags);
|
|
222
222
|
if (packet.all) {
|
|
223
223
|
writer.writeString(packet.all.key());
|
|
224
224
|
}
|
|
@@ -238,9 +238,9 @@ export class SetPermissionPacket {
|
|
|
238
238
|
}
|
|
239
239
|
|
|
240
240
|
public static deserialize(data: Uint8Array): SetPermissionPacket {
|
|
241
|
-
const reader =
|
|
241
|
+
const reader = ByteReader.fromUint8Array(data);
|
|
242
242
|
const id = Identifier.fromKey(reader.readString());
|
|
243
|
-
const flags = reader.
|
|
243
|
+
const flags = reader.readUint8();
|
|
244
244
|
const all = flags & 0b1 ? Identifier.fromKey(reader.readString()) : null;
|
|
245
245
|
const read = flags & 0b10 ? Identifier.fromKey(reader.readString()) : null;
|
|
246
246
|
const write = flags & 0b100 ? Identifier.fromKey(reader.readString()) : null;
|
|
@@ -249,3 +249,4 @@ export class SetPermissionPacket {
|
|
|
249
249
|
return new SetPermissionPacket(id, all, read, write, remove, proxy);
|
|
250
250
|
}
|
|
251
251
|
}
|
|
252
|
+
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import type { EventEmitter, Unlisten } from '../../event
|
|
2
|
-
import
|
|
3
|
-
import type {
|
|
4
|
-
import
|
|
5
|
-
import type { Serializable } from '../../serializer.js';
|
|
6
|
-
import { Serializer } from '../../serializer.js';
|
|
7
|
-
import type { ExtensionType } from '../extension.js';
|
|
1
|
+
import type { EventEmitter, Unlisten } from '../../event';
|
|
2
|
+
import { Identifier, IntoId } from '../../identifier';
|
|
3
|
+
import type { JsonType, Serializable } from '../../serialize';
|
|
4
|
+
import { Serializer } from '../../serialize';
|
|
8
5
|
|
|
9
6
|
export type TableConfig = {
|
|
10
7
|
cache_size: number;
|
|
@@ -67,41 +64,50 @@ export class TableType<T> {
|
|
|
67
64
|
public id: Identifier,
|
|
68
65
|
public serializer: Serializable<T, Uint8Array>,
|
|
69
66
|
public keyFunction: (item: T) => string,
|
|
70
|
-
public permissions?: TablePermissions,
|
|
67
|
+
public permissions?: TablePermissions | undefined,
|
|
71
68
|
) {}
|
|
72
69
|
|
|
73
|
-
public static
|
|
74
|
-
identifier:
|
|
70
|
+
public static createJson<T, D extends JsonType = JsonType>(
|
|
71
|
+
identifier: IntoId,
|
|
75
72
|
{
|
|
76
73
|
name,
|
|
77
|
-
|
|
74
|
+
key,
|
|
78
75
|
permissions,
|
|
76
|
+
serializer,
|
|
79
77
|
}: {
|
|
80
78
|
name: string;
|
|
81
|
-
|
|
79
|
+
key: (item: T) => string;
|
|
82
80
|
permissions?: TablePermissions;
|
|
81
|
+
serializer?: Serializable<T, D>;
|
|
83
82
|
},
|
|
84
83
|
): TableType<T> {
|
|
85
84
|
return new TableType<T>(
|
|
86
|
-
identifier.join(name),
|
|
87
|
-
Serializer.
|
|
88
|
-
|
|
85
|
+
Identifier.from(identifier).join(name),
|
|
86
|
+
Serializer.pipe<T, D, Uint8Array>(serializer ?? Serializer.noop(), Serializer.json()),
|
|
87
|
+
key,
|
|
89
88
|
permissions,
|
|
90
89
|
);
|
|
91
90
|
}
|
|
92
91
|
|
|
93
|
-
public static
|
|
94
|
-
identifier:
|
|
92
|
+
public static createSerialized<T>(
|
|
93
|
+
identifier: IntoId,
|
|
95
94
|
{
|
|
96
95
|
name,
|
|
97
96
|
key,
|
|
98
97
|
permissions,
|
|
98
|
+
serializer,
|
|
99
99
|
}: {
|
|
100
100
|
name: string;
|
|
101
101
|
key: (item: T) => string;
|
|
102
102
|
permissions?: TablePermissions;
|
|
103
|
+
serializer: Serializable<T, Uint8Array>;
|
|
103
104
|
},
|
|
104
105
|
): TableType<T> {
|
|
105
|
-
return new TableType<T>(
|
|
106
|
+
return new TableType<T>(
|
|
107
|
+
Identifier.from(identifier).join(name),
|
|
108
|
+
serializer,
|
|
109
|
+
key,
|
|
110
|
+
permissions,
|
|
111
|
+
);
|
|
106
112
|
}
|
|
107
113
|
}
|
package/src/app.ts
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import { Identifier } from './identifier
|
|
2
|
-
import type { Keyable } from './interface.js';
|
|
1
|
+
import { Identifier, IntoId } from './identifier';
|
|
3
2
|
import type { Locale } from './localization/locale.js';
|
|
4
3
|
import type { LocalizedText } from './localization/localization.js';
|
|
5
|
-
import type { Model } from './model.js';
|
|
6
4
|
|
|
7
5
|
export type AppMetadata = {
|
|
8
6
|
locale: Locale;
|
|
@@ -15,63 +13,83 @@ export type AppMetadata = {
|
|
|
15
13
|
authors?: LocalizedText;
|
|
16
14
|
license?: LocalizedText;
|
|
17
15
|
tags?: string[];
|
|
18
|
-
}
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export type AppType = 'app' | 'service' | 'remote' | 'plugin' | 'dashboard';
|
|
19
19
|
|
|
20
|
-
export type
|
|
20
|
+
export type DependencySpecifier = {
|
|
21
|
+
version: string;
|
|
22
|
+
index?: string;
|
|
23
|
+
};
|
|
21
24
|
|
|
22
25
|
export type AppJson = {
|
|
23
26
|
id: string;
|
|
27
|
+
type: AppType;
|
|
28
|
+
parent_id?: string;
|
|
24
29
|
version?: string;
|
|
25
30
|
url?: string;
|
|
26
|
-
type?: AppType;
|
|
27
31
|
metadata?: AppMetadata;
|
|
28
|
-
|
|
32
|
+
dependencies?: Record<string, DependencySpecifier | string>;
|
|
33
|
+
};
|
|
29
34
|
|
|
30
|
-
export class App
|
|
35
|
+
export class App {
|
|
31
36
|
public readonly id: Identifier;
|
|
37
|
+
public readonly type: AppType;
|
|
38
|
+
public readonly parentId?: Identifier;
|
|
32
39
|
public readonly version?: string;
|
|
33
40
|
public readonly url?: string;
|
|
34
41
|
public readonly metadata?: AppMetadata;
|
|
35
|
-
public readonly
|
|
42
|
+
public readonly dependencies: Record<string, DependencySpecifier | string>;
|
|
36
43
|
|
|
37
|
-
constructor(id:
|
|
44
|
+
constructor(id: IntoId, options: {
|
|
45
|
+
type?: AppType;
|
|
46
|
+
parentId?: IntoId;
|
|
38
47
|
version?: string;
|
|
39
48
|
url?: string;
|
|
40
49
|
metadata?: AppMetadata;
|
|
41
|
-
|
|
50
|
+
dependencies?: Record<string, DependencySpecifier | string>;
|
|
42
51
|
}) {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
} else {
|
|
46
|
-
this.id = id;
|
|
47
|
-
}
|
|
52
|
+
this.id = Identifier.from(id);
|
|
53
|
+
this.parentId = Identifier.fromOptional(options.parentId);
|
|
48
54
|
this.version = options.version;
|
|
49
55
|
this.url = options.url;
|
|
50
56
|
this.metadata = options.metadata;
|
|
51
|
-
this.type = options.type;
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
public key(): string {
|
|
55
|
-
return this.id.key();
|
|
57
|
+
this.type = options.type ?? 'app';
|
|
58
|
+
this.dependencies = options.dependencies ?? {};
|
|
56
59
|
}
|
|
57
60
|
|
|
58
|
-
public static
|
|
61
|
+
public static deserialize(info: AppJson): App {
|
|
59
62
|
const id = Identifier.fromKey(info.id);
|
|
60
63
|
return new App(id, {
|
|
64
|
+
parentId: Identifier.fromOptional(info.parent_id),
|
|
61
65
|
version: info.version,
|
|
62
66
|
url: info.url,
|
|
63
67
|
type: info.type,
|
|
64
68
|
metadata: info.metadata,
|
|
69
|
+
dependencies: info.dependencies ?? {},
|
|
65
70
|
});
|
|
66
71
|
}
|
|
67
72
|
|
|
68
|
-
public
|
|
73
|
+
public static serialize(data: App): AppJson {
|
|
69
74
|
return {
|
|
70
|
-
id:
|
|
75
|
+
id: data.id.key(),
|
|
76
|
+
type: data.type,
|
|
77
|
+
parent_id: data.parentId?.key(),
|
|
78
|
+
version: data.version,
|
|
79
|
+
url: data.url,
|
|
80
|
+
metadata: data.metadata,
|
|
81
|
+
dependencies: data.dependencies,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
public join(...paths: string[]): App {
|
|
86
|
+
return new App(this.id.join(...paths), {
|
|
87
|
+
parentId: this.parentId,
|
|
71
88
|
version: this.version,
|
|
72
89
|
url: this.url,
|
|
73
90
|
type: this.type,
|
|
74
91
|
metadata: this.metadata,
|
|
75
|
-
|
|
92
|
+
dependencies: this.dependencies,
|
|
93
|
+
});
|
|
76
94
|
}
|
|
77
95
|
}
|
package/src/const.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const textEncoder = new TextEncoder();
|
|
2
|
-
export const textDecoder = new TextDecoder();
|
|
1
|
+
export const textEncoder: TextEncoder = new TextEncoder();
|
|
2
|
+
export const textDecoder: TextDecoder = new TextDecoder();
|
package/src/errors.ts
CHANGED
|
@@ -15,6 +15,12 @@ export class DisconnectReason extends OmuError {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
export class ServerRestart extends DisconnectReason {
|
|
19
|
+
constructor(message: string) {
|
|
20
|
+
super(DisconnectType.SERVER_RESTART, message);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
18
24
|
export class AnotherConnection extends DisconnectReason {
|
|
19
25
|
constructor(message: string) {
|
|
20
26
|
super(DisconnectType.ANOTHER_CONNECTION, message);
|
|
@@ -27,6 +33,12 @@ export class PermissionDenied extends DisconnectReason {
|
|
|
27
33
|
}
|
|
28
34
|
}
|
|
29
35
|
|
|
36
|
+
export class AppRemoved extends DisconnectReason {
|
|
37
|
+
constructor(message: string) {
|
|
38
|
+
super(DisconnectType.APP_REMOVED, message);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
30
42
|
export class InvalidToken extends DisconnectReason {
|
|
31
43
|
constructor(message: string) {
|
|
32
44
|
super(DisconnectType.INVALID_TOKEN, message);
|
package/src/helper.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
type Ok<T> = {
|
|
2
|
+
ok: true;
|
|
3
|
+
data: T;
|
|
4
|
+
};
|
|
5
|
+
type Err<E> = {
|
|
6
|
+
ok: false;
|
|
7
|
+
data: E;
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export function tryCatch<T, E = Error>(func: () => T): Ok<T> | Err<E> {
|
|
11
|
+
try {
|
|
12
|
+
return { ok: true, data: func() };
|
|
13
|
+
} catch (e) {
|
|
14
|
+
return { ok: false, data: e as E };
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/identifier.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
1
|
+
import type { ExtensionType } from './api';
|
|
2
|
+
import { App } from './app';
|
|
3
3
|
|
|
4
4
|
const NAMESPACE_REGEX = /^(\.[^/:.]|[\w-])+$/;
|
|
5
5
|
const NAME_REGEX = /^[^/:]+$/;
|
|
6
6
|
|
|
7
|
-
export
|
|
7
|
+
export type IntoId = Identifier | string | ExtensionType | App;
|
|
8
|
+
|
|
9
|
+
export class Identifier {
|
|
8
10
|
public readonly namespace: string;
|
|
9
11
|
public readonly path: string[];
|
|
10
12
|
|
|
@@ -17,6 +19,47 @@ export class Identifier implements Model<string>, Keyable {
|
|
|
17
19
|
this.path = path;
|
|
18
20
|
}
|
|
19
21
|
|
|
22
|
+
public static serialize(identifier: Identifier): string {
|
|
23
|
+
return identifier.key();
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public static deserialize(json: string): Identifier {
|
|
27
|
+
return Identifier.fromJson(json);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public static from(id: IntoId): Identifier {
|
|
31
|
+
if (id instanceof Identifier) {
|
|
32
|
+
return id;
|
|
33
|
+
} else if (id instanceof App) {
|
|
34
|
+
return id.id;
|
|
35
|
+
} else if (typeof id === 'string') {
|
|
36
|
+
return Identifier.fromKey(id);
|
|
37
|
+
} else {
|
|
38
|
+
// Try to infer
|
|
39
|
+
// Vite does not preserve class information when importing from different packages
|
|
40
|
+
const idCasted = id as { namespace: string; path: string[] };
|
|
41
|
+
if (
|
|
42
|
+
typeof idCasted.namespace === 'string' &&
|
|
43
|
+
Array.isArray(idCasted.path) &&
|
|
44
|
+
idCasted.path.every((p) => typeof p === 'string')
|
|
45
|
+
) {
|
|
46
|
+
return new Identifier(idCasted.namespace, ...idCasted.path);
|
|
47
|
+
}
|
|
48
|
+
const idWithId = id as { id: IntoId | undefined };
|
|
49
|
+
if (typeof idWithId.id !== 'undefined') {
|
|
50
|
+
return Identifier.from(idWithId.id);
|
|
51
|
+
}
|
|
52
|
+
throw new Error(`Cannot convert to Identifier: ${id}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public static fromOptional(id: IntoId | undefined | null): Identifier | undefined {
|
|
57
|
+
if (id === undefined || id === null) {
|
|
58
|
+
return undefined;
|
|
59
|
+
}
|
|
60
|
+
return Identifier.from(id);
|
|
61
|
+
}
|
|
62
|
+
|
|
20
63
|
static validate(namespace: string, path: string[]): void {
|
|
21
64
|
if (!namespace) {
|
|
22
65
|
throw new Error('Invalid namespace: Namespace cannot be empty');
|
|
@@ -29,7 +72,7 @@ export class Identifier implements Model<string>, Keyable {
|
|
|
29
72
|
}
|
|
30
73
|
for (const name of path) {
|
|
31
74
|
if (!NAME_REGEX.test(name)) {
|
|
32
|
-
throw new Error(`Invalid path: Name must match ${NAME_REGEX}`);
|
|
75
|
+
throw new Error(`Invalid path: Name must match ${NAME_REGEX} but got ${name}`);
|
|
33
76
|
}
|
|
34
77
|
}
|
|
35
78
|
}
|
|
@@ -83,6 +126,10 @@ export class Identifier implements Model<string>, Keyable {
|
|
|
83
126
|
return this.key() === other.key();
|
|
84
127
|
}
|
|
85
128
|
|
|
129
|
+
public isNamespaceEqual(other: Identifier): boolean {
|
|
130
|
+
return this.namespace === other.namespace;
|
|
131
|
+
}
|
|
132
|
+
|
|
86
133
|
public isSubpathOf(other: Identifier): boolean {
|
|
87
134
|
if (this.namespace !== other.namespace) {
|
|
88
135
|
return false;
|
|
@@ -105,6 +152,14 @@ export class Identifier implements Model<string>, Keyable {
|
|
|
105
152
|
|
|
106
153
|
export class IdentifierMap<T> {
|
|
107
154
|
private readonly map: Map<string, T> = new Map();
|
|
155
|
+
constructor(
|
|
156
|
+
entries?: Iterable<[Identifier, T]>,
|
|
157
|
+
) {
|
|
158
|
+
if (!entries) return;
|
|
159
|
+
for (const [id, value] of entries) {
|
|
160
|
+
this.map.set(id.key(), value);
|
|
161
|
+
}
|
|
162
|
+
}
|
|
108
163
|
|
|
109
164
|
public get size(): number {
|
|
110
165
|
return this.map.size;
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,88 @@
|
|
|
1
|
-
export { App } from './app.js';
|
|
2
|
-
export {
|
|
3
|
-
export
|
|
1
|
+
export { App, AppMetadata } from './app.js';
|
|
2
|
+
export { DisconnectReason } from './errors.js';
|
|
3
|
+
export { Identifier, IdentifierMap, IdentifierSet, IntoId } from './identifier';
|
|
4
|
+
export * as network from './network';
|
|
4
5
|
export { Omu } from './omu.js';
|
|
5
|
-
export { Serializer } from './
|
|
6
|
-
export type { Serializable } from './
|
|
6
|
+
export { Serializer } from './serialize';
|
|
7
|
+
export type { Serializable } from './serialize';
|
|
8
|
+
export { BrowserTokenProvider, type SessionParam, type TokenProvider } from './token';
|
|
9
|
+
import { ASSET_DELETE_PERMISSION_ID, ASSET_DOWNLOAD_PERMISSION_ID, ASSET_UPLOAD_PERMISSION_ID } from './api/asset';
|
|
10
|
+
import {
|
|
11
|
+
DASHBOARD_APP_INSTALL_PERMISSION_ID,
|
|
12
|
+
DAShBOARD_DRAG_DROP_PERMISSION_ID,
|
|
13
|
+
DASHBOARD_OPEN_APP_PERMISSION_ID,
|
|
14
|
+
DASHBOARD_SET_PERMISSION_ID,
|
|
15
|
+
DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID,
|
|
16
|
+
DASHBOARD_WEBVIEW_PERMISSION_ID,
|
|
17
|
+
DASHOBARD_APP_EDIT_PERMISSION_ID,
|
|
18
|
+
DASHOBARD_APP_READ_PERMISSION_ID,
|
|
19
|
+
} from './api/dashboard';
|
|
20
|
+
import { HTTP_REQUEST_PERMISSION_ID } from './api/http';
|
|
21
|
+
import { I18N_GET_LOCALES_PERMISSION_ID, I18N_SET_LOCALES_PERMISSION_ID } from './api/i18n';
|
|
22
|
+
import { LOGGER_LOG_PERMISSION_ID } from './api/logger';
|
|
23
|
+
import { PLUGIN_MANAGE_PACKAGE_PERMISSION_ID, PLUGIN_READ_PACKAGE_PERMISSION_ID } from './api/plugin';
|
|
24
|
+
import { REGISTRY_PERMISSION_ID } from './api/registry';
|
|
25
|
+
import { SERVER_APPS_READ_PERMISSION_ID, SERVER_SHUTDOWN_PERMISSION_ID, TRUSTED_ORIGINS_GET_PERMISSION_ID, TRUSTED_ORIGINS_SET_PERMISSION_ID } from './api/server';
|
|
26
|
+
import { GENERATE_TOKEN_PERMISSION_ID, REMOTE_APP_REQUEST_PERMISSION_ID, SESSIONS_READ_PERMISSION_ID } from './api/session';
|
|
27
|
+
import { TABLE_PERMISSION_ID } from './api/table';
|
|
28
|
+
import { Identifier } from './identifier';
|
|
7
29
|
|
|
30
|
+
export const OmuPermissions: {
|
|
31
|
+
// Asset API
|
|
32
|
+
readonly ASSET_DELETE_PERMISSION_ID: Identifier; readonly ASSET_DOWNLOAD_PERMISSION_ID: Identifier; readonly ASSET_UPLOAD_PERMISSION_ID: Identifier;
|
|
33
|
+
// Dashboard API
|
|
34
|
+
readonly DASHBOARD_APP_INSTALL_PERMISSION_ID: Identifier; readonly DAShBOARD_DRAG_DROP_PERMISSION_ID: Identifier; readonly DASHBOARD_OPEN_APP_PERMISSION_ID: Identifier; readonly DASHBOARD_SET_PERMISSION_ID: Identifier; readonly DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID: Identifier; readonly DASHBOARD_WEBVIEW_PERMISSION_ID: Identifier; readonly DASHOBARD_APP_EDIT_PERMISSION_ID: Identifier; readonly DASHOBARD_APP_READ_PERMISSION_ID: Identifier;
|
|
35
|
+
// HTTP API
|
|
36
|
+
readonly HTTP_REQUEST_PERMISSION_ID: Identifier;
|
|
37
|
+
// I18n API
|
|
38
|
+
readonly I18N_GET_LOCALES_PERMISSION_ID: Identifier; readonly I18N_SET_LOCALES_PERMISSION_ID: Identifier;
|
|
39
|
+
// Logger API
|
|
40
|
+
readonly LOGGER_LOG_PERMISSION_ID: Identifier;
|
|
41
|
+
// Plugin API
|
|
42
|
+
readonly PLUGIN_MANAGE_PACKAGE_PERMISSION_ID: Identifier; readonly PLUGIN_READ_PACKAGE_PERMISSION_ID: Identifier;
|
|
43
|
+
// Registry API
|
|
44
|
+
readonly REGISTRY_PERMISSION_ID: Identifier;
|
|
45
|
+
// Server API
|
|
46
|
+
readonly SERVER_APPS_READ_PERMISSION_ID: Identifier; readonly SERVER_SHUTDOWN_PERMISSION_ID: Identifier; readonly TRUSTED_ORIGINS_GET_PERMISSION_ID: Identifier; readonly TRUSTED_ORIGINS_SET_PERMISSION_ID: Identifier;
|
|
47
|
+
// Session API
|
|
48
|
+
readonly GENERATE_TOKEN_PERMISSION_ID: Identifier; readonly REMOTE_APP_REQUEST_PERMISSION_ID: Identifier; readonly SESSIONS_READ_PERMISSION_ID: Identifier;
|
|
49
|
+
// Table API
|
|
50
|
+
readonly TABLE_PERMISSION_ID: Identifier;
|
|
51
|
+
} = {
|
|
52
|
+
// Asset API
|
|
53
|
+
ASSET_DELETE_PERMISSION_ID,
|
|
54
|
+
ASSET_DOWNLOAD_PERMISSION_ID,
|
|
55
|
+
ASSET_UPLOAD_PERMISSION_ID,
|
|
56
|
+
// Dashboard API
|
|
57
|
+
DASHBOARD_APP_INSTALL_PERMISSION_ID,
|
|
58
|
+
DAShBOARD_DRAG_DROP_PERMISSION_ID,
|
|
59
|
+
DASHBOARD_OPEN_APP_PERMISSION_ID,
|
|
60
|
+
DASHBOARD_SET_PERMISSION_ID,
|
|
61
|
+
DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID,
|
|
62
|
+
DASHBOARD_WEBVIEW_PERMISSION_ID,
|
|
63
|
+
DASHOBARD_APP_EDIT_PERMISSION_ID,
|
|
64
|
+
DASHOBARD_APP_READ_PERMISSION_ID,
|
|
65
|
+
// HTTP API
|
|
66
|
+
HTTP_REQUEST_PERMISSION_ID,
|
|
67
|
+
// I18n API
|
|
68
|
+
I18N_GET_LOCALES_PERMISSION_ID,
|
|
69
|
+
I18N_SET_LOCALES_PERMISSION_ID,
|
|
70
|
+
// Logger API
|
|
71
|
+
LOGGER_LOG_PERMISSION_ID,
|
|
72
|
+
// Plugin API
|
|
73
|
+
PLUGIN_MANAGE_PACKAGE_PERMISSION_ID,
|
|
74
|
+
PLUGIN_READ_PACKAGE_PERMISSION_ID,
|
|
75
|
+
// Registry API
|
|
76
|
+
REGISTRY_PERMISSION_ID,
|
|
77
|
+
// Server API
|
|
78
|
+
SERVER_APPS_READ_PERMISSION_ID,
|
|
79
|
+
SERVER_SHUTDOWN_PERMISSION_ID,
|
|
80
|
+
TRUSTED_ORIGINS_GET_PERMISSION_ID,
|
|
81
|
+
TRUSTED_ORIGINS_SET_PERMISSION_ID,
|
|
82
|
+
// Session API
|
|
83
|
+
GENERATE_TOKEN_PERMISSION_ID,
|
|
84
|
+
REMOTE_APP_REQUEST_PERMISSION_ID,
|
|
85
|
+
SESSIONS_READ_PERMISSION_ID,
|
|
86
|
+
// Table API
|
|
87
|
+
TABLE_PERMISSION_ID,
|
|
88
|
+
} as const;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export { LocalizedText, Translations } from './localization.js';
|
|
1
|
+
export { Locale as Locale, LOCALE_NAMES } from './locale.js';
|
|
2
|
+
export type { LocalizedText, Translations } from './localization.js';
|
|
3
3
|
|
package/src/lock.ts
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
type Task = () => Promise<void>;
|
|
3
|
+
|
|
4
|
+
export class Lock {
|
|
5
|
+
private tasks: (Task)[] = [];
|
|
6
|
+
private waiter: Promise<void> | null = null;
|
|
7
|
+
|
|
8
|
+
private wait(): Promise<void> {
|
|
9
|
+
if (this.waiter) {
|
|
10
|
+
return this.waiter;
|
|
11
|
+
}
|
|
12
|
+
this.waiter = new Promise<void>((resolve) => {
|
|
13
|
+
const runTasks = async () => {
|
|
14
|
+
while (this.tasks.length > 0) {
|
|
15
|
+
const task = this.tasks.shift();
|
|
16
|
+
if (task) {
|
|
17
|
+
await task();
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
this.waiter = null;
|
|
21
|
+
resolve();
|
|
22
|
+
};
|
|
23
|
+
runTasks();
|
|
24
|
+
});
|
|
25
|
+
return this.waiter;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
public async use<T>(callback: () => Promise<T>): Promise<T> {
|
|
29
|
+
const promise = new Promise<T>((resolve, reject) => {
|
|
30
|
+
const task = async () => {
|
|
31
|
+
const promise = callback();
|
|
32
|
+
try {
|
|
33
|
+
resolve(await promise);
|
|
34
|
+
} catch (reason) {
|
|
35
|
+
reject(reason);
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
this.tasks.push(task);
|
|
39
|
+
});
|
|
40
|
+
await this.wait();
|
|
41
|
+
return promise;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { Identifier, IdentifierMap } from '../identifier
|
|
2
|
-
import type { Serializable } from '../
|
|
1
|
+
import { Identifier, IdentifierMap } from '../identifier';
|
|
2
|
+
import type { Serializable } from '../serialize';
|
|
3
3
|
|
|
4
|
-
import type { PacketData, PacketType } from './packet
|
|
5
|
-
import type { Packet } from './packet/packet.js';
|
|
4
|
+
import type { Packet, PacketData, PacketType } from './packet';
|
|
6
5
|
|
|
7
6
|
export class PacketMapper implements Serializable<Packet, PacketData> {
|
|
8
7
|
private readonly packetMap = new IdentifierMap<PacketType<unknown>>();
|
|
@@ -34,8 +33,11 @@ export class PacketMapper implements Serializable<Packet, PacketData> {
|
|
|
34
33
|
}
|
|
35
34
|
}
|
|
36
35
|
|
|
36
|
+
export interface Transport {
|
|
37
|
+
connect(): Promise<Connection>;
|
|
38
|
+
}
|
|
39
|
+
|
|
37
40
|
export interface Connection {
|
|
38
|
-
connect(): Promise<void>;
|
|
39
41
|
send(packet: Packet, serializer: Serializable<Packet, PacketData>): void;
|
|
40
42
|
receive(serializer: Serializable<Packet, PacketData>): Promise<Packet | null>;
|
|
41
43
|
close(): void;
|