@omujs/omu 0.9.32 → 0.9.40

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 (58) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/dist/dts/api/asset/extension.d.ts +3 -3
  3. package/dist/dts/api/asset/index.d.ts +1 -1
  4. package/dist/dts/api/dashboard/extension.d.ts +13 -3
  5. package/dist/dts/api/dashboard/handler.d.ts +2 -1
  6. package/dist/dts/api/dashboard/index.d.ts +1 -1
  7. package/dist/dts/api/http/extension.d.ts +2 -135
  8. package/dist/dts/api/http/http.d.ts +36 -0
  9. package/dist/dts/api/http/websocket.d.ts +123 -0
  10. package/dist/dts/api/permission/extension.d.ts +1 -0
  11. package/dist/dts/index.d.ts +1 -3
  12. package/dist/dts/version.d.ts +2 -1
  13. package/dist/esm/api/asset/extension.js +43 -18
  14. package/dist/esm/api/asset/index.js +42 -17
  15. package/dist/esm/api/dashboard/extension.js +17 -13
  16. package/dist/esm/api/dashboard/index.js +17 -13
  17. package/dist/esm/api/endpoint/extension.js +3 -3
  18. package/dist/esm/api/extension.js +3 -3
  19. package/dist/esm/api/http/extension.js +262 -277
  20. package/dist/esm/api/http/http.js +442 -0
  21. package/dist/esm/api/http/index.js +262 -165
  22. package/dist/esm/api/http/websocket.js +220 -0
  23. package/dist/esm/api/i18n/extension.js +3 -3
  24. package/dist/esm/api/i18n/index.js +3 -3
  25. package/dist/esm/api/index.js +3 -3
  26. package/dist/esm/api/logger/extension.js +3 -3
  27. package/dist/esm/api/logger/index.js +3 -3
  28. package/dist/esm/api/permission/extension.js +6 -3
  29. package/dist/esm/api/plugin/extension.js +3 -3
  30. package/dist/esm/api/plugin/index.js +3 -3
  31. package/dist/esm/api/registry/extension.js +3 -3
  32. package/dist/esm/api/registry/index.js +3 -3
  33. package/dist/esm/api/server/extension.js +3 -3
  34. package/dist/esm/api/server/index.js +3 -3
  35. package/dist/esm/api/session/extension.js +3 -3
  36. package/dist/esm/api/session/index.js +3 -3
  37. package/dist/esm/api/signal/extension.js +3 -3
  38. package/dist/esm/api/table/extension.js +3 -3
  39. package/dist/esm/api/table/index.js +3 -3
  40. package/dist/esm/index.js +319 -189
  41. package/dist/esm/network/index.js +3 -3
  42. package/dist/esm/network/network.js +3 -3
  43. package/dist/esm/omu.js +318 -186
  44. package/dist/esm/version.js +5 -3
  45. package/package.json +1 -1
  46. package/src/api/asset/extension.ts +46 -12
  47. package/src/api/asset/index.ts +1 -2
  48. package/src/api/dashboard/extension.ts +29 -13
  49. package/src/api/dashboard/handler.ts +2 -1
  50. package/src/api/dashboard/index.ts +2 -0
  51. package/src/api/extension.ts +1 -1
  52. package/src/api/http/extension.ts +13 -364
  53. package/src/api/http/http.ts +79 -0
  54. package/src/api/http/websocket.ts +283 -0
  55. package/src/api/permission/extension.ts +4 -0
  56. package/src/index.ts +3 -5
  57. package/src/version.ts +2 -1
  58. package/tsconfig.tsbuildinfo +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,76 @@
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.9.40 (2025-11-19)
7
+
8
+ **Note:** Version bump only for package @omujs/omu
9
+
10
+
11
+
12
+
13
+
14
+ ## 0.9.39 (2025-11-19)
15
+
16
+ **Note:** Version bump only for package @omujs/omu
17
+
18
+
19
+
20
+
21
+
22
+ ## 0.9.38 (2025-11-19)
23
+
24
+ **Note:** Version bump only for package @omujs/omu
25
+
26
+
27
+
28
+
29
+
30
+ ## 0.9.37 (2025-11-19)
31
+
32
+ **Note:** Version bump only for package @omujs/omu
33
+
34
+
35
+
36
+
37
+
38
+ ## 0.9.36 (2025-11-19)
39
+
40
+ **Note:** Version bump only for package @omujs/omu
41
+
42
+
43
+
44
+
45
+
46
+ ## 0.9.35 (2025-11-19)
47
+
48
+ **Note:** Version bump only for package @omujs/omu
49
+
50
+
51
+
52
+
53
+
54
+ ## 0.9.34 (2025-11-19)
55
+
56
+
57
+ ### Bug Fixes
58
+
59
+ * **server:** すでに提供元が追加されてたらインストールしないようにする ([8235f5c](https://github.com/OMUAPPS/omuapps/commit/8235f5cbc68e593f978e07351fc9445a4cf3ba8d))
60
+
61
+
62
+
63
+
64
+
65
+ ## 0.9.33 (2025-11-18)
66
+
67
+
68
+ ### Bug Fixes
69
+
70
+ * API呼び出しにUser-Agentを設定するようにする ([2c79480](https://github.com/OMUAPPS/omuapps/commit/2c794802097225deb61536f2175bc3025ee6efc1))
71
+
72
+
73
+
74
+
75
+
6
76
  ## 0.9.32 (2025-11-17)
7
77
 
8
78
  **Note:** Version bump only for package @omujs/omu
@@ -6,18 +6,18 @@ export type Asset = {
6
6
  identifier: Identifier;
7
7
  buffer: Uint8Array;
8
8
  };
9
- export declare const ASSET_UPLOAD_PERMISSION_ID: Identifier;
10
- export declare const ASSET_DOWNLOAD_PERMISSION_ID: Identifier;
11
- export declare const ASSET_DELETE_PERMISSION_ID: Identifier;
9
+ export declare const ASSET_PERMISSION_ID: Identifier;
12
10
  export declare class AssetExtension {
13
11
  private readonly omu;
14
12
  readonly type: ExtensionType<AssetExtension>;
13
+ private assetToken;
15
14
  constructor(omu: Omu);
16
15
  upload(identifier: IntoId, buffer: Uint8Array): Promise<Identifier>;
17
16
  uploadMany(...files: Asset[]): Promise<Identifier[]>;
18
17
  download(identifier: IntoId): Promise<Asset>;
19
18
  downloadMany(...identifiers: IntoId[]): Promise<Asset[]>;
20
19
  delete(identifier: IntoId): Promise<void>;
20
+ private requestGenerateAssetToken;
21
21
  url(id: IntoId, options?: {
22
22
  cache?: "no-cache";
23
23
  }): string;
@@ -1,2 +1,2 @@
1
- export { ASSET_DELETE_PERMISSION_ID, ASSET_DOWNLOAD_PERMISSION_ID, ASSET_UPLOAD_PERMISSION_ID } from "./extension";
1
+ export { ASSET_PERMISSION_ID } from "./extension";
2
2
  export type { Asset } from "./extension";
@@ -103,8 +103,8 @@ export type WebviewEventEmit = <T extends WebviewEvent["type"]>(event: Extract<W
103
103
  type: T;
104
104
  }>) => void;
105
105
  type AllowedHost = {
106
- host: string;
107
- apps: Identifier[];
106
+ id: string;
107
+ hosts: string[];
108
108
  };
109
109
  export declare const DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID: Identifier;
110
110
  export type TranscriptSegment = {
@@ -150,12 +150,22 @@ export interface PromptRequestAppInstall extends PromptRequestBase<"app/install"
150
150
  export interface PromptRequestAppUpdate extends PromptRequestBase<"app/update"> {
151
151
  old_app: AppJson;
152
152
  new_app: AppJson;
153
+ dependencies: Record<string, AppJson>;
153
154
  }
154
155
  export interface PromptRequestIndexInstall extends PromptRequestBase<"index/install"> {
155
156
  index_url: string;
156
157
  meta?: AppIndexRegistryMeta;
157
158
  }
158
- export type PromptRequest = (PromptRequestAppPermissions | PromptRequestAppPlugins | PromptRequestAppInstall | PromptRequestAppUpdate | PromptRequestIndexInstall);
159
+ export interface PortProcess {
160
+ port: number;
161
+ name: string;
162
+ exe: string;
163
+ }
164
+ export interface PromptRequestHttpPort extends PromptRequestBase<"http/port"> {
165
+ app: AppJson;
166
+ processes: PortProcess[];
167
+ }
168
+ export type PromptRequest = (PromptRequestAppPermissions | PromptRequestAppPlugins | PromptRequestAppInstall | PromptRequestAppUpdate | PromptRequestIndexInstall | PromptRequestHttpPort);
159
169
  export type PromptResult = "accept" | "deny" | "block";
160
170
  export declare class DashboardExtension {
161
171
  private readonly omu;
@@ -1,7 +1,7 @@
1
1
  import type { App } from "../../app.js";
2
2
  import { Identifier } from "../../identifier";
3
3
  import { InvokedParams } from "../endpoint/packets.js";
4
- import { Cookie, GetCookiesRequest, HostRequest, PromptRequestAppInstall, PromptRequestAppPermissions, PromptRequestAppPlugins, PromptRequestAppUpdate, PromptRequestIndexInstall, PromptResult, SpeechRecognitionStart, UserResponse, WebviewEvent, WebviewPacket, WebviewRequest } from "./extension.js";
4
+ import { Cookie, GetCookiesRequest, HostRequest, PromptRequestAppInstall, PromptRequestAppPermissions, PromptRequestAppPlugins, PromptRequestAppUpdate, PromptRequestHttpPort, PromptRequestIndexInstall, PromptResult, SpeechRecognitionStart, UserResponse, WebviewEvent, WebviewPacket, WebviewRequest } from "./extension.js";
5
5
  import type { DragDropReadRequestDashboard, DragDropReadResponse, DragDropRequestDashboard } from "./packets.js";
6
6
  export interface DashboardHandler {
7
7
  handlePermissionRequest(request: PromptRequestAppPermissions): Promise<PromptResult>;
@@ -9,6 +9,7 @@ export interface DashboardHandler {
9
9
  handleInstallApp(request: PromptRequestAppInstall): Promise<PromptResult>;
10
10
  handleUpdateApp(request: PromptRequestAppUpdate): Promise<PromptResult>;
11
11
  handleIndexInstall(request: PromptRequestIndexInstall): Promise<PromptResult>;
12
+ handleHttpPortRequest(request: PromptRequestHttpPort): Promise<PromptResult>;
12
13
  handleOpenApp(app: App): Promise<void>;
13
14
  handleDragDropRequest(request: DragDropRequestDashboard): Promise<boolean>;
14
15
  handleDragDropReadRequest(request: DragDropReadRequestDashboard): Promise<DragDropReadResponse>;
@@ -1,3 +1,3 @@
1
- export { Cookie, DASHBOARD_APP_INSTALL_PERMISSION_ID, DAShBOARD_DRAG_DROP_PERMISSION_ID, DASHBOARD_OPEN_APP_PERMISSION_ID, DASHBOARD_SET_PERMISSION_ID, DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID, DASHBOARD_WEBVIEW_PERMISSION_ID, DASHOBARD_APP_EDIT_PERMISSION_ID, DASHOBARD_APP_READ_PERMISSION_ID, GetCookiesRequest, HostRequest, UserResponse, WebviewPacket, WebviewRequest, type PromptRequest, type PromptRequestAppInstall, type PromptRequestAppPermissions, type PromptRequestAppPlugins, type PromptRequestAppUpdate, type PromptRequestIndexInstall, type PromptResult, type SpeechRecognitionStart, type TranscriptSegment, type TranscriptStatus, type WebviewEvent } from "./extension.js";
1
+ export { Cookie, DASHBOARD_APP_INSTALL_PERMISSION_ID, DAShBOARD_DRAG_DROP_PERMISSION_ID, DASHBOARD_OPEN_APP_PERMISSION_ID, DASHBOARD_SET_PERMISSION_ID, DASHBOARD_SPEECH_RECOGNITION_PERMISSION_ID, DASHBOARD_WEBVIEW_PERMISSION_ID, DASHOBARD_APP_EDIT_PERMISSION_ID, DASHOBARD_APP_READ_PERMISSION_ID, GetCookiesRequest, HostRequest, UserResponse, WebviewPacket, WebviewRequest, type PortProcess, type PromptRequest, type PromptRequestAppInstall, type PromptRequestAppPermissions, type PromptRequestAppPlugins, type PromptRequestAppUpdate, type PromptRequestHttpPort, type PromptRequestIndexInstall, type PromptResult, type SpeechRecognitionStart, type TranscriptSegment, type TranscriptStatus, type WebviewEvent } from "./extension.js";
2
2
  export type { DashboardHandler } from "./handler";
3
3
  export { DragDropFile, DragDropReadRequestDashboard, DragDropReadResponse, DragDropRequestDashboard, FileData } from "./packets.js";
@@ -1,19 +1,10 @@
1
1
  import { Identifier } from "../../identifier";
2
2
  import { Omu } from "../../omu";
3
- import { JsonType } from "../../serialize";
4
3
  import { Extension, ExtensionType } from "../extension";
4
+ import { OmuResponse, RequestHandle } from "./http";
5
+ import { OmuWS } from "./websocket";
5
6
  export declare const HTTP_EXTENSION_TYPE: ExtensionType<HttpExtension>;
6
7
  export declare const HTTP_REQUEST_PERMISSION_ID: Identifier;
7
- type RequestHandle = {
8
- id: string;
9
- };
10
- declare class DataChunk<T extends JsonType> {
11
- readonly meta: T;
12
- readonly body: Uint8Array;
13
- constructor(meta: T, body: Uint8Array);
14
- static serialize<T extends JsonType>(data: DataChunk<T>): Uint8Array;
15
- static deserialize<T extends JsonType>(data: Uint8Array): DataChunk<T>;
16
- }
17
8
  type HttpResponse = RequestHandle & {
18
9
  header: Record<string, string>;
19
10
  status: number;
@@ -22,53 +13,6 @@ type HttpResponse = RequestHandle & {
22
13
  history: HttpResponse[];
23
14
  redirected: boolean;
24
15
  };
25
- type WSData = string | ArrayBufferLike | Blob | ArrayBufferView;
26
- export declare const WSMsgType: {
27
- readonly CONTINUATION: 0x0;
28
- readonly TEXT: 0x1;
29
- readonly BINARY: 0x2;
30
- readonly PING: 0x9;
31
- readonly PONG: 0xA;
32
- readonly CLOSE: 0x8;
33
- };
34
- export declare const WSCloseCode: {
35
- readonly OK: 1000;
36
- readonly GOING_AWAY: 1001;
37
- readonly PROTOCOL_ERROR: 1002;
38
- readonly UNSUPPORTED_DATA: 1003;
39
- readonly ABNORMAL_CLOSURE: 1006;
40
- readonly INVALID_TEXT: 1007;
41
- readonly POLICY_VIOLATION: 1008;
42
- readonly MESSAGE_TOO_BIG: 1009;
43
- readonly MANDATORY_EXTENSION: 1010;
44
- readonly INTERNAL_ERROR: 1011;
45
- readonly SERVICE_RESTART: 1012;
46
- readonly TRY_AGAIN_LATER: 1013;
47
- readonly BAD_GATEWAY: 1014;
48
- };
49
- type WebSocketOpen = RequestHandle & {
50
- url: string;
51
- protocol?: string | null;
52
- };
53
- type WebSocketClose = RequestHandle & {
54
- code?: number;
55
- reason?: string | null;
56
- };
57
- type WebSocketHandle = {
58
- ws: OmuWS;
59
- open: (response: WebSocketOpen) => void;
60
- dispatch: (data: DataChunk<WSDataMeta>) => void;
61
- close: (response: WebSocketClose) => void;
62
- error: (response: WebSocketError) => void;
63
- };
64
- type WSDataMeta = {
65
- id: string;
66
- type: typeof WSMsgType.TEXT | typeof WSMsgType.BINARY | typeof WSMsgType.PING | typeof WSMsgType.PONG;
67
- };
68
- type WebSocketError = RequestHandle & {
69
- type: "ConnectionRefused";
70
- reason?: string | null;
71
- };
72
16
  export declare class HttpExtension implements Extension {
73
17
  private readonly omu;
74
18
  readonly type: ExtensionType<Extension>;
@@ -94,81 +38,4 @@ export declare class HttpExtension implements Extension {
94
38
  headers?: Record<string, string>;
95
39
  }): Promise<OmuWS>;
96
40
  }
97
- declare class OmuResponse implements Response {
98
- readonly headers: Headers;
99
- readonly ok: boolean;
100
- readonly redirected: boolean;
101
- readonly status: number;
102
- readonly statusText: string;
103
- readonly type: ResponseType;
104
- readonly url: string;
105
- readonly body: ReadableStream<Uint8Array<ArrayBuffer>> | null;
106
- readonly bodyUsed: boolean;
107
- constructor(headers: Headers, ok: boolean, redirected: boolean, status: number, statusText: string, type: ResponseType, url: string, body: ReadableStream<Uint8Array<ArrayBuffer>> | null, bodyUsed: boolean);
108
- clone(): OmuResponse;
109
- arrayBuffer(): Promise<ArrayBuffer>;
110
- blob(): Promise<Blob>;
111
- bytes(): Promise<Uint8Array<ArrayBuffer>>;
112
- formData(): Promise<FormData>;
113
- json(): Promise<any>;
114
- text(): Promise<string>;
115
- }
116
- type EventListenerMap<T> = { [K in keyof T] : ((event: T[K]) => unknown)[] };
117
- export type WSMsg = {
118
- type: "open";
119
- data: WebSocketOpen;
120
- } | {
121
- type: "error";
122
- data: WebSocketError;
123
- } | {
124
- type: "text";
125
- data: string;
126
- } | {
127
- type: "binary";
128
- data: Uint8Array;
129
- } | {
130
- type: "close";
131
- data: WebSocketClose;
132
- };
133
- export declare class OmuWS {
134
- protected readonly omu: Omu;
135
- protected readonly id: Identifier;
136
- protected readonly addQueue: (data: WSData) => void;
137
- protected readonly dispose: () => void;
138
- protected readonly receiveQueue: WSMsg[];
139
- private receiveResolve;
140
- private status;
141
- constructor(omu: Omu, id: Identifier, addQueue: (data: WSData) => void, dispose: () => void, receiveQueue?: WSMsg[], receiveResolve?: (() => void) | undefined, status?: "connecting" | "open" | "closed");
142
- static create(omu: Omu, id: Identifier, addQueue: (data: WSData) => void, dispose: () => void): WebSocketHandle;
143
- send(data: WSData): void;
144
- close(code?: number, reason?: string): void;
145
- receive(): Promise<WSMsg>;
146
- protocol: string;
147
- url: string;
148
- }
149
- export declare class OmuWebSocket implements WebSocket {
150
- protected readonly ws: OmuWS;
151
- private readonly eventListeners;
152
- CONNECTING: 0;
153
- OPEN: 1;
154
- CLOSING: 2;
155
- CLOSED: 3;
156
- binaryType: BinaryType;
157
- bufferedAmount: number;
158
- extensions: string;
159
- onclose: ((this: WebSocket, ev: CloseEvent) => any) | null;
160
- onerror: ((this: WebSocket, ev: Event) => any) | null;
161
- onmessage: ((this: WebSocket, ev: MessageEvent) => any) | null;
162
- onopen: ((this: WebSocket, ev: Event) => any) | null;
163
- protocol: string;
164
- readyState: 0 | 2 | 1 | 3;
165
- url: string;
166
- constructor(ws: OmuWS, eventListeners?: EventListenerMap<WebSocketEventMap>);
167
- private receiveLoop;
168
- dispatchEvent(event: Event): boolean;
169
- send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
170
- close(code?: number, reason?: string): void;
171
- addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any): void;
172
- removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any): void;
173
- }
174
41
  export {};
@@ -0,0 +1,36 @@
1
+ import { JsonType } from "../../serialize";
2
+ export type RequestHandle = {
3
+ id: string;
4
+ };
5
+ export type HttpRequest = RequestHandle & {
6
+ header: Record<string, string>;
7
+ method: string;
8
+ redirect: RequestRedirect;
9
+ url: string;
10
+ };
11
+ export declare class DataChunk<T extends JsonType> {
12
+ readonly meta: T;
13
+ readonly body: Uint8Array;
14
+ constructor(meta: T, body: Uint8Array);
15
+ static serialize<T extends JsonType>(data: DataChunk<T>): Uint8Array;
16
+ static deserialize<T extends JsonType>(data: Uint8Array): DataChunk<T>;
17
+ }
18
+ export declare class OmuResponse implements Response {
19
+ readonly headers: Headers;
20
+ readonly ok: boolean;
21
+ readonly redirected: boolean;
22
+ readonly status: number;
23
+ readonly statusText: string;
24
+ readonly type: ResponseType;
25
+ readonly url: string;
26
+ readonly body: ReadableStream<Uint8Array<ArrayBuffer>> | null;
27
+ readonly bodyUsed: boolean;
28
+ constructor(headers: Headers, ok: boolean, redirected: boolean, status: number, statusText: string, type: ResponseType, url: string, body: ReadableStream<Uint8Array<ArrayBuffer>> | null, bodyUsed: boolean);
29
+ clone(): OmuResponse;
30
+ arrayBuffer(): Promise<ArrayBuffer>;
31
+ blob(): Promise<Blob>;
32
+ bytes(): Promise<Uint8Array<ArrayBuffer>>;
33
+ formData(): Promise<FormData>;
34
+ json(): Promise<any>;
35
+ text(): Promise<string>;
36
+ }
@@ -0,0 +1,123 @@
1
+ import { DataChunk, RequestHandle } from "./http";
2
+ export type WSData = string | ArrayBufferLike | Blob | ArrayBufferView;
3
+ export declare const WSMsgType: {
4
+ readonly CONTINUATION: 0x0;
5
+ readonly TEXT: 0x1;
6
+ readonly BINARY: 0x2;
7
+ readonly PING: 0x9;
8
+ readonly PONG: 0xA;
9
+ readonly CLOSE: 0x8;
10
+ };
11
+ export declare const WSCloseCode: {
12
+ readonly OK: 1000;
13
+ readonly GOING_AWAY: 1001;
14
+ readonly PROTOCOL_ERROR: 1002;
15
+ readonly UNSUPPORTED_DATA: 1003;
16
+ readonly ABNORMAL_CLOSURE: 1006;
17
+ readonly INVALID_TEXT: 1007;
18
+ readonly POLICY_VIOLATION: 1008;
19
+ readonly MESSAGE_TOO_BIG: 1009;
20
+ readonly MANDATORY_EXTENSION: 1010;
21
+ readonly INTERNAL_ERROR: 1011;
22
+ readonly SERVICE_RESTART: 1012;
23
+ readonly TRY_AGAIN_LATER: 1013;
24
+ readonly BAD_GATEWAY: 1014;
25
+ };
26
+ export type WebSocketOpen = RequestHandle & {
27
+ url: string;
28
+ protocol?: string | null;
29
+ };
30
+ export type WebSocketClose = RequestHandle & {
31
+ code?: number;
32
+ reason?: string | null;
33
+ };
34
+ export type WebSocketError = RequestHandle & {
35
+ type: "ConnectionRefused";
36
+ reason?: string | null;
37
+ };
38
+ export type EventListenerMap<T> = { [K in keyof T] : ((event: T[K]) => unknown)[] };
39
+ export type WSMsg = {
40
+ type: "open";
41
+ data: WebSocketOpen;
42
+ } | {
43
+ type: "error";
44
+ data: WebSocketError;
45
+ } | {
46
+ type: "text";
47
+ data: string;
48
+ } | {
49
+ type: "binary";
50
+ data: Uint8Array;
51
+ } | {
52
+ type: "close";
53
+ data: WebSocketClose;
54
+ };
55
+ export type WebSocketHandle = {
56
+ ws: OmuWS;
57
+ open: (response: WebSocketOpen) => void;
58
+ dispatch: (data: DataChunk<WSDataMeta>) => void;
59
+ close: (response: WebSocketClose) => void;
60
+ error: (response: WebSocketError) => void;
61
+ };
62
+ export type WSDataMeta = {
63
+ id: string;
64
+ type: typeof WSMsgType.TEXT | typeof WSMsgType.BINARY | typeof WSMsgType.PING | typeof WSMsgType.PONG;
65
+ };
66
+ export type WSHandleState = {
67
+ type: "created" | "receiving";
68
+ handle: WebSocketHandle;
69
+ };
70
+ type WSOptions = {
71
+ addQueue: (data: WSData) => void;
72
+ dispose(options: {
73
+ code?: number;
74
+ reason?: string;
75
+ }): void;
76
+ };
77
+ export declare class OmuWS {
78
+ protected readonly addQueue: (data: WSData) => void;
79
+ protected readonly dispose: (options: {
80
+ code?: number;
81
+ reason?: string;
82
+ }) => void;
83
+ protected readonly receiveQueue: WSMsg[];
84
+ private receiveResolve;
85
+ private status;
86
+ constructor(addQueue: (data: WSData) => void, dispose: (options: {
87
+ code?: number;
88
+ reason?: string;
89
+ }) => void, receiveQueue?: WSMsg[], receiveResolve?: (() => void) | undefined, status?: "connecting" | "open" | "closed");
90
+ toWebSocket(): OmuWebSocket;
91
+ static create(options: WSOptions): WebSocketHandle;
92
+ send(data: WSData): void;
93
+ close(code?: number, reason?: string): void;
94
+ receive(): Promise<WSMsg>;
95
+ protocol: string;
96
+ url: string;
97
+ }
98
+ export declare class OmuWebSocket implements WebSocket {
99
+ protected readonly ws: OmuWS;
100
+ private readonly eventListeners;
101
+ CONNECTING: 0;
102
+ OPEN: 1;
103
+ CLOSING: 2;
104
+ CLOSED: 3;
105
+ binaryType: BinaryType;
106
+ bufferedAmount: number;
107
+ extensions: string;
108
+ onclose: ((this: WebSocket, ev: CloseEvent) => unknown) | null;
109
+ onerror: ((this: WebSocket, ev: Event) => unknown) | null;
110
+ onmessage: ((this: WebSocket, ev: MessageEvent) => unknown) | null;
111
+ onopen: ((this: WebSocket, ev: Event) => unknown) | null;
112
+ protocol: string;
113
+ readyState: 0 | 2 | 1 | 3;
114
+ url: string;
115
+ constructor(ws: OmuWS, eventListeners?: EventListenerMap<WebSocketEventMap>);
116
+ private receiveLoop;
117
+ dispatchEvent(event: Event): boolean;
118
+ send(data: string | ArrayBufferLike | Blob | ArrayBufferView): void;
119
+ close(code?: number, reason?: string): void;
120
+ addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => unknown): void;
121
+ removeEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => unknown): void;
122
+ }
123
+ export {};
@@ -15,4 +15,5 @@ export declare class PermissionExtension {
15
15
  require(...permissionIds: IntoId[]): void;
16
16
  request(...permissionIds: Identifier[]): Promise<void>;
17
17
  has(permissionIdentifier: Identifier): boolean;
18
+ required(permissionIdentifier: Identifier): boolean;
18
19
  }
@@ -8,9 +8,7 @@ export type { Serializable } from "./serialize";
8
8
  export { BrowserTokenProvider, type SessionParam, type TokenProvider } from "./token";
9
9
  import { Identifier } from "./identifier";
10
10
  export declare const OmuPermissions: {
11
- readonly ASSET_DELETE_PERMISSION_ID: Identifier;
12
- readonly ASSET_DOWNLOAD_PERMISSION_ID: Identifier;
13
- readonly ASSET_UPLOAD_PERMISSION_ID: Identifier;
11
+ readonly ASSET_PERMISSION_ID: Identifier;
14
12
  readonly DASHBOARD_APP_INSTALL_PERMISSION_ID: Identifier;
15
13
  readonly DAShBOARD_DRAG_DROP_PERMISSION_ID: Identifier;
16
14
  readonly DASHBOARD_OPEN_APP_PERMISSION_ID: Identifier;
@@ -1 +1,2 @@
1
- export declare const VERSION = "0.9.31";
1
+ export declare const VERSION = "0.9.40";
2
+ export declare const VERSION_MINOR = "0.9.0";