autokap 1.0.10 → 1.1.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 (42) hide show
  1. package/assets/skill/OPCODE-REFERENCE.md +1 -41
  2. package/assets/skill/README.md +0 -1
  3. package/assets/skill/SKILL.md +9 -32
  4. package/assets/skill/references/examples.md +1 -17
  5. package/dist/billing-operation-logging.d.ts +2 -5
  6. package/dist/billing-operation-logging.js +0 -7
  7. package/dist/capture-strategy.d.ts +2 -8
  8. package/dist/capture-strategy.js +2 -30
  9. package/dist/cli-config.d.ts +2 -1
  10. package/dist/cli-config.js +18 -2
  11. package/dist/cli-contract.d.ts +1 -0
  12. package/dist/cli-contract.js +8 -2
  13. package/dist/cli-runner-local.d.ts +2 -0
  14. package/dist/cli-runner-local.js +12 -21
  15. package/dist/cli-runner.d.ts +4 -0
  16. package/dist/cli-runner.js +30 -50
  17. package/dist/cli.js +89 -44
  18. package/dist/cost-logging.d.ts +1 -1
  19. package/dist/execution-schema.d.ts +143 -331
  20. package/dist/execution-schema.js +43 -28
  21. package/dist/execution-types.d.ts +6 -151
  22. package/dist/execution-types.js +1 -3
  23. package/dist/logger.js +1 -1
  24. package/dist/mockup-html.d.ts +2 -0
  25. package/dist/mockup-html.js +13 -10
  26. package/dist/mockup.js +2 -2
  27. package/dist/opcode-actions.js +0 -2
  28. package/dist/opcode-runner.js +0 -121
  29. package/dist/program-signing.d.ts +50 -72
  30. package/dist/security.js +2 -2
  31. package/dist/server-capture-runtime.d.ts +0 -1
  32. package/dist/server-capture-runtime.js +0 -3
  33. package/dist/server-credit-usage.d.ts +1 -1
  34. package/dist/skill-packaging.d.ts +1 -1
  35. package/dist/skill-packaging.js +1 -11
  36. package/dist/types.d.ts +2 -2
  37. package/dist/web-playwright-local.d.ts +0 -14
  38. package/dist/web-playwright-local.js +0 -194
  39. package/package.json +1 -18
  40. package/readme.md +13 -0
  41. package/assets/skill/STUDIO-SKILL.md +0 -476
  42. package/assets/skill/references/interactive-demo.md +0 -225
@@ -479,73 +479,6 @@ export declare const ExecutionOpcodeSchema: z.ZodDiscriminatedUnion<[z.ZodObject
479
479
  timeoutMs: z.ZodNumber;
480
480
  maxFailures: z.ZodNumber;
481
481
  kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
482
- }, z.core.$strict>, z.ZodObject<{
483
- stateName: z.ZodString;
484
- selector: z.ZodOptional<z.ZodString>;
485
- description: z.ZodString;
486
- postcondition: z.ZodObject<{
487
- type: z.ZodEnum<{
488
- route_matches: "route_matches";
489
- element_visible: "element_visible";
490
- element_absent: "element_absent";
491
- text_contains: "text_contains";
492
- overlay_dismissed: "overlay_dismissed";
493
- screenshot_stable: "screenshot_stable";
494
- any_change: "any_change";
495
- always: "always";
496
- }>;
497
- pattern: z.ZodOptional<z.ZodString>;
498
- selector: z.ZodOptional<z.ZodString>;
499
- text: z.ZodOptional<z.ZodString>;
500
- threshold: z.ZodOptional<z.ZodNumber>;
501
- waitMs: z.ZodOptional<z.ZodNumber>;
502
- }, z.core.$strict>;
503
- recovery: z.ZodObject<{
504
- retries: z.ZodNumber;
505
- useSelectorMemory: z.ZodBoolean;
506
- useAltInteraction: z.ZodBoolean;
507
- allowReload: z.ZodBoolean;
508
- allowHealer: z.ZodBoolean;
509
- }, z.core.$strict>;
510
- timeoutMs: z.ZodNumber;
511
- maxFailures: z.ZodNumber;
512
- kind: z.ZodLiteral<"CAPTURE_DOM">;
513
- }, z.core.$strict>, z.ZodObject<{
514
- fragmentName: z.ZodString;
515
- variantName: z.ZodOptional<z.ZodString>;
516
- parentState: z.ZodString;
517
- selector: z.ZodString;
518
- triggerSelector: z.ZodOptional<z.ZodString>;
519
- mountStrategy: z.ZodOptional<z.ZodString>;
520
- mountTargetSelector: z.ZodOptional<z.ZodString>;
521
- description: z.ZodString;
522
- postcondition: z.ZodObject<{
523
- type: z.ZodEnum<{
524
- route_matches: "route_matches";
525
- element_visible: "element_visible";
526
- element_absent: "element_absent";
527
- text_contains: "text_contains";
528
- overlay_dismissed: "overlay_dismissed";
529
- screenshot_stable: "screenshot_stable";
530
- any_change: "any_change";
531
- always: "always";
532
- }>;
533
- pattern: z.ZodOptional<z.ZodString>;
534
- selector: z.ZodOptional<z.ZodString>;
535
- text: z.ZodOptional<z.ZodString>;
536
- threshold: z.ZodOptional<z.ZodNumber>;
537
- waitMs: z.ZodOptional<z.ZodNumber>;
538
- }, z.core.$strict>;
539
- recovery: z.ZodObject<{
540
- retries: z.ZodNumber;
541
- useSelectorMemory: z.ZodBoolean;
542
- useAltInteraction: z.ZodBoolean;
543
- allowReload: z.ZodBoolean;
544
- allowHealer: z.ZodBoolean;
545
- }, z.core.$strict>;
546
- timeoutMs: z.ZodNumber;
547
- maxFailures: z.ZodNumber;
548
- kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
549
482
  }, z.core.$strict>, z.ZodObject<{
550
483
  clipId: z.ZodOptional<z.ZodString>;
551
484
  clipName: z.ZodOptional<z.ZodString>;
@@ -995,6 +928,56 @@ export declare const VariantSpecSchema: z.ZodObject<{
995
928
  targetId: z.ZodOptional<z.ZodString>;
996
929
  targetLabel: z.ZodOptional<z.ZodString>;
997
930
  deviceFrame: z.ZodOptional<z.ZodString>;
931
+ mockupOptions: z.ZodOptional<z.ZodObject<{
932
+ orientation: z.ZodOptional<z.ZodEnum<{
933
+ portrait: "portrait";
934
+ landscape: "landscape";
935
+ }>>;
936
+ outputScale: z.ZodOptional<z.ZodNumber>;
937
+ showStatusBar: z.ZodOptional<z.ZodBoolean>;
938
+ showSafeAreaTop: z.ZodOptional<z.ZodBoolean>;
939
+ showSafeAreaBottom: z.ZodOptional<z.ZodBoolean>;
940
+ showSafeAreaLeft: z.ZodOptional<z.ZodBoolean>;
941
+ showSafeAreaRight: z.ZodOptional<z.ZodBoolean>;
942
+ showHomeIndicator: z.ZodOptional<z.ZodBoolean>;
943
+ safeAreaTopColor: z.ZodOptional<z.ZodString>;
944
+ safeAreaBottomColor: z.ZodOptional<z.ZodString>;
945
+ safeAreaLeftColor: z.ZodOptional<z.ZodString>;
946
+ safeAreaRightColor: z.ZodOptional<z.ZodString>;
947
+ statusBar: z.ZodOptional<z.ZodObject<{
948
+ time: z.ZodOptional<z.ZodString>;
949
+ date: z.ZodOptional<z.ZodString>;
950
+ menuBarApp: z.ZodOptional<z.ZodString>;
951
+ menuBarItems: z.ZodOptional<z.ZodArray<z.ZodString>>;
952
+ signalStrength: z.ZodOptional<z.ZodNumber>;
953
+ showNetworkType: z.ZodOptional<z.ZodBoolean>;
954
+ networkType: z.ZodOptional<z.ZodString>;
955
+ wifiStrength: z.ZodOptional<z.ZodNumber>;
956
+ batteryLevel: z.ZodOptional<z.ZodNumber>;
957
+ batteryCharging: z.ZodOptional<z.ZodBoolean>;
958
+ showBatteryPercentage: z.ZodOptional<z.ZodBoolean>;
959
+ colorScheme: z.ZodOptional<z.ZodEnum<{
960
+ light: "light";
961
+ dark: "dark";
962
+ }>>;
963
+ carrierName: z.ZodOptional<z.ZodString>;
964
+ autoLocale: z.ZodOptional<z.ZodBoolean>;
965
+ }, z.core.$strict>>;
966
+ browserBar: z.ZodOptional<z.ZodObject<{
967
+ url: z.ZodOptional<z.ZodString>;
968
+ pageTitle: z.ZodOptional<z.ZodString>;
969
+ tabIconUrl: z.ZodOptional<z.ZodString>;
970
+ }, z.core.$strict>>;
971
+ windowBorder: z.ZodOptional<z.ZodObject<{
972
+ color: z.ZodString;
973
+ width: z.ZodNumber;
974
+ radius: z.ZodNumber;
975
+ }, z.core.$strict>>;
976
+ colorScheme: z.ZodOptional<z.ZodEnum<{
977
+ light: "light";
978
+ dark: "dark";
979
+ }>>;
980
+ }, z.core.$strict>>;
998
981
  }, z.core.$strict>;
999
982
  export declare const PreconditionSpecSchema: z.ZodObject<{
1000
983
  credentialsId: z.ZodOptional<z.ZodString>;
@@ -1038,7 +1021,6 @@ export declare const ArtifactSpecSchema: z.ZodObject<{
1038
1021
  mediaMode: z.ZodEnum<{
1039
1022
  clip: "clip";
1040
1023
  screenshot: "screenshot";
1041
- dom: "dom";
1042
1024
  }>;
1043
1025
  format: z.ZodOptional<z.ZodObject<{
1044
1026
  clipFormat: z.ZodOptional<z.ZodEnum<{
@@ -1059,9 +1041,6 @@ export declare const ArtifactSpecSchema: z.ZodObject<{
1059
1041
  maxClipDurationSec: z.ZodOptional<z.ZodNumber>;
1060
1042
  applyMockup: z.ZodOptional<z.ZodBoolean>;
1061
1043
  applyStatusBar: z.ZodOptional<z.ZodBoolean>;
1062
- domOptions: z.ZodOptional<z.ZodObject<{
1063
- sanitize: z.ZodOptional<z.ZodBoolean>;
1064
- }, z.core.$strict>>;
1065
1044
  }, z.core.$strict>;
1066
1045
  export declare const ExecutionProgramSchema: z.ZodObject<{
1067
1046
  presetId: z.ZodString;
@@ -1069,7 +1048,6 @@ export declare const ExecutionProgramSchema: z.ZodObject<{
1069
1048
  mediaMode: z.ZodEnum<{
1070
1049
  clip: "clip";
1071
1050
  screenshot: "screenshot";
1072
- dom: "dom";
1073
1051
  }>;
1074
1052
  baseUrl: z.ZodString;
1075
1053
  maxParallelCaptures: z.ZodOptional<z.ZodNumber>;
@@ -1088,6 +1066,56 @@ export declare const ExecutionProgramSchema: z.ZodObject<{
1088
1066
  targetId: z.ZodOptional<z.ZodString>;
1089
1067
  targetLabel: z.ZodOptional<z.ZodString>;
1090
1068
  deviceFrame: z.ZodOptional<z.ZodString>;
1069
+ mockupOptions: z.ZodOptional<z.ZodObject<{
1070
+ orientation: z.ZodOptional<z.ZodEnum<{
1071
+ portrait: "portrait";
1072
+ landscape: "landscape";
1073
+ }>>;
1074
+ outputScale: z.ZodOptional<z.ZodNumber>;
1075
+ showStatusBar: z.ZodOptional<z.ZodBoolean>;
1076
+ showSafeAreaTop: z.ZodOptional<z.ZodBoolean>;
1077
+ showSafeAreaBottom: z.ZodOptional<z.ZodBoolean>;
1078
+ showSafeAreaLeft: z.ZodOptional<z.ZodBoolean>;
1079
+ showSafeAreaRight: z.ZodOptional<z.ZodBoolean>;
1080
+ showHomeIndicator: z.ZodOptional<z.ZodBoolean>;
1081
+ safeAreaTopColor: z.ZodOptional<z.ZodString>;
1082
+ safeAreaBottomColor: z.ZodOptional<z.ZodString>;
1083
+ safeAreaLeftColor: z.ZodOptional<z.ZodString>;
1084
+ safeAreaRightColor: z.ZodOptional<z.ZodString>;
1085
+ statusBar: z.ZodOptional<z.ZodObject<{
1086
+ time: z.ZodOptional<z.ZodString>;
1087
+ date: z.ZodOptional<z.ZodString>;
1088
+ menuBarApp: z.ZodOptional<z.ZodString>;
1089
+ menuBarItems: z.ZodOptional<z.ZodArray<z.ZodString>>;
1090
+ signalStrength: z.ZodOptional<z.ZodNumber>;
1091
+ showNetworkType: z.ZodOptional<z.ZodBoolean>;
1092
+ networkType: z.ZodOptional<z.ZodString>;
1093
+ wifiStrength: z.ZodOptional<z.ZodNumber>;
1094
+ batteryLevel: z.ZodOptional<z.ZodNumber>;
1095
+ batteryCharging: z.ZodOptional<z.ZodBoolean>;
1096
+ showBatteryPercentage: z.ZodOptional<z.ZodBoolean>;
1097
+ colorScheme: z.ZodOptional<z.ZodEnum<{
1098
+ light: "light";
1099
+ dark: "dark";
1100
+ }>>;
1101
+ carrierName: z.ZodOptional<z.ZodString>;
1102
+ autoLocale: z.ZodOptional<z.ZodBoolean>;
1103
+ }, z.core.$strict>>;
1104
+ browserBar: z.ZodOptional<z.ZodObject<{
1105
+ url: z.ZodOptional<z.ZodString>;
1106
+ pageTitle: z.ZodOptional<z.ZodString>;
1107
+ tabIconUrl: z.ZodOptional<z.ZodString>;
1108
+ }, z.core.$strict>>;
1109
+ windowBorder: z.ZodOptional<z.ZodObject<{
1110
+ color: z.ZodString;
1111
+ width: z.ZodNumber;
1112
+ radius: z.ZodNumber;
1113
+ }, z.core.$strict>>;
1114
+ colorScheme: z.ZodOptional<z.ZodEnum<{
1115
+ light: "light";
1116
+ dark: "dark";
1117
+ }>>;
1118
+ }, z.core.$strict>>;
1091
1119
  }, z.core.$strict>>;
1092
1120
  preconditions: z.ZodObject<{
1093
1121
  credentialsId: z.ZodOptional<z.ZodString>;
@@ -1577,73 +1605,6 @@ export declare const ExecutionProgramSchema: z.ZodObject<{
1577
1605
  timeoutMs: z.ZodNumber;
1578
1606
  maxFailures: z.ZodNumber;
1579
1607
  kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
1580
- }, z.core.$strict>, z.ZodObject<{
1581
- stateName: z.ZodString;
1582
- selector: z.ZodOptional<z.ZodString>;
1583
- description: z.ZodString;
1584
- postcondition: z.ZodObject<{
1585
- type: z.ZodEnum<{
1586
- route_matches: "route_matches";
1587
- element_visible: "element_visible";
1588
- element_absent: "element_absent";
1589
- text_contains: "text_contains";
1590
- overlay_dismissed: "overlay_dismissed";
1591
- screenshot_stable: "screenshot_stable";
1592
- any_change: "any_change";
1593
- always: "always";
1594
- }>;
1595
- pattern: z.ZodOptional<z.ZodString>;
1596
- selector: z.ZodOptional<z.ZodString>;
1597
- text: z.ZodOptional<z.ZodString>;
1598
- threshold: z.ZodOptional<z.ZodNumber>;
1599
- waitMs: z.ZodOptional<z.ZodNumber>;
1600
- }, z.core.$strict>;
1601
- recovery: z.ZodObject<{
1602
- retries: z.ZodNumber;
1603
- useSelectorMemory: z.ZodBoolean;
1604
- useAltInteraction: z.ZodBoolean;
1605
- allowReload: z.ZodBoolean;
1606
- allowHealer: z.ZodBoolean;
1607
- }, z.core.$strict>;
1608
- timeoutMs: z.ZodNumber;
1609
- maxFailures: z.ZodNumber;
1610
- kind: z.ZodLiteral<"CAPTURE_DOM">;
1611
- }, z.core.$strict>, z.ZodObject<{
1612
- fragmentName: z.ZodString;
1613
- variantName: z.ZodOptional<z.ZodString>;
1614
- parentState: z.ZodString;
1615
- selector: z.ZodString;
1616
- triggerSelector: z.ZodOptional<z.ZodString>;
1617
- mountStrategy: z.ZodOptional<z.ZodString>;
1618
- mountTargetSelector: z.ZodOptional<z.ZodString>;
1619
- description: z.ZodString;
1620
- postcondition: z.ZodObject<{
1621
- type: z.ZodEnum<{
1622
- route_matches: "route_matches";
1623
- element_visible: "element_visible";
1624
- element_absent: "element_absent";
1625
- text_contains: "text_contains";
1626
- overlay_dismissed: "overlay_dismissed";
1627
- screenshot_stable: "screenshot_stable";
1628
- any_change: "any_change";
1629
- always: "always";
1630
- }>;
1631
- pattern: z.ZodOptional<z.ZodString>;
1632
- selector: z.ZodOptional<z.ZodString>;
1633
- text: z.ZodOptional<z.ZodString>;
1634
- threshold: z.ZodOptional<z.ZodNumber>;
1635
- waitMs: z.ZodOptional<z.ZodNumber>;
1636
- }, z.core.$strict>;
1637
- recovery: z.ZodObject<{
1638
- retries: z.ZodNumber;
1639
- useSelectorMemory: z.ZodBoolean;
1640
- useAltInteraction: z.ZodBoolean;
1641
- allowReload: z.ZodBoolean;
1642
- allowHealer: z.ZodBoolean;
1643
- }, z.core.$strict>;
1644
- timeoutMs: z.ZodNumber;
1645
- maxFailures: z.ZodNumber;
1646
- kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
1647
1608
  }, z.core.$strict>, z.ZodObject<{
1648
1609
  clipId: z.ZodOptional<z.ZodString>;
1649
1610
  clipName: z.ZodOptional<z.ZodString>;
@@ -2065,7 +2026,6 @@ export declare const ExecutionProgramSchema: z.ZodObject<{
2065
2026
  mediaMode: z.ZodEnum<{
2066
2027
  clip: "clip";
2067
2028
  screenshot: "screenshot";
2068
- dom: "dom";
2069
2029
  }>;
2070
2030
  format: z.ZodOptional<z.ZodObject<{
2071
2031
  clipFormat: z.ZodOptional<z.ZodEnum<{
@@ -2086,9 +2046,6 @@ export declare const ExecutionProgramSchema: z.ZodObject<{
2086
2046
  maxClipDurationSec: z.ZodOptional<z.ZodNumber>;
2087
2047
  applyMockup: z.ZodOptional<z.ZodBoolean>;
2088
2048
  applyStatusBar: z.ZodOptional<z.ZodBoolean>;
2089
- domOptions: z.ZodOptional<z.ZodObject<{
2090
- sanitize: z.ZodOptional<z.ZodBoolean>;
2091
- }, z.core.$strict>>;
2092
2049
  }, z.core.$strict>;
2093
2050
  outputScale: z.ZodOptional<z.ZodNumber>;
2094
2051
  compileFingerprint: z.ZodString;
@@ -2559,73 +2516,6 @@ export declare const HealerPatchSchema: z.ZodObject<{
2559
2516
  timeoutMs: z.ZodNumber;
2560
2517
  maxFailures: z.ZodNumber;
2561
2518
  kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
2562
- }, z.core.$strict>, z.ZodObject<{
2563
- stateName: z.ZodString;
2564
- selector: z.ZodOptional<z.ZodString>;
2565
- description: z.ZodString;
2566
- postcondition: z.ZodObject<{
2567
- type: z.ZodEnum<{
2568
- route_matches: "route_matches";
2569
- element_visible: "element_visible";
2570
- element_absent: "element_absent";
2571
- text_contains: "text_contains";
2572
- overlay_dismissed: "overlay_dismissed";
2573
- screenshot_stable: "screenshot_stable";
2574
- any_change: "any_change";
2575
- always: "always";
2576
- }>;
2577
- pattern: z.ZodOptional<z.ZodString>;
2578
- selector: z.ZodOptional<z.ZodString>;
2579
- text: z.ZodOptional<z.ZodString>;
2580
- threshold: z.ZodOptional<z.ZodNumber>;
2581
- waitMs: z.ZodOptional<z.ZodNumber>;
2582
- }, z.core.$strict>;
2583
- recovery: z.ZodObject<{
2584
- retries: z.ZodNumber;
2585
- useSelectorMemory: z.ZodBoolean;
2586
- useAltInteraction: z.ZodBoolean;
2587
- allowReload: z.ZodBoolean;
2588
- allowHealer: z.ZodBoolean;
2589
- }, z.core.$strict>;
2590
- timeoutMs: z.ZodNumber;
2591
- maxFailures: z.ZodNumber;
2592
- kind: z.ZodLiteral<"CAPTURE_DOM">;
2593
- }, z.core.$strict>, z.ZodObject<{
2594
- fragmentName: z.ZodString;
2595
- variantName: z.ZodOptional<z.ZodString>;
2596
- parentState: z.ZodString;
2597
- selector: z.ZodString;
2598
- triggerSelector: z.ZodOptional<z.ZodString>;
2599
- mountStrategy: z.ZodOptional<z.ZodString>;
2600
- mountTargetSelector: z.ZodOptional<z.ZodString>;
2601
- description: z.ZodString;
2602
- postcondition: z.ZodObject<{
2603
- type: z.ZodEnum<{
2604
- route_matches: "route_matches";
2605
- element_visible: "element_visible";
2606
- element_absent: "element_absent";
2607
- text_contains: "text_contains";
2608
- overlay_dismissed: "overlay_dismissed";
2609
- screenshot_stable: "screenshot_stable";
2610
- any_change: "any_change";
2611
- always: "always";
2612
- }>;
2613
- pattern: z.ZodOptional<z.ZodString>;
2614
- selector: z.ZodOptional<z.ZodString>;
2615
- text: z.ZodOptional<z.ZodString>;
2616
- threshold: z.ZodOptional<z.ZodNumber>;
2617
- waitMs: z.ZodOptional<z.ZodNumber>;
2618
- }, z.core.$strict>;
2619
- recovery: z.ZodObject<{
2620
- retries: z.ZodNumber;
2621
- useSelectorMemory: z.ZodBoolean;
2622
- useAltInteraction: z.ZodBoolean;
2623
- allowReload: z.ZodBoolean;
2624
- allowHealer: z.ZodBoolean;
2625
- }, z.core.$strict>;
2626
- timeoutMs: z.ZodNumber;
2627
- maxFailures: z.ZodNumber;
2628
- kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
2629
2519
  }, z.core.$strict>, z.ZodObject<{
2630
2520
  clipId: z.ZodOptional<z.ZodString>;
2631
2521
  clipName: z.ZodOptional<z.ZodString>;
@@ -3493,73 +3383,6 @@ export declare const HealerPatchSchema: z.ZodObject<{
3493
3383
  timeoutMs: z.ZodNumber;
3494
3384
  maxFailures: z.ZodNumber;
3495
3385
  kind: z.ZodLiteral<"CAPTURE_SCREENSHOT">;
3496
- }, z.core.$strict>, z.ZodObject<{
3497
- stateName: z.ZodString;
3498
- selector: z.ZodOptional<z.ZodString>;
3499
- description: z.ZodString;
3500
- postcondition: z.ZodObject<{
3501
- type: z.ZodEnum<{
3502
- route_matches: "route_matches";
3503
- element_visible: "element_visible";
3504
- element_absent: "element_absent";
3505
- text_contains: "text_contains";
3506
- overlay_dismissed: "overlay_dismissed";
3507
- screenshot_stable: "screenshot_stable";
3508
- any_change: "any_change";
3509
- always: "always";
3510
- }>;
3511
- pattern: z.ZodOptional<z.ZodString>;
3512
- selector: z.ZodOptional<z.ZodString>;
3513
- text: z.ZodOptional<z.ZodString>;
3514
- threshold: z.ZodOptional<z.ZodNumber>;
3515
- waitMs: z.ZodOptional<z.ZodNumber>;
3516
- }, z.core.$strict>;
3517
- recovery: z.ZodObject<{
3518
- retries: z.ZodNumber;
3519
- useSelectorMemory: z.ZodBoolean;
3520
- useAltInteraction: z.ZodBoolean;
3521
- allowReload: z.ZodBoolean;
3522
- allowHealer: z.ZodBoolean;
3523
- }, z.core.$strict>;
3524
- timeoutMs: z.ZodNumber;
3525
- maxFailures: z.ZodNumber;
3526
- kind: z.ZodLiteral<"CAPTURE_DOM">;
3527
- }, z.core.$strict>, z.ZodObject<{
3528
- fragmentName: z.ZodString;
3529
- variantName: z.ZodOptional<z.ZodString>;
3530
- parentState: z.ZodString;
3531
- selector: z.ZodString;
3532
- triggerSelector: z.ZodOptional<z.ZodString>;
3533
- mountStrategy: z.ZodOptional<z.ZodString>;
3534
- mountTargetSelector: z.ZodOptional<z.ZodString>;
3535
- description: z.ZodString;
3536
- postcondition: z.ZodObject<{
3537
- type: z.ZodEnum<{
3538
- route_matches: "route_matches";
3539
- element_visible: "element_visible";
3540
- element_absent: "element_absent";
3541
- text_contains: "text_contains";
3542
- overlay_dismissed: "overlay_dismissed";
3543
- screenshot_stable: "screenshot_stable";
3544
- any_change: "any_change";
3545
- always: "always";
3546
- }>;
3547
- pattern: z.ZodOptional<z.ZodString>;
3548
- selector: z.ZodOptional<z.ZodString>;
3549
- text: z.ZodOptional<z.ZodString>;
3550
- threshold: z.ZodOptional<z.ZodNumber>;
3551
- waitMs: z.ZodOptional<z.ZodNumber>;
3552
- }, z.core.$strict>;
3553
- recovery: z.ZodObject<{
3554
- retries: z.ZodNumber;
3555
- useSelectorMemory: z.ZodBoolean;
3556
- useAltInteraction: z.ZodBoolean;
3557
- allowReload: z.ZodBoolean;
3558
- allowHealer: z.ZodBoolean;
3559
- }, z.core.$strict>;
3560
- timeoutMs: z.ZodNumber;
3561
- maxFailures: z.ZodNumber;
3562
- kind: z.ZodLiteral<"CAPTURE_FRAGMENT">;
3563
3386
  }, z.core.$strict>, z.ZodObject<{
3564
3387
  clipId: z.ZodOptional<z.ZodString>;
3565
3388
  clipName: z.ZodOptional<z.ZodString>;
@@ -3992,7 +3815,7 @@ export declare function parseOpcode(data: unknown): ExecutionOpcode;
3992
3815
  export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseResult<{
3993
3816
  presetId: string;
3994
3817
  programVersion: number;
3995
- mediaMode: "clip" | "screenshot" | "dom";
3818
+ mediaMode: "clip" | "screenshot";
3996
3819
  baseUrl: string;
3997
3820
  variants: {
3998
3821
  id: string;
@@ -4006,6 +3829,47 @@ export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseRes
4006
3829
  targetId?: string | undefined;
4007
3830
  targetLabel?: string | undefined;
4008
3831
  deviceFrame?: string | undefined;
3832
+ mockupOptions?: {
3833
+ orientation?: "portrait" | "landscape" | undefined;
3834
+ outputScale?: number | undefined;
3835
+ showStatusBar?: boolean | undefined;
3836
+ showSafeAreaTop?: boolean | undefined;
3837
+ showSafeAreaBottom?: boolean | undefined;
3838
+ showSafeAreaLeft?: boolean | undefined;
3839
+ showSafeAreaRight?: boolean | undefined;
3840
+ showHomeIndicator?: boolean | undefined;
3841
+ safeAreaTopColor?: string | undefined;
3842
+ safeAreaBottomColor?: string | undefined;
3843
+ safeAreaLeftColor?: string | undefined;
3844
+ safeAreaRightColor?: string | undefined;
3845
+ statusBar?: {
3846
+ time?: string | undefined;
3847
+ date?: string | undefined;
3848
+ menuBarApp?: string | undefined;
3849
+ menuBarItems?: string[] | undefined;
3850
+ signalStrength?: number | undefined;
3851
+ showNetworkType?: boolean | undefined;
3852
+ networkType?: string | undefined;
3853
+ wifiStrength?: number | undefined;
3854
+ batteryLevel?: number | undefined;
3855
+ batteryCharging?: boolean | undefined;
3856
+ showBatteryPercentage?: boolean | undefined;
3857
+ colorScheme?: "light" | "dark" | undefined;
3858
+ carrierName?: string | undefined;
3859
+ autoLocale?: boolean | undefined;
3860
+ } | undefined;
3861
+ browserBar?: {
3862
+ url?: string | undefined;
3863
+ pageTitle?: string | undefined;
3864
+ tabIconUrl?: string | undefined;
3865
+ } | undefined;
3866
+ windowBorder?: {
3867
+ color: string;
3868
+ width: number;
3869
+ radius: number;
3870
+ } | undefined;
3871
+ colorScheme?: "light" | "dark" | undefined;
3872
+ } | undefined;
4009
3873
  }[];
4010
3874
  preconditions: {
4011
3875
  credentialsId?: string | undefined;
@@ -4463,55 +4327,6 @@ export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseRes
4463
4327
  captureId?: string | undefined;
4464
4328
  captureName?: string | undefined;
4465
4329
  elementSelector?: string | undefined;
4466
- } | {
4467
- stateName: string;
4468
- description: string;
4469
- postcondition: {
4470
- type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4471
- pattern?: string | undefined;
4472
- selector?: string | undefined;
4473
- text?: string | undefined;
4474
- threshold?: number | undefined;
4475
- waitMs?: number | undefined;
4476
- };
4477
- recovery: {
4478
- retries: number;
4479
- useSelectorMemory: boolean;
4480
- useAltInteraction: boolean;
4481
- allowReload: boolean;
4482
- allowHealer: boolean;
4483
- };
4484
- timeoutMs: number;
4485
- maxFailures: number;
4486
- kind: "CAPTURE_DOM";
4487
- selector?: string | undefined;
4488
- } | {
4489
- fragmentName: string;
4490
- parentState: string;
4491
- selector: string;
4492
- description: string;
4493
- postcondition: {
4494
- type: "route_matches" | "element_visible" | "element_absent" | "text_contains" | "overlay_dismissed" | "screenshot_stable" | "any_change" | "always";
4495
- pattern?: string | undefined;
4496
- selector?: string | undefined;
4497
- text?: string | undefined;
4498
- threshold?: number | undefined;
4499
- waitMs?: number | undefined;
4500
- };
4501
- recovery: {
4502
- retries: number;
4503
- useSelectorMemory: boolean;
4504
- useAltInteraction: boolean;
4505
- allowReload: boolean;
4506
- allowHealer: boolean;
4507
- };
4508
- timeoutMs: number;
4509
- maxFailures: number;
4510
- kind: "CAPTURE_FRAGMENT";
4511
- variantName?: string | undefined;
4512
- triggerSelector?: string | undefined;
4513
- mountStrategy?: string | undefined;
4514
- mountTargetSelector?: string | undefined;
4515
4330
  } | {
4516
4331
  description: string;
4517
4332
  postcondition: {
@@ -4720,7 +4535,7 @@ export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseRes
4720
4535
  kind: "SET_ATTRIBUTE";
4721
4536
  })[];
4722
4537
  artifactPlan: {
4723
- mediaMode: "clip" | "screenshot" | "dom";
4538
+ mediaMode: "clip" | "screenshot";
4724
4539
  format?: {
4725
4540
  clipFormat?: "gif" | "mp4" | "both" | undefined;
4726
4541
  screenshotFormat?: "png" | "jpeg" | undefined;
@@ -4729,9 +4544,6 @@ export declare function safeParseProgramResult(data: unknown): z.ZodSafeParseRes
4729
4544
  maxClipDurationSec?: number | undefined;
4730
4545
  applyMockup?: boolean | undefined;
4731
4546
  applyStatusBar?: boolean | undefined;
4732
- domOptions?: {
4733
- sanitize?: boolean | undefined;
4734
- } | undefined;
4735
4547
  };
4736
4548
  compileFingerprint: string;
4737
4549
  compiledAt: string;
@@ -211,27 +211,6 @@ const CaptureScreenshotOpcodeSchema = z.object({
211
211
  captureName: z.string().optional(),
212
212
  elementSelector: z.string().optional(),
213
213
  }).strict();
214
- const CaptureDomOpcodeSchema = z.object({
215
- kind: z.literal('CAPTURE_DOM'),
216
- ...opcodeBase,
217
- stateName: z.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/, 'stateName must be kebab-case'),
218
- selector: z.string().min(1).optional(),
219
- }).strict();
220
- const CaptureFragmentOpcodeSchema = z.object({
221
- kind: z.literal('CAPTURE_FRAGMENT'),
222
- ...opcodeBase,
223
- fragmentName: z.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/, 'fragmentName must be kebab-case'),
224
- // Variants let the same fragment be captured in multiple states (e.g.
225
- // default / purple-bg / text-bottom). Defaults to `'default'` when omitted.
226
- // Player swaps variants in place via parentNode.replaceChild so the
227
- // surrounding DOM keeps its scroll position, focus, and sibling layout.
228
- variantName: z.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/, 'variantName must be kebab-case').optional(),
229
- parentState: z.string().min(1).regex(/^[a-z0-9][a-z0-9-]*$/, 'parentState must be kebab-case'),
230
- selector: z.string().min(1),
231
- triggerSelector: z.string().min(1).optional(),
232
- mountStrategy: z.string().min(1).optional(),
233
- mountTargetSelector: z.string().min(1).optional(),
234
- }).strict();
235
214
  const BeginClipOpcodeSchema = z.object({
236
215
  kind: z.literal('BEGIN_CLIP'),
237
216
  ...opcodeBase,
@@ -417,8 +396,6 @@ export const ExecutionOpcodeSchema = z.discriminatedUnion('kind', [
417
396
  SetThemeOpcodeSchema,
418
397
  ScrollOpcodeSchema,
419
398
  CaptureScreenshotOpcodeSchema,
420
- CaptureDomOpcodeSchema,
421
- CaptureFragmentOpcodeSchema,
422
399
  BeginClipOpcodeSchema,
423
400
  EndClipOpcodeSchema,
424
401
  HoverOpcodeSchema,
@@ -463,6 +440,47 @@ export const VariantSpecSchema = z.object({
463
440
  targetId: z.string().optional(),
464
441
  targetLabel: z.string().optional(),
465
442
  deviceFrame: z.string().optional(),
443
+ mockupOptions: z.object({
444
+ orientation: z.enum(['portrait', 'landscape']).optional(),
445
+ outputScale: z.number().positive().optional(),
446
+ showStatusBar: z.boolean().optional(),
447
+ showSafeAreaTop: z.boolean().optional(),
448
+ showSafeAreaBottom: z.boolean().optional(),
449
+ showSafeAreaLeft: z.boolean().optional(),
450
+ showSafeAreaRight: z.boolean().optional(),
451
+ showHomeIndicator: z.boolean().optional(),
452
+ safeAreaTopColor: z.string().optional(),
453
+ safeAreaBottomColor: z.string().optional(),
454
+ safeAreaLeftColor: z.string().optional(),
455
+ safeAreaRightColor: z.string().optional(),
456
+ statusBar: z.object({
457
+ time: z.string().optional(),
458
+ date: z.string().optional(),
459
+ menuBarApp: z.string().optional(),
460
+ menuBarItems: z.array(z.string()).optional(),
461
+ signalStrength: z.number().optional(),
462
+ showNetworkType: z.boolean().optional(),
463
+ networkType: z.string().optional(),
464
+ wifiStrength: z.number().optional(),
465
+ batteryLevel: z.number().optional(),
466
+ batteryCharging: z.boolean().optional(),
467
+ showBatteryPercentage: z.boolean().optional(),
468
+ colorScheme: z.enum(['light', 'dark']).optional(),
469
+ carrierName: z.string().optional(),
470
+ autoLocale: z.boolean().optional(),
471
+ }).strict().optional(),
472
+ browserBar: z.object({
473
+ url: z.string().optional(),
474
+ pageTitle: z.string().optional(),
475
+ tabIconUrl: z.string().optional(),
476
+ }).strict().optional(),
477
+ windowBorder: z.object({
478
+ color: z.string(),
479
+ width: z.number(),
480
+ radius: z.number(),
481
+ }).strict().optional(),
482
+ colorScheme: z.enum(['light', 'dark']).optional(),
483
+ }).strict().optional(),
466
484
  }).strict();
467
485
  const cookieSchema = z.object({
468
486
  name: z.string().min(1),
@@ -509,7 +527,7 @@ export const PreconditionSpecSchema = z.object({
509
527
  }).strict();
510
528
  // ── Artifact spec ───────────────────────────────────────────────────
511
529
  export const ArtifactSpecSchema = z.object({
512
- mediaMode: z.enum(['screenshot', 'clip', 'dom']),
530
+ mediaMode: z.enum(['screenshot', 'clip']),
513
531
  format: z.object({
514
532
  clipFormat: z.enum(['gif', 'mp4', 'both']).optional(),
515
533
  screenshotFormat: z.enum(['png', 'jpeg']).optional(),
@@ -518,15 +536,12 @@ export const ArtifactSpecSchema = z.object({
518
536
  maxClipDurationSec: z.number().positive().optional(),
519
537
  applyMockup: z.boolean().optional(),
520
538
  applyStatusBar: z.boolean().optional(),
521
- domOptions: z.object({
522
- sanitize: z.boolean().optional(),
523
- }).strict().optional(),
524
539
  }).strict();
525
540
  // ── Full program ────────────────────────────────────────────────────
526
541
  export const ExecutionProgramSchema = z.object({
527
542
  presetId: z.string().min(1),
528
543
  programVersion: z.number().int().positive(),
529
- mediaMode: z.enum(['screenshot', 'clip', 'dom']),
544
+ mediaMode: z.enum(['screenshot', 'clip']),
530
545
  baseUrl: StrictUrlSchema,
531
546
  maxParallelCaptures: z.number().int().positive().optional(),
532
547
  variants: z.array(VariantSpecSchema).min(1),