@omujs/omu 0.8.1 → 0.8.3

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.
Files changed (34) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/dist/dts/extension/permission/permission-extension.d.ts.map +1 -1
  3. package/dist/dts/extension/plugin/index.d.ts +1 -1
  4. package/dist/dts/extension/plugin/index.d.ts.map +1 -1
  5. package/dist/dts/extension/plugin/plugin-extension.d.ts +23 -0
  6. package/dist/dts/extension/plugin/plugin-extension.d.ts.map +1 -1
  7. package/dist/dts/extension/table/index.d.ts +1 -1
  8. package/dist/dts/extension/table/index.d.ts.map +1 -1
  9. package/dist/dts/extension/table/table-extension.d.ts +1 -0
  10. package/dist/dts/extension/table/table-extension.d.ts.map +1 -1
  11. package/dist/dts/network/network.d.ts +7 -0
  12. package/dist/dts/network/network.d.ts.map +1 -1
  13. package/dist/dts/version.d.ts +1 -1
  14. package/dist/esm/extension/permission/permission-extension.js +8 -8
  15. package/dist/esm/extension/permission/permission-extension.js.map +1 -1
  16. package/dist/esm/extension/plugin/index.js +1 -1
  17. package/dist/esm/extension/plugin/index.js.map +1 -1
  18. package/dist/esm/extension/plugin/plugin-extension.js +35 -0
  19. package/dist/esm/extension/plugin/plugin-extension.js.map +1 -1
  20. package/dist/esm/extension/table/index.js +1 -1
  21. package/dist/esm/extension/table/index.js.map +1 -1
  22. package/dist/esm/extension/table/table-extension.js +4 -1
  23. package/dist/esm/extension/table/table-extension.js.map +1 -1
  24. package/dist/esm/network/network.js +27 -2
  25. package/dist/esm/network/network.js.map +1 -1
  26. package/dist/esm/version.js +1 -1
  27. package/package.json +1 -1
  28. package/src/extension/permission/permission-extension.ts +10 -7
  29. package/src/extension/plugin/index.ts +3 -1
  30. package/src/extension/plugin/plugin-extension.ts +49 -0
  31. package/src/extension/table/index.ts +1 -1
  32. package/src/extension/table/table-extension.ts +4 -1
  33. package/src/network/network.ts +36 -10
  34. package/src/version.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,25 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## 0.8.3 (2025-01-19)
7
+
8
+ **Note:** Version bump only for package @omujs/omu
9
+
10
+
11
+
12
+
13
+
14
+ ## 0.8.2 (2024-12-31)
15
+
16
+
17
+ ### Bug Fixes
18
+
19
+ * **dash:** サーバー再起動時に管理画面を再読み込みするように ([7373a1b](https://github.com/OMUAPPS/omuapps/commit/7373a1bcefdc66ca535c10e75ff844f103d549da))
20
+
21
+
22
+
23
+
24
+
6
25
  ## 0.8.1 (2024-12-28)
7
26
 
8
27
  **Note:** Version bump only for package @omujs/omu
@@ -1 +1 @@
1
- {"version":3,"file":"permission-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/permission/permission-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgC,MAAM,qBAAqB,CAAC;AAM/E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,yBAAyB,KAGrC,CAAC;AAwBF,qBAAa,mBAAmB;IAMhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,SAAgB,IAAI,MAA6B;IACjD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAC7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;gBAE9B,MAAM,EAAE,MAAM;IAc3C,OAAO,CAAC,MAAM;IAeP,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAO1C,OAAO,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAalD,OAAO,CAAC,GAAG,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,GAAG,CAAC,oBAAoB,EAAE,UAAU,GAAG,OAAO;CAGxD"}
1
+ {"version":3,"file":"permission-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/permission/permission-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAgC,MAAM,qBAAqB,CAAC;AAM/E,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,eAAO,MAAM,yBAAyB,KAGrC,CAAC;AAwBF,qBAAa,mBAAmB;IAMhB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALnC,SAAgB,IAAI,MAA6B;IACjD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAuC;IAC7E,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;gBAE9B,MAAM,EAAE,MAAM;IAc3C,OAAO,CAAC,MAAM;IAeP,QAAQ,CAAC,UAAU,EAAE,cAAc,GAAG,IAAI;IAO1C,OAAO,CAAC,GAAG,aAAa,EAAE,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,GAAG,IAAI;IAgBlD,OAAO,CAAC,GAAG,aAAa,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,GAAG,CAAC,oBAAoB,EAAE,UAAU,GAAG,OAAO;CAGxD"}
@@ -1,2 +1,2 @@
1
- export { PLUGIN_EXTENSION_TYPE, PluginExtension } from './plugin-extension.js';
1
+ export { PLUGIN_EXTENSION_TYPE, PLUGIN_MANAGE_PACKAGE_PERMISSION_ID, PLUGIN_READ_PACKAGE_PERMISSION_ID, PluginExtension } from './plugin-extension.js';
2
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extension/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extension/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EAAE,mCAAmC,EAAE,iCAAiC,EAAE,eAAe,EACjH,MAAM,uBAAuB,CAAC"}
@@ -1,11 +1,34 @@
1
1
  import type { Client } from '../../client.js';
2
+ import { Table } from '../table/table.js';
2
3
  export declare const PLUGIN_EXTENSION_TYPE: any;
3
4
  export declare class PluginExtension {
4
5
  private readonly client;
5
6
  readonly type: any;
6
7
  private readonly requiredPlugins;
7
8
  constructor(client: Client);
9
+ getAllowedPackages(): Table<PluginPackageInfo>;
10
+ reload(options: ReloadOptions): void;
8
11
  private onTask;
9
12
  require(plugins: Record<string, string | null>): void;
10
13
  }
14
+ export declare class PluginPackageInfo {
15
+ package: string;
16
+ version: string;
17
+ constructor(_package: string, version: string);
18
+ static fromJson(json: {
19
+ package: string;
20
+ version: string;
21
+ }): PluginPackageInfo;
22
+ toJson(): {
23
+ package: string;
24
+ version: string;
25
+ };
26
+ key(): string;
27
+ }
28
+ export declare const PLUGIN_READ_PACKAGE_PERMISSION_ID: any;
29
+ export declare const PLUGIN_MANAGE_PACKAGE_PERMISSION_ID: any;
30
+ type ReloadOptions = {
31
+ packages: string[] | null;
32
+ };
33
+ export {};
11
34
  //# sourceMappingURL=plugin-extension.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/plugin/plugin-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,eAAO,MAAM,qBAAqB,KAGjC,CAAC;AAEF,qBAAa,eAAe;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,SAAgB,IAAI,MAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;gBAE5C,MAAM,EAAE,MAAM;YAK7B,MAAM;IAIb,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI;CAQ/D"}
1
+ {"version":3,"file":"plugin-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/plugin/plugin-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAI9C,OAAO,EAAE,KAAK,EAAa,MAAM,mBAAmB,CAAC;AAErD,eAAO,MAAM,qBAAqB,KAGjC,CAAC;AAEF,qBAAa,eAAe;IAIZ,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,SAAgB,IAAI,MAAyB;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyC;gBAE5C,MAAM,EAAE,MAAM;IAKpC,kBAAkB,IAAI,KAAK,CAAC,iBAAiB,CAAC;IAI9C,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;YAI7B,MAAM;IAIb,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI;CAQ/D;AAQD,qBAAa,iBAAiB;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;gBAEX,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;WAK/B,QAAQ,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,iBAAiB;IAI9E,MAAM,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAI9C,GAAG,IAAI,MAAM;CAGvB;AAED,eAAO,MAAM,iCAAiC,KAAgD,CAAA;AAC9F,eAAO,MAAM,mCAAmC,KAAkD,CAAA;AAMlG,KAAK,aAAa,GAAG;IACjB,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;CAC7B,CAAC"}
@@ -1,3 +1,3 @@
1
- export { TABLE_EXTENSION_TYPE, TableExtension } from './table-extension.js';
1
+ export { TABLE_EXTENSION_TYPE, TABLE_PERMISSION_ID, TableExtension } from './table-extension.js';
2
2
  export { Table, TableConfig, TableType } from './table.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extension/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/extension/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -7,6 +7,7 @@ import { ExtensionType } from '../extension.js';
7
7
  import type { Table } from './table.js';
8
8
  import { TableType } from './table.js';
9
9
  export declare const TABLE_EXTENSION_TYPE: ExtensionType<TableExtension>;
10
+ export declare const TABLE_PERMISSION_ID: Identifier;
10
11
  export declare class TableExtension implements Extension {
11
12
  private readonly client;
12
13
  readonly type: ExtensionType<TableExtension>;
@@ -1 +1 @@
1
- {"version":3,"file":"table-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/table/table-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,OAAO,KAAK,EAAE,KAAK,EAA8C,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,cAAc,CAG9D,CAAC;AAyHF,qBAAa,cAAe,YAAW,SAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,SAAgB,IAAI,gCAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;gBAEnC,MAAM,EAAE,MAAM;IAcpC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAU5C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAOpC,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAClD,UAAU,EAAE,UAAU,EACtB,EACI,IAAI,EACJ,KAAK,GACR,EAAE;QACC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC;KACnC,GACF,KAAK,CAAC,CAAC,CAAC;IAQJ,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAG9C"}
1
+ {"version":3,"file":"table-extension.d.ts","sourceRoot":"","sources":["../../../../src/extension/table/table-extension.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,UAAU,EAAiB,MAAM,qBAAqB,CAAC;AAChE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAK5C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAYhD,OAAO,KAAK,EAAE,KAAK,EAA8C,MAAM,YAAY,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,eAAO,MAAM,oBAAoB,EAAE,aAAa,CAAC,cAAc,CAG9D,CAAC;AACF,eAAO,MAAM,mBAAmB,YAA0C,CAAC;AAwH3E,qBAAa,cAAe,YAAW,SAAS;IAIhC,OAAO,CAAC,QAAQ,CAAC,MAAM;IAHnC,SAAgB,IAAI,gCAAwB;IAC5C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAuC;gBAEnC,MAAM,EAAE,MAAM;IAcpC,MAAM,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAU5C,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;IAOpC,KAAK,CAAC,CAAC,SAAS,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,OAAO,EAClD,UAAU,EAAE,UAAU,EACtB,EACI,IAAI,EACJ,KAAK,GACR,EAAE;QACC,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE;YAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAA;SAAE,CAAC;KACnC,GACF,KAAK,CAAC,CAAC,CAAC;IAQJ,GAAG,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;CAG9C"}
@@ -12,6 +12,12 @@ type StatusType<T> = {
12
12
  export type NetworkStatus = StatusType<'disconnected'> | StatusType<'connecting'> | StatusType<'connected'> | StatusType<'ready'> | {
13
13
  type: 'error';
14
14
  error: OmuError;
15
+ } | {
16
+ type: 'reconnecting';
17
+ attempt: number;
18
+ timeout: number;
19
+ date: Date;
20
+ cancel: () => void;
15
21
  } | StatusType<'closed'>;
16
22
  export declare class Network {
17
23
  private readonly client;
@@ -32,6 +38,7 @@ export declare class Network {
32
38
  setConnection(connection: Connection): void;
33
39
  registerPacket(...packetTypes: PacketType<unknown>[]): void;
34
40
  addPacketHandler<T>(type: PacketType<T>, handler: (packet: T) => void): void;
41
+ private scheduleReconnect;
35
42
  connect(recconect?: boolean): Promise<void>;
36
43
  private isState;
37
44
  disconnect(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAe7D,KAAK,UAAU,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,CAAC,CAAC;CACX,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IAChI,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;CACnB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEzB,qBAAa,OAAO;IAaZ,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,OAAO,EAAE,OAAO;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,UAAU;IAff,MAAM,EAAE,aAAa,CAA0B;IACtD,SAAgB,KAAK;;;;;MAKnB;IACF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;gBAGzD,MAAM,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EACf,aAAa,EAAE,aAAa,EACrC,UAAU,EAAE,UAAU;IA8C3B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAO3C,cAAc,CAAC,GAAG,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI;IAU3D,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;IAQtE,OAAO,CAAC,SAAS,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgDrD,OAAO,CAAC,OAAO;IAIR,UAAU,IAAI,IAAI;IASlB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;YAOnB,MAAM;YAUN,cAAc;IASrB,OAAO,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAO/C,UAAU,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;YAI3C,aAAa;YAMb,SAAS;CAO1B"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAS7C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAEnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAO7D,KAAK,UAAU,CAAC,CAAC,IAAI;IACjB,IAAI,EAAE,CAAC,CAAC;CACX,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,UAAU,CAAC,cAAc,CAAC,GAAG,UAAU,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG;IAChI,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,QAAQ,CAAC;CACnB,GAAG;IACA,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,IAAI,CAAC;CACtB,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;AAEzB,qBAAa,OAAO;IAaZ,OAAO,CAAC,QAAQ,CAAC,MAAM;aACP,OAAO,EAAE,OAAO;IAChC,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,UAAU;IAff,MAAM,EAAE,aAAa,CAA0B;IACtD,SAAgB,KAAK;;;;;MAKnB;IACF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAyC;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+C;gBAGzD,MAAM,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,EACf,aAAa,EAAE,aAAa,EACrC,UAAU,EAAE,UAAU;IA8C3B,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAO3C,cAAc,CAAC,GAAG,WAAW,EAAE,UAAU,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI;IAU3D,gBAAgB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,IAAI,GAAG,IAAI;YAQrE,iBAAiB;IAmBlB,OAAO,CAAC,SAAS,UAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAwDrD,OAAO,CAAC,OAAO;IAIR,UAAU,IAAI,IAAI;IASlB,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;YAOnB,MAAM;YAUN,cAAc;IASrB,OAAO,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAO/C,UAAU,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;YAI3C,aAAa;YAMb,SAAS;CAO1B"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.8.0";
1
+ export declare const VERSION = "0.8.2";
2
2
  //# sourceMappingURL=version.d.ts.map
@@ -52,16 +52,16 @@ export class PermissionExtension {
52
52
  this.registeredPermissions.set(permission.id, permission);
53
53
  }
54
54
  require(...permissionIds) {
55
+ const ids = permissionIds.map((id) => typeof id === 'string' ? Identifier.fromKey(id) : id);
56
+ const missing = ids.filter((id) => !this.permissions.has(id));
55
57
  if (this.client.running) {
56
- throw new Error('Permissions must be required before the client starts');
57
- }
58
- for (const permissionId of permissionIds) {
59
- if (typeof permissionId === 'string') {
60
- this.requiredPermissions.add(Identifier.fromKey(permissionId));
61
- }
62
- else {
63
- this.requiredPermissions.add(permissionId);
58
+ if (missing.length > 0) {
59
+ throw new Error('Permissions must be registered before the client starts');
64
60
  }
61
+ return;
62
+ }
63
+ for (const id of ids) {
64
+ this.requiredPermissions.add(id);
65
65
  }
66
66
  }
67
67
  async request(...permissionIds) {
@@ -1 +1 @@
1
- {"version":3,"file":"permission-extension.js","sourceRoot":"","sources":["../../../../src/extension/permission/permission-extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permission-extension.js","sourceRoot":"","sources":["../../../../src/extension/permission/permission-extension.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export { PLUGIN_EXTENSION_TYPE, PluginExtension } from './plugin-extension.js';
1
+ export { PLUGIN_EXTENSION_TYPE, PLUGIN_MANAGE_PACKAGE_PERMISSION_ID, PLUGIN_READ_PACKAGE_PERMISSION_ID, PluginExtension } from './plugin-extension.js';
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EAAE,mCAAmC,EAAE,iCAAiC,EAAE,eAAe,EACjH,MAAM,uBAAuB,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { PacketType } from '../../network/packet/packet.js';
2
+ import { EndpointType } from '../endpoint/endpoint.js';
2
3
  import { ExtensionType } from '../extension.js';
4
+ import { TableType } from '../table/table.js';
3
5
  export const PLUGIN_EXTENSION_TYPE = new ExtensionType('plugin', (client) => new PluginExtension(client));
4
6
  export class PluginExtension {
5
7
  client;
@@ -10,6 +12,12 @@ export class PluginExtension {
10
12
  client.network.registerPacket(PLUGIN_REQUIRE_PACKET);
11
13
  client.network.addTask(() => this.onTask());
12
14
  }
15
+ getAllowedPackages() {
16
+ return this.client.tables.get(PLUGIN_ALLOWED_PACKAGE_TABLE);
17
+ }
18
+ reload(options) {
19
+ this.client.endpoints.call(PLUGIN_RELOAD_ENDPOINT_TYPE, options);
20
+ }
13
21
  async onTask() {
14
22
  this.client.send(PLUGIN_REQUIRE_PACKET, Object.fromEntries(this.requiredPlugins));
15
23
  }
@@ -25,4 +33,31 @@ export class PluginExtension {
25
33
  const PLUGIN_REQUIRE_PACKET = PacketType.createJson(PLUGIN_EXTENSION_TYPE, {
26
34
  name: 'require',
27
35
  });
36
+ export class PluginPackageInfo {
37
+ package;
38
+ version;
39
+ constructor(_package, version) {
40
+ this.package = _package;
41
+ this.version = version;
42
+ }
43
+ static fromJson(json) {
44
+ return new PluginPackageInfo(json.package, json.version);
45
+ }
46
+ toJson() {
47
+ return { package: this.package, version: this.version };
48
+ }
49
+ key() {
50
+ return this.package;
51
+ }
52
+ }
53
+ export const PLUGIN_READ_PACKAGE_PERMISSION_ID = PLUGIN_EXTENSION_TYPE.join('package', 'read');
54
+ export const PLUGIN_MANAGE_PACKAGE_PERMISSION_ID = PLUGIN_EXTENSION_TYPE.join('package', 'manage');
55
+ const PLUGIN_ALLOWED_PACKAGE_TABLE = TableType.createModel(PLUGIN_EXTENSION_TYPE, {
56
+ name: 'allowed_package',
57
+ model: PluginPackageInfo,
58
+ });
59
+ const PLUGIN_RELOAD_ENDPOINT_TYPE = EndpointType.createJson(PLUGIN_EXTENSION_TYPE, {
60
+ name: 'reload',
61
+ permissionId: PLUGIN_MANAGE_PACKAGE_PERMISSION_ID,
62
+ });
28
63
  //# sourceMappingURL=plugin-extension.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plugin-extension.js","sourceRoot":"","sources":["../../../../src/extension/plugin/plugin-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,aAAa,CAClD,QAAQ,EACR,CAAC,MAAc,EAAE,EAAE,CAAC,IAAI,eAAe,CAAC,MAAM,CAAC,CAClD,CAAC;AAEF,MAAM,OAAO,eAAe;IAIK;IAHb,IAAI,GAAG,qBAAqB,CAAC;IAC5B,eAAe,GAA+B,IAAI,GAAG,EAAE,CAAC;IAEzE,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACvC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QACrD,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,KAAK,CAAC,MAAM;QAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IACtF,CAAC;IAEM,OAAO,CAAC,OAAsC;QACjD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACzE,CAAC;QACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;CACJ;AAED,MAAM,qBAAqB,GAAG,UAAU,CAAC,UAAU,CAC/C,qBAAqB,EACrB;IACI,IAAI,EAAE,SAAS;CAClB,CACJ,CAAC"}
1
+ {"version":3,"file":"plugin-extension.js","sourceRoot":"","sources":["../../../../src/extension/plugin/plugin-extension.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export { TABLE_EXTENSION_TYPE, TableExtension } from './table-extension.js';
1
+ export { TABLE_EXTENSION_TYPE, TABLE_PERMISSION_ID, TableExtension } from './table-extension.js';
2
2
  export { TableType } from './table.js';
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,EAAsB,SAAS,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACjG,OAAO,EAAsB,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -7,7 +7,7 @@ import { ExtensionType } from '../extension.js';
7
7
  import { SetConfigPacket, SetPermissionPacket, TableFetchPacket, TableFetchRangePacket, TableItemsPacket, TableKeysPacket, TablePacket, TableProxyPacket, } from './packets.js';
8
8
  import { TableType } from './table.js';
9
9
  export const TABLE_EXTENSION_TYPE = new ExtensionType('table', (client) => new TableExtension(client));
10
- const TABLE_PERMISSION_ID = TABLE_EXTENSION_TYPE.join('permission');
10
+ export const TABLE_PERMISSION_ID = TABLE_EXTENSION_TYPE.join('permission');
11
11
  const TABLE_SET_PERMISSION_PACKET = PacketType.createSerialized(TABLE_EXTENSION_TYPE, {
12
12
  name: 'set_permission',
13
13
  serializer: SetPermissionPacket,
@@ -407,6 +407,9 @@ class TableImpl {
407
407
  break;
408
408
  }
409
409
  yield* items.values();
410
+ if (cursor !== undefined) {
411
+ items.delete(cursor);
412
+ }
410
413
  const cursorItem = backward ? items.values().next().value : [...items.values()].pop();
411
414
  if (!cursorItem) {
412
415
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"table-extension.js","sourceRoot":"","sources":["../../../../src/extension/table/table-extension.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACH,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,gBAAgB,GACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,CAAC,MAAM,oBAAoB,GAAkC,IAAI,aAAa,CAChF,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,MAAM,CAAC,CACzC,CAAC;AACF,MAAM,mBAAmB,GAAG,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAEpE,MAAM,2BAA2B,GAAG,UAAU,CAAC,gBAAgB,CAC3D,oBAAoB,EACpB;IACI,IAAI,EAAE,gBAAgB;IACtB,UAAU,EAAE,mBAAmB;CAClC,CACJ,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,gBAAgB,CAAkB,oBAAoB,EAAE;IAC/F,IAAI,EAAE,YAAY;IAClB,UAAU,EAAE,eAAe;CAC9B,CAAC,CAAC;AACH,MAAM,mBAAmB,GAAG,UAAU,CAAC,UAAU,CAAa,oBAAoB,EAAE;IAChF,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3C,CAAC,CAAC;AACH,MAAM,yBAAyB,GAAG,UAAU,CAAC,UAAU,CAAa,oBAAoB,EAAE;IACtF,IAAI,EAAE,cAAc;IACpB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC;CAC3C,CAAC,CAAC;AACH,MAAM,kBAAkB,GAAG,UAAU,CAAC,gBAAgB,CAAmB,oBAAoB,EAAE;IAC3F,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,UAAU,CAAC,gBAAgB,CAAmB,oBAAoB,EAAE;IAC9F,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,gBAAgB;CAC/B,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,UAAU,CAAC,gBAAgB,CACxD,oBAAoB,EACpB;IACI,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,gBAAgB;CAC/B,CACJ,CAAC;AACF,MAAM,wBAAwB,GAAG,UAAU,CAAC,gBAAgB,CACxD,oBAAoB,EACpB;IACI,IAAI,EAAE,aAAa;IACnB,UAAU,EAAE,gBAAgB;CAC/B,CACJ,CAAC;AACF,MAAM,uBAAuB,GAAG,YAAY,CAAC,gBAAgB,CACzD,oBAAoB,EACpB;IACI,IAAI,EAAE,UAAU;IAChB,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,gBAAgB;IACpC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,uBAAuB,GAAG,YAAY,CAAC,gBAAgB,CACzD,oBAAoB,EACpB;IACI,IAAI,EAAE,UAAU;IAChB,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE;IACrC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAAC,gBAAgB,CAC7D,oBAAoB,EACpB;IACI,IAAI,EAAE,cAAc;IACpB,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE;IACrC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,2BAA2B,GAAG,YAAY,CAAC,gBAAgB,CAC7D,oBAAoB,EACpB;IACI,IAAI,EAAE,cAAc;IACpB,iBAAiB,EAAE,eAAe;IAClC,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE;IACrC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,oBAAoB,GAAG,YAAY,CAAC,gBAAgB,CACtD,oBAAoB,EACpB;IACI,IAAI,EAAE,OAAO;IACb,iBAAiB,EAAE,gBAAgB;IACnC,kBAAkB,EAAE,gBAAgB;IACpC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,0BAA0B,GAAG,YAAY,CAAC,gBAAgB,CAG9D,oBAAoB,EAAE;IACpB,IAAI,EAAE,aAAa;IACnB,iBAAiB,EAAE,qBAAqB;IACxC,kBAAkB,EAAE,gBAAgB;IACpC,YAAY,EAAE,mBAAmB;CACpC,CAAC,CAAC;AACH,MAAM,wBAAwB,GAAG,YAAY,CAAC,gBAAgB,CAC1D,oBAAoB,EACpB;IACI,IAAI,EAAE,WAAW;IACjB,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,gBAAgB;IACpC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,mBAAmB,GAAG,YAAY,CAAC,gBAAgB,CACrD,oBAAoB,EACpB;IACI,IAAI,EAAE,MAAM;IACZ,iBAAiB,EAAE,WAAW;IAC9B,kBAAkB,EAAE,UAAU,CAAC,IAAI,EAAE;IACrC,YAAY,EAAE,mBAAmB;CACpC,CACJ,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,gBAAgB,CAAc,oBAAoB,EAAE;IAC3F,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,WAAW;CAC1B,CAAC,CAAC;AAEH,MAAM,OAAO,cAAc;IAIM;IAHb,IAAI,GAAG,oBAAoB,CAAC;IAC3B,QAAQ,GAAG,IAAI,aAAa,EAAkB,CAAC;IAEhE,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACvC,MAAM,CAAC,OAAO,CAAC,cAAc,CACzB,2BAA2B,EAC3B,uBAAuB,EACvB,mBAAmB,EACnB,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,EACxB,uBAAuB,CAC1B,CAAC;IACN,CAAC;IAEM,MAAM,CAAI,SAAuB;QACpC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;QACrD,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,SAAS,CAAI,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACvD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,KAAuB,CAAC,CAAC;QACzD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,GAAG,CAAI,IAAkB;QAC5B,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAa,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CACR,UAAsB,EACtB,EACI,IAAI,EACJ,KAAK,GAIR;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QACrE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAEM,GAAG,CAAC,UAAsB;QAC7B,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzC,CAAC;CACJ;AAED,MAAM,SAAS;IAcU;IAbd,KAAK,CAAiB;IACb,KAAK,CAAiB;IACrB,UAAU,CAAsC;IAChD,OAAO,CAAoC;IACpD,EAAE,CAAa;IACf,UAAU,CAA8B;IACxC,WAAW,CAAsB;IACjC,SAAS,CAAU;IACnB,SAAS,CAAU;IACnB,MAAM,CAAe;IACrB,WAAW,CAAoB;IAEvC,YACqB,MAAc,EAC/B,SAAuB;QADN,WAAM,GAAN,MAAM,CAAQ;QAG/B,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG;YACT,GAAG,EAAE,IAAI,YAAY,EAAoB;YACzC,MAAM,EAAE,IAAI,YAAY,EAAoB;YAC5C,MAAM,EAAE,IAAI,YAAY,EAAoB;YAC5C,KAAK,EAAE,IAAI,YAAY,EAAM;YAC7B,WAAW,EAAE,IAAI,YAAY,EAAoB;SACpD,CAAC;QACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QAEvB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC3D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAChD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC3B,KAAK,GAAG,IAAI,GAAG,CACX,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;qBACf,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;oBACjB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC9B,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;wBAC1B,OAAO,CAAC,GAAG,EAAE,SAAc,CAAC,CAAC;oBACjC,CAAC;oBACD,OAAO,SAAS,CAAC;gBACrB,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,IAAI,EAAuB,EAAE;oBAClC,OAAO,OAAO,IAAI,KAAK,WAAW,CAAC;gBACvC,CAAC,CAAC,CACT,CAAC;YACN,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC5B,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,KAAK,EAAE,MAAM,CAAC,WAAW,CACrB,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;oBACrC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;gBAClD,CAAC,CAAC,CACL;aACJ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,CAAC,MAAM,EAAE,EAAE;YACjE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAClD,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE;gBACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,MAAM,EAAE,EAAE;YAChE,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,OAAO;YACX,CAAC;YACD,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACxB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IACpD,CAAC;IAEO,WAAW,CAAC,KAAqB;QACrC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;aAAM,CAAC;YACJ,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,QAA0C;QACpD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACnD,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QAC1B,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,QAAoC;QAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,MAAM,GAAG,GAAS,EAAE,GAAE,CAAC,CAAC;YAC5B,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE;gBAC9B,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC5B,MAAM,EAAE,CAAC;oBACT,OAAO;gBACX,CAAC;gBACD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5B,OAAO,GAAG,EAAE;YACR,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC,CAAC;IACN,CAAC;IAEO,OAAO;QACX,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACtC,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,MAAM,EAAE,IAAI,CAAC,MAAM;aACtB,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC3B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;aAChC,IAAI,CAAC,uBAAuB,EAAE;YAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,CAAC,GAAG,CAAC;SACd,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QACP,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QAClC,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YAC/B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAG,IAAc;QAClC,MAAM,YAAY,GAAG,IAAI;aACpB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACrC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS;aAChC,IAAI,CAAC,uBAAuB,EAAE;YAC3B,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,YAAY;SACrB,CAAC;aACD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACV,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACP,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,GAAG,CACf,GAAG,EACH,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAC1C,CAAC;QACN,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC;QAC5B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACpF,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAG,KAAU;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;YACpC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAG,KAAU;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACvC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAG,KAAU;QAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACvC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK,EAAE,IAAI;SACd,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,KAAK;QACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;YACtC,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC;IACP,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QACxB,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAClE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,CAAC,GAAG,CAAC;SACd,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,OAAO,CAAoC,GAAG,IAAiB;QACxE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,uBAAuB,EAAE;YAClE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,OAAO,GAAoC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAc;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACtE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI;SACP,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAG,IAAc;QACjC,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE;YACtE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,IAAI;SACP,CAAC,CAAC;QACH,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EACpB,KAAK,EACL,QAAQ,EACR,MAAM,GAKT;QACG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CACxC,oBAAoB,EACpB,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,CACzD,CAAC;QACF,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,EACpB,KAAK,EACL,GAAG,GAIN;QACG,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,EAAE;YACrE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,KAAK;YACL,GAAG;SACN,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,QAAQ;QACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACnE,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,CAAC,OAAO,CAAC,EAClB,QAAQ,EACR,MAAM,GAIT;QACG,OAAO,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC;gBAChC,KAAK,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG;gBAC5B,QAAQ;gBACR,MAAM;aACT,CAAC,CAAC;YACH,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM;YACV,CAAC;YACD,KAAK,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACtF,IAAI,CAAC,UAAU,EAAE,CAAC;gBACd,MAAM;YACV,CAAC;YACD,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC1C,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,IAAI;QACb,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE;YACzD,EAAE,EAAE,IAAI,CAAC,EAAE;SACd,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB,CAAC,KAAiC;QACtD,OAAO,IAAI,GAAG,CACV,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YAC1B,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEO,cAAc,CAAC,KAAU;QAC7B,OAAO,MAAM,CAAC,WAAW,CACrB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACf,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QACrE,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAEM,YAAY,CAAC,IAAY;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IAC1B,CAAC;IAEM,SAAS,CAAC,MAAmB;QAChC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,cAAc,CAAC,WAA6B;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"table-extension.js","sourceRoot":"","sources":["../../../../src/extension/table/table-extension.ts"],"names":[],"mappings":"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"}
@@ -84,20 +84,43 @@ export class Network {
84
84
  }
85
85
  listeners.event.listen(handler);
86
86
  }
87
+ async scheduleReconnect(attempt) {
88
+ const timeout = Math.min(30000, 2000 * Math.pow(2, attempt));
89
+ const date = new Date();
90
+ let cancelled = false;
91
+ await this.setStatus({
92
+ type: 'reconnecting',
93
+ attempt,
94
+ timeout,
95
+ date,
96
+ cancel: () => { cancelled = true; }
97
+ });
98
+ if (cancelled) {
99
+ return false;
100
+ }
101
+ const remaining = timeout - (new Date().getTime() - date.getTime());
102
+ await new Promise((resolve) => setTimeout(resolve, remaining));
103
+ return true;
104
+ }
87
105
  async connect(recconect = true) {
88
106
  if (!this.isState('disconnected')) {
89
107
  throw new Error(`Cannot connect while ${this.status.type}`);
90
108
  }
109
+ let attempt = 0;
91
110
  while (true) {
111
+ attempt++;
92
112
  try {
93
113
  try {
94
114
  await this.connection.connect();
115
+ attempt = 0;
95
116
  }
96
117
  catch (error) {
97
118
  if (!recconect) {
98
119
  throw error;
99
120
  }
100
- await new Promise((resolve) => setTimeout(resolve, 2000));
121
+ if (!await this.scheduleReconnect(attempt)) {
122
+ return;
123
+ }
101
124
  continue;
102
125
  }
103
126
  await this.setStatus({ type: 'connecting' });
@@ -129,7 +152,9 @@ export class Network {
129
152
  if (!recconect) {
130
153
  break;
131
154
  }
132
- await new Promise((resolve) => setTimeout(resolve, 1000));
155
+ if (!await this.scheduleReconnect(attempt)) {
156
+ break;
157
+ }
133
158
  }
134
159
  }
135
160
  isState(state) {
@@ -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;AAEjD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAwBvF,MAAM,OAAO,OAAO;IAaK;IACD;IACC;IACT;IAfL,MAAM,GAAkB,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC;IACtC,KAAK,GAAG;QACpB,SAAS,EAAE,IAAI,YAAY,EAAM;QACjC,YAAY,EAAE,IAAI,YAAY,EAA6B;QAC3D,MAAM,EAAE,IAAI,YAAY,EAAY;QACpC,MAAM,EAAE,IAAI,YAAY,EAAmB;KAC9C,CAAC;IACe,KAAK,GAAsC,EAAE,CAAC;IAC9C,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,cAAc,GAAG,IAAI,aAAa,EAA0B,CAAC;IAE9E,YACqB,MAAc,EACf,OAAgB,EACf,aAA4B,EACrC,UAAsB;QAHb,WAAM,GAAN,MAAM,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;QACf,kBAAa,GAAb,aAAa,CAAe;QACrC,eAAU,GAAV,UAAU,CAAY;QAE9B,IAAI,CAAC,cAAc,CACf,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,CACrB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YAC5D,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ;mBACrC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK;mBACpC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;gBAClD,OAAO;YACX,CAAC;YACD,MAAM,SAAS,GAAwD;gBACnE,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,iBAAiB;gBACtD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,gBAAgB;gBACpD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,YAAY;gBAC5C,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,aAAa;gBAC9C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,cAAc;gBAChD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,aAAa;gBAC9C,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,aAAa;gBACnD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,aAAa;gBACnD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,SAAS;gBAC1C,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS;gBACjC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS;aACvC,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBAC3C,MAAM,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;YAC3D,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,aAAa,CAAC,UAAsB;QACvC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,cAAc,CAAC,GAAG,WAAkC;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC7B,IAAI;gBACJ,KAAK,EAAE,IAAI,YAAY,EAAE;aAC5B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAI,IAAmB,EAAE,OAA4B;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAuC,CAAC;QACzF,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnE,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAoC,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;QACjC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,EAAE,CAAC;YACV,IAAI,CAAC;gBACD,IAAI,CAAC;oBACD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;gBACpC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACb,IAAI,CAAC,SAAS,EAAE,CAAC;wBACb,MAAM,KAAK,CAAC;oBAChB,CAAC;oBACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;oBAC1D,SAAS;gBACb,CAAC;gBACD,MAAM,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,YAAY,EAAC,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC1E,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,YAAY,CAAC,OAAO;oBAC1B,IAAI,EAAE,IAAI,aAAa,CAAC;wBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;wBACpB,QAAQ,EAAE,EAAC,OAAO,EAAE,OAAO,EAAC;wBAC5B,KAAK;qBACR,CAAC;iBACL,CAAC,CAAC;gBACH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,WAAW,EAAC,CAAC,CAAC;gBAC1C,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAClC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;gBAC3B,IAAI,CAAC,IAAI,CAAC;oBACN,IAAI,EAAE,YAAY,CAAC,KAAK;oBACxB,IAAI,EAAE,IAAI;iBACb,CAAC,CAAC;gBACH,MAAM,aAAa,CAAC;gBACpB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAC/B,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC5B,CAAC;YACL,CAAC;oBAAS,CAAC;gBACP,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,CAAC;YACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM;YACV,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC9D,CAAC;IACL,CAAC;IAEO,OAAO,CAAC,KAA4B;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC;IACtC,CAAC;IAEM,UAAU;QACb,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACtC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,EAAC,IAAI,EAAE,cAAc,EAAC,CAAC,CAAC;QACvC,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAEM,IAAI,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,MAAM;QAChB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,OAAO,CAAC,IAAgC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,IAAgC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAqB;QACzC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;CACJ"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export const VERSION = '0.8.0';
1
+ export const VERSION = '0.8.2';
2
2
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@omujs/omu",
4
- "version": "0.8.1",
4
+ "version": "0.8.3",
5
5
  "exports": {
6
6
  ".": {
7
7
  "import": "./dist/esm/index.js",
@@ -77,15 +77,18 @@ export class PermissionExtension {
77
77
  }
78
78
 
79
79
  public require(...permissionIds: (Identifier | string)[]): void {
80
+ const ids: Identifier[] = permissionIds.map((id) =>
81
+ typeof id === 'string' ? Identifier.fromKey(id) : id,
82
+ );
83
+ const missing = ids.filter((id) => !this.permissions.has(id));
80
84
  if (this.client.running) {
81
- throw new Error('Permissions must be required before the client starts');
82
- }
83
- for (const permissionId of permissionIds) {
84
- if (typeof permissionId === 'string') {
85
- this.requiredPermissions.add(Identifier.fromKey(permissionId));
86
- } else {
87
- this.requiredPermissions.add(permissionId);
85
+ if (missing.length > 0) {
86
+ throw new Error('Permissions must be registered before the client starts');
88
87
  }
88
+ return;
89
+ }
90
+ for (const id of ids) {
91
+ this.requiredPermissions.add(id);
89
92
  }
90
93
  }
91
94
 
@@ -1,2 +1,4 @@
1
- export { PLUGIN_EXTENSION_TYPE, PluginExtension } from './plugin-extension.js';
1
+ export {
2
+ PLUGIN_EXTENSION_TYPE, PLUGIN_MANAGE_PACKAGE_PERMISSION_ID, PLUGIN_READ_PACKAGE_PERMISSION_ID, PluginExtension
3
+ } from './plugin-extension.js';
2
4
 
@@ -1,6 +1,8 @@
1
1
  import type { Client } from '../../client.js';
2
2
  import { PacketType } from '../../network/packet/packet.js';
3
+ import { EndpointType } from '../endpoint/endpoint.js';
3
4
  import { ExtensionType } from '../extension.js';
5
+ import { Table, TableType } from '../table/table.js';
4
6
 
5
7
  export const PLUGIN_EXTENSION_TYPE = new ExtensionType(
6
8
  'plugin',
@@ -16,6 +18,14 @@ export class PluginExtension {
16
18
  client.network.addTask(() => this.onTask());
17
19
  }
18
20
 
21
+ public getAllowedPackages(): Table<PluginPackageInfo> {
22
+ return this.client.tables.get(PLUGIN_ALLOWED_PACKAGE_TABLE);
23
+ }
24
+
25
+ public reload(options: ReloadOptions): void {
26
+ this.client.endpoints.call(PLUGIN_RELOAD_ENDPOINT_TYPE, options);
27
+ }
28
+
19
29
  private async onTask(): Promise<void> {
20
30
  this.client.send(PLUGIN_REQUIRE_PACKET, Object.fromEntries(this.requiredPlugins));
21
31
  }
@@ -36,3 +46,42 @@ const PLUGIN_REQUIRE_PACKET = PacketType.createJson<Record<string, string | null
36
46
  name: 'require',
37
47
  },
38
48
  );
49
+ export class PluginPackageInfo {
50
+ public package: string;
51
+ public version: string;
52
+
53
+ constructor(_package: string, version: string) {
54
+ this.package = _package;
55
+ this.version = version;
56
+ }
57
+
58
+ public static fromJson(json: { package: string, version: string }): PluginPackageInfo {
59
+ return new PluginPackageInfo(json.package, json.version);
60
+ }
61
+
62
+ public toJson(): { package: string, version: string } {
63
+ return { package: this.package, version: this.version };
64
+ }
65
+
66
+ public key(): string {
67
+ return this.package;
68
+ }
69
+ }
70
+
71
+ export const PLUGIN_READ_PACKAGE_PERMISSION_ID = PLUGIN_EXTENSION_TYPE.join('package', 'read')
72
+ export const PLUGIN_MANAGE_PACKAGE_PERMISSION_ID = PLUGIN_EXTENSION_TYPE.join('package', 'manage')
73
+
74
+ const PLUGIN_ALLOWED_PACKAGE_TABLE = TableType.createModel(PLUGIN_EXTENSION_TYPE, {
75
+ name: 'allowed_package',
76
+ model: PluginPackageInfo,
77
+ });
78
+ type ReloadOptions = {
79
+ packages: string[] | null,
80
+ };
81
+ type ReloadResult = {
82
+ packages: Record<string, string>,
83
+ };
84
+ const PLUGIN_RELOAD_ENDPOINT_TYPE = EndpointType.createJson<ReloadOptions, ReloadResult>(PLUGIN_EXTENSION_TYPE, {
85
+ name: 'reload',
86
+ permissionId: PLUGIN_MANAGE_PACKAGE_PERMISSION_ID,
87
+ });
@@ -1,3 +1,3 @@
1
- export { TABLE_EXTENSION_TYPE, TableExtension } from './table-extension.js';
1
+ export { TABLE_EXTENSION_TYPE, TABLE_PERMISSION_ID, TableExtension } from './table-extension.js';
2
2
  export { Table, TableConfig, TableType } from './table.js';
3
3
 
@@ -28,7 +28,7 @@ export const TABLE_EXTENSION_TYPE: ExtensionType<TableExtension> = new Extension
28
28
  'table',
29
29
  (client) => new TableExtension(client),
30
30
  );
31
- const TABLE_PERMISSION_ID = TABLE_EXTENSION_TYPE.join('permission');
31
+ export const TABLE_PERMISSION_ID = TABLE_EXTENSION_TYPE.join('permission');
32
32
 
33
33
  const TABLE_SET_PERMISSION_PACKET = PacketType.createSerialized<SetPermissionPacket>(
34
34
  TABLE_EXTENSION_TYPE,
@@ -536,6 +536,9 @@ class TableImpl<T> implements Table<T> {
536
536
  break;
537
537
  }
538
538
  yield* items.values();
539
+ if (cursor !== undefined) {
540
+ items.delete(cursor);
541
+ }
539
542
  const cursorItem = backward ? items.values().next().value : [...items.values()].pop();
540
543
  if (!cursorItem) {
541
544
  break;
@@ -25,20 +25,19 @@ type PacketHandler<T> = {
25
25
  event: EventEmitter<[T]>;
26
26
  };
27
27
 
28
- // export enum NetworkStatus {
29
- // DISCONNECTED = 'disconnected',
30
- // CONNECTING = 'connecting',
31
- // CONNECTED = 'connected',
32
- // READY = 'ready',
33
- // ERROR = 'error',
34
- // CLOSED = 'closed',
35
- // }
36
28
  type StatusType<T> = {
37
29
  type: T,
38
30
  };
31
+
39
32
  export type NetworkStatus = StatusType<'disconnected'> | StatusType<'connecting'> | StatusType<'connected'> | StatusType<'ready'> | {
40
33
  type: 'error',
41
34
  error: OmuError,
35
+ } | {
36
+ type: 'reconnecting',
37
+ attempt: number,
38
+ timeout: number,
39
+ date: Date,
40
+ cancel: () => void,
42
41
  } | StatusType<'closed'>;
43
42
 
44
43
  export class Network {
@@ -128,20 +127,45 @@ export class Network {
128
127
  listeners.event.listen(handler as (packet: unknown) => void);
129
128
  }
130
129
 
130
+ private async scheduleReconnect(attempt: number): Promise<boolean> {
131
+ const timeout = Math.min(30000, 2000 * Math.pow(2, attempt));
132
+ const date = new Date();
133
+ let cancelled = false;
134
+ await this.setStatus({
135
+ type: 'reconnecting',
136
+ attempt,
137
+ timeout,
138
+ date,
139
+ cancel: () => {cancelled = true;}
140
+ });
141
+ if (cancelled) {
142
+ return false;
143
+ }
144
+ const remaining = timeout - (new Date().getTime() - date.getTime());
145
+ await new Promise((resolve) => setTimeout(resolve, remaining));
146
+ return true;
147
+ }
148
+
131
149
  public async connect(recconect = true): Promise<void> {
132
150
  if (!this.isState('disconnected')) {
133
151
  throw new Error(`Cannot connect while ${this.status.type}`);
134
152
  }
135
153
 
154
+ let attempt = 0;
155
+
136
156
  while (true) {
157
+ attempt++;
137
158
  try {
138
159
  try {
139
160
  await this.connection.connect();
161
+ attempt = 0;
140
162
  } catch (error) {
141
163
  if (!recconect) {
142
164
  throw error;
143
165
  }
144
- await new Promise((resolve) => setTimeout(resolve, 2000));
166
+ if (!await this.scheduleReconnect(attempt)) {
167
+ return;
168
+ }
145
169
  continue;
146
170
  }
147
171
  await this.setStatus({type: 'connecting'});
@@ -172,7 +196,9 @@ export class Network {
172
196
  if (!recconect) {
173
197
  break;
174
198
  }
175
- await new Promise((resolve) => setTimeout(resolve, 1000));
199
+ if (!await this.scheduleReconnect(attempt)) {
200
+ break;
201
+ }
176
202
  }
177
203
  }
178
204
 
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const VERSION = '0.8.0';
1
+ export const VERSION = '0.8.2';