appshot-cli 0.7.0 → 0.8.1

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 (70) hide show
  1. package/README.md +244 -5
  2. package/dist/cli.js +23 -4
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/device.d.ts +3 -0
  5. package/dist/commands/device.d.ts.map +1 -0
  6. package/dist/commands/device.js +414 -0
  7. package/dist/commands/device.js.map +1 -0
  8. package/dist/commands/frame.d.ts +3 -0
  9. package/dist/commands/frame.d.ts.map +1 -0
  10. package/dist/commands/frame.js +251 -0
  11. package/dist/commands/frame.js.map +1 -0
  12. package/dist/commands/unwatch.d.ts +3 -0
  13. package/dist/commands/unwatch.d.ts.map +1 -0
  14. package/dist/commands/unwatch.js +53 -0
  15. package/dist/commands/unwatch.js.map +1 -0
  16. package/dist/commands/watch-status.d.ts +3 -0
  17. package/dist/commands/watch-status.d.ts.map +1 -0
  18. package/dist/commands/watch-status.js +116 -0
  19. package/dist/commands/watch-status.js.map +1 -0
  20. package/dist/commands/watch.d.ts +3 -0
  21. package/dist/commands/watch.d.ts.map +1 -0
  22. package/dist/commands/watch.js +322 -0
  23. package/dist/commands/watch.js.map +1 -0
  24. package/dist/core/compose.d.ts +25 -0
  25. package/dist/core/compose.d.ts.map +1 -1
  26. package/dist/core/compose.js +82 -0
  27. package/dist/core/compose.js.map +1 -1
  28. package/dist/core/devices.d.ts +5 -0
  29. package/dist/core/devices.d.ts.map +1 -1
  30. package/dist/core/devices.js +43 -1
  31. package/dist/core/devices.js.map +1 -1
  32. package/dist/services/compose-bridge.d.ts +47 -0
  33. package/dist/services/compose-bridge.d.ts.map +1 -0
  34. package/dist/services/compose-bridge.js +222 -0
  35. package/dist/services/compose-bridge.js.map +1 -0
  36. package/dist/services/device-manager.d.ts +14 -0
  37. package/dist/services/device-manager.d.ts.map +1 -0
  38. package/dist/services/device-manager.js +244 -0
  39. package/dist/services/device-manager.js.map +1 -0
  40. package/dist/services/doctor.d.ts +1 -0
  41. package/dist/services/doctor.d.ts.map +1 -1
  42. package/dist/services/doctor.js +94 -2
  43. package/dist/services/doctor.js.map +1 -1
  44. package/dist/services/processing-queue.d.ts +32 -0
  45. package/dist/services/processing-queue.d.ts.map +1 -0
  46. package/dist/services/processing-queue.js +150 -0
  47. package/dist/services/processing-queue.js.map +1 -0
  48. package/dist/services/screenshot-router.d.ts +31 -0
  49. package/dist/services/screenshot-router.d.ts.map +1 -0
  50. package/dist/services/screenshot-router.js +227 -0
  51. package/dist/services/screenshot-router.js.map +1 -0
  52. package/dist/services/system-requirements.d.ts +26 -0
  53. package/dist/services/system-requirements.d.ts.map +1 -0
  54. package/dist/services/system-requirements.js +189 -0
  55. package/dist/services/system-requirements.js.map +1 -0
  56. package/dist/services/watch-service.d.ts +39 -0
  57. package/dist/services/watch-service.d.ts.map +1 -0
  58. package/dist/services/watch-service.js +293 -0
  59. package/dist/services/watch-service.js.map +1 -0
  60. package/dist/types/device.d.ts +52 -0
  61. package/dist/types/device.d.ts.map +1 -0
  62. package/dist/types/device.js +2 -0
  63. package/dist/types/device.js.map +1 -0
  64. package/dist/types.d.ts +9 -0
  65. package/dist/types.d.ts.map +1 -1
  66. package/dist/utils/pid-manager.d.ts +11 -0
  67. package/dist/utils/pid-manager.d.ts.map +1 -0
  68. package/dist/utils/pid-manager.js +76 -0
  69. package/dist/utils/pid-manager.js.map +1 -0
  70. package/package.json +3 -3
@@ -20,6 +20,11 @@ export declare let frameRegistry: DeviceFrame[];
20
20
  * Detect orientation from image dimensions
21
21
  */
22
22
  export declare function detectOrientation(width: number, height: number): Orientation;
23
+ /**
24
+ * Best-effort device type detection from raw dimensions.
25
+ * Uses simple heuristics and pixel thresholds; not perfect but fast.
26
+ */
27
+ export declare function detectDeviceTypeFromDimensions(width: number, height: number): 'iphone' | 'ipad' | 'mac' | 'watch' | null;
23
28
  /**
24
29
  * Get image dimensions from file
25
30
  */
@@ -1 +1 @@
1
- {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/core/devices.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,IAAI,aAAa,EAAE,WAAW,EA2fpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAE5E;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAOhI;AAkED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,EAC/C,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,GAAG,IAAI,CA+GpB;AAaD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC9E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuC5F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,EAC/C,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,CAyBjE"}
1
+ {"version":3,"file":"devices.d.ts","sourceRoot":"","sources":["../../src/core/devices.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,WAAW,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE;QACV,CAAC,EAAE,MAAM,CAAC;QACV,CAAC,EAAE,MAAM,CAAC;QACV,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAGD,eAAO,IAAI,aAAa,EAAE,WAAW,EA2fpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,CAE5E;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,GACb,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,CAoC5C;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CAAC,CAOhI;AAkED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,eAAe,EAAE,MAAM,EACvB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,EAC/C,cAAc,CAAC,EAAE,MAAM,GACtB,WAAW,GAAG,IAAI,CA+GpB;AAoBD;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAkC9E;AAED;;GAEG;AACH,wBAAsB,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuC5F;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,EAC/C,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,GAAE,OAAe,GACtB,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAA;CAAE,CAAC,CAyBjE"}
@@ -514,6 +514,43 @@ export let frameRegistry = [
514
514
  export function detectOrientation(width, height) {
515
515
  return width > height ? 'landscape' : 'portrait';
516
516
  }
517
+ /**
518
+ * Best-effort device type detection from raw dimensions.
519
+ * Uses simple heuristics and pixel thresholds; not perfect but fast.
520
+ */
521
+ export function detectDeviceTypeFromDimensions(width, height) {
522
+ if (!width || !height)
523
+ return null;
524
+ const w = Math.max(width, height);
525
+ const h = Math.min(width, height);
526
+ const aspect = w / h; // normalized >= 1
527
+ const pixels = width * height;
528
+ // Watch: small and close to square
529
+ if (pixels <= 600_000 && aspect >= 0.75 && aspect <= 1.3) {
530
+ return 'watch';
531
+ }
532
+ // iPad: around 4:3 (1.33) in either orientation
533
+ if (aspect >= 1.20 && aspect <= 1.40) {
534
+ // ensure it's not too tiny (exclude watches) and not huge like Macs
535
+ if (pixels >= 1_500_000 && pixels <= 8_000_000) {
536
+ return 'ipad';
537
+ }
538
+ }
539
+ // Mac: typically 16:10 (~1.6) or 16:9 (~1.78) and large pixel counts
540
+ if (aspect >= 1.50 && aspect <= 1.85 && pixels >= 2_000_000) {
541
+ return 'mac';
542
+ }
543
+ // iPhone: taller ratios (19.5:9 ≈ 2.17) or older 16:9 ≈ 1.78 at phone pixel counts
544
+ if (aspect >= 1.60 && aspect <= 2.40 && pixels <= 5_000_000) {
545
+ return 'iphone';
546
+ }
547
+ // Fallbacks: try to guess based on size alone
548
+ if (pixels < 1_200_000)
549
+ return 'iphone';
550
+ if (pixels > 8_000_000)
551
+ return 'mac';
552
+ return null;
553
+ }
517
554
  /**
518
555
  * Get image dimensions from file
519
556
  */
@@ -676,7 +713,12 @@ export function findBestFrame(screenshotWidth, screenshotHeight, deviceType, pre
676
713
  function getBundledFramesPath() {
677
714
  // When running from installed package, frames are in node_modules/appshot/frames
678
715
  // When running in development, frames are in the project root
679
- const dirname = path.dirname(new URL(import.meta.url).pathname);
716
+ let dirname = path.dirname(new URL(import.meta.url).pathname);
717
+ // On Windows, URL pathname starts with '/' which needs to be removed
718
+ // e.g., '/D:/path/to/file' should be 'D:/path/to/file'
719
+ if (process.platform === 'win32' && dirname.startsWith('/')) {
720
+ dirname = dirname.slice(1);
721
+ }
680
722
  const projectRoot = path.resolve(dirname, '..', '..');
681
723
  return path.join(projectRoot, 'frames');
682
724
  }
@@ -1 +1 @@
1
- {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/core/devices.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"devices.js","sourceRoot":"","sources":["../../src/core/devices.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import { UnifiedDevice } from '../types/device.js';
2
+ import { AppshotConfig } from '../types.js';
3
+ export interface ProcessOptions {
4
+ frameOnly?: boolean;
5
+ skipFrame?: boolean;
6
+ skipGradient?: boolean;
7
+ skipCaption?: boolean;
8
+ outputPath?: string;
9
+ format?: 'png' | 'jpeg';
10
+ quality?: number;
11
+ }
12
+ export interface ProcessResult {
13
+ inputPath: string;
14
+ outputPath: string;
15
+ device: UnifiedDevice;
16
+ dimensions: {
17
+ width: number;
18
+ height: number;
19
+ };
20
+ frameUsed?: string;
21
+ success: boolean;
22
+ error?: string;
23
+ }
24
+ export declare class ComposeBridge {
25
+ private config;
26
+ constructor(config: AppshotConfig);
27
+ processDeviceScreenshot(options: {
28
+ screenshotPath: string;
29
+ device: UnifiedDevice;
30
+ processOptions?: ProcessOptions;
31
+ }): Promise<ProcessResult>;
32
+ processBatch(screenshots: Array<{
33
+ path: string;
34
+ device: UnifiedDevice;
35
+ }>, processOptions?: ProcessOptions): Promise<ProcessResult[]>;
36
+ private findFrameKey;
37
+ private loadFrame;
38
+ private getFrameMetadata;
39
+ private loadDeviceCaptions;
40
+ private getDefaultOutputPath;
41
+ validateDimensions(device: UnifiedDevice, dimensions: {
42
+ width: number;
43
+ height: number;
44
+ }): Promise<boolean>;
45
+ }
46
+ export declare function createComposeBridge(config: AppshotConfig): ComposeBridge;
47
+ //# sourceMappingURL=compose-bridge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-bridge.d.ts","sourceRoot":"","sources":["../../src/services/compose-bridge.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAInD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,WAAW,cAAc;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAEnC,uBAAuB,CAAC,OAAO,EAAE;QACrC,cAAc,EAAE,MAAM,CAAC;QACvB,MAAM,EAAE,aAAa,CAAC;QACtB,cAAc,CAAC,EAAE,cAAc,CAAC;KACjC,GAAG,OAAO,CAAC,aAAa,CAAC;IAkHpB,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,aAAa,CAAC;KACvB,CAAC,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAoC9D,OAAO,CAAC,YAAY;YAqBN,SAAS;IAavB,OAAO,CAAC,gBAAgB;YAaV,kBAAkB;IAkBhC,OAAO,CAAC,oBAAoB;IAStB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;CAYjH;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAExE"}
@@ -0,0 +1,222 @@
1
+ import fs from 'fs/promises';
2
+ import path from 'path';
3
+ import sharp from 'sharp';
4
+ import pc from 'picocolors';
5
+ import { composeAppStoreScreenshot, composeFrameOnly } from '../core/compose.js';
6
+ import { frameRegistry, findBestFrame } from '../core/devices.js';
7
+ import { loadCaptions } from '../core/files.js';
8
+ export class ComposeBridge {
9
+ config;
10
+ constructor(config) {
11
+ this.config = config;
12
+ }
13
+ async processDeviceScreenshot(options) {
14
+ const { screenshotPath, device, processOptions = {} } = options;
15
+ try {
16
+ // 1. Load screenshot and get metadata
17
+ const screenshotBuffer = await fs.readFile(screenshotPath);
18
+ const metadata = await sharp(screenshotBuffer).metadata();
19
+ if (!metadata.width || !metadata.height) {
20
+ throw new Error('Unable to determine screenshot dimensions');
21
+ }
22
+ const dimensions = {
23
+ width: metadata.width,
24
+ height: metadata.height
25
+ };
26
+ // 2. Determine if portrait or landscape
27
+ const isPortrait = dimensions.height > dimensions.width;
28
+ // 3. Find best matching frame
29
+ const frameKey = this.findFrameKey(device, dimensions, isPortrait);
30
+ if (!frameKey && !processOptions.skipFrame) {
31
+ console.warn(pc.yellow(`⚠️ No frame found for ${device.name} (${dimensions.width}x${dimensions.height})`));
32
+ }
33
+ // 4. Get device-specific config
34
+ const deviceConfig = this.config.devices?.[device.category] || {};
35
+ // 5. Get captions if needed
36
+ let caption = '';
37
+ if (!processOptions.skipCaption) {
38
+ const captions = await this.loadDeviceCaptions(device.category);
39
+ const screenshotName = path.basename(screenshotPath, path.extname(screenshotPath));
40
+ caption = captions[`${screenshotName}.png`] || captions[screenshotName] || '';
41
+ }
42
+ // 6. Process based on options
43
+ let processedBuffer;
44
+ if (processOptions.frameOnly && frameKey) {
45
+ // Frame only mode (no gradient/caption)
46
+ const frame = await this.loadFrame(frameKey);
47
+ if (frame) {
48
+ processedBuffer = await composeFrameOnly({
49
+ screenshot: screenshotBuffer,
50
+ frame,
51
+ frameMetadata: this.getFrameMetadata(frameKey),
52
+ outputFormat: 'png'
53
+ });
54
+ }
55
+ else {
56
+ // No frame available, return original
57
+ processedBuffer = screenshotBuffer;
58
+ }
59
+ }
60
+ else {
61
+ // Full processing with gradient and caption
62
+ // Determine output dimensions based on device or use defaults
63
+ const outputWidth = device.resolution ? parseInt(device.resolution.split('x')[0]) : 1290;
64
+ const outputHeight = device.resolution ? parseInt(device.resolution.split('x')[1]) : 2796;
65
+ processedBuffer = await composeAppStoreScreenshot({
66
+ screenshot: screenshotBuffer,
67
+ frame: frameKey ? await this.loadFrame(frameKey) : null,
68
+ frameMetadata: frameKey ? this.getFrameMetadata(frameKey) : undefined,
69
+ caption,
70
+ captionConfig: this.config.caption || {},
71
+ gradientConfig: this.config.gradient || {
72
+ colors: ['#000000', '#333333'],
73
+ direction: 'top-bottom'
74
+ },
75
+ deviceConfig,
76
+ outputWidth,
77
+ outputHeight
78
+ });
79
+ }
80
+ // 7. Determine output path
81
+ const outputPath = processOptions.outputPath || this.getDefaultOutputPath(screenshotPath, device);
82
+ // 8. Ensure output directory exists
83
+ await fs.mkdir(path.dirname(outputPath), { recursive: true });
84
+ // 9. Save processed screenshot
85
+ if (processOptions.format === 'jpeg' && processOptions.quality) {
86
+ processedBuffer = await sharp(processedBuffer)
87
+ .jpeg({ quality: processOptions.quality })
88
+ .toBuffer();
89
+ }
90
+ await fs.writeFile(outputPath, processedBuffer);
91
+ return {
92
+ inputPath: screenshotPath,
93
+ outputPath,
94
+ device,
95
+ dimensions,
96
+ frameUsed: frameKey || undefined,
97
+ success: true
98
+ };
99
+ }
100
+ catch (error) {
101
+ console.error(pc.red(`❌ Failed to process screenshot: ${error}`));
102
+ return {
103
+ inputPath: screenshotPath,
104
+ outputPath: '',
105
+ device,
106
+ dimensions: { width: 0, height: 0 },
107
+ success: false,
108
+ error: error instanceof Error ? error.message : String(error)
109
+ };
110
+ }
111
+ }
112
+ async processBatch(screenshots, processOptions) {
113
+ const results = [];
114
+ console.log(pc.cyan(`\n🎨 Processing ${screenshots.length} screenshots...\n`));
115
+ for (const [index, screenshot] of screenshots.entries()) {
116
+ console.log(pc.dim(`[${index + 1}/${screenshots.length}]`) + ` Processing ${path.basename(screenshot.path)}...`);
117
+ const result = await this.processDeviceScreenshot({
118
+ screenshotPath: screenshot.path,
119
+ device: screenshot.device,
120
+ processOptions
121
+ });
122
+ if (result.success) {
123
+ console.log(pc.green(` ✅ Saved to: ${result.outputPath}`));
124
+ }
125
+ else {
126
+ console.log(pc.red(` ❌ Failed: ${result.error}`));
127
+ }
128
+ results.push(result);
129
+ }
130
+ // Summary
131
+ const successful = results.filter(r => r.success).length;
132
+ const failed = results.length - successful;
133
+ console.log(pc.cyan('\n📊 Processing Summary:'));
134
+ console.log(pc.green(` ✅ Successful: ${successful}`));
135
+ if (failed > 0) {
136
+ console.log(pc.red(` ❌ Failed: ${failed}`));
137
+ }
138
+ return results;
139
+ }
140
+ findFrameKey(device, dimensions, _isPortrait) {
141
+ // Use findBestFrame which returns a DeviceFrame
142
+ const deviceType = device.category === 'iphone' || device.category === 'ipad' ||
143
+ device.category === 'mac' || device.category === 'watch'
144
+ ? device.category
145
+ : 'iphone'; // Default to iphone for unsupported types
146
+ const bestFrame = findBestFrame(dimensions.width, dimensions.height, deviceType);
147
+ if (!bestFrame)
148
+ return null;
149
+ // Find the key for this frame in the registry
150
+ for (const [key, frame] of Object.entries(frameRegistry)) {
151
+ if (frame === bestFrame) {
152
+ return key;
153
+ }
154
+ }
155
+ return null;
156
+ }
157
+ async loadFrame(frameKey) {
158
+ try {
159
+ const frame = frameRegistry[frameKey];
160
+ if (!frame)
161
+ return null;
162
+ const framePath = path.join(process.cwd(), 'frames', frame.file);
163
+ return await fs.readFile(framePath);
164
+ }
165
+ catch {
166
+ console.warn(pc.yellow(`⚠️ Failed to load frame: ${frameKey}`));
167
+ return null;
168
+ }
169
+ }
170
+ getFrameMetadata(frameKey) {
171
+ const frame = frameRegistry[frameKey];
172
+ if (!frame)
173
+ return undefined;
174
+ return {
175
+ frameWidth: frame.frameWidth,
176
+ frameHeight: frame.frameHeight,
177
+ screenRect: frame.screenRect,
178
+ deviceType: frame.deviceType,
179
+ displayName: frame.displayName
180
+ };
181
+ }
182
+ async loadDeviceCaptions(deviceCategory) {
183
+ try {
184
+ const captions = await loadCaptions(deviceCategory);
185
+ // Convert to simple string record
186
+ const result = {};
187
+ for (const [key, value] of Object.entries(captions)) {
188
+ if (typeof value === 'string') {
189
+ result[key] = value;
190
+ }
191
+ else if (value && typeof value === 'object' && 'en' in value) {
192
+ result[key] = value.en || '';
193
+ }
194
+ }
195
+ return result;
196
+ }
197
+ catch {
198
+ return {};
199
+ }
200
+ }
201
+ getDefaultOutputPath(inputPath, _device) {
202
+ // Transform screenshots/device/file.png to final/device/file.png
203
+ const dir = path.dirname(inputPath);
204
+ const filename = path.basename(inputPath);
205
+ const finalDir = dir.replace('/screenshots/', '/final/');
206
+ return path.join(finalDir, filename);
207
+ }
208
+ async validateDimensions(device, dimensions) {
209
+ // Check if dimensions match App Store requirements
210
+ if (!device.resolution)
211
+ return true;
212
+ const [expectedWidth, expectedHeight] = device.resolution.split('x').map(Number);
213
+ // Allow either orientation
214
+ const matchesPortrait = dimensions.width === expectedWidth && dimensions.height === expectedHeight;
215
+ const matchesLandscape = dimensions.width === expectedHeight && dimensions.height === expectedWidth;
216
+ return matchesPortrait || matchesLandscape;
217
+ }
218
+ }
219
+ export function createComposeBridge(config) {
220
+ return new ComposeBridge(config);
221
+ }
222
+ //# sourceMappingURL=compose-bridge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose-bridge.js","sourceRoot":"","sources":["../../src/services/compose-bridge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { UnifiedDevice, DeviceCategory, ScreenshotOptions, AppLaunchOptions } from '../types/device.js';
2
+ export declare class DeviceManager {
3
+ private simulatorService;
4
+ listAllDevices(): Promise<UnifiedDevice[]>;
5
+ listSimulators(): Promise<UnifiedDevice[]>;
6
+ bootSimulator(device: UnifiedDevice): Promise<void>;
7
+ shutdownSimulator(device: UnifiedDevice): Promise<void>;
8
+ captureScreenshot(options: ScreenshotOptions): Promise<Buffer>;
9
+ launchApp(options: AppLaunchOptions): Promise<void>;
10
+ installApp(device: UnifiedDevice, appPath: string): Promise<void>;
11
+ detectDeviceCategory(deviceName: string): DeviceCategory;
12
+ }
13
+ export declare const deviceManager: DeviceManager;
14
+ //# sourceMappingURL=device-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"device-manager.d.ts","sourceRoot":"","sources":["../../src/services/device-manager.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,aAAa,EACb,cAAc,EAGd,iBAAiB,EACjB,gBAAgB,EAEjB,MAAM,oBAAoB,CAAC;AAoD5B,qBAAa,aAAa;IACxB,OAAO,CAAC,gBAAgB,CAA0B;IAE5C,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI1C,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IAI1C,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvD,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IAO9D,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnD,UAAU,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOvE,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc;CAkBzD;AA6JD,eAAO,MAAM,aAAa,eAAsB,CAAC"}