claude-in-mobile 2.1.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/desktop-companion/build/install/desktop-companion/bin/desktop-companion +248 -0
  2. package/desktop-companion/build/install/desktop-companion/bin/desktop-companion.bat +92 -0
  3. package/desktop-companion/build/install/desktop-companion/lib/annotations-23.0.0.jar +0 -0
  4. package/desktop-companion/build/install/desktop-companion/lib/desktop-companion-1.0.0.jar +0 -0
  5. package/desktop-companion/build/install/desktop-companion/lib/jna-5.14.0.jar +0 -0
  6. package/desktop-companion/build/install/desktop-companion/lib/jna-platform-5.14.0.jar +0 -0
  7. package/desktop-companion/build/install/desktop-companion/lib/kotlin-stdlib-1.9.22.jar +0 -0
  8. package/desktop-companion/build/install/desktop-companion/lib/kotlin-stdlib-jdk7-1.8.20.jar +0 -0
  9. package/desktop-companion/build/install/desktop-companion/lib/kotlin-stdlib-jdk8-1.8.20.jar +0 -0
  10. package/desktop-companion/build/install/desktop-companion/lib/kotlinx-coroutines-core-jvm-1.7.3.jar +0 -0
  11. package/desktop-companion/build/install/desktop-companion/lib/kotlinx-serialization-core-jvm-1.6.2.jar +0 -0
  12. package/desktop-companion/build/install/desktop-companion/lib/kotlinx-serialization-json-jvm-1.6.2.jar +0 -0
  13. package/dist/desktop/client.d.ts +162 -0
  14. package/dist/desktop/client.d.ts.map +1 -0
  15. package/dist/desktop/client.js +485 -0
  16. package/dist/desktop/client.js.map +1 -0
  17. package/dist/desktop/gradle.d.ts +45 -0
  18. package/dist/desktop/gradle.d.ts.map +1 -0
  19. package/dist/desktop/gradle.js +228 -0
  20. package/dist/desktop/gradle.js.map +1 -0
  21. package/dist/desktop/index.d.ts +7 -0
  22. package/dist/desktop/index.d.ts.map +1 -0
  23. package/dist/desktop/index.js +7 -0
  24. package/dist/desktop/index.js.map +1 -0
  25. package/dist/desktop/types.d.ts +131 -0
  26. package/dist/desktop/types.d.ts.map +1 -0
  27. package/dist/desktop/types.js +5 -0
  28. package/dist/desktop/types.js.map +1 -0
  29. package/dist/device-manager.d.ts +41 -10
  30. package/dist/device-manager.d.ts.map +1 -1
  31. package/dist/device-manager.js +226 -39
  32. package/dist/device-manager.js.map +1 -1
  33. package/dist/index.js +237 -18
  34. package/dist/index.js.map +1 -1
  35. package/dist/utils/image.d.ts +2 -0
  36. package/dist/utils/image.d.ts.map +1 -1
  37. package/dist/utils/image.js +25 -2
  38. package/dist/utils/image.js.map +1 -1
  39. package/package.json +7 -2
@@ -0,0 +1,228 @@
1
+ /**
2
+ * Gradle task detection and launcher for Compose Desktop projects
3
+ */
4
+ import { execSync, spawn } from "child_process";
5
+ import * as path from "path";
6
+ import * as fs from "fs";
7
+ // Known desktop run task patterns
8
+ const DESKTOP_TASK_PATTERNS = [
9
+ ":desktopApp:run",
10
+ ":composeApp:desktopRun",
11
+ ":desktop:run",
12
+ ":app:desktopRun",
13
+ "desktopRun",
14
+ "runDesktop",
15
+ ];
16
+ export class GradleLauncher {
17
+ /**
18
+ * Check if Gradle wrapper exists in project
19
+ */
20
+ hasGradleWrapper(projectPath) {
21
+ const wrapperScript = process.platform === "win32" ? "gradlew.bat" : "gradlew";
22
+ const wrapperPath = path.join(projectPath, wrapperScript);
23
+ return fs.existsSync(wrapperPath);
24
+ }
25
+ /**
26
+ * Get Gradle executable (wrapper or system gradle)
27
+ */
28
+ getGradleExecutable(projectPath) {
29
+ if (this.hasGradleWrapper(projectPath)) {
30
+ return process.platform === "win32"
31
+ ? path.join(projectPath, "gradlew.bat")
32
+ : path.join(projectPath, "gradlew");
33
+ }
34
+ return "gradle";
35
+ }
36
+ /**
37
+ * Detect available desktop run tasks in the project
38
+ */
39
+ async detectDesktopTasks(projectPath) {
40
+ const gradle = this.getGradleExecutable(projectPath);
41
+ try {
42
+ // Run gradle tasks and parse output
43
+ const output = execSync(`"${gradle}" tasks --all`, {
44
+ cwd: projectPath,
45
+ encoding: "utf-8",
46
+ maxBuffer: 10 * 1024 * 1024,
47
+ timeout: 60000,
48
+ });
49
+ const tasks = [];
50
+ const lines = output.split("\n");
51
+ for (const line of lines) {
52
+ const trimmed = line.trim();
53
+ // Look for task lines (format: "taskName - description" or just "taskName")
54
+ const taskMatch = trimmed.match(/^(:\S+|[a-zA-Z]\S*)\s*(-|$)/);
55
+ if (taskMatch) {
56
+ const taskName = taskMatch[1];
57
+ // Check if it matches known desktop patterns
58
+ for (const pattern of DESKTOP_TASK_PATTERNS) {
59
+ if (taskName.includes(pattern) ||
60
+ taskName.toLowerCase().includes("desktop") && taskName.toLowerCase().includes("run")) {
61
+ tasks.push(taskName);
62
+ break;
63
+ }
64
+ }
65
+ }
66
+ }
67
+ // Deduplicate and sort
68
+ return [...new Set(tasks)].sort();
69
+ }
70
+ catch (error) {
71
+ // Fallback: check common task names directly
72
+ const commonTasks = [];
73
+ for (const pattern of DESKTOP_TASK_PATTERNS) {
74
+ try {
75
+ execSync(`"${gradle}" ${pattern} --dry-run`, {
76
+ cwd: projectPath,
77
+ encoding: "utf-8",
78
+ timeout: 30000,
79
+ stdio: "pipe",
80
+ });
81
+ commonTasks.push(pattern);
82
+ }
83
+ catch {
84
+ // Task doesn't exist
85
+ }
86
+ }
87
+ return commonTasks;
88
+ }
89
+ }
90
+ /**
91
+ * Analyze Gradle project and return info
92
+ */
93
+ async analyzeProject(projectPath) {
94
+ if (!fs.existsSync(projectPath)) {
95
+ throw new Error(`Project path does not exist: ${projectPath}`);
96
+ }
97
+ // Check for build.gradle or build.gradle.kts
98
+ const hasBuildGradle = fs.existsSync(path.join(projectPath, "build.gradle")) ||
99
+ fs.existsSync(path.join(projectPath, "build.gradle.kts"));
100
+ if (!hasBuildGradle) {
101
+ throw new Error(`No build.gradle or build.gradle.kts found in: ${projectPath}`);
102
+ }
103
+ const desktopTasks = await this.detectDesktopTasks(projectPath);
104
+ return {
105
+ path: projectPath,
106
+ desktopTasks,
107
+ selectedTask: desktopTasks[0], // Default to first detected task
108
+ };
109
+ }
110
+ /**
111
+ * Launch desktop app via Gradle
112
+ * Returns the spawned process
113
+ */
114
+ launch(options) {
115
+ const { projectPath, task, jvmArgs = [], env = {} } = options;
116
+ if (!projectPath) {
117
+ throw new Error("projectPath is required to launch via Gradle");
118
+ }
119
+ if (!fs.existsSync(projectPath)) {
120
+ throw new Error(`Project path does not exist: ${projectPath}`);
121
+ }
122
+ const gradle = this.getGradleExecutable(projectPath);
123
+ // Determine task to run
124
+ let targetTask = task;
125
+ if (!targetTask) {
126
+ // Auto-detect
127
+ const detected = this.detectDesktopTasksSync(projectPath);
128
+ if (detected.length === 0) {
129
+ throw new Error(`No desktop run task found in project. ` +
130
+ `Please specify task explicitly or ensure project has Compose Desktop configured.`);
131
+ }
132
+ targetTask = detected[0];
133
+ }
134
+ // Build command args
135
+ const args = [targetTask];
136
+ // Add JVM args
137
+ if (jvmArgs.length > 0) {
138
+ args.push(`-Dorg.gradle.jvmargs=${jvmArgs.join(" ")}`);
139
+ }
140
+ // Add --console=plain for cleaner output
141
+ args.push("--console=plain");
142
+ // Merge environment
143
+ const processEnv = {
144
+ ...process.env,
145
+ ...env,
146
+ };
147
+ // Spawn Gradle process
148
+ const child = spawn(gradle, args, {
149
+ cwd: projectPath,
150
+ env: processEnv,
151
+ stdio: ["pipe", "pipe", "pipe"],
152
+ shell: process.platform === "win32",
153
+ });
154
+ return child;
155
+ }
156
+ /**
157
+ * Synchronous version of detectDesktopTasks (for launch)
158
+ */
159
+ detectDesktopTasksSync(projectPath) {
160
+ const gradle = this.getGradleExecutable(projectPath);
161
+ const tasks = [];
162
+ // Quick check for common patterns
163
+ for (const pattern of DESKTOP_TASK_PATTERNS) {
164
+ try {
165
+ execSync(`"${gradle}" ${pattern} --dry-run`, {
166
+ cwd: projectPath,
167
+ encoding: "utf-8",
168
+ timeout: 30000,
169
+ stdio: "pipe",
170
+ });
171
+ tasks.push(pattern);
172
+ }
173
+ catch {
174
+ // Task doesn't exist
175
+ }
176
+ }
177
+ return tasks;
178
+ }
179
+ /**
180
+ * Stop a running Gradle process
181
+ */
182
+ stop(process) {
183
+ if (process && !process.killed) {
184
+ // Try graceful shutdown first
185
+ process.kill("SIGTERM");
186
+ // Force kill after timeout
187
+ setTimeout(() => {
188
+ if (!process.killed) {
189
+ process.kill("SIGKILL");
190
+ }
191
+ }, 5000);
192
+ }
193
+ }
194
+ /**
195
+ * Check if Gradle daemon is running
196
+ */
197
+ isGradleDaemonRunning(projectPath) {
198
+ const gradle = this.getGradleExecutable(projectPath);
199
+ try {
200
+ const output = execSync(`"${gradle}" --status`, {
201
+ cwd: projectPath,
202
+ encoding: "utf-8",
203
+ timeout: 10000,
204
+ });
205
+ return output.includes("IDLE") || output.includes("BUSY");
206
+ }
207
+ catch {
208
+ return false;
209
+ }
210
+ }
211
+ /**
212
+ * Stop Gradle daemon
213
+ */
214
+ stopGradleDaemon(projectPath) {
215
+ const gradle = this.getGradleExecutable(projectPath);
216
+ try {
217
+ execSync(`"${gradle}" --stop`, {
218
+ cwd: projectPath,
219
+ encoding: "utf-8",
220
+ timeout: 30000,
221
+ });
222
+ }
223
+ catch {
224
+ // Ignore errors
225
+ }
226
+ }
227
+ }
228
+ //# sourceMappingURL=gradle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradle.js","sourceRoot":"","sources":["../../src/desktop/gradle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Desktop module exports
3
+ */
4
+ export { DesktopClient, desktopClient } from "./client.js";
5
+ export { GradleLauncher } from "./gradle.js";
6
+ export * from "./types.js";
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/desktop/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,cAAc,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Desktop module exports
3
+ */
4
+ export { DesktopClient, desktopClient } from "./client.js";
5
+ export { GradleLauncher } from "./gradle.js";
6
+ export * from "./types.js";
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/desktop/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,cAAc,YAAY,CAAC"}
@@ -0,0 +1,131 @@
1
+ /**
2
+ * Desktop platform types for claude-in-mobile
3
+ */
4
+ export interface JsonRpcRequest {
5
+ jsonrpc: "2.0";
6
+ id: number;
7
+ method: string;
8
+ params?: Record<string, unknown>;
9
+ }
10
+ export interface JsonRpcResponse {
11
+ jsonrpc: "2.0";
12
+ id: number;
13
+ result?: unknown;
14
+ error?: JsonRpcError;
15
+ }
16
+ export interface JsonRpcError {
17
+ code: number;
18
+ message: string;
19
+ data?: unknown;
20
+ }
21
+ export interface Bounds {
22
+ x: number;
23
+ y: number;
24
+ width: number;
25
+ height: number;
26
+ }
27
+ export interface DesktopWindow {
28
+ id: string;
29
+ title: string;
30
+ bounds: Bounds;
31
+ focused: boolean;
32
+ minimized: boolean;
33
+ fullscreen: boolean;
34
+ processId?: number;
35
+ ownerName?: string;
36
+ }
37
+ export interface WindowInfo {
38
+ windows: DesktopWindow[];
39
+ activeWindowId: string | null;
40
+ }
41
+ export interface DesktopUiElement {
42
+ index: number;
43
+ id?: string;
44
+ text?: string;
45
+ contentDescription?: string;
46
+ className: string;
47
+ role?: string;
48
+ bounds: Bounds;
49
+ clickable: boolean;
50
+ enabled: boolean;
51
+ focused: boolean;
52
+ focusable: boolean;
53
+ children: DesktopUiElement[];
54
+ centerX: number;
55
+ centerY: number;
56
+ }
57
+ export interface UiHierarchy {
58
+ windows: DesktopWindow[];
59
+ elements: DesktopUiElement[];
60
+ scaleFactor: number;
61
+ }
62
+ export interface ScreenshotOptions {
63
+ windowId?: string;
64
+ quality?: number;
65
+ }
66
+ export interface ScreenshotResult {
67
+ base64: string;
68
+ width: number;
69
+ height: number;
70
+ scaleFactor: number;
71
+ mimeType: "image/jpeg";
72
+ }
73
+ export interface TapOptions {
74
+ x: number;
75
+ y: number;
76
+ }
77
+ export interface SwipeOptions {
78
+ x1: number;
79
+ y1: number;
80
+ x2: number;
81
+ y2: number;
82
+ durationMs?: number;
83
+ }
84
+ export interface KeyEventOptions {
85
+ key: string;
86
+ modifiers?: string[];
87
+ }
88
+ export interface LaunchOptions {
89
+ projectPath?: string;
90
+ task?: string;
91
+ jvmArgs?: string[];
92
+ env?: Record<string, string>;
93
+ }
94
+ export interface GradleProject {
95
+ path: string;
96
+ desktopTasks: string[];
97
+ selectedTask?: string;
98
+ }
99
+ export type LogType = "stdout" | "stderr" | "compose" | "crash";
100
+ export interface LogEntry {
101
+ timestamp: number;
102
+ type: LogType;
103
+ message: string;
104
+ }
105
+ export interface LogOptions {
106
+ type?: LogType;
107
+ since?: number;
108
+ limit?: number;
109
+ }
110
+ export interface PerformanceMetrics {
111
+ fps?: number;
112
+ memoryUsageMb: number;
113
+ cpuPercent?: number;
114
+ }
115
+ export interface PermissionStatus {
116
+ granted: boolean;
117
+ instructions?: string[];
118
+ }
119
+ export type DesktopStatus = "stopped" | "starting" | "running" | "crashed";
120
+ export interface DesktopState {
121
+ status: DesktopStatus;
122
+ pid?: number;
123
+ projectPath?: string;
124
+ crashCount: number;
125
+ lastError?: string;
126
+ }
127
+ export interface ClipboardContent {
128
+ text?: string;
129
+ hasImage?: boolean;
130
+ }
131
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/desktop/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Desktop platform types for claude-in-mobile
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/desktop/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,7 +1,9 @@
1
1
  import { AdbClient } from "./adb/client.js";
2
2
  import { IosClient } from "./ios/client.js";
3
+ import { DesktopClient } from "./desktop/client.js";
3
4
  import { type CompressOptions } from "./utils/image.js";
4
- export type Platform = "android" | "ios";
5
+ import type { LaunchOptions } from "./desktop/types.js";
6
+ export type Platform = "android" | "ios" | "desktop";
5
7
  export interface Device {
6
8
  id: string;
7
9
  name: string;
@@ -12,8 +14,37 @@ export interface Device {
12
14
  export declare class DeviceManager {
13
15
  private androidClient;
14
16
  private iosClient;
17
+ private desktopClient;
15
18
  private activeDevice?;
19
+ private activeTarget;
16
20
  constructor();
21
+ /**
22
+ * Set active target platform
23
+ */
24
+ setTarget(target: Platform): void;
25
+ /**
26
+ * Get active target and its status
27
+ */
28
+ getTarget(): {
29
+ target: Platform;
30
+ status: string;
31
+ };
32
+ /**
33
+ * Launch desktop automation (and optionally a user's app via Gradle)
34
+ */
35
+ launchDesktopApp(options: LaunchOptions): Promise<string>;
36
+ /**
37
+ * Stop desktop app
38
+ */
39
+ stopDesktopApp(): Promise<void>;
40
+ /**
41
+ * Get desktop client directly
42
+ */
43
+ getDesktopClient(): DesktopClient;
44
+ /**
45
+ * Check if desktop app is running
46
+ */
47
+ isDesktopRunning(): boolean;
17
48
  /**
18
49
  * Get all connected devices (Android + iOS)
19
50
  */
@@ -37,7 +68,7 @@ export declare class DeviceManager {
37
68
  /**
38
69
  * Get current platform
39
70
  */
40
- getCurrentPlatform(): Platform | undefined;
71
+ getCurrentPlatform(): Platform;
41
72
  /**
42
73
  * Take screenshot with optional compression
43
74
  */
@@ -52,27 +83,27 @@ export declare class DeviceManager {
52
83
  /**
53
84
  * Tap at coordinates
54
85
  */
55
- tap(x: number, y: number, platform?: Platform): void;
86
+ tap(x: number, y: number, platform?: Platform): Promise<void>;
56
87
  /**
57
88
  * Long press
58
89
  */
59
- longPress(x: number, y: number, durationMs?: number, platform?: Platform): void;
90
+ longPress(x: number, y: number, durationMs?: number, platform?: Platform): Promise<void>;
60
91
  /**
61
92
  * Swipe
62
93
  */
63
- swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number, platform?: Platform): void;
94
+ swipe(x1: number, y1: number, x2: number, y2: number, durationMs?: number, platform?: Platform): Promise<void>;
64
95
  /**
65
96
  * Swipe direction
66
97
  */
67
- swipeDirection(direction: "up" | "down" | "left" | "right", platform?: Platform): void;
98
+ swipeDirection(direction: "up" | "down" | "left" | "right", platform?: Platform): Promise<void>;
68
99
  /**
69
100
  * Input text
70
101
  */
71
- inputText(text: string, platform?: Platform): void;
102
+ inputText(text: string, platform?: Platform): Promise<void>;
72
103
  /**
73
104
  * Press key
74
105
  */
75
- pressKey(key: string, platform?: Platform): void;
106
+ pressKey(key: string, platform?: Platform): Promise<void>;
76
107
  /**
77
108
  * Launch app
78
109
  */
@@ -88,7 +119,7 @@ export declare class DeviceManager {
88
119
  /**
89
120
  * Get UI hierarchy
90
121
  */
91
- getUiHierarchy(platform?: Platform): string;
122
+ getUiHierarchy(platform?: Platform): Promise<string>;
92
123
  /**
93
124
  * Execute shell command
94
125
  */
@@ -118,6 +149,6 @@ export declare class DeviceManager {
118
149
  /**
119
150
  * Get system info (battery, memory, etc.)
120
151
  */
121
- getSystemInfo(platform?: Platform): string;
152
+ getSystemInfo(platform?: Platform): Promise<string>;
122
153
  }
123
154
  //# sourceMappingURL=device-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"device-manager.d.ts","sourceRoot":"","sources":["../src/device-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"device-manager.d.ts","sourceRoot":"","sources":["../src/device-manager.ts"],"names":[],"mappings":"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"}