45 lines
960 B
TypeScript
Raw Normal View History

2026-03-31 21:40:37 +08:00
interface FrontmostAppInfo {
bundleId: string
appName: string
}
export class ComputerUseInputAPI {
declare moveMouse: (
x: number,
y: number,
animated: boolean,
) => Promise<void>
declare key: (
key: string,
action: 'press' | 'release',
) => Promise<void>
declare keys: (parts: string[]) => Promise<void>
declare mouseLocation: () => Promise<{ x: number; y: number }>
declare mouseButton: (
button: 'left' | 'right' | 'middle',
action: 'click' | 'press' | 'release',
count?: number,
) => Promise<void>
declare mouseScroll: (
amount: number,
direction: 'vertical' | 'horizontal',
) => Promise<void>
declare typeText: (text: string) => Promise<void>
declare getFrontmostAppInfo: () => FrontmostAppInfo | null
declare isSupported: true
}
interface ComputerUseInputUnsupported {
isSupported: false
}
export type ComputerUseInput = ComputerUseInputAPI | ComputerUseInputUnsupported