@omujs/omu 0.6.21 → 0.6.22
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 +8 -0
- package/dist/dts/bytebuffer.d.ts +4 -1
- package/dist/dts/bytebuffer.d.ts.map +1 -1
- package/dist/dts/client.d.ts +2 -2
- package/dist/dts/client.d.ts.map +1 -1
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts +6 -0
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts.map +1 -1
- package/dist/dts/extension/dashboard/dashboard.d.ts +3 -1
- package/dist/dts/extension/dashboard/dashboard.d.ts.map +1 -1
- package/dist/dts/extension/dashboard/index.d.ts +1 -1
- package/dist/dts/extension/dashboard/index.d.ts.map +1 -1
- package/dist/dts/extension/dashboard/packets.d.ts +21 -0
- package/dist/dts/extension/dashboard/packets.d.ts.map +1 -1
- package/dist/dts/extension/i18n/i18n-extension.d.ts.map +1 -1
- package/dist/dts/extension/permission/permission.d.ts +1 -2
- package/dist/dts/extension/permission/permission.d.ts.map +1 -1
- package/dist/dts/extension/server/server-extension.d.ts +20 -1
- package/dist/dts/extension/server/server-extension.d.ts.map +1 -1
- package/dist/dts/extension/table/packets.d.ts +3 -3
- package/dist/dts/extension/table/packets.d.ts.map +1 -1
- package/dist/dts/extension/table/table-extension.d.ts.map +1 -1
- package/dist/dts/extension/table/table.d.ts +9 -3
- package/dist/dts/extension/table/table.d.ts.map +1 -1
- package/dist/dts/identifier.d.ts +1 -0
- package/dist/dts/identifier.d.ts.map +1 -1
- package/dist/dts/network/network.d.ts.map +1 -1
- package/dist/dts/network/packet/packet-types.d.ts +6 -0
- package/dist/dts/network/packet/packet-types.d.ts.map +1 -1
- package/dist/dts/omu.d.ts +2 -2
- package/dist/dts/omu.d.ts.map +1 -1
- package/dist/dts/version.d.ts +2 -0
- package/dist/dts/version.d.ts.map +1 -0
- package/dist/esm/bytebuffer.js +6 -6
- package/dist/esm/bytebuffer.js.map +1 -1
- package/dist/esm/extension/dashboard/dashboard-extension.js +68 -2
- package/dist/esm/extension/dashboard/dashboard-extension.js.map +1 -1
- package/dist/esm/extension/dashboard/index.js +1 -1
- package/dist/esm/extension/dashboard/index.js.map +1 -1
- package/dist/esm/extension/dashboard/packets.js +44 -0
- package/dist/esm/extension/dashboard/packets.js.map +1 -1
- package/dist/esm/extension/i18n/i18n-extension.js +2 -2
- package/dist/esm/extension/i18n/i18n-extension.js.map +1 -1
- package/dist/esm/extension/registry/registry.js +1 -1
- package/dist/esm/extension/registry/registry.js.map +1 -1
- package/dist/esm/extension/server/server-extension.js +78 -3
- package/dist/esm/extension/server/server-extension.js.map +1 -1
- package/dist/esm/extension/signal/signal.js +1 -1
- package/dist/esm/extension/signal/signal.js.map +1 -1
- package/dist/esm/extension/table/packets.js +16 -28
- package/dist/esm/extension/table/packets.js.map +1 -1
- package/dist/esm/extension/table/table-extension.js +59 -17
- package/dist/esm/extension/table/table-extension.js.map +1 -1
- package/dist/esm/extension/table/table.js.map +1 -1
- package/dist/esm/identifier.js +6 -8
- package/dist/esm/identifier.js.map +1 -1
- package/dist/esm/network/network.js +2 -0
- package/dist/esm/network/network.js.map +1 -1
- package/dist/esm/network/packet/packet-types.js +4 -0
- package/dist/esm/network/packet/packet-types.js.map +1 -1
- package/dist/esm/omu.js +4 -4
- package/dist/esm/omu.js.map +1 -1
- package/dist/esm/version.js +2 -0
- package/dist/esm/version.js.map +1 -0
- package/package.json +1 -1
- package/src/bytebuffer.ts +10 -7
- package/src/client.ts +2 -2
- package/src/extension/dashboard/dashboard-extension.ts +76 -1
- package/src/extension/dashboard/dashboard.ts +3 -1
- package/src/extension/dashboard/index.ts +7 -1
- package/src/extension/dashboard/packets.ts +46 -0
- package/src/extension/i18n/i18n-extension.ts +2 -4
- package/src/extension/permission/permission.ts +1 -1
- package/src/extension/registry/registry.ts +1 -1
- package/src/extension/server/server-extension.ts +102 -4
- package/src/extension/signal/signal.ts +1 -1
- package/src/extension/table/packets.ts +14 -26
- package/src/extension/table/table-extension.ts +78 -28
- package/src/extension/table/table.ts +8 -4
- package/src/identifier.ts +8 -8
- package/src/network/network.ts +2 -0
- package/src/network/packet/packet-types.ts +11 -0
- package/src/omu.ts +4 -4
- package/src/version.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/extension/table/table.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../../src/extension/table/table.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AA2DjD,MAAM,OAAO,SAAS;IAEP;IACA;IACA;IACA;IAJX,YACW,EAAc,EACd,UAAuC,EACvC,WAAgC,EAChC,WAA8B;QAH9B,OAAE,GAAF,EAAE,CAAY;QACd,eAAU,GAAV,UAAU,CAA6B;QACvC,gBAAW,GAAX,WAAW,CAAqB;QAChC,gBAAW,GAAX,WAAW,CAAmB;IACtC,CAAC;IAEG,MAAM,CAAC,WAAW,CACrB,UAAsC,EACtC,EACI,IAAI,EACJ,KAAK,EACL,WAAW,GAKd;QAED,OAAO,IAAI,SAAS,CAChB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAC/C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EACpB,WAAW,CACd,CAAC;IACN,CAAC;CACJ"}
|
package/dist/esm/identifier.js
CHANGED
|
@@ -44,17 +44,15 @@ export class Identifier {
|
|
|
44
44
|
return new Identifier(namespace, ...path.split('/'));
|
|
45
45
|
}
|
|
46
46
|
static fromUrl(url) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
parsedUrl = new URL(url);
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
parsedUrl = url;
|
|
53
|
-
}
|
|
54
|
-
const namespace = parsedUrl.hostname.split('.').reverse().join('.');
|
|
47
|
+
const parsedUrl = new URL(url);
|
|
48
|
+
const namespace = Identifier.namespaceFromUrl(parsedUrl.href);
|
|
55
49
|
const path = parsedUrl.pathname.slice(1).split('/');
|
|
56
50
|
return new Identifier(namespace, ...path);
|
|
57
51
|
}
|
|
52
|
+
static namespaceFromUrl(url) {
|
|
53
|
+
const parsed = new URL(url);
|
|
54
|
+
return parsed.hostname.split('.').reverse().join('.');
|
|
55
|
+
}
|
|
58
56
|
toJson() {
|
|
59
57
|
return this.key();
|
|
60
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../src/identifier.ts"],"names":[],"mappings":"AAGA,MAAM,eAAe,GAAG,qBAAqB,CAAC;AAC9C,MAAM,UAAU,GAAG,WAAW,CAAC;AAE/B,MAAM,OAAO,UAAU;IACH,SAAS,CAAS;IAClB,IAAI,CAAW;IAE/B,YACI,SAAiB,EACjB,GAAG,IAAc;QAEjB,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,SAAiB,EAAE,IAAc;QAC7C,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,2CAA2C,eAAe,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;YACnE,CAAC;QACL,CAAC;IACL,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,SAAiB,EAAE,GAAG,IAAc;QAC9C,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAW;QACtB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,SAAS,KAAK,CAAC,CAAC,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CAAC,6CAA6C,GAAG,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,SAAS,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACvE,CAAC;QACD,OAAO,IAAI,UAAU,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../src/identifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnotherConnection, InvalidOrigin, InvalidPacket, InvalidToken, InvalidVersion, PermissionDenied, } from '../errors.js';
|
|
2
2
|
import { EventEmitter } from '../event-emitter.js';
|
|
3
3
|
import { IdentifierMap } from '../identifier.js';
|
|
4
|
+
import { VERSION } from '../version.js';
|
|
4
5
|
import { PacketMapper } from './connection.js';
|
|
5
6
|
import { ConnectPacket, DisconnectType, PACKET_TYPES } from './packet/packet-types.js';
|
|
6
7
|
export var NetworkStatus;
|
|
@@ -111,6 +112,7 @@ export class Network {
|
|
|
111
112
|
type: PACKET_TYPES.CONNECT,
|
|
112
113
|
data: new ConnectPacket({
|
|
113
114
|
app: this.client.app,
|
|
115
|
+
protocol: { version: VERSION },
|
|
114
116
|
token,
|
|
115
117
|
}),
|
|
116
118
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,20 +5,24 @@ import { PacketType } from './packet.js';
|
|
|
5
5
|
const IDENTIFIER = new Identifier('core', 'packet');
|
|
6
6
|
export class ConnectPacket {
|
|
7
7
|
app;
|
|
8
|
+
protocol;
|
|
8
9
|
token;
|
|
9
10
|
constructor(options) {
|
|
10
11
|
this.app = options.app;
|
|
12
|
+
this.protocol = options.protocol;
|
|
11
13
|
this.token = options.token;
|
|
12
14
|
}
|
|
13
15
|
static fromJson(data) {
|
|
14
16
|
return new ConnectPacket({
|
|
15
17
|
app: App.fromJson(data.app),
|
|
18
|
+
protocol: data.protocol,
|
|
16
19
|
token: data.token,
|
|
17
20
|
});
|
|
18
21
|
}
|
|
19
22
|
toJson() {
|
|
20
23
|
return {
|
|
21
24
|
app: this.app.toJson(),
|
|
25
|
+
protocol: this.protocol,
|
|
22
26
|
token: this.token,
|
|
23
27
|
};
|
|
24
28
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"packet-types.js","sourceRoot":"","sources":["../../../../src/network/packet/packet-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"packet-types.js","sourceRoot":"","sources":["../../../../src/network/packet/packet-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAWpD,MAAM,OAAO,aAAa;IACN,GAAG,CAAM;IACT,QAAQ,CAAe;IACvB,KAAK,CAAU;IAE/B,YAAY,OAIX;QACG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAuB;QACnC,OAAO,IAAI,aAAa,CAAC;YACrB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,2DAAyC,CAAA;IACzC,yDAAuC,CAAA;IACvC,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACnB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAOD,MAAM,OAAO,gBAAgB;IACT,IAAI,CAAiB;IACrB,OAAO,CAAgB;IAEvC,YAAY,OAGX;QACG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA0B;QACtC,OAAO,IAAI,gBAAgB,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,UAAU,CAAC,UAAU,CAAgB,UAAU,EAAE;QACtD,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;KAC9C,CAAC;IACF,UAAU,EAAE,UAAU,CAAC,UAAU,CAAmB,UAAU,EAAE;QAC5D,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACjD,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAS,UAAU,EAAE;QAC7C,IAAI,EAAE,OAAO;KAChB,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAY,UAAU,EAAE;QAChD,IAAI,EAAE,OAAO;KAChB,CAAC;CACL,CAAC"}
|
package/dist/esm/omu.js
CHANGED
|
@@ -32,8 +32,8 @@ export class Omu {
|
|
|
32
32
|
dashboard;
|
|
33
33
|
extensions;
|
|
34
34
|
tables;
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
registries;
|
|
36
|
+
signals;
|
|
37
37
|
assets;
|
|
38
38
|
i18n;
|
|
39
39
|
server;
|
|
@@ -55,8 +55,8 @@ export class Omu {
|
|
|
55
55
|
this.plugins = this.extensions.register(PLUGIN_EXTENSION_TYPE);
|
|
56
56
|
this.tables = this.extensions.register(TABLE_EXTENSION_TYPE);
|
|
57
57
|
this.dashboard = this.extensions.register(DASHBOARD_EXTENSION_TYPE);
|
|
58
|
-
this.
|
|
59
|
-
this.
|
|
58
|
+
this.registries = this.extensions.register(REGISTRY_EXTENSION_TYPE);
|
|
59
|
+
this.signals = this.extensions.register(SIGNAL_EXTENSION_TYPE);
|
|
60
60
|
this.assets = this.extensions.register(ASSET_EXTENSION_TYPE);
|
|
61
61
|
this.i18n = this.extensions.register(I18N_EXTENSION_TYPE);
|
|
62
62
|
this.server = this.extensions.register(SERVER_EXTENSION_TYPE);
|
package/dist/esm/omu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"omu.js","sourceRoot":"","sources":["../../src/omu.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAuB,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,wBAAwB,EAA2B,MAAM,gCAAgC,CAAC;AACnG,OAAO,EAAE,uBAAuB,EAA0B,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,mBAAmB,EAAsB,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EACH,qBAAqB,GAExB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACH,yBAAyB,GAE5B,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,uBAAuB,EAA0B,MAAM,+BAA+B,CAAC;AAChG,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAwB,MAAM,6BAA6B,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAuB,MAAM,4BAA4B,CAAC;AAEvF,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAsB,MAAM,YAAY,CAAC;AAEtE,MAAM,OAAO,GAAG;IAyBQ;IAxBb,KAAK,CAAU;IACf,OAAO,CAAU;IACf,KAAK,GAAiB;QAC3B,OAAO,EAAE,IAAI,YAAY,EAAE;QAC3B,OAAO,EAAE,IAAI,YAAY,EAAE;QAC3B,KAAK,EAAE,IAAI,YAAY,EAAE;KAC5B,CAAC;IACO,KAAK,CAAgB;IACrB,OAAO,CAAU;IACjB,OAAO,CAAU;IACjB,SAAS,CAAoB;IAC7B,WAAW,CAAsB;IACjC,OAAO,CAAkB;IACzB,SAAS,CAAqB;IAC9B,UAAU,CAAoB;IAC9B,MAAM,CAAiB;IACvB,
|
|
1
|
+
{"version":3,"file":"omu.js","sourceRoot":"","sources":["../../src/omu.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
|
package/package.json
CHANGED
package/src/bytebuffer.ts
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { textDecoder, textEncoder } from './const.js';
|
|
2
2
|
|
|
3
3
|
export class Flags {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
4
|
+
private value: number;
|
|
5
|
+
private length: number;
|
|
6
|
+
|
|
7
|
+
constructor(options: { value?: number, length?: number }) {
|
|
8
|
+
this.value = options.value ?? 0;
|
|
9
|
+
this.length = options.length ?? 32;
|
|
10
|
+
}
|
|
8
11
|
|
|
9
12
|
public has(position: number): boolean {
|
|
10
13
|
return (this.value & (1 << position)) !== 0;
|
|
@@ -38,11 +41,11 @@ export class Flags {
|
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
public static read(reader: ByteReader, length: number): Flags {
|
|
41
|
-
let
|
|
44
|
+
let value = 0;
|
|
42
45
|
for (let i = 0; i < (length + 7) / 8; i++) {
|
|
43
|
-
|
|
46
|
+
value |= reader.readByte() << (i * 8);
|
|
44
47
|
}
|
|
45
|
-
return new Flags(
|
|
48
|
+
return new Flags({ value, length });
|
|
46
49
|
}
|
|
47
50
|
}
|
|
48
51
|
|
package/src/client.ts
CHANGED
|
@@ -36,8 +36,8 @@ export interface Client {
|
|
|
36
36
|
readonly dashboard: DashboardExtension;
|
|
37
37
|
readonly extensions: ExtensionRegistry;
|
|
38
38
|
readonly tables: TableExtension;
|
|
39
|
-
readonly
|
|
40
|
-
readonly
|
|
39
|
+
readonly registries: RegistryExtension;
|
|
40
|
+
readonly signals: SignalExtension;
|
|
41
41
|
readonly assets: AssetExtension;
|
|
42
42
|
readonly i18n: I18nExtension;
|
|
43
43
|
readonly server: ServerExtension;
|
|
@@ -9,7 +9,7 @@ import type { Table } from '../table/table.js';
|
|
|
9
9
|
import { TableType } from '../table/table.js';
|
|
10
10
|
|
|
11
11
|
import type { DashboardHandler } from './dashboard.js';
|
|
12
|
-
import { PermissionRequestPacket, PluginRequestPacket } from './packets.js';
|
|
12
|
+
import { AppInstallRequest, AppInstallResponse, AppUpdateRequest, AppUpdateResponse, PermissionRequestPacket, PluginRequestPacket } from './packets.js';
|
|
13
13
|
|
|
14
14
|
export const DASHBOARD_EXTENSION_TYPE = new ExtensionType(
|
|
15
15
|
'dashboard',
|
|
@@ -75,6 +75,38 @@ const DASHBOARD_APP_TABLE_TYPE = TableType.createModel(DASHBOARD_EXTENSION_TYPE,
|
|
|
75
75
|
remove: DASHOBARD_APP_EDIT_PERMISSION_ID,
|
|
76
76
|
},
|
|
77
77
|
});
|
|
78
|
+
export const DASHBOARD_APP_INSTALL_PERMISSION_ID = DASHBOARD_EXTENSION_TYPE.join('app', 'install');
|
|
79
|
+
const DASHBOARD_APP_INSTALL_ENDPOINT = EndpointType.createJson<App, AppInstallResponse>(DASHBOARD_EXTENSION_TYPE, {
|
|
80
|
+
name: 'install_app',
|
|
81
|
+
requestSerializer: Serializer.model(App),
|
|
82
|
+
permissionId: DASHBOARD_APP_INSTALL_PERMISSION_ID,
|
|
83
|
+
});
|
|
84
|
+
const DASHBOARD_APP_INSTALL_PACKET = PacketType.createSerialized<AppInstallRequest>(DASHBOARD_EXTENSION_TYPE, {
|
|
85
|
+
name: 'install_app',
|
|
86
|
+
serializer: AppInstallRequest,
|
|
87
|
+
});
|
|
88
|
+
const DASHBOARD_APP_INSTALL_ACCEPT_PACKET = PacketType.createJson<string>(DASHBOARD_EXTENSION_TYPE, {
|
|
89
|
+
name: 'install_app_accept',
|
|
90
|
+
});
|
|
91
|
+
const DASHBOARD_APP_INSTALL_DENY_PACKET = PacketType.createJson<string>(DASHBOARD_EXTENSION_TYPE, {
|
|
92
|
+
name: 'install_app_deny',
|
|
93
|
+
});
|
|
94
|
+
const DASHBOARD_APP_UPDATE_PERMISSION_ID = DASHBOARD_EXTENSION_TYPE.join('app', 'update');
|
|
95
|
+
const DASHBOARD_APP_UPDATE_ENDPOINT = EndpointType.createJson<App, AppUpdateResponse>(DASHBOARD_EXTENSION_TYPE, {
|
|
96
|
+
name: 'update_app',
|
|
97
|
+
requestSerializer: Serializer.model(App),
|
|
98
|
+
permissionId: DASHBOARD_APP_UPDATE_PERMISSION_ID,
|
|
99
|
+
});
|
|
100
|
+
const DASHBOARD_APP_UPDATE_PACKET = PacketType.createSerialized<AppUpdateRequest>(DASHBOARD_EXTENSION_TYPE, {
|
|
101
|
+
name: 'update_app',
|
|
102
|
+
serializer: AppUpdateRequest,
|
|
103
|
+
});
|
|
104
|
+
const DASHBOARD_APP_UPDATE_ACCEPT_PACKET = PacketType.createJson<string>(DASHBOARD_EXTENSION_TYPE, {
|
|
105
|
+
name: 'update_app_accept',
|
|
106
|
+
});
|
|
107
|
+
const DASHBOARD_APP_UPDATE_DENY_PACKET = PacketType.createJson<string>(DASHBOARD_EXTENSION_TYPE, {
|
|
108
|
+
name: 'update_app_deny',
|
|
109
|
+
});
|
|
78
110
|
|
|
79
111
|
export class DashboardExtension {
|
|
80
112
|
public readonly type = DASHBOARD_EXTENSION_TYPE;
|
|
@@ -90,6 +122,12 @@ export class DashboardExtension {
|
|
|
90
122
|
DASHBOARD_PLUGIN_ACCEPT_PACKET,
|
|
91
123
|
DASHBOARD_PLUGIN_DENY_PACKET,
|
|
92
124
|
DASHBOARD_OPEN_APP_PACKET,
|
|
125
|
+
DASHBOARD_APP_INSTALL_PACKET,
|
|
126
|
+
DASHBOARD_APP_INSTALL_ACCEPT_PACKET,
|
|
127
|
+
DASHBOARD_APP_INSTALL_DENY_PACKET,
|
|
128
|
+
DASHBOARD_APP_UPDATE_PACKET,
|
|
129
|
+
DASHBOARD_APP_UPDATE_ACCEPT_PACKET,
|
|
130
|
+
DASHBOARD_APP_UPDATE_DENY_PACKET,
|
|
93
131
|
);
|
|
94
132
|
client.network.addPacketHandler(DASHBOARD_PERMISSION_REQUEST_PACKET, (request) =>
|
|
95
133
|
this.handlePermissionRequest(request),
|
|
@@ -97,9 +135,16 @@ export class DashboardExtension {
|
|
|
97
135
|
client.network.addPacketHandler(DASHBOARD_PLUGIN_REQUEST_PACKET, (request) =>
|
|
98
136
|
this.handlePluginRequest(request),
|
|
99
137
|
);
|
|
138
|
+
client.network.addPacketHandler(DASHBOARD_APP_INSTALL_PACKET, async (request) => {
|
|
139
|
+
this.handleInstallApp(request);
|
|
140
|
+
});
|
|
141
|
+
client.network.addPacketHandler(DASHBOARD_APP_UPDATE_PACKET, async (request) => {
|
|
142
|
+
this.handleUpdateApp(request);
|
|
143
|
+
});
|
|
100
144
|
client.network.addPacketHandler(DASHBOARD_OPEN_APP_PACKET, (app) =>
|
|
101
145
|
this.handleOpenApp(app),
|
|
102
146
|
);
|
|
147
|
+
|
|
103
148
|
this.apps = client.tables.get(DASHBOARD_APP_TABLE_TYPE);
|
|
104
149
|
}
|
|
105
150
|
|
|
@@ -125,6 +170,28 @@ export class DashboardExtension {
|
|
|
125
170
|
});
|
|
126
171
|
}
|
|
127
172
|
|
|
173
|
+
private async handleInstallApp(request: AppInstallRequest): Promise<void> {
|
|
174
|
+
await this.handleDashboard(async (dashboard) => {
|
|
175
|
+
const response = await dashboard.handleInstallApp(request);
|
|
176
|
+
if (response) {
|
|
177
|
+
this.client.send(DASHBOARD_APP_INSTALL_ACCEPT_PACKET, request.requestId);
|
|
178
|
+
} else {
|
|
179
|
+
this.client.send(DASHBOARD_APP_INSTALL_DENY_PACKET, request.requestId);
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
private async handleUpdateApp(request: AppUpdateRequest): Promise<void> {
|
|
185
|
+
await this.handleDashboard(async (dashboard) => {
|
|
186
|
+
const response = await dashboard.handleUpdateApp(request);
|
|
187
|
+
if (response) {
|
|
188
|
+
this.client.send(DASHBOARD_APP_UPDATE_ACCEPT_PACKET, request.requestId);
|
|
189
|
+
} else {
|
|
190
|
+
this.client.send(DASHBOARD_APP_UPDATE_DENY_PACKET, request.requestId);
|
|
191
|
+
}
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
|
|
128
195
|
private async handleOpenApp(app: App): Promise<void> {
|
|
129
196
|
await this.handleDashboard(async (dashboard) => {
|
|
130
197
|
await dashboard.handleOpenApp(app);
|
|
@@ -160,4 +227,12 @@ export class DashboardExtension {
|
|
|
160
227
|
public async openApp(app: App): Promise<void> {
|
|
161
228
|
return await this.client.endpoints.call(DASHBOARD_OPEN_APP_ENDPOINT, app);
|
|
162
229
|
}
|
|
230
|
+
|
|
231
|
+
public async installApp(app: App): Promise<AppInstallResponse> {
|
|
232
|
+
return await this.client.endpoints.call(DASHBOARD_APP_INSTALL_ENDPOINT, app);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
public async updateApp(app: App): Promise<AppUpdateResponse> {
|
|
236
|
+
return await this.client.endpoints.call(DASHBOARD_APP_UPDATE_ENDPOINT, app);
|
|
237
|
+
}
|
|
163
238
|
}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { App } from '../../app.js';
|
|
2
2
|
|
|
3
|
-
import type { PermissionRequestPacket, PluginRequestPacket } from './packets.js';
|
|
3
|
+
import type { AppInstallRequest, AppUpdateRequest, PermissionRequestPacket, PluginRequestPacket } from './packets.js';
|
|
4
4
|
|
|
5
5
|
export interface DashboardHandler {
|
|
6
6
|
handlePermissionRequest(request: PermissionRequestPacket): Promise<boolean>;
|
|
7
7
|
handlePluginRequest(request: PluginRequestPacket): Promise<boolean>;
|
|
8
|
+
handleInstallApp(request: AppInstallRequest): Promise<boolean>;
|
|
9
|
+
handleUpdateApp(request: AppUpdateRequest): Promise<boolean>;
|
|
8
10
|
handleOpenApp(app: App): Promise<void>;
|
|
9
11
|
}
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export {
|
|
2
|
+
DASHBOARD_APP_INSTALL_PERMISSION_ID, DASHBOARD_EXTENSION_TYPE,
|
|
3
|
+
DASHBOARD_OPEN_APP_PERMISSION_ID,
|
|
4
|
+
DASHBOARD_SET_PERMISSION_ID,
|
|
5
|
+
DASHOBARD_APP_EDIT_PERMISSION_ID,
|
|
6
|
+
DASHOBARD_APP_READ_PERMISSION_ID, DashboardExtension
|
|
7
|
+
} from './dashboard-extension.js';
|
|
2
8
|
export { DashboardHandler } from './dashboard.js';
|
|
3
9
|
|
|
@@ -50,3 +50,49 @@ export class PluginRequestPacket {
|
|
|
50
50
|
return new PluginRequestPacket(requestId, app, packages);
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
|
+
|
|
54
|
+
export class AppInstallRequest {
|
|
55
|
+
constructor(public readonly requestId: string, public readonly app: App) { }
|
|
56
|
+
|
|
57
|
+
public static serialize(packet: AppInstallRequest): Uint8Array {
|
|
58
|
+
const writer = new ByteWriter();
|
|
59
|
+
writer.writeString(packet.requestId);
|
|
60
|
+
writer.writeString(JSON.stringify(packet.app.toJson()));
|
|
61
|
+
return writer.finish();
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
public static deserialize(data: Uint8Array): AppInstallRequest {
|
|
65
|
+
const reader = new ByteReader(data);
|
|
66
|
+
const requestId = reader.readString();
|
|
67
|
+
const app = App.fromJson(JSON.parse(reader.readString()));
|
|
68
|
+
return new AppInstallRequest(requestId, app);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export class AppUpdateRequest {
|
|
73
|
+
constructor(public readonly requestId: string, public readonly oldApp: App, public readonly newApp: App) { }
|
|
74
|
+
|
|
75
|
+
public static serialize(packet: AppUpdateRequest): Uint8Array {
|
|
76
|
+
const writer = new ByteWriter();
|
|
77
|
+
writer.writeString(packet.requestId);
|
|
78
|
+
writer.writeString(JSON.stringify(packet.oldApp.toJson()));
|
|
79
|
+
writer.writeString(JSON.stringify(packet.newApp.toJson()));
|
|
80
|
+
return writer.finish();
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
public static deserialize(data: Uint8Array): AppUpdateRequest {
|
|
84
|
+
const reader = new ByteReader(data);
|
|
85
|
+
const requestId = reader.readString();
|
|
86
|
+
const oldApp = App.fromJson(JSON.parse(reader.readString()));
|
|
87
|
+
const newApp = App.fromJson(JSON.parse(reader.readString()));
|
|
88
|
+
return new AppUpdateRequest(requestId, oldApp, newApp);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export type AppInstallResponse = {
|
|
93
|
+
accepted: boolean;
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
export type AppUpdateResponse = {
|
|
97
|
+
accepted: boolean;
|
|
98
|
+
}
|
|
@@ -23,7 +23,7 @@ export class I18nExtension implements Extension {
|
|
|
23
23
|
|
|
24
24
|
constructor(private readonly client: Client) {
|
|
25
25
|
client.permissions.require(I18N_GET_LOCALES_PERMISSION_ID);
|
|
26
|
-
this.localesRegistry = client.
|
|
26
|
+
this.localesRegistry = client.registries.get(I18N_LOCALES_REGISTRY_TYPE);
|
|
27
27
|
this.localesRegistry.listen((locale) => {
|
|
28
28
|
this.locales = locale;
|
|
29
29
|
});
|
|
@@ -46,9 +46,7 @@ export class I18nExtension implements Extension {
|
|
|
46
46
|
}
|
|
47
47
|
const translation = this.selectBestTranslation(locales, localizedText);
|
|
48
48
|
if (!translation) {
|
|
49
|
-
|
|
50
|
-
`Missing translation for ${this.locales} in ${JSON.stringify(localizedText)}`,
|
|
51
|
-
);
|
|
49
|
+
return Object.values(localizedText)[0];
|
|
52
50
|
}
|
|
53
51
|
return translation;
|
|
54
52
|
}
|
|
@@ -2,7 +2,7 @@ import { Identifier } from '../../identifier.js';
|
|
|
2
2
|
import type { LocalizedText } from '../../localization/localization.js';
|
|
3
3
|
import type { Model } from '../../model.js';
|
|
4
4
|
|
|
5
|
-
type PermissionLevel = 'low' | 'medium' | 'high';
|
|
5
|
+
export type PermissionLevel = 'low' | 'medium' | 'high';
|
|
6
6
|
|
|
7
7
|
export type PermissionMetadata = {
|
|
8
8
|
name: LocalizedText;
|
|
@@ -13,7 +13,7 @@ export class RegistryPermissions {
|
|
|
13
13
|
) { }
|
|
14
14
|
|
|
15
15
|
public serialize(writer: ByteWriter): void {
|
|
16
|
-
const flags = new Flags(
|
|
16
|
+
const flags = new Flags({length: 3});
|
|
17
17
|
flags.set(0, this.all !== undefined);
|
|
18
18
|
flags.set(1, this.read !== undefined);
|
|
19
19
|
flags.set(2, this.write !== undefined);
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { App } from '../../app.js';
|
|
2
2
|
import type { Client } from '../../client.js';
|
|
3
|
-
import { Identifier, IdentifierSet } from '../../identifier.js';
|
|
3
|
+
import { Identifier, IdentifierMap, IdentifierSet } from '../../identifier.js';
|
|
4
4
|
import { PacketType } from '../../network/packet/packet.js';
|
|
5
5
|
import { Serializer } from '../../serializer.js';
|
|
6
6
|
import { EndpointType } from '../endpoint/endpoint.js';
|
|
7
7
|
import type { Extension } from '../extension.js';
|
|
8
8
|
import { ExtensionType } from '../extension.js';
|
|
9
|
+
import { Registry, RegistryPermissions, RegistryType } from '../registry/registry.js';
|
|
9
10
|
import type { Table } from '../table/index.js';
|
|
10
11
|
import { TABLE_EXTENSION_TYPE } from '../table/table-extension.js';
|
|
11
12
|
import { TableType } from '../table/table.js';
|
|
@@ -42,28 +43,110 @@ const REQUIRE_APPS_PACKET_TYPE = PacketType.createJson<Identifier[]>(SERVER_EXTE
|
|
|
42
43
|
name: 'require_apps',
|
|
43
44
|
serializer: Serializer.model(Identifier).toArray(),
|
|
44
45
|
});
|
|
46
|
+
export const TRUSTED_ORIGINS_GET_PERMISSION_ID = SERVER_EXTENSION_TYPE.join('trusted_origins', 'get');
|
|
47
|
+
export const TRUSTED_ORIGINS_SET_PERMISSION_ID = SERVER_EXTENSION_TYPE.join('trusted_origins', 'set');
|
|
48
|
+
const TRUSTED_ORIGINS_REGISTRY_TYPE = RegistryType.createJson<string[]>(SERVER_EXTENSION_TYPE, {
|
|
49
|
+
name: 'trusted_origins',
|
|
50
|
+
defaultValue: [],
|
|
51
|
+
permissions: new RegistryPermissions(
|
|
52
|
+
TRUSTED_ORIGINS_GET_PERMISSION_ID,
|
|
53
|
+
TRUSTED_ORIGINS_SET_PERMISSION_ID,
|
|
54
|
+
),
|
|
55
|
+
});
|
|
56
|
+
const SESSION_OBSERVE_PACKET_TYPE = PacketType.createJson<Identifier[]>(SERVER_EXTENSION_TYPE, {
|
|
57
|
+
name: 'session_observe',
|
|
58
|
+
serializer: Serializer.model(Identifier).toArray(),
|
|
59
|
+
});
|
|
60
|
+
const SESSION_CONNECT_PACKET_TYPE = PacketType.createJson<App>(SERVER_EXTENSION_TYPE, {
|
|
61
|
+
name: 'session_connect',
|
|
62
|
+
serializer: Serializer.model(App),
|
|
63
|
+
});
|
|
64
|
+
const SESSION_DISCONNECT_PACKET_TYPE = PacketType.createJson<App>(SERVER_EXTENSION_TYPE, {
|
|
65
|
+
name: 'session_disconnect',
|
|
66
|
+
serializer: Serializer.model(App),
|
|
67
|
+
});
|
|
45
68
|
|
|
46
69
|
export class ServerExtension implements Extension {
|
|
47
70
|
public readonly type = SERVER_EXTENSION_TYPE;
|
|
48
71
|
public readonly apps: Table<App>;
|
|
49
72
|
public readonly sessions: Table<App>;
|
|
50
|
-
|
|
73
|
+
public readonly trustedOrigins: Registry<string[]>;
|
|
74
|
+
private readonly sessionObservers = new IdentifierMap<SessionObserver>();
|
|
75
|
+
private readonly requiredApps = new IdentifierSet();
|
|
51
76
|
|
|
52
77
|
constructor(private readonly client: Client) {
|
|
53
|
-
client.network.registerPacket(
|
|
78
|
+
client.network.registerPacket(
|
|
79
|
+
REQUIRE_APPS_PACKET_TYPE,
|
|
80
|
+
SESSION_OBSERVE_PACKET_TYPE,
|
|
81
|
+
SESSION_CONNECT_PACKET_TYPE,
|
|
82
|
+
SESSION_DISCONNECT_PACKET_TYPE,
|
|
83
|
+
);
|
|
84
|
+
client.network.addPacketHandler(
|
|
85
|
+
SESSION_CONNECT_PACKET_TYPE, (app) => this.handleSessionConnect(app)
|
|
86
|
+
)
|
|
87
|
+
client.network.addPacketHandler(
|
|
88
|
+
SESSION_DISCONNECT_PACKET_TYPE, (app) => this.handleSessionDisconnect(app)
|
|
89
|
+
)
|
|
54
90
|
this.apps = client.tables.get(APP_TABLE_TYPE);
|
|
55
91
|
this.sessions = client.tables.get(SESSION_TABLE_TYPE);
|
|
92
|
+
this.trustedOrigins = client.registries.get(TRUSTED_ORIGINS_REGISTRY_TYPE);
|
|
56
93
|
client.network.addTask(() => this.onTask());
|
|
94
|
+
client.onReady(() => this.onReady());
|
|
57
95
|
}
|
|
58
96
|
|
|
59
97
|
private async onTask(): Promise<void> {
|
|
60
|
-
|
|
98
|
+
if (this.requiredApps.size > 0) {
|
|
99
|
+
this.client.send(REQUIRE_APPS_PACKET_TYPE, Array.from(this.requiredApps.values()));
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
private async onReady(): Promise<void> {
|
|
104
|
+
if (this.sessionObservers.size > 0) {
|
|
105
|
+
this.client.send(SESSION_OBSERVE_PACKET_TYPE, Array.from(this.sessionObservers.keys()));
|
|
106
|
+
}
|
|
61
107
|
}
|
|
62
108
|
|
|
63
109
|
public async shutdown(restart?: boolean): Promise<boolean> {
|
|
64
110
|
return await this.client.endpoints.call(SHUTDOWN_ENDPOINT_TYPE, restart ?? false);
|
|
65
111
|
}
|
|
66
112
|
|
|
113
|
+
public observeSession(appId: Identifier, {
|
|
114
|
+
onConnect,
|
|
115
|
+
onDisconnect
|
|
116
|
+
}: {
|
|
117
|
+
onConnect(app: App): void;
|
|
118
|
+
onDisconnect(app: App): void;
|
|
119
|
+
}): SessionObserver {
|
|
120
|
+
if (this.client.running) {
|
|
121
|
+
throw new Error('Cannot observe sessions after the client has started');
|
|
122
|
+
}
|
|
123
|
+
const observer = this.sessionObservers.get(appId) ?? new SessionObserver([], []);
|
|
124
|
+
observer.onConnect(onConnect);
|
|
125
|
+
observer.onDisconnect(onDisconnect);
|
|
126
|
+
this.sessionObservers.set(appId, observer);
|
|
127
|
+
return observer;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
private async handleSessionConnect(app: App): Promise<void> {
|
|
131
|
+
const observer = this.sessionObservers.get(app.id);
|
|
132
|
+
if (!observer) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
for (const callback of observer.onConnectCallbacks) {
|
|
136
|
+
await callback(app);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
private async handleSessionDisconnect(app: App): Promise<void> {
|
|
141
|
+
const observer = this.sessionObservers.get(app.id);
|
|
142
|
+
if (!observer) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
for (const callback of observer.onDisconnectCallbacks) {
|
|
146
|
+
await callback(app);
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
67
150
|
public require(...appIds: Identifier[]): void {
|
|
68
151
|
if (this.client.running) {
|
|
69
152
|
throw new Error('Cannot require apps after the client has started');
|
|
@@ -73,3 +156,18 @@ export class ServerExtension implements Extension {
|
|
|
73
156
|
}
|
|
74
157
|
}
|
|
75
158
|
}
|
|
159
|
+
|
|
160
|
+
export class SessionObserver {
|
|
161
|
+
constructor(
|
|
162
|
+
public readonly onConnectCallbacks: Array<(app: App) => Promise<void> | void>,
|
|
163
|
+
public readonly onDisconnectCallbacks: Array<(app: App) => Promise<void> | void>,
|
|
164
|
+
) { }
|
|
165
|
+
|
|
166
|
+
public onConnect(callback: (app: App) => Promise<void> | void): void {
|
|
167
|
+
this.onConnectCallbacks.push(callback);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
public onDisconnect(callback: (app: App) => Promise<void> | void): void {
|
|
171
|
+
this.onDisconnectCallbacks.push(callback);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
@@ -13,7 +13,7 @@ export class SignalPermissions {
|
|
|
13
13
|
) {}
|
|
14
14
|
|
|
15
15
|
public serialize(writer: ByteWriter): void {
|
|
16
|
-
const flags = new Flags(
|
|
16
|
+
const flags = new Flags({length: 3});
|
|
17
17
|
flags.set(0, this.all !== undefined);
|
|
18
18
|
flags.set(1, this.listen !== undefined);
|
|
19
19
|
flags.set(2, this.send !== undefined);
|