diff --git a/CHANGELOG.md b/CHANGELOG.md index abafd63..05a8435 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,12 @@ +## [2.18.2-beta.0](https://github.com/mastergo-design/plugin-typings/compare/v2.18.1...v2.18.2-beta.0) (2026-06-11) + + +### Features + +* **types:** add WebSocket API type definitions ([9f7ee75](https://github.com/mastergo-design/plugin-typings/commit/9f7ee7543ef4959620cb2f36f39f6ab0df59b8fe)) + + + ## [2.18.1](https://github.com/mastergo-design/plugin-typings/compare/v2.18.0...v2.18.1) (2026-06-05) diff --git a/package-lock.json b/package-lock.json index 5340b4b..fd82c62 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@mastergo/plugin-typings", - "version": "2.18.1", + "version": "2.18.2-beta.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@mastergo/plugin-typings", - "version": "2.18.1", + "version": "2.18.2-beta.0", "license": "MIT", "devDependencies": { "@commitlint/cli": "^17.0.0", diff --git a/package.json b/package.json index b1017e2..157c97e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@mastergo/plugin-typings", - "version": "2.18.1", + "version": "2.18.2-beta.0", "description": "MasterGo插件API声明文件", "type": "module", "main": "", diff --git a/plugin.d.ts b/plugin.d.ts index a3aa6e6..356d569 100644 --- a/plugin.d.ts +++ b/plugin.d.ts @@ -315,6 +315,8 @@ declare global { readonly clientStorage: ClientStorageAPI + readonly WebSocket: WebSocketAPI + readonly currentUser: User | null readonly viewport: ViewportAPI @@ -568,6 +570,29 @@ declare global { keysAsync(): Promise } + interface WebSocketHandle { + readonly readyState: number + readonly url: string + readonly protocol: string + + onopen: ((self: WebSocketHandle, event: { type: string }) => void) | undefined + onmessage: ((self: WebSocketHandle, data: any) => void) | undefined + onclose: ((self: WebSocketHandle, event: { code: number; reason: string; wasClean: boolean }) => void) | undefined + onerror: ((self: WebSocketHandle, event: { type: string }) => void) | undefined + + send(data: any): void + close(code?: number, reason?: string): void + } + + interface WebSocketAPI { + CONNECTING: 0 + OPEN: 1 + CLOSING: 2 + CLOSED: 3 + + connect(url: string, protocols?: string | string[]): WebSocketHandle + } + type ShowUIOptions = { width?: number height?: number