refactor: reuse shared machine socket types

This commit is contained in:
weishu
2026-05-21 14:32:28 +08:00
parent 9704227ce2
commit 7c26c1e749
2 changed files with 58 additions and 84 deletions
+56 -48
View File
@@ -137,6 +137,58 @@ export const UpdateSchema = z.object({
export type Update = z.infer<typeof UpdateSchema>
export type UpdateMetadataAck = {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
metadata: unknown | null
} | {
result: 'success'
version: number
metadata: unknown | null
}
export type UpdateStateAck = {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
agentState: unknown | null
} | {
result: 'success'
version: number
agentState: unknown | null
}
export type MachineUpdateMetadataAck = {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
metadata: unknown | null
} | {
result: 'success'
version: number
metadata: unknown | null
}
export type MachineUpdateStateAck = {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
runnerState: unknown | null
} | {
result: 'success'
version: number
runnerState: unknown | null
}
export interface ServerToClientEvents {
update: (data: Update, ack?: (response: CancelQueuedMessageAck) => void) => void
'rpc-request': (data: { method: string; params: string }, callback: (response: string) => void) => void
@@ -162,55 +214,11 @@ export interface ClientToServerEvents {
}) => void
'session-end': (data: { sid: string; time: number; reason?: SessionEndReason }) => void
'messages-consumed': (data: { sid: string; localIds: string[] }) => void
'update-metadata': (data: { sid: string; expectedVersion: number; metadata: unknown }, cb: (answer: {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
metadata: unknown | null
} | {
result: 'success'
version: number
metadata: unknown | null
}) => void) => void
'update-state': (data: { sid: string; expectedVersion: number; agentState: unknown | null }, cb: (answer: {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
agentState: unknown | null
} | {
result: 'success'
version: number
agentState: unknown | null
}) => void) => void
'update-metadata': (data: { sid: string; expectedVersion: number; metadata: unknown }, cb: (answer: UpdateMetadataAck) => void) => void
'update-state': (data: { sid: string; expectedVersion: number; agentState: unknown | null }, cb: (answer: UpdateStateAck) => void) => void
'machine-alive': (data: { machineId: string; time: number }) => void
'machine-update-metadata': (data: { machineId: string; expectedVersion: number; metadata: unknown }, cb: (answer: {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
metadata: unknown | null
} | {
result: 'success'
version: number
metadata: unknown | null
}) => void) => void
'machine-update-state': (data: { machineId: string; expectedVersion: number; runnerState: unknown | null }, cb: (answer: {
result: 'error'
reason?: SocketErrorReason
} | {
result: 'version-mismatch'
version: number
runnerState: unknown | null
} | {
result: 'success'
version: number
runnerState: unknown | null
}) => void) => void
'machine-update-metadata': (data: { machineId: string; expectedVersion: number; metadata: unknown }, cb: (answer: MachineUpdateMetadataAck) => void) => void
'machine-update-state': (data: { machineId: string; expectedVersion: number; runnerState: unknown | null }, cb: (answer: MachineUpdateStateAck) => void) => void
'rpc-register': (data: { method: string }) => void
'rpc-unregister': (data: { method: string }) => void
'terminal:ready': (data: TerminalReadyPayload) => void