@omujs/omu 0.9.43 → 0.9.48

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 (154) hide show
  1. package/CHANGELOG.md +43 -0
  2. package/package.json +1 -1
  3. package/src/api/dashboard/extension.ts +17 -8
  4. package/src/api/dashboard/handler.ts +1 -1
  5. package/src/api/registry/extension.ts +109 -23
  6. package/src/network/network.ts +5 -0
  7. package/src/omu.ts +1 -0
  8. package/src/serialize/bytebuffer.ts +8 -0
  9. package/src/version.ts +1 -1
  10. package/dist/dts/address.d.ts +0 -6
  11. package/dist/dts/api/asset/extension.d.ts +0 -25
  12. package/dist/dts/api/asset/index.d.ts +0 -2
  13. package/dist/dts/api/dashboard/extension.d.ts +0 -181
  14. package/dist/dts/api/dashboard/handler.d.ts +0 -22
  15. package/dist/dts/api/dashboard/index.d.ts +0 -3
  16. package/dist/dts/api/dashboard/packets.d.ts +0 -73
  17. package/dist/dts/api/endpoint/endpoint.d.ts +0 -32
  18. package/dist/dts/api/endpoint/extension.d.ts +0 -23
  19. package/dist/dts/api/endpoint/index.d.ts +0 -2
  20. package/dist/dts/api/endpoint/packets.d.ts +0 -51
  21. package/dist/dts/api/extension-registry.d.ts +0 -8
  22. package/dist/dts/api/extension.d.ts +0 -11
  23. package/dist/dts/api/http/extension.d.ts +0 -41
  24. package/dist/dts/api/http/http.d.ts +0 -36
  25. package/dist/dts/api/http/index.d.ts +0 -2
  26. package/dist/dts/api/http/websocket.d.ts +0 -123
  27. package/dist/dts/api/i18n/extension.d.ts +0 -19
  28. package/dist/dts/api/i18n/index.d.ts +0 -1
  29. package/dist/dts/api/index.d.ts +0 -2
  30. package/dist/dts/api/logger/extension.d.ts +0 -25
  31. package/dist/dts/api/logger/index.d.ts +0 -1
  32. package/dist/dts/api/logger/packets.d.ts +0 -18
  33. package/dist/dts/api/permission/extension.d.ts +0 -19
  34. package/dist/dts/api/permission/index.d.ts +0 -1
  35. package/dist/dts/api/permission/permission.d.ts +0 -25
  36. package/dist/dts/api/plugin/extension.d.ts +0 -43
  37. package/dist/dts/api/plugin/index.d.ts +0 -2
  38. package/dist/dts/api/plugin/package-info.d.ts +0 -84
  39. package/dist/dts/api/registry/extension.d.ts +0 -26
  40. package/dist/dts/api/registry/index.d.ts +0 -2
  41. package/dist/dts/api/registry/packets.d.ts +0 -20
  42. package/dist/dts/api/registry/registry.d.ts +0 -57
  43. package/dist/dts/api/server/extension.d.ts +0 -61
  44. package/dist/dts/api/server/index.d.ts +0 -1
  45. package/dist/dts/api/session/extension.d.ts +0 -52
  46. package/dist/dts/api/session/index.d.ts +0 -1
  47. package/dist/dts/api/signal/extension.d.ts +0 -22
  48. package/dist/dts/api/signal/index.d.ts +0 -1
  49. package/dist/dts/api/signal/packets.d.ts +0 -21
  50. package/dist/dts/api/signal/signal.d.ts +0 -33
  51. package/dist/dts/api/table/extension.d.ts +0 -29
  52. package/dist/dts/api/table/index.d.ts +0 -2
  53. package/dist/dts/api/table/packets.d.ts +0 -65
  54. package/dist/dts/api/table/table.d.ts +0 -76
  55. package/dist/dts/app.d.ts +0 -49
  56. package/dist/dts/const.d.ts +0 -2
  57. package/dist/dts/errors.d.ts +0 -36
  58. package/dist/dts/event/index.d.ts +0 -6
  59. package/dist/dts/helper.d.ts +0 -13
  60. package/dist/dts/identifier.d.ts +0 -51
  61. package/dist/dts/index.d.ts +0 -36
  62. package/dist/dts/localization/index.d.ts +0 -2
  63. package/dist/dts/localization/locale.d.ts +0 -735
  64. package/dist/dts/localization/localization.d.ts +0 -5
  65. package/dist/dts/lock.d.ts +0 -6
  66. package/dist/dts/network/connection.d.ts +0 -17
  67. package/dist/dts/network/encryption.d.ts +0 -38
  68. package/dist/dts/network/frame-transport.d.ts +0 -22
  69. package/dist/dts/network/index.d.ts +0 -5
  70. package/dist/dts/network/network.d.ts +0 -58
  71. package/dist/dts/network/packet/index.d.ts +0 -2
  72. package/dist/dts/network/packet/packet-types.d.ts +0 -84
  73. package/dist/dts/network/packet/packet.d.ts +0 -28
  74. package/dist/dts/network/websocket-transport.d.ts +0 -24
  75. package/dist/dts/omu.d.ts +0 -61
  76. package/dist/dts/result.d.ts +0 -41
  77. package/dist/dts/serialize/bytebuffer.d.ts +0 -71
  78. package/dist/dts/serialize/index.d.ts +0 -2
  79. package/dist/dts/serialize/serializer.d.ts +0 -38
  80. package/dist/dts/token.d.ts +0 -14
  81. package/dist/dts/version.d.ts +0 -2
  82. package/dist/esm/address.js +0 -4
  83. package/dist/esm/api/asset/extension.js +0 -905
  84. package/dist/esm/api/asset/index.js +0 -903
  85. package/dist/esm/api/dashboard/extension.js +0 -1343
  86. package/dist/esm/api/dashboard/handler.js +0 -4
  87. package/dist/esm/api/dashboard/index.js +0 -1342
  88. package/dist/esm/api/dashboard/packets.js +0 -413
  89. package/dist/esm/api/endpoint/endpoint.js +0 -383
  90. package/dist/esm/api/endpoint/extension.js +0 -1090
  91. package/dist/esm/api/endpoint/index.js +0 -383
  92. package/dist/esm/api/endpoint/packets.js +0 -793
  93. package/dist/esm/api/extension-registry.js +0 -23
  94. package/dist/esm/api/extension.js +0 -278
  95. package/dist/esm/api/http/extension.js +0 -1414
  96. package/dist/esm/api/http/http.js +0 -442
  97. package/dist/esm/api/http/index.js +0 -1413
  98. package/dist/esm/api/http/websocket.js +0 -220
  99. package/dist/esm/api/i18n/extension.js +0 -1270
  100. package/dist/esm/api/i18n/index.js +0 -1268
  101. package/dist/esm/api/index.js +0 -295
  102. package/dist/esm/api/logger/extension.js +0 -850
  103. package/dist/esm/api/logger/index.js +0 -846
  104. package/dist/esm/api/logger/packets.js +0 -667
  105. package/dist/esm/api/permission/extension.js +0 -535
  106. package/dist/esm/api/permission/index.js +0 -294
  107. package/dist/esm/api/permission/permission.js +0 -294
  108. package/dist/esm/api/plugin/extension.js +0 -531
  109. package/dist/esm/api/plugin/index.js +0 -529
  110. package/dist/esm/api/plugin/package-info.js +0 -4
  111. package/dist/esm/api/registry/extension.js +0 -1217
  112. package/dist/esm/api/registry/index.js +0 -1216
  113. package/dist/esm/api/registry/packets.js +0 -688
  114. package/dist/esm/api/registry/registry.js +0 -383
  115. package/dist/esm/api/server/extension.js +0 -2071
  116. package/dist/esm/api/server/index.js +0 -2049
  117. package/dist/esm/api/session/extension.js +0 -2166
  118. package/dist/esm/api/session/index.js +0 -2166
  119. package/dist/esm/api/signal/extension.js +0 -1025
  120. package/dist/esm/api/signal/index.js +0 -379
  121. package/dist/esm/api/signal/packets.js +0 -684
  122. package/dist/esm/api/signal/signal.js +0 -379
  123. package/dist/esm/api/table/extension.js +0 -1547
  124. package/dist/esm/api/table/index.js +0 -1546
  125. package/dist/esm/api/table/packets.js +0 -898
  126. package/dist/esm/api/table/table.js +0 -383
  127. package/dist/esm/app.js +0 -264
  128. package/dist/esm/const.js +0 -11
  129. package/dist/esm/errors.js +0 -548
  130. package/dist/esm/event/index.js +0 -22
  131. package/dist/esm/helper.js +0 -15
  132. package/dist/esm/identifier.js +0 -266
  133. package/dist/esm/index.js +0 -5099
  134. package/dist/esm/localization/index.js +0 -742
  135. package/dist/esm/localization/locale.js +0 -742
  136. package/dist/esm/localization/localization.js +0 -4
  137. package/dist/esm/lock.js +0 -46
  138. package/dist/esm/network/connection.js +0 -293
  139. package/dist/esm/network/encryption.js +0 -980
  140. package/dist/esm/network/frame-transport.js +0 -525
  141. package/dist/esm/network/index.js +0 -1617
  142. package/dist/esm/network/network.js +0 -1358
  143. package/dist/esm/network/packet/index.js +0 -485
  144. package/dist/esm/network/packet/packet-types.js +0 -486
  145. package/dist/esm/network/packet/packet.js +0 -126
  146. package/dist/esm/network/websocket-transport.js +0 -487
  147. package/dist/esm/omu.js +0 -4858
  148. package/dist/esm/result.js +0 -68
  149. package/dist/esm/serialize/bytebuffer.js +0 -378
  150. package/dist/esm/serialize/index.js +0 -465
  151. package/dist/esm/serialize/serializer.js +0 -97
  152. package/dist/esm/token.js +0 -42
  153. package/dist/esm/version.js +0 -11
  154. package/tsconfig.tsbuildinfo +0 -1
@@ -1,61 +0,0 @@
1
- import { App, AppJson } from "../../app.js";
2
- import { Identifier, IdentifierMap, IntoId } from "../../identifier";
3
- import { LocalizedText } from "../../localization/localization.js";
4
- import { Omu } from "../../omu.js";
5
- import { ExtensionType, type Extension } from "../extension.js";
6
- import { Registry, RegistryType } from "../registry";
7
- import { type Table } from "../table";
8
- export declare const SERVER_EXTENSION_TYPE: ExtensionType<ServerExtension>;
9
- export interface AppIndexEntry {
10
- url: string;
11
- meta?: AppIndexRegistryMeta;
12
- added_at: string;
13
- }
14
- export interface AppIndex {
15
- indexes: Record<string, AppIndexEntry>;
16
- }
17
- export declare const SERVER_APPS_READ_PERMISSION_ID: Identifier;
18
- export declare const SERVER_APPS_WRITE_PERMISSION_ID: Identifier;
19
- export declare const SERVER_INDEX_READ_PERMISSION_ID: Identifier;
20
- export declare const SERVER_INDEX_REGISTRY_TYPE: RegistryType<AppIndex>;
21
- export declare const SERVER_SHUTDOWN_PERMISSION_ID: Identifier;
22
- export declare const TRUSTED_ORIGINS_GET_PERMISSION_ID: Identifier;
23
- export declare const TRUSTED_ORIGINS_SET_PERMISSION_ID: Identifier;
24
- export declare class ServerExtension implements Extension {
25
- private readonly omu;
26
- readonly type: ExtensionType<ServerExtension>;
27
- readonly apps: Table<App>;
28
- readonly index: Registry<AppIndex>;
29
- readonly trustedHosts: Registry<Record<string, string>>;
30
- constructor(omu: Omu);
31
- shutdown(restart?: boolean): Promise<boolean>;
32
- }
33
- export declare class SessionObserver {
34
- readonly onConnectCallbacks: Array<(app: App) => Promise<void> | void>;
35
- readonly onDisconnectCallbacks: Array<(app: App) => Promise<void> | void>;
36
- constructor(onConnectCallbacks: Array<(app: App) => Promise<void> | void>, onDisconnectCallbacks: Array<(app: App) => Promise<void> | void>);
37
- onConnect(callback: (app: App) => Promise<void> | void): void;
38
- onDisconnect(callback: (app: App) => Promise<void> | void): void;
39
- }
40
- export type AppIndexRegistryMeta = {
41
- name: LocalizedText;
42
- note: LocalizedText;
43
- };
44
- export interface AppIndexRegistryJSON {
45
- id: string;
46
- meta?: AppIndexRegistryMeta;
47
- apps: Record<string, AppJson>;
48
- }
49
- export declare class AppIndexRegistry {
50
- id: Identifier;
51
- apps: IdentifierMap<App>;
52
- meta: AppIndexRegistryMeta | undefined;
53
- constructor(id: Identifier, apps: IdentifierMap<App>, meta: AppIndexRegistryMeta | undefined);
54
- static build(options: {
55
- id: IntoId;
56
- meta: AppIndexRegistryMeta;
57
- apps: App[];
58
- }): AppIndexRegistry;
59
- static fromJSON(json: AppIndexRegistryJSON): AppIndexRegistry;
60
- toJSON(): AppIndexRegistryJSON;
61
- }
@@ -1 +0,0 @@
1
- export { AppIndexRegistry, SERVER_APPS_READ_PERMISSION_ID, SERVER_SHUTDOWN_PERMISSION_ID, TRUSTED_ORIGINS_GET_PERMISSION_ID, TRUSTED_ORIGINS_SET_PERMISSION_ID, type AppIndex, type AppIndexEntry, type AppIndexRegistryJSON } from "./extension.js";
@@ -1,52 +0,0 @@
1
- import { App } from "../../app";
2
- import { Identifier, IntoId } from "../../identifier";
3
- import { Omu } from "../../omu";
4
- import { SessionParam } from "../../token";
5
- import { Extension, ExtensionType } from "../extension";
6
- import { SessionObserver } from "../server/extension";
7
- import { Table } from "../table";
8
- export declare const SESSION_EXTENSION_TYPE: ExtensionType<SessionExtension>;
9
- export declare const SESSIONS_READ_PERMISSION_ID: Identifier;
10
- export type RequestRemoteAppResponse = {
11
- type: "success";
12
- token: string;
13
- lan_ip: string;
14
- } | {
15
- type: "error";
16
- message: string;
17
- };
18
- export declare const REMOTE_APP_REQUEST_PERMISSION_ID: Identifier;
19
- export type GenerateTokenResponse = {
20
- type: "success";
21
- token: string;
22
- } | {
23
- type: "error";
24
- message: string;
25
- };
26
- export declare const GENERATE_TOKEN_PERMISSION_ID: Identifier;
27
- export declare class SessionExtension implements Extension {
28
- private readonly omu;
29
- readonly type: ExtensionType<SessionExtension>;
30
- readonly sessions: Table<App>;
31
- private readonly sessionObservers;
32
- private readonly requiredApps;
33
- constructor(omu: Omu);
34
- has(id: IntoId): Promise<boolean>;
35
- observe(appId: IntoId, options?: {
36
- onConnect?(app: App): void;
37
- onDisconnect?(app: App): void;
38
- }): SessionObserver;
39
- private handleSessionConnect;
40
- private handleSessionDisconnect;
41
- require(...appIds: IntoId[]): void;
42
- private onTask;
43
- private onReady;
44
- requestRemoteApp(options: {
45
- app: App;
46
- permissions: IntoId[];
47
- }): Promise<RequestRemoteAppResponse>;
48
- generateToken(options: {
49
- app: App;
50
- permissions?: IntoId[];
51
- }): Promise<SessionParam>;
52
- }
@@ -1 +0,0 @@
1
- export { GENERATE_TOKEN_PERMISSION_ID, REMOTE_APP_REQUEST_PERMISSION_ID, SESSION_EXTENSION_TYPE, SessionExtension, SESSIONS_READ_PERMISSION_ID, type RequestRemoteAppResponse } from "./extension";
@@ -1,22 +0,0 @@
1
- import { Omu } from "../../omu";
2
- import { JsonType, Serializable } from "../../serialize";
3
- import { ExtensionType, type Extension } from "../extension.js";
4
- import { SignalType, type Signal } from "./signal.js";
5
- export declare const SIGNAL_EXTENSION_TYPE: ExtensionType<SignalExtension>;
6
- export declare class SignalExtension implements Extension {
7
- private readonly omu;
8
- readonly type: ExtensionType<SignalExtension>;
9
- private readonly signals;
10
- constructor(omu: Omu);
11
- private createSignal;
12
- json<
13
- T,
14
- D extends JsonType = JsonType
15
- >(name: string, options?: {
16
- serializer?: Serializable<T, D>;
17
- }): Signal<T>;
18
- serialized<T>(name: string, options: {
19
- serializer: Serializable<T, Uint8Array>;
20
- }): Signal<T>;
21
- get<T>(signalType: SignalType<T>): Signal<T>;
22
- }
@@ -1 +0,0 @@
1
- export { SignalPermissions, SignalType, type Signal } from "./signal.js";
@@ -1,21 +0,0 @@
1
- import { Identifier } from "../../identifier";
2
- import { SignalPermissions, SignalPermissionsJSON } from "./signal.js";
3
- export declare class SignalPacket {
4
- readonly id: Identifier;
5
- readonly body: Uint8Array;
6
- constructor(id: Identifier, body: Uint8Array);
7
- static serialize(packet: SignalPacket): Uint8Array;
8
- static deserialize(data: Uint8Array): SignalPacket;
9
- }
10
- interface SignalRegisterPacketJSON {
11
- id: string;
12
- permissions: SignalPermissionsJSON;
13
- }
14
- export declare class SignalRegisterPacket {
15
- readonly id: Identifier;
16
- readonly permissions: SignalPermissions;
17
- constructor(id: Identifier, permissions: SignalPermissions);
18
- static serialize(packet: SignalRegisterPacket): SignalRegisterPacketJSON;
19
- static deserialize(data: SignalRegisterPacketJSON): SignalRegisterPacket;
20
- }
21
- export {};
@@ -1,33 +0,0 @@
1
- import type { Unlisten } from "../../event";
2
- import { Identifier, IntoId } from "../../identifier";
3
- import type { Serializable } from "../../serialize";
4
- export interface SignalPermissionsJSON {
5
- all?: string;
6
- listen?: string;
7
- send?: string;
8
- }
9
- export interface SignalPermissions {
10
- all?: IntoId | undefined;
11
- listen?: IntoId | undefined;
12
- send?: IntoId | undefined;
13
- }
14
- export declare class SignalType<T> {
15
- readonly id: Identifier;
16
- readonly serializer: Serializable<T, Uint8Array>;
17
- readonly permissions: SignalPermissions;
18
- constructor(id: Identifier, serializer: Serializable<T, Uint8Array>, permissions: SignalPermissions);
19
- static createJson<T>(identifier: IntoId, { name, serializer, permissions }: {
20
- name: string;
21
- serializer?: Serializable<T, any>;
22
- permissions?: SignalPermissions;
23
- }): SignalType<T>;
24
- static createSerialized<T>(identifier: IntoId, { name, serializer, permissions }: {
25
- name: string;
26
- serializer: Serializable<T, Uint8Array>;
27
- permissions?: SignalPermissions;
28
- }): SignalType<T>;
29
- }
30
- export interface Signal<T> {
31
- listen(handler: (value: T) => void): Unlisten;
32
- notify(body: T): void;
33
- }
@@ -1,29 +0,0 @@
1
- import { Identifier } from "../../identifier";
2
- import { Omu } from "../../omu";
3
- import type { JsonType, Serializable } from "../../serialize";
4
- import type { Extension } from "../extension.js";
5
- import { ExtensionType } from "../extension.js";
6
- import type { Table } from "./table.js";
7
- import { TableType } from "./table.js";
8
- export declare const TABLE_EXTENSION_TYPE: ExtensionType<TableExtension>;
9
- export declare const TABLE_PERMISSION_ID: Identifier;
10
- export declare class TableExtension implements Extension {
11
- private readonly omu;
12
- readonly type: ExtensionType<TableExtension>;
13
- private readonly tableMap;
14
- constructor(omu: Omu);
15
- private createTable;
16
- json<
17
- T,
18
- D extends JsonType = JsonType
19
- >(name: string, options: {
20
- key: (item: T) => string;
21
- serializer?: Serializable<T, D>;
22
- }): Table<T>;
23
- serialized<T>(name: string, options: {
24
- key: (item: T) => string;
25
- serializer: Serializable<T, Uint8Array>;
26
- }): Table<T>;
27
- get<T>(type: TableType<T>): Table<T>;
28
- has(identifier: Identifier): boolean;
29
- }
@@ -1,2 +0,0 @@
1
- export { TABLE_PERMISSION_ID } from "./extension.js";
2
- export { TableType, type Table, type TableConfig } from "./table.js";
@@ -1,65 +0,0 @@
1
- import { Identifier } from "../../identifier";
2
- import type { TableConfig } from "./table.js";
3
- export declare class TablePacket {
4
- readonly id: Identifier;
5
- constructor(id: Identifier);
6
- static serialize(packet: TablePacket): Uint8Array;
7
- static deserialize(data: Uint8Array): TablePacket;
8
- }
9
- export declare class TableItemsPacket {
10
- readonly id: Identifier;
11
- readonly items: Record<string, Uint8Array>;
12
- constructor(id: Identifier, items: Record<string, Uint8Array>);
13
- static serialize(packet: TableItemsPacket): Uint8Array;
14
- static deserialize(data: Uint8Array): TableItemsPacket;
15
- }
16
- export declare class TableKeysPacket {
17
- readonly id: Identifier;
18
- readonly keys: string[];
19
- constructor(id: Identifier, keys: string[]);
20
- static serialize(packet: TableKeysPacket): Uint8Array;
21
- static deserialize(data: Uint8Array): TableKeysPacket;
22
- }
23
- export declare class TableProxyPacket {
24
- readonly id: Identifier;
25
- readonly items: Record<string, Uint8Array>;
26
- readonly key: number;
27
- constructor(id: Identifier, items: Record<string, Uint8Array>, key: number);
28
- static serialize(packet: TableProxyPacket): Uint8Array;
29
- static deserialize(data: Uint8Array): TableProxyPacket;
30
- }
31
- export declare class TableFetchPacket {
32
- readonly id: Identifier;
33
- readonly limit: number;
34
- readonly backward: boolean;
35
- readonly cursor: string | null;
36
- constructor(id: Identifier, limit: number, backward?: boolean, cursor?: string | null);
37
- static serialize(packet: TableFetchPacket): Uint8Array;
38
- static deserialize(data: Uint8Array): TableFetchPacket;
39
- }
40
- export declare class TableFetchRangePacket {
41
- readonly id: Identifier;
42
- readonly start: string;
43
- readonly end: string;
44
- constructor(id: Identifier, start: string, end: string);
45
- static serialize(packet: TableFetchRangePacket): Uint8Array;
46
- static deserialize(data: Uint8Array): TableFetchRangePacket;
47
- }
48
- export declare class SetConfigPacket {
49
- readonly id: Identifier;
50
- readonly config: TableConfig;
51
- constructor(id: Identifier, config: TableConfig);
52
- static serialize(packet: SetConfigPacket): Uint8Array;
53
- static deserialize(data: Uint8Array): SetConfigPacket;
54
- }
55
- export declare class SetPermissionPacket {
56
- readonly id: Identifier;
57
- readonly all: Identifier | null;
58
- readonly read: Identifier | null;
59
- readonly write: Identifier | null;
60
- readonly remove: Identifier | null;
61
- readonly proxy: Identifier | null;
62
- constructor(id: Identifier, all: Identifier | null, read: Identifier | null, write: Identifier | null, remove: Identifier | null, proxy: Identifier | null);
63
- static serialize(packet: SetPermissionPacket): Uint8Array;
64
- static deserialize(data: Uint8Array): SetPermissionPacket;
65
- }
@@ -1,76 +0,0 @@
1
- import type { EventEmitter, Unlisten } from "../../event";
2
- import { Identifier, IntoId } from "../../identifier";
3
- import type { JsonType, Serializable } from "../../serialize";
4
- export type TableConfig = {
5
- cache_size: number;
6
- };
7
- export interface Table<T> {
8
- readonly cache: ReadonlyMap<string, T>;
9
- readonly event: TableEvents<T>;
10
- get(key: string): Promise<T | undefined>;
11
- getMany(...keys: string[]): Promise<Map<string, T>>;
12
- add(...item: T[]): Promise<void>;
13
- update(...item: T[]): Promise<void>;
14
- remove(...items: T[]): Promise<void>;
15
- clear(): Promise<void>;
16
- has(key: string): Promise<boolean>;
17
- hasMany<T extends Record<string, unknown>>(...keys: (keyof T)[]): Promise<{ [key in keyof T] : boolean }>;
18
- hasAll(...keys: string[]): Promise<boolean>;
19
- hasAny(...keys: string[]): Promise<boolean>;
20
- fetchItems({ limit, backward, cursor }: {
21
- limit: number;
22
- backward?: boolean;
23
- cursor?: string;
24
- }): Promise<Map<string, T>>;
25
- fetchRange({ start, end }: {
26
- start: string;
27
- end: string;
28
- }): Promise<Map<string, T>>;
29
- fetchAll(): Promise<Map<string, T>>;
30
- iterate({ backward, cursor }: {
31
- backward?: boolean;
32
- cursor?: string;
33
- }): AsyncIterable<T>;
34
- size(): Promise<number>;
35
- proxy(proxy: (item: T) => T | undefined): Unlisten;
36
- setCacheSize(size: number): void;
37
- setConfig(config: TableConfig): void;
38
- setPermissions(permissions: TablePermissions): void;
39
- listen(listener?: (items: Map<string, T>) => void): Unlisten;
40
- }
41
- export type TableEvents<T> = {
42
- add: EventEmitter<[Map<string, T>]>;
43
- update: EventEmitter<[Map<string, T>]>;
44
- remove: EventEmitter<[Map<string, T>]>;
45
- clear: EventEmitter<[]>;
46
- cacheUpdate: EventEmitter<[Map<string, T>]>;
47
- };
48
- export type TablePermissions = {
49
- all?: Identifier;
50
- read?: Identifier;
51
- write?: Identifier;
52
- remove?: Identifier;
53
- proxy?: Identifier;
54
- };
55
- export declare class TableType<T> {
56
- id: Identifier;
57
- serializer: Serializable<T, Uint8Array>;
58
- keyFunction: (item: T) => string;
59
- permissions?: TablePermissions | undefined;
60
- constructor(id: Identifier, serializer: Serializable<T, Uint8Array>, keyFunction: (item: T) => string, permissions?: TablePermissions | undefined);
61
- static createJson<
62
- T,
63
- D extends JsonType = JsonType
64
- >(identifier: IntoId, { name, key, permissions, serializer }: {
65
- name: string;
66
- key: (item: T) => string;
67
- permissions?: TablePermissions;
68
- serializer?: Serializable<T, D>;
69
- }): TableType<T>;
70
- static createSerialized<T>(identifier: IntoId, { name, key, permissions, serializer }: {
71
- name: string;
72
- key: (item: T) => string;
73
- permissions?: TablePermissions;
74
- serializer: Serializable<T, Uint8Array>;
75
- }): TableType<T>;
76
- }
package/dist/dts/app.d.ts DELETED
@@ -1,49 +0,0 @@
1
- import { Identifier, IntoId } from "./identifier";
2
- import type { Locale } from "./localization/locale.js";
3
- import type { LocalizedText } from "./localization/localization.js";
4
- export type AppMetadata = {
5
- locale: Locale;
6
- name?: LocalizedText;
7
- icon?: LocalizedText;
8
- description?: LocalizedText;
9
- image?: LocalizedText;
10
- site?: LocalizedText;
11
- repository?: LocalizedText;
12
- authors?: LocalizedText;
13
- license?: LocalizedText;
14
- tags?: string[];
15
- };
16
- export type AppType = "app" | "service" | "remote" | "plugin" | "dashboard";
17
- export type DependencySpecifier = {
18
- version: string;
19
- index?: string;
20
- };
21
- export type AppJson = {
22
- id: string;
23
- type: AppType;
24
- parent_id?: string;
25
- version?: string;
26
- url?: string;
27
- metadata?: AppMetadata;
28
- dependencies?: Record<string, DependencySpecifier | string>;
29
- };
30
- export declare class App {
31
- readonly id: Identifier;
32
- readonly type: AppType;
33
- readonly parentId?: Identifier;
34
- readonly version?: string;
35
- readonly url?: string;
36
- readonly metadata?: AppMetadata;
37
- readonly dependencies: Record<string, DependencySpecifier | string>;
38
- constructor(id: IntoId, options: {
39
- type?: AppType;
40
- parentId?: IntoId;
41
- version?: string;
42
- url?: string;
43
- metadata?: AppMetadata;
44
- dependencies?: Record<string, DependencySpecifier | string>;
45
- });
46
- static deserialize(info: AppJson): App;
47
- static serialize(data: App): AppJson;
48
- join(...paths: string[]): App;
49
- }
@@ -1,2 +0,0 @@
1
- export declare const textEncoder: TextEncoder;
2
- export declare const textDecoder: TextDecoder;
@@ -1,36 +0,0 @@
1
- import { DisconnectType } from "./network/packet/packet-types.js";
2
- export declare class OmuError extends Error {
3
- constructor(message: string | null);
4
- }
5
- export declare class DisconnectReason extends OmuError {
6
- type: DisconnectType;
7
- message: string;
8
- constructor(type: DisconnectType, message?: string);
9
- }
10
- export declare class ServerRestart extends DisconnectReason {
11
- constructor(message: string);
12
- }
13
- export declare class AnotherConnection extends DisconnectReason {
14
- constructor(message: string);
15
- }
16
- export declare class PermissionDenied extends DisconnectReason {
17
- constructor(message: string);
18
- }
19
- export declare class AppRemoved extends DisconnectReason {
20
- constructor(message: string);
21
- }
22
- export declare class InvalidToken extends DisconnectReason {
23
- constructor(message: string);
24
- }
25
- export declare class InvalidOrigin extends DisconnectReason {
26
- constructor(message: string);
27
- }
28
- export declare class InvalidVersion extends DisconnectReason {
29
- constructor(message: string);
30
- }
31
- export declare class InvalidPacket extends DisconnectReason {
32
- constructor(message: string);
33
- }
34
- export declare class InternalError extends DisconnectReason {
35
- constructor(message: string);
36
- }
@@ -1,6 +0,0 @@
1
- export type Unlisten = () => void;
2
- export declare class EventEmitter<P extends Array<any>> {
3
- private readonly listeners;
4
- listen(listener: (...args: P) => any): Unlisten;
5
- emit(...args: P): Promise<void>;
6
- }
@@ -1,13 +0,0 @@
1
- type Ok<T> = {
2
- ok: true;
3
- data: T;
4
- };
5
- type Err<E> = {
6
- ok: false;
7
- data: E;
8
- };
9
- export declare function tryCatch<
10
- T,
11
- E = Error
12
- >(func: () => T): Ok<T> | Err<E>;
13
- export {};
@@ -1,51 +0,0 @@
1
- import type { ExtensionType } from "./api";
2
- import { App } from "./app";
3
- export type IntoId = Identifier | string | ExtensionType | App;
4
- export declare class Identifier {
5
- readonly namespace: string;
6
- readonly path: string[];
7
- constructor(namespace: string, ...path: string[]);
8
- static serialize(identifier: Identifier): string;
9
- static deserialize(json: string): Identifier;
10
- static from(id: IntoId): Identifier;
11
- static fromOptional(id: IntoId | undefined | null): Identifier | undefined;
12
- static validate(namespace: string, path: string[]): void;
13
- static format(namespace: string, ...path: string[]): string;
14
- static fromKey(key: string): Identifier;
15
- static fromUrl(url: string | URL): Identifier;
16
- static namespaceFromUrl(url: string | URL): string;
17
- get base(): Identifier;
18
- toJson(): string;
19
- static fromJson(json: string): Identifier;
20
- key(): string;
21
- isEqual(other: Identifier): boolean;
22
- isNamespaceEqual(other: Identifier): boolean;
23
- isSubpathOf(other: Identifier): boolean;
24
- join(...path: string[]): Identifier;
25
- }
26
- export declare class IdentifierMap<T> {
27
- private readonly map;
28
- constructor(entries?: Iterable<[Identifier, T]>);
29
- get size(): number;
30
- set(identifier: Identifier, value: T): void;
31
- get(identifier: Identifier): T | undefined;
32
- has(identifier: Identifier): boolean;
33
- delete(identifier: Identifier): void;
34
- clear(): void;
35
- keys(): IterableIterator<Identifier>;
36
- values(): IterableIterator<T>;
37
- entries(): IterableIterator<[Identifier, T]>;
38
- [Symbol.iterator](): IterableIterator<[Identifier, T]>;
39
- }
40
- export declare class IdentifierSet {
41
- private readonly set;
42
- get size(): number;
43
- add(identifier: Identifier): void;
44
- has(identifier: Identifier): boolean;
45
- delete(identifier: Identifier): void;
46
- clear(): void;
47
- keys(): IterableIterator<Identifier>;
48
- values(): IterableIterator<Identifier>;
49
- entries(): IterableIterator<[Identifier, Identifier]>;
50
- [Symbol.iterator](): IterableIterator<[Identifier, Identifier]>;
51
- }
@@ -1,36 +0,0 @@
1
- export { AppIndexRegistry, type AppIndexRegistryJSON } from "./api/server";
2
- export { App, AppMetadata } from "./app.js";
3
- export { DisconnectReason } from "./errors.js";
4
- export { Identifier, IdentifierMap, IdentifierSet, IntoId } from "./identifier";
5
- export * as network from "./network";
6
- export { Omu } from "./omu.js";
7
- export { Serializer } from "./serialize";
8
- export type { Serializable } from "./serialize";
9
- export { BrowserSession, type SessionParam, type SessioTokenProvider as TokenProvider } from "./token";
10
- import { Identifier } from "./identifier";
11
- export declare const OmuPermissions: {
12
- readonly ASSET_PERMISSION_ID: Identifier;
13
- readonly DASHBOARD_APP_INSTALL_PERMISSION_ID: Identifier;
14
- readonly DAShBOARD_DRAG_DROP_PERMISSION_ID: Identifier;
15
- readonly DASHBOARD_OPEN_APP_PERMISSION_ID: Identifier;
16
- readonly DASHBOARD_SET_PERMISSION_ID: Identifier;
17
- readonly DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID: Identifier;
18
- readonly DASHBOARD_WEBVIEW_PERMISSION_ID: Identifier;
19
- readonly DASHOBARD_APP_EDIT_PERMISSION_ID: Identifier;
20
- readonly DASHOBARD_APP_READ_PERMISSION_ID: Identifier;
21
- readonly HTTP_REQUEST_PERMISSION_ID: Identifier;
22
- readonly I18N_GET_LOCALES_PERMISSION_ID: Identifier;
23
- readonly I18N_SET_LOCALES_PERMISSION_ID: Identifier;
24
- readonly LOGGER_LOG_PERMISSION_ID: Identifier;
25
- readonly PLUGIN_MANAGE_PACKAGE_PERMISSION_ID: Identifier;
26
- readonly PLUGIN_READ_PACKAGE_PERMISSION_ID: Identifier;
27
- readonly REGISTRY_PERMISSION_ID: Identifier;
28
- readonly SERVER_APPS_READ_PERMISSION_ID: Identifier;
29
- readonly SERVER_SHUTDOWN_PERMISSION_ID: Identifier;
30
- readonly TRUSTED_ORIGINS_GET_PERMISSION_ID: Identifier;
31
- readonly TRUSTED_ORIGINS_SET_PERMISSION_ID: Identifier;
32
- readonly GENERATE_TOKEN_PERMISSION_ID: Identifier;
33
- readonly REMOTE_APP_REQUEST_PERMISSION_ID: Identifier;
34
- readonly SESSIONS_READ_PERMISSION_ID: Identifier;
35
- readonly TABLE_PERMISSION_ID: Identifier;
36
- };
@@ -1,2 +0,0 @@
1
- export { Locale, LOCALE_NAMES } from "./locale.js";
2
- export type { LocalizedText, Translations } from "./localization.js";