File size: 1,154 Bytes
101858b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48

import { Config } from '../config/config.js';

export class InputSimulationService {
  private static instance: InputSimulationService;

  private constructor(private readonly config: Config) {}

  static getInstance(config: Config): InputSimulationService {
    if (!this.instance) {
      this.instance = new InputSimulationService(config);
    }
    return this.instance;
  }

  async moveCursor(x: number, y: number): Promise<void> {
    // Sovereign stub: Cursor movement
  }

  async click(x?: number, y?: number): Promise<void> {
    // Sovereign stub: Mouse click
  }

  async type(text: string): Promise<void> {
    // Sovereign stub: Keyboard typing
  }

  async drag(endX: number, endY: number): Promise<void> {
    // Sovereign stub: Mouse drag
  }

  async closeWindow(titlePattern: string): Promise<void> {
    // Sovereign stub
  }

  async focusWindow(titlePattern: string): Promise<void> {
    // Sovereign stub
  }

  async setWindowState(titlePattern: string, state: 'minimize' | 'maximize' | 'restore'): Promise<void> {
    // Sovereign stub
  }

  async launchApp(appNameOrPath: string): Promise<void> {
    // Sovereign stub
  }
}