devlens-mcp 0.4.2 → 0.5.2

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 (131) hide show
  1. package/README.md +211 -35
  2. package/RELEASE_NOTES.md +3 -7
  3. package/dist/bin/cli.js +41 -14
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/bin/setup.d.ts +14 -0
  6. package/dist/bin/setup.d.ts.map +1 -0
  7. package/dist/bin/setup.js +272 -0
  8. package/dist/bin/setup.js.map +1 -0
  9. package/dist/src/figma/figma-api.d.ts +108 -0
  10. package/dist/src/figma/figma-api.d.ts.map +1 -0
  11. package/dist/src/figma/figma-api.js +284 -0
  12. package/dist/src/figma/figma-api.js.map +1 -0
  13. package/dist/src/figma/figma-cache.d.ts +57 -0
  14. package/dist/src/figma/figma-cache.d.ts.map +1 -0
  15. package/dist/src/figma/figma-cache.js +266 -0
  16. package/dist/src/figma/figma-cache.js.map +1 -0
  17. package/dist/src/figma/figma-client.d.ts +62 -0
  18. package/dist/src/figma/figma-client.d.ts.map +1 -0
  19. package/dist/src/figma/figma-client.js +224 -0
  20. package/dist/src/figma/figma-client.js.map +1 -0
  21. package/dist/src/figma/figma-rate-limiter.d.ts +46 -0
  22. package/dist/src/figma/figma-rate-limiter.d.ts.map +1 -0
  23. package/dist/src/figma/figma-rate-limiter.js +153 -0
  24. package/dist/src/figma/figma-rate-limiter.js.map +1 -0
  25. package/dist/src/figma/figma-retry.d.ts +19 -0
  26. package/dist/src/figma/figma-retry.d.ts.map +1 -0
  27. package/dist/src/figma/figma-retry.js +57 -0
  28. package/dist/src/figma/figma-retry.js.map +1 -0
  29. package/dist/src/figma/figma-structure.d.ts +1 -1
  30. package/dist/src/figma/figma-structure.d.ts.map +1 -1
  31. package/dist/src/figma/figma-structure.js +11 -1
  32. package/dist/src/figma/figma-structure.js.map +1 -1
  33. package/dist/src/figma/figma-types.d.ts +54 -0
  34. package/dist/src/figma/figma-types.d.ts.map +1 -0
  35. package/dist/src/figma/figma-types.js +33 -0
  36. package/dist/src/figma/figma-types.js.map +1 -0
  37. package/dist/src/figma/url-parser.d.ts +40 -0
  38. package/dist/src/figma/url-parser.d.ts.map +1 -0
  39. package/dist/src/figma/url-parser.js +107 -0
  40. package/dist/src/figma/url-parser.js.map +1 -0
  41. package/dist/src/platform/device-manager.d.ts +5 -0
  42. package/dist/src/platform/device-manager.d.ts.map +1 -1
  43. package/dist/src/platform/device-manager.js +18 -0
  44. package/dist/src/platform/device-manager.js.map +1 -1
  45. package/dist/src/platform/device-pool.d.ts +105 -0
  46. package/dist/src/platform/device-pool.d.ts.map +1 -0
  47. package/dist/src/platform/device-pool.js +328 -0
  48. package/dist/src/platform/device-pool.js.map +1 -0
  49. package/dist/src/platform/device-profiles.d.ts +50 -0
  50. package/dist/src/platform/device-profiles.d.ts.map +1 -0
  51. package/dist/src/platform/device-profiles.js +155 -0
  52. package/dist/src/platform/device-profiles.js.map +1 -0
  53. package/dist/src/platform/ios/ios-device.d.ts +0 -2
  54. package/dist/src/platform/ios/ios-device.d.ts.map +1 -1
  55. package/dist/src/platform/ios/ios-device.js +8 -18
  56. package/dist/src/platform/ios/ios-device.js.map +1 -1
  57. package/dist/src/platform/ios/simctl.d.ts +0 -5
  58. package/dist/src/platform/ios/simctl.d.ts.map +1 -1
  59. package/dist/src/platform/ios/simctl.js +0 -4
  60. package/dist/src/platform/ios/simctl.js.map +1 -1
  61. package/dist/src/platform/simulator-factory.d.ts +85 -0
  62. package/dist/src/platform/simulator-factory.d.ts.map +1 -0
  63. package/dist/src/platform/simulator-factory.js +396 -0
  64. package/dist/src/platform/simulator-factory.js.map +1 -0
  65. package/dist/src/platform/system-resources.d.ts +44 -0
  66. package/dist/src/platform/system-resources.d.ts.map +1 -0
  67. package/dist/src/platform/system-resources.js +103 -0
  68. package/dist/src/platform/system-resources.js.map +1 -0
  69. package/dist/src/prototype/browser-engine.d.ts +62 -0
  70. package/dist/src/prototype/browser-engine.d.ts.map +1 -0
  71. package/dist/src/prototype/browser-engine.js +199 -0
  72. package/dist/src/prototype/browser-engine.js.map +1 -0
  73. package/dist/src/prototype/figma-navigator.d.ts +40 -0
  74. package/dist/src/prototype/figma-navigator.d.ts.map +1 -0
  75. package/dist/src/prototype/figma-navigator.js +95 -0
  76. package/dist/src/prototype/figma-navigator.js.map +1 -0
  77. package/dist/src/prototype/flow-reporter.d.ts +47 -0
  78. package/dist/src/prototype/flow-reporter.d.ts.map +1 -0
  79. package/dist/src/prototype/flow-reporter.js +255 -0
  80. package/dist/src/prototype/flow-reporter.js.map +1 -0
  81. package/dist/src/prototype/screen-analyzer.d.ts +31 -0
  82. package/dist/src/prototype/screen-analyzer.d.ts.map +1 -0
  83. package/dist/src/prototype/screen-analyzer.js +114 -0
  84. package/dist/src/prototype/screen-analyzer.js.map +1 -0
  85. package/dist/src/prototype/web-crawler.d.ts +31 -0
  86. package/dist/src/prototype/web-crawler.d.ts.map +1 -0
  87. package/dist/src/prototype/web-crawler.js +88 -0
  88. package/dist/src/prototype/web-crawler.js.map +1 -0
  89. package/dist/src/reports/cross-device-report.d.ts +84 -0
  90. package/dist/src/reports/cross-device-report.d.ts.map +1 -0
  91. package/dist/src/reports/cross-device-report.js +342 -0
  92. package/dist/src/reports/cross-device-report.js.map +1 -0
  93. package/dist/src/server.d.ts.map +1 -1
  94. package/dist/src/server.js +9 -1
  95. package/dist/src/server.js.map +1 -1
  96. package/dist/src/snapshot/formatter.d.ts +5 -13
  97. package/dist/src/snapshot/formatter.d.ts.map +1 -1
  98. package/dist/src/snapshot/formatter.js +19 -28
  99. package/dist/src/snapshot/formatter.js.map +1 -1
  100. package/dist/src/tools/interaction-tools.d.ts +6 -6
  101. package/dist/src/tools/interaction-tools.d.ts.map +1 -1
  102. package/dist/src/tools/interaction-tools.js +2 -12
  103. package/dist/src/tools/interaction-tools.js.map +1 -1
  104. package/dist/src/tools/metro-tools.d.ts +2 -2
  105. package/dist/src/tools/multi-device-tools.d.ts +133 -0
  106. package/dist/src/tools/multi-device-tools.d.ts.map +1 -0
  107. package/dist/src/tools/multi-device-tools.js +365 -0
  108. package/dist/src/tools/multi-device-tools.js.map +1 -0
  109. package/dist/src/tools/navigation-tools.d.ts.map +1 -1
  110. package/dist/src/tools/navigation-tools.js +1 -6
  111. package/dist/src/tools/navigation-tools.js.map +1 -1
  112. package/dist/src/tools/prototype-tools.d.ts +102 -0
  113. package/dist/src/tools/prototype-tools.d.ts.map +1 -0
  114. package/dist/src/tools/prototype-tools.js +391 -0
  115. package/dist/src/tools/prototype-tools.js.map +1 -0
  116. package/dist/src/tools/screenshot-tools.d.ts +7 -74
  117. package/dist/src/tools/screenshot-tools.d.ts.map +1 -1
  118. package/dist/src/tools/screenshot-tools.js +19 -286
  119. package/dist/src/tools/screenshot-tools.js.map +1 -1
  120. package/dist/src/tools/vqa-tools.d.ts +2 -2
  121. package/dist/src/tools/vqa-tools.d.ts.map +1 -1
  122. package/dist/src/tools/vqa-tools.js +4 -69
  123. package/dist/src/tools/vqa-tools.js.map +1 -1
  124. package/docs/figma-workflow.md +58 -6
  125. package/docs/installation-guide.md +302 -0
  126. package/docs/setup-guide.md +77 -79
  127. package/docs/tool-reference.md +152 -69
  128. package/install.sh +119 -0
  129. package/package.json +5 -2
  130. package/setup.sh +320 -0
  131. package/tsconfig.json +1 -1
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /**
3
+ * Preset device profiles for iOS Simulators and Android Emulators.
4
+ * Each profile maps to a real device with known screen dimensions,
5
+ * scale factor, and the simulator/AVD identifiers needed to create one.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ALL_PROFILES = exports.ANDROID_PROFILES = exports.IOS_PROFILES = void 0;
9
+ exports.getProfile = getProfile;
10
+ exports.getProfilesByPlatform = getProfilesByPlatform;
11
+ exports.getProfilesByCategory = getProfilesByCategory;
12
+ exports.getDefaultTestMatrix = getDefaultTestMatrix;
13
+ exports.listAvailableProfiles = listAvailableProfiles;
14
+ // ─── iOS Profiles ─────────────────────────────────────────────────────────
15
+ exports.IOS_PROFILES = [
16
+ {
17
+ id: "iphone-se",
18
+ name: "iPhone SE (3rd gen)",
19
+ platform: "ios",
20
+ category: "small",
21
+ logicalWidth: 375,
22
+ logicalHeight: 667,
23
+ scaleFactor: 2,
24
+ simctlDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-SE-3rd-generation",
25
+ },
26
+ {
27
+ id: "iphone-15",
28
+ name: "iPhone 15",
29
+ platform: "ios",
30
+ category: "medium",
31
+ logicalWidth: 393,
32
+ logicalHeight: 852,
33
+ scaleFactor: 3,
34
+ simctlDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-15",
35
+ },
36
+ {
37
+ id: "iphone-15-pro-max",
38
+ name: "iPhone 15 Pro Max",
39
+ platform: "ios",
40
+ category: "large",
41
+ logicalWidth: 430,
42
+ logicalHeight: 932,
43
+ scaleFactor: 3,
44
+ simctlDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPhone-15-Pro-Max",
45
+ },
46
+ {
47
+ id: "ipad-mini",
48
+ name: "iPad mini (6th gen)",
49
+ platform: "ios",
50
+ category: "tablet",
51
+ logicalWidth: 744,
52
+ logicalHeight: 1133,
53
+ scaleFactor: 2,
54
+ simctlDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPad-mini-6th-generation",
55
+ },
56
+ {
57
+ id: "ipad-pro-13",
58
+ name: 'iPad Pro 13" (M4)',
59
+ platform: "ios",
60
+ category: "tablet",
61
+ logicalWidth: 1032,
62
+ logicalHeight: 1376,
63
+ scaleFactor: 2,
64
+ simctlDeviceType: "com.apple.CoreSimulator.SimDeviceType.iPad-Pro-13-inch-M4",
65
+ },
66
+ ];
67
+ // ─── Android Profiles ─────────────────────────────────────────────────────
68
+ exports.ANDROID_PROFILES = [
69
+ {
70
+ id: "pixel-4a",
71
+ name: "Pixel 4a",
72
+ platform: "android",
73
+ category: "small",
74
+ logicalWidth: 393,
75
+ logicalHeight: 851,
76
+ scaleFactor: 2.75,
77
+ avdDeviceId: "pixel_4a",
78
+ density: 440,
79
+ },
80
+ {
81
+ id: "pixel-7",
82
+ name: "Pixel 7",
83
+ platform: "android",
84
+ category: "medium",
85
+ logicalWidth: 360,
86
+ logicalHeight: 780,
87
+ scaleFactor: 3,
88
+ avdDeviceId: "pixel_7",
89
+ density: 420,
90
+ },
91
+ {
92
+ id: "pixel-7-pro",
93
+ name: "Pixel 7 Pro",
94
+ platform: "android",
95
+ category: "large",
96
+ logicalWidth: 412,
97
+ logicalHeight: 892,
98
+ scaleFactor: 3.5,
99
+ avdDeviceId: "pixel_7_pro",
100
+ density: 560,
101
+ },
102
+ {
103
+ id: "pixel-tablet",
104
+ name: "Pixel Tablet",
105
+ platform: "android",
106
+ category: "tablet",
107
+ logicalWidth: 1280,
108
+ logicalHeight: 800,
109
+ scaleFactor: 2,
110
+ avdDeviceId: "pixel_tablet",
111
+ density: 320,
112
+ },
113
+ ];
114
+ // ─── All profiles combined ────────────────────────────────────────────────
115
+ exports.ALL_PROFILES = [
116
+ ...exports.IOS_PROFILES,
117
+ ...exports.ANDROID_PROFILES,
118
+ ];
119
+ // ─── Lookup helpers ───────────────────────────────────────────────────────
120
+ /** Find a profile by its stable ID (e.g. "iphone-se"). */
121
+ function getProfile(id) {
122
+ return exports.ALL_PROFILES.find((p) => p.id === id);
123
+ }
124
+ /** Get all profiles for a platform. */
125
+ function getProfilesByPlatform(platform) {
126
+ return exports.ALL_PROFILES.filter((p) => p.platform === platform);
127
+ }
128
+ /** Get profiles matching platform + size categories. */
129
+ function getProfilesByCategory(platform, categories) {
130
+ const cats = new Set(categories);
131
+ return exports.ALL_PROFILES.filter((p) => p.platform === platform && cats.has(p.category));
132
+ }
133
+ /**
134
+ * Default test matrix: small + medium + large (3 devices).
135
+ * Safe on any 16GB Mac without batching concerns.
136
+ */
137
+ function getDefaultTestMatrix(platform) {
138
+ return getProfilesByCategory(platform, ["small", "medium", "large"]);
139
+ }
140
+ /**
141
+ * List all profiles as a formatted table for tool output.
142
+ */
143
+ function listAvailableProfiles(platform) {
144
+ const profiles = platform
145
+ ? getProfilesByPlatform(platform)
146
+ : exports.ALL_PROFILES;
147
+ return profiles.map((p) => ({
148
+ id: p.id,
149
+ name: p.name,
150
+ platform: p.platform,
151
+ category: p.category,
152
+ resolution: `${p.logicalWidth}x${p.logicalHeight} @${p.scaleFactor}x`,
153
+ }));
154
+ }
155
+ //# sourceMappingURL=device-profiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-profiles.js","sourceRoot":"","sources":["../../../src/platform/device-profiles.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,6 @@ import type { Device, DeviceInfo, AppInfo, SnapshotNode } from "../device.js";
2
2
  export declare class IosDevice implements Device {
3
3
  private deviceId;
4
4
  private simctl;
5
- private scaleResolver;
6
- private cachedInfo;
7
5
  constructor(deviceId: string);
8
6
  getInfo(): Promise<DeviceInfo>;
9
7
  getSnapshot(): Promise<SnapshotNode>;
@@ -1 +1 @@
1
- {"version":3,"file":"ios-device.d.ts","sourceRoot":"","sources":["../../../../src/platform/ios/ios-device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAK9E,qBAAa,SAAU,YAAW,MAAM;IAK1B,OAAO,CAAC,QAAQ;IAJ5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,UAAU,CAA2B;gBAEzB,QAAQ,EAAE,MAAM;IAK9B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAqB9B,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAKpC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,SAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAIV,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAsB7D,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAMpE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
1
+ {"version":3,"file":"ios-device.d.ts","sourceRoot":"","sources":["../../../../src/platform/ios/ios-device.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI9E,qBAAa,SAAU,YAAW,MAAM;IAG1B,OAAO,CAAC,QAAQ;IAF5B,OAAO,CAAC,MAAM,CAAS;gBAEH,QAAQ,EAAE,MAAM;IAI9B,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC;IAkB9B,WAAW,IAAI,OAAO,CAAC,YAAY,CAAC;IAKpC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAM9C,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,WAAW,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKlE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,KAAK,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,WAAW,SAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAIV,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7D,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpE,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAS9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG1C"}
@@ -2,36 +2,29 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IosDevice = void 0;
4
4
  const simctl_js_1 = require("./simctl.js");
5
- const scale_resolver_js_1 = require("./scale-resolver.js");
6
5
  const accessibility_js_1 = require("./accessibility.js");
7
6
  class IosDevice {
8
7
  deviceId;
9
8
  simctl;
10
- scaleResolver;
11
- cachedInfo = null;
12
9
  constructor(deviceId) {
13
10
  this.deviceId = deviceId;
14
11
  this.simctl = new simctl_js_1.Simctl(deviceId);
15
- this.scaleResolver = new scale_resolver_js_1.ScreenScaleResolver();
16
12
  }
17
13
  async getInfo() {
18
- if (this.cachedInfo)
19
- return this.cachedInfo;
20
- const [deviceInfo, logicalSize] = await Promise.all([
14
+ const [deviceInfo, screenSize] = await Promise.all([
21
15
  this.simctl.getDeviceInfo(),
22
- this.scaleResolver.getLogicalSize(this.simctl),
16
+ this.simctl.getScreenSize(),
23
17
  ]);
24
- this.cachedInfo = {
18
+ return {
25
19
  id: this.deviceId,
26
20
  name: deviceInfo.name,
27
21
  platform: "ios",
28
22
  osVersion: deviceInfo.runtime,
29
- screenWidth: logicalSize.width,
30
- screenHeight: logicalSize.height,
23
+ screenWidth: screenSize.width,
24
+ screenHeight: screenSize.height,
31
25
  orientation: "portrait", // Default; would need to query actual orientation
32
26
  isBooted: deviceInfo.state === "Booted",
33
27
  };
34
- return this.cachedInfo;
35
28
  }
36
29
  async getSnapshot() {
37
30
  const output = await this.simctl.getAccessibilityTree();
@@ -63,20 +56,17 @@ class IosDevice {
63
56
  case "home":
64
57
  await this.simctl.pressKey("home");
65
58
  break;
66
- case "back": {
59
+ case "back":
67
60
  // iOS doesn't have a hardware back button; swipe from left edge
68
- const info = await this.getInfo();
69
- await this.simctl.swipe(0, info.screenHeight / 2, info.screenWidth / 2, info.screenHeight / 2);
61
+ const screenSize = await this.simctl.getScreenSize();
62
+ await this.simctl.swipe(0, screenSize.height / 2, screenSize.width / 2, screenSize.height / 2);
70
63
  break;
71
- }
72
64
  case "enter":
73
65
  await this.simctl.pressKey("return");
74
66
  break;
75
67
  }
76
68
  }
77
69
  async setOrientation(orientation) {
78
- this.scaleResolver.invalidate();
79
- this.cachedInfo = null;
80
70
  await this.simctl.setOrientation(orientation);
81
71
  }
82
72
  async launchApp(appId) {
@@ -1 +1 @@
1
- {"version":3,"file":"ios-device.js","sourceRoot":"","sources":["../../../../src/platform/ios/ios-device.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ios-device.js","sourceRoot":"","sources":["../../../../src/platform/ios/ios-device.ts"],"names":[],"mappings":"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"}
@@ -27,11 +27,6 @@ export declare class Simctl {
27
27
  width: number;
28
28
  height: number;
29
29
  }>;
30
- /** Get logical screen size (points) using a ScreenScaleResolver */
31
- getLogicalScreenSize(scaleResolver: import("./scale-resolver.js").ScreenScaleResolver): Promise<{
32
- width: number;
33
- height: number;
34
- }>;
35
30
  /** Tap at coordinates using simctl */
36
31
  tap(x: number, y: number): Promise<void>;
37
32
  /** Swipe on the simulator */
@@ -1 +1 @@
1
- {"version":3,"file":"simctl.d.ts","sourceRoot":"","sources":["../../../../src/platform/ios/simctl.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEpC,+BAA+B;IACzB,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAS9C,8CAA8C;IACxC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAUnC,oEAAoE;IAC9D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe7C;;;;OAIG;YACW,yBAAyB;IAcvC,kCAAkC;IAC5B,aAAa,IAAI,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IA2BF,uCAAuC;IACjC,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBjE,mEAAmE;IAC7D,oBAAoB,CACxB,aAAa,EAAE,OAAO,qBAAqB,EAAE,mBAAmB,GAC/D,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAI7C,sCAAsC;IAChC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB9C,6BAA6B;IACvB,KAAK,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAgBhB,4CAA4C;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,+BAA+B;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,oBAAoB;IACd,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,uBAAuB;IACjB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,2CAA2C;IACrC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,0BAA0B;IACpB,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA6BpE,iBAAiB;IACX,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,6BAA6B;IACvB,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3E"}
1
+ {"version":3,"file":"simctl.d.ts","sourceRoot":"","sources":["../../../../src/platform/ios/simctl.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,qBAAa,MAAM;IACL,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,MAAM;IAEpC,+BAA+B;IACzB,IAAI,CAAC,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IAS9C,8CAA8C;IACxC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAUnC,oEAAoE;IAC9D,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAe7C;;;;OAIG;YACW,yBAAyB;IAcvC,kCAAkC;IAC5B,aAAa,IAAI,OAAO,CAAC;QAC7B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IA2BF,uCAAuC;IACjC,aAAa,IAAI,OAAO,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAqBjE,sCAAsC;IAChC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAwB9C,6BAA6B;IACvB,KAAK,CACT,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC;IAgBhB,4CAA4C;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI3C,+BAA+B;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI1C,oBAAoB;IACd,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,uBAAuB;IACjB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD,2CAA2C;IACrC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7C,0BAA0B;IACpB,QAAQ,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IA6BpE,iBAAiB;IACX,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,6BAA6B;IACvB,cAAc,CAAC,WAAW,EAAE,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAc3E"}
@@ -99,10 +99,6 @@ class Simctl {
99
99
  return { width: 390, height: 844 };
100
100
  }
101
101
  }
102
- /** Get logical screen size (points) using a ScreenScaleResolver */
103
- async getLogicalScreenSize(scaleResolver) {
104
- return scaleResolver.getLogicalSize(this);
105
- }
106
102
  /** Tap at coordinates using simctl */
107
103
  async tap(x, y) {
108
104
  // simctl doesn't have a direct tap command, so we use the io command
@@ -1 +1 @@
1
- {"version":3,"file":"simctl.js","sourceRoot":"","sources":["../../../../src/platform/ios/simctl.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"simctl.js","sourceRoot":"","sources":["../../../../src/platform/ios/simctl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * SimulatorFactory — create, boot, and shutdown iOS Simulators and Android
3
+ * Emulators on demand from DeviceProfile definitions.
4
+ *
5
+ * DevLens-created devices are prefixed with "DevLens-" (iOS) or "devlens-"
6
+ * (Android) for easy identification and cleanup.
7
+ */
8
+ import type { Device } from "./device.js";
9
+ import type { DeviceProfile } from "./device-profiles.js";
10
+ export interface BootedDevice {
11
+ id: string;
12
+ profile: DeviceProfile;
13
+ device: Device;
14
+ /** true if DevLens created this simulator/AVD */
15
+ createdByDevLens: boolean;
16
+ /** true if the device was already booted before we touched it */
17
+ wasAlreadyBooted: boolean;
18
+ }
19
+ export declare class SimulatorFactory {
20
+ private createdDeviceIds;
21
+ /**
22
+ * Find an existing iOS simulator matching the profile's device type,
23
+ * or create a new one. Returns the UDID.
24
+ */
25
+ ensureIosSimulator(profile: DeviceProfile): Promise<{
26
+ udid: string;
27
+ created: boolean;
28
+ alreadyBooted: boolean;
29
+ }>;
30
+ /**
31
+ * Boot an iOS simulator by UDID and wait until it's fully ready.
32
+ */
33
+ bootIosSimulator(udid: string, timeoutMs?: number): Promise<void>;
34
+ /** Check if an iOS simulator is booted. */
35
+ isIosBooted(udid: string): Promise<boolean>;
36
+ /** Shutdown an iOS simulator. */
37
+ shutdownIos(udid: string): Promise<void>;
38
+ /** Delete an iOS simulator (only if created by DevLens). */
39
+ deleteIosSimulator(udid: string): Promise<void>;
40
+ /** Get the latest installed iOS runtime. */
41
+ private getLatestIosRuntime;
42
+ /**
43
+ * Find an existing Android AVD matching the profile, or create one.
44
+ * Returns the AVD name.
45
+ */
46
+ ensureAndroidAvd(profile: DeviceProfile): Promise<{
47
+ avdName: string;
48
+ created: boolean;
49
+ }>;
50
+ /**
51
+ * Boot an Android emulator by AVD name.
52
+ * Returns the serial number (e.g. "emulator-5554").
53
+ */
54
+ bootAndroidEmulator(avdName: string, timeoutMs?: number): Promise<string>;
55
+ /** Find serial of a running emulator by AVD name. */
56
+ private findRunningAndroidEmulator;
57
+ /** Find the next free emulator console port (even number starting at 5554). */
58
+ private findFreeEmulatorPort;
59
+ /** Shutdown an Android emulator by serial. */
60
+ shutdownAndroid(serial: string): Promise<void>;
61
+ /** Get the latest installed Android system image. */
62
+ private getLatestAndroidSystemImage;
63
+ /**
64
+ * Boot a device from a profile. Returns a fully initialized BootedDevice.
65
+ * Handles both iOS and Android based on profile.platform.
66
+ */
67
+ bootFromProfile(profile: DeviceProfile): Promise<BootedDevice>;
68
+ /**
69
+ * Shutdown a device. Only shuts down if it wasn't already booted
70
+ * before DevLens touched it.
71
+ */
72
+ shutdownDevice(booted: BootedDevice): Promise<void>;
73
+ /**
74
+ * Shutdown and optionally delete all devices created by DevLens.
75
+ */
76
+ cleanupAll(deleteCreated?: boolean): Promise<string[]>;
77
+ /** Get IDs of all devices created by DevLens in this session. */
78
+ get createdDevices(): string[];
79
+ private getAdbPath;
80
+ private getEmulatorPath;
81
+ private getAvdManagerPath;
82
+ private getSdkManagerPath;
83
+ private sleep;
84
+ }
85
+ //# sourceMappingURL=simulator-factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulator-factory.d.ts","sourceRoot":"","sources":["../../../src/platform/simulator-factory.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAW1D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,iEAAiE;IACjE,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAID,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,gBAAgB,CAA0B;IAIlD;;;OAGG;IACG,kBAAkB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;QACxD,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,OAAO,CAAC;QACjB,aAAa,EAAE,OAAO,CAAC;KACxB,CAAC;IA0CF;;OAEG;IACG,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAYxE,2CAA2C;IACrC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkBjD,iCAAiC;IAC3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9C,4DAA4D;IACtD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAYrD,4CAA4C;YAC9B,mBAAmB;IAyBjC;;;OAGG;IACG,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;QACtD,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IAsCF;;;OAGG;IACG,mBAAmB,CACvB,OAAO,EAAE,MAAM,EACf,SAAS,SAAU,GAClB,OAAO,CAAC,MAAM,CAAC;IA2ClB,qDAAqD;YACvC,0BAA0B;IA2BxC,+EAA+E;YACjE,oBAAoB;IAqBlC,8CAA8C;IACxC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpD,qDAAqD;YACvC,2BAA2B;IA6BzC;;;OAGG;IACG,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA2BpE;;;OAGG;IACG,cAAc,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUzD;;OAEG;IACG,UAAU,CAAC,aAAa,UAAQ,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA2B1D,iEAAiE;IACjE,IAAI,cAAc,IAAI,MAAM,EAAE,CAE7B;IAID,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,KAAK;CAGd"}