refactor(server): revert a8f445a17985a90d7eb5d981b4231114c3066e94
This commit is contained in:
@@ -18,6 +18,10 @@
|
||||
".": {
|
||||
"types": "./dist/index.d.mts",
|
||||
"default": "./dist/index.mjs"
|
||||
},
|
||||
"./types": {
|
||||
"types": "./dist/types/index.d.mts",
|
||||
"default": "./dist/types/index.mjs"
|
||||
}
|
||||
},
|
||||
"main": "./dist/index.mjs",
|
||||
@@ -32,5 +36,7 @@
|
||||
"build": "tsdown",
|
||||
"typecheck": "tsc --noEmit"
|
||||
},
|
||||
"dependencies": {}
|
||||
"dependencies": {
|
||||
"@proj-airi/plugin-protocol": "workspace:*"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
export * from './errors'
|
||||
export * from './types'
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
export * from './websocket'
|
||||
export * from '@proj-airi/plugin-protocol/types'
|
||||
@@ -0,0 +1,52 @@
|
||||
import type { ModuleIdentity, ProtocolEvents, RouteConfig, WebSocketEventSource } from '@proj-airi/plugin-protocol/types'
|
||||
|
||||
export * from '@proj-airi/plugin-protocol/types'
|
||||
|
||||
export interface WebSocketEventBaseMetadata {
|
||||
source?: ModuleIdentity
|
||||
event?: {
|
||||
id?: string
|
||||
parentId?: string
|
||||
}
|
||||
}
|
||||
|
||||
export interface WebSocketBaseEvent<T, D, S extends string = string> {
|
||||
type: T
|
||||
data: D
|
||||
/**
|
||||
* @deprecated Prefer metadata.source.
|
||||
*/
|
||||
source?: WebSocketEventSource | S
|
||||
metadata: {
|
||||
source: ModuleIdentity
|
||||
event: {
|
||||
id: string
|
||||
parentId?: string
|
||||
}
|
||||
}
|
||||
route?: RouteConfig
|
||||
}
|
||||
|
||||
export interface WebSocketEvents<C = undefined> extends ProtocolEvents<C> {}
|
||||
|
||||
export type WebSocketEventDataInputs
|
||||
= | WebSocketEvents['input:text']
|
||||
| WebSocketEvents['input:text:voice']
|
||||
| WebSocketEvents['input:voice']
|
||||
|
||||
export type WebSocketEvent<C = undefined> = {
|
||||
[K in keyof WebSocketEvents<C>]: WebSocketBaseEvent<K, WebSocketEvents<C>[K]>;
|
||||
}[keyof WebSocketEvents<C>]
|
||||
|
||||
export type WebSocketEventOptionalSource<C = undefined> = {
|
||||
[K in keyof WebSocketEvents<C>]: Omit<WebSocketBaseEvent<K, WebSocketEvents<C>[K]>, 'metadata'> & { metadata?: WebSocketEventBaseMetadata };
|
||||
}[keyof WebSocketEvents<C>]
|
||||
|
||||
export type WebSocketEventOf<E, C = undefined> = E extends keyof WebSocketEvents<C>
|
||||
? Omit<WebSocketBaseEvent<E, WebSocketEvents<C>[E]>, 'metadata'> & { metadata?: WebSocketEventBaseMetadata }
|
||||
: never
|
||||
|
||||
export type WebSocketEventInputs
|
||||
= | WebSocketEventOf<'input:text'>
|
||||
| WebSocketEventOf<'input:text:voice'>
|
||||
| WebSocketEventOf<'input:voice'>
|
||||
@@ -0,0 +1 @@
|
||||
export * from './events'
|
||||
@@ -2,7 +2,8 @@ import { defineConfig } from 'tsdown'
|
||||
|
||||
export default defineConfig({
|
||||
entry: {
|
||||
index: 'src/index.ts',
|
||||
'index': 'src/index.ts',
|
||||
'types/index': 'src/types/index.ts',
|
||||
},
|
||||
sourcemap: true,
|
||||
unused: true,
|
||||
|
||||
Reference in New Issue
Block a user