@qawolf/api-contracts 0.71.0 → 0.74.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 (78) hide show
  1. package/dist/v1/deployment/index.d.ts +4 -4
  2. package/dist/v1/deployment/listTriggerEvaluations.d.ts +4 -4
  3. package/dist/v1/deployment/verdict.d.ts +52 -1
  4. package/dist/v1/deployment/verdict.d.ts.map +1 -1
  5. package/dist/v1/deployment/verdict.js +10 -1
  6. package/dist/v1/deployment/verdict.js.map +1 -1
  7. package/dist/v1/deployment/verdictParts.d.ts +10 -0
  8. package/dist/v1/deployment/verdictParts.d.ts.map +1 -1
  9. package/dist/v1/deployment/verdictParts.js +8 -2
  10. package/dist/v1/deployment/verdictParts.js.map +1 -1
  11. package/dist/v1/ids.d.ts +2 -1
  12. package/dist/v1/ids.d.ts.map +1 -1
  13. package/dist/v1/ids.js +1 -0
  14. package/dist/v1/ids.js.map +1 -1
  15. package/dist/v1/index.d.ts +559 -15
  16. package/dist/v1/index.d.ts.map +1 -1
  17. package/dist/v1/index.js +7 -1
  18. package/dist/v1/index.js.map +1 -1
  19. package/dist/v1/issue/create.d.ts +24 -0
  20. package/dist/v1/issue/create.d.ts.map +1 -1
  21. package/dist/v1/issue/create.js +17 -4
  22. package/dist/v1/issue/create.js.map +1 -1
  23. package/dist/v1/issue/update.js +1 -1
  24. package/dist/v1/issue/update.js.map +1 -1
  25. package/dist/v1/run/find.d.ts +9 -1
  26. package/dist/v1/run/find.d.ts.map +1 -1
  27. package/dist/v1/run/find.js +6 -4
  28. package/dist/v1/run/find.js.map +1 -1
  29. package/dist/v1/run/get.d.ts +16 -1
  30. package/dist/v1/run/get.d.ts.map +1 -1
  31. package/dist/v1/run/get.js +5 -7
  32. package/dist/v1/run/get.js.map +1 -1
  33. package/dist/v1/run/getAttemptArtifacts.d.ts +196 -0
  34. package/dist/v1/run/getAttemptArtifacts.d.ts.map +1 -0
  35. package/dist/v1/run/getAttemptArtifacts.js +78 -0
  36. package/dist/v1/run/getAttemptArtifacts.js.map +1 -0
  37. package/dist/v1/run/summary.d.ts +13 -0
  38. package/dist/v1/run/summary.d.ts.map +1 -1
  39. package/dist/v1/run/summary.js +23 -2
  40. package/dist/v1/run/summary.js.map +1 -1
  41. package/dist/v1/runner/browserAction.d.ts +5 -0
  42. package/dist/v1/runner/browserAction.d.ts.map +1 -1
  43. package/dist/v1/runner/browserAction.js +5 -5
  44. package/dist/v1/runner/browserAction.js.map +1 -1
  45. package/dist/v1/runner/catalog.d.ts +38 -2
  46. package/dist/v1/runner/catalog.d.ts.map +1 -1
  47. package/dist/v1/runner/identity.d.ts +2 -0
  48. package/dist/v1/runner/identity.d.ts.map +1 -1
  49. package/dist/v1/runner/identity.js +1 -0
  50. package/dist/v1/runner/identity.js.map +1 -1
  51. package/dist/v1/runner/index.d.ts +2 -0
  52. package/dist/v1/runner/index.d.ts.map +1 -1
  53. package/dist/v1/runner/inspectMobile.d.ts +6 -0
  54. package/dist/v1/runner/inspectMobile.d.ts.map +1 -1
  55. package/dist/v1/runner/inspectMobile.js +5 -1
  56. package/dist/v1/runner/inspectMobile.js.map +1 -1
  57. package/dist/v1/runner/list.d.ts +1 -0
  58. package/dist/v1/runner/list.d.ts.map +1 -1
  59. package/dist/v1/runner/performAction.d.ts +32 -1
  60. package/dist/v1/runner/performAction.d.ts.map +1 -1
  61. package/dist/v1/runner/performAction.js +6 -4
  62. package/dist/v1/runner/performAction.js.map +1 -1
  63. package/dist/v1/runner/runFlow.d.ts +2 -0
  64. package/dist/v1/runner/runFlow.d.ts.map +1 -1
  65. package/dist/v1/runner/runnerAction.d.ts +74 -0
  66. package/dist/v1/runner/runnerAction.d.ts.map +1 -0
  67. package/dist/v1/runner/runnerAction.js +94 -0
  68. package/dist/v1/runner/runnerAction.js.map +1 -0
  69. package/dist/v1/runner/screen.d.ts +1 -1
  70. package/dist/v1/runner/screen.d.ts.map +1 -1
  71. package/dist/v1/runner/screen.js +1 -1
  72. package/dist/v1/runner/screen.js.map +1 -1
  73. package/dist/v1/runner/takeScreenshot.d.ts +1 -1
  74. package/dist/v1/runnerReexports.d.ts +1 -0
  75. package/dist/v1/runnerReexports.d.ts.map +1 -1
  76. package/dist/v1/runnerReexports.js +1 -0
  77. package/dist/v1/runnerReexports.js.map +1 -1
  78. package/package.json +1 -1
@@ -11,7 +11,9 @@ export type PublicApiOutput<Api extends AnyPublicApiContract> = z.infer<Api["out
11
11
  * the same factory with its own strict id schemas, so the contract shape can
12
12
  * never drift between the two while validation strictness stays server-owned.
13
13
  */
14
- export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema, IssueId extends PublicIdSchema = PublicIdSchema, WorkspaceId extends PublicIdSchema = PublicIdSchema, AiTaskId extends PublicIdSchema = PublicIdSchema, ChatSessionId extends PublicIdSchema = PublicIdSchema, TriggerId extends PublicIdSchema = PublicIdSchema, DeploymentId extends PublicIdSchema = PublicIdSchema, LegacyTriggerId extends PublicIdSchema = PublicIdSchema>(ids: PublicIdSchemasOf<EnvironmentId, FlowId, RunId, IssueId, WorkspaceId, AiTaskId, ChatSessionId, TriggerId, DeploymentId, LegacyTriggerId>) => {
14
+ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, FlowId extends PublicIdSchema, RunId extends PublicIdSchema, IssueId extends PublicIdSchema = PublicIdSchema, WorkspaceId extends PublicIdSchema = PublicIdSchema, AiTaskId extends PublicIdSchema = PublicIdSchema, ChatSessionId extends PublicIdSchema = PublicIdSchema, TriggerId extends PublicIdSchema = PublicIdSchema, DeploymentId extends PublicIdSchema = PublicIdSchema, LegacyTriggerId extends PublicIdSchema = PublicIdSchema, RunAttemptId extends PublicIdSchema = PublicIdSchema>(ids: Omit<PublicIdSchemasOf<EnvironmentId, FlowId, RunId, IssueId, WorkspaceId, AiTaskId, ChatSessionId, TriggerId, DeploymentId, LegacyTriggerId, RunAttemptId>, "runAttempt"> & {
15
+ runAttempt?: RunAttemptId;
16
+ }) => {
15
17
  agent: {
16
18
  get: {
17
19
  readonly annotations: {
@@ -204,17 +206,17 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
204
206
  conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
205
207
  kind: z.ZodEnum<{
206
208
  branch: "branch";
209
+ environment: "environment";
207
210
  deployTarget: "deployTarget";
208
211
  service: "service";
209
- environment: "environment";
210
212
  }>;
211
213
  outcome: z.ZodLiteral<"matched">;
212
214
  }, z.core.$strip>, z.ZodObject<{
213
215
  kind: z.ZodEnum<{
214
216
  branch: "branch";
217
+ environment: "environment";
215
218
  deployTarget: "deployTarget";
216
219
  service: "service";
217
- environment: "environment";
218
220
  }>;
219
221
  outcome: z.ZodLiteral<"did-not-match">;
220
222
  reason: z.ZodString;
@@ -264,17 +266,17 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
264
266
  conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
265
267
  kind: z.ZodEnum<{
266
268
  branch: "branch";
269
+ environment: "environment";
267
270
  deployTarget: "deployTarget";
268
271
  service: "service";
269
- environment: "environment";
270
272
  }>;
271
273
  outcome: z.ZodLiteral<"matched">;
272
274
  }, z.core.$strip>, z.ZodObject<{
273
275
  kind: z.ZodEnum<{
274
276
  branch: "branch";
277
+ environment: "environment";
275
278
  deployTarget: "deployTarget";
276
279
  service: "service";
277
- environment: "environment";
278
280
  }>;
279
281
  outcome: z.ZodLiteral<"did-not-match">;
280
282
  reason: z.ZodString;
@@ -1125,6 +1127,30 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1125
1127
  urgent: "urgent";
1126
1128
  }>>;
1127
1129
  workspaceId: z.ZodOptional<WorkspaceId>;
1130
+ }, z.core.$strip>, z.ZodObject<{
1131
+ effort: z.ZodEnum<{
1132
+ small: "small";
1133
+ medium: "medium";
1134
+ extraSmall: "extraSmall";
1135
+ large: "large";
1136
+ extraLarge: "extraLarge";
1137
+ }>;
1138
+ priority: z.ZodEnum<{
1139
+ low: "low";
1140
+ medium: "medium";
1141
+ high: "high";
1142
+ urgent: "urgent";
1143
+ }>;
1144
+ reason: z.ZodEnum<{
1145
+ dataChanged: "dataChanged";
1146
+ flowNeedsWork: "flowNeedsWork";
1147
+ other: "other";
1148
+ uiChanged: "uiChanged";
1149
+ }>;
1150
+ type: z.ZodLiteral<"maintenance">;
1151
+ description: z.ZodOptional<z.ZodString>;
1152
+ name: z.ZodString;
1153
+ workspaceId: z.ZodOptional<WorkspaceId>;
1128
1154
  }, z.core.$strip>], "type">;
1129
1155
  readonly kind: "write";
1130
1156
  readonly name: "issue.create";
@@ -1628,7 +1654,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1628
1654
  readonly openWorldHint: false;
1629
1655
  readonly readOnlyHint: true;
1630
1656
  };
1631
- readonly description: "List an environment's recent runs, newest first.";
1657
+ readonly description: "List an environment's recent runs, newest first, including failed-attempt discovery metadata.";
1632
1658
  readonly input: z.ZodObject<{
1633
1659
  environmentId: PublicIdSchema;
1634
1660
  workspaceId: z.ZodOptional<WorkspaceId>;
@@ -1641,6 +1667,8 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1641
1667
  readonly output: z.ZodObject<{
1642
1668
  nextCursor: z.ZodOptional<z.ZodString>;
1643
1669
  runs: z.ZodArray<z.ZodObject<{
1670
+ failedAttemptCount: z.ZodOptional<z.ZodNumber>;
1671
+ hasFailedAttempts: z.ZodOptional<z.ZodBoolean>;
1644
1672
  completedAt: z.ZodOptional<z.ZodISODateTime>;
1645
1673
  createdAt: z.ZodISODateTime;
1646
1674
  git: z.ZodObject<{
@@ -1649,6 +1677,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1649
1677
  commitSha: z.ZodOptional<z.ZodString>;
1650
1678
  commitUrl: z.ZodOptional<z.ZodString>;
1651
1679
  }, z.core.$strip>;
1680
+ needsReview: z.ZodOptional<z.ZodBoolean>;
1652
1681
  runId: RunId;
1653
1682
  status: z.ZodEnum<{
1654
1683
  failed: "failed";
@@ -1656,7 +1685,12 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1656
1685
  running: "running";
1657
1686
  passed: "passed";
1658
1687
  canceled: "canceled";
1688
+ superseded: "superseded";
1659
1689
  }>;
1690
+ supersededBy: z.ZodOptional<z.ZodObject<{
1691
+ runId: RunId;
1692
+ url: z.ZodURL;
1693
+ }, z.core.$strip>>;
1660
1694
  url: z.ZodURL;
1661
1695
  }, z.core.$strip>>;
1662
1696
  }, z.core.$strip>;
@@ -1684,6 +1718,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1684
1718
  blockingBugCount: z.ZodNumber;
1685
1719
  flows: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1686
1720
  attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
1721
+ attemptId: z.ZodOptional<PublicIdSchema>;
1687
1722
  completedAt: z.ZodISODateTime;
1688
1723
  kind: z.ZodLiteral<"automated">;
1689
1724
  startedAt: z.ZodISODateTime;
@@ -1692,6 +1727,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1692
1727
  traceUrl: z.ZodOptional<z.ZodURL>;
1693
1728
  videoUrl: z.ZodOptional<z.ZodURL>;
1694
1729
  }, z.core.$strip>, z.ZodObject<{
1730
+ attemptId: z.ZodOptional<PublicIdSchema>;
1695
1731
  completedAt: z.ZodISODateTime;
1696
1732
  kind: z.ZodLiteral<"automated">;
1697
1733
  startedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1700,11 +1736,13 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1700
1736
  traceUrl: z.ZodOptional<z.ZodURL>;
1701
1737
  videoUrl: z.ZodOptional<z.ZodURL>;
1702
1738
  }, z.core.$strip>, z.ZodObject<{
1739
+ attemptId: z.ZodOptional<PublicIdSchema>;
1703
1740
  completedAt: z.ZodOptional<z.ZodISODateTime>;
1704
1741
  kind: z.ZodLiteral<"automated">;
1705
1742
  startedAt: z.ZodOptional<z.ZodISODateTime>;
1706
1743
  status: z.ZodLiteral<"canceled">;
1707
1744
  }, z.core.$strip>], "status">, z.ZodObject<{
1745
+ attemptId: z.ZodOptional<PublicIdSchema>;
1708
1746
  completedAt: z.ZodISODateTime;
1709
1747
  kind: z.ZodLiteral<"manual">;
1710
1748
  startedAt: z.ZodISODateTime;
@@ -1725,6 +1763,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1725
1763
  status: z.ZodLiteral<"failed">;
1726
1764
  }, z.core.$strip>, z.ZodObject<{
1727
1765
  attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
1766
+ attemptId: z.ZodOptional<PublicIdSchema>;
1728
1767
  completedAt: z.ZodISODateTime;
1729
1768
  kind: z.ZodLiteral<"automated">;
1730
1769
  startedAt: z.ZodISODateTime;
@@ -1733,6 +1772,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1733
1772
  traceUrl: z.ZodOptional<z.ZodURL>;
1734
1773
  videoUrl: z.ZodOptional<z.ZodURL>;
1735
1774
  }, z.core.$strip>, z.ZodObject<{
1775
+ attemptId: z.ZodOptional<PublicIdSchema>;
1736
1776
  completedAt: z.ZodISODateTime;
1737
1777
  kind: z.ZodLiteral<"automated">;
1738
1778
  startedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1741,11 +1781,13 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1741
1781
  traceUrl: z.ZodOptional<z.ZodURL>;
1742
1782
  videoUrl: z.ZodOptional<z.ZodURL>;
1743
1783
  }, z.core.$strip>, z.ZodObject<{
1784
+ attemptId: z.ZodOptional<PublicIdSchema>;
1744
1785
  completedAt: z.ZodOptional<z.ZodISODateTime>;
1745
1786
  kind: z.ZodLiteral<"automated">;
1746
1787
  startedAt: z.ZodOptional<z.ZodISODateTime>;
1747
1788
  status: z.ZodLiteral<"canceled">;
1748
1789
  }, z.core.$strip>], "status">, z.ZodObject<{
1790
+ attemptId: z.ZodOptional<PublicIdSchema>;
1749
1791
  completedAt: z.ZodISODateTime;
1750
1792
  kind: z.ZodLiteral<"manual">;
1751
1793
  startedAt: z.ZodISODateTime;
@@ -1769,16 +1811,211 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1769
1811
  commitSha: z.ZodOptional<z.ZodString>;
1770
1812
  commitUrl: z.ZodOptional<z.ZodString>;
1771
1813
  }, z.core.$strip>;
1814
+ needsReview: z.ZodOptional<z.ZodBoolean>;
1772
1815
  status: z.ZodEnum<{
1773
1816
  failed: "failed";
1774
1817
  queued: "queued";
1775
1818
  running: "running";
1776
1819
  passed: "passed";
1777
1820
  canceled: "canceled";
1821
+ superseded: "superseded";
1778
1822
  }>;
1823
+ supersededBy: z.ZodOptional<z.ZodObject<{
1824
+ runId: RunId;
1825
+ url: z.ZodURL;
1826
+ }, z.core.$strip>>;
1779
1827
  url: z.ZodURL;
1780
1828
  }, z.core.$strip>;
1781
1829
  };
1830
+ getAttemptArtifacts: {
1831
+ readonly annotations: {
1832
+ readonly destructiveHint: false;
1833
+ readonly openWorldHint: false;
1834
+ readonly readOnlyHint: true;
1835
+ };
1836
+ readonly description: "Get metadata and signed artifact URLs for one finished run attempt.";
1837
+ readonly input: z.ZodObject<{
1838
+ attemptId: PublicIdSchema;
1839
+ }, z.core.$strip>;
1840
+ readonly kind: "read";
1841
+ readonly name: "run.getAttemptArtifacts";
1842
+ readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
1843
+ flowId: FlowId;
1844
+ flowStatus: z.ZodEnum<{
1845
+ failed: "failed";
1846
+ queued: "queued";
1847
+ running: "running";
1848
+ passed: "passed";
1849
+ canceled: "canceled";
1850
+ }>;
1851
+ retryContext: z.ZodObject<{
1852
+ currentOrdinal: z.ZodNumber;
1853
+ next: z.ZodOptional<z.ZodObject<{
1854
+ attemptId: PublicIdSchema;
1855
+ status: z.ZodEnum<{
1856
+ failed: "failed";
1857
+ passed: "passed";
1858
+ canceled: "canceled";
1859
+ skipped: "skipped";
1860
+ aborted: "aborted";
1861
+ }>;
1862
+ }, z.core.$strip>>;
1863
+ previous: z.ZodOptional<z.ZodObject<{
1864
+ attemptId: PublicIdSchema;
1865
+ status: z.ZodEnum<{
1866
+ failed: "failed";
1867
+ passed: "passed";
1868
+ canceled: "canceled";
1869
+ skipped: "skipped";
1870
+ aborted: "aborted";
1871
+ }>;
1872
+ }, z.core.$strip>>;
1873
+ total: z.ZodNumber;
1874
+ }, z.core.$strip>;
1875
+ runId: RunId;
1876
+ runStatus: z.ZodEnum<{
1877
+ failed: "failed";
1878
+ queued: "queued";
1879
+ running: "running";
1880
+ passed: "passed";
1881
+ canceled: "canceled";
1882
+ superseded: "superseded";
1883
+ }>;
1884
+ artifacts: z.ZodObject<{
1885
+ logsUrl: z.ZodOptional<z.ZodURL>;
1886
+ traceUrl: z.ZodOptional<z.ZodURL>;
1887
+ videoUrl: z.ZodOptional<z.ZodURL>;
1888
+ }, z.core.$strip>;
1889
+ artifactStatus: z.ZodLiteral<"signed">;
1890
+ attempt: z.ZodObject<{
1891
+ attemptId: PublicIdSchema;
1892
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
1893
+ createdAt: z.ZodISODateTime;
1894
+ error: z.ZodOptional<z.ZodString>;
1895
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
1896
+ kind: z.ZodLiteral<"automated">;
1897
+ status: z.ZodEnum<{
1898
+ failed: "failed";
1899
+ passed: "passed";
1900
+ canceled: "canceled";
1901
+ skipped: "skipped";
1902
+ aborted: "aborted";
1903
+ }>;
1904
+ }, z.core.$strip>;
1905
+ }, z.core.$strip>, z.ZodObject<{
1906
+ flowId: FlowId;
1907
+ flowStatus: z.ZodEnum<{
1908
+ failed: "failed";
1909
+ queued: "queued";
1910
+ running: "running";
1911
+ passed: "passed";
1912
+ canceled: "canceled";
1913
+ }>;
1914
+ retryContext: z.ZodObject<{
1915
+ currentOrdinal: z.ZodNumber;
1916
+ next: z.ZodOptional<z.ZodObject<{
1917
+ attemptId: PublicIdSchema;
1918
+ status: z.ZodEnum<{
1919
+ failed: "failed";
1920
+ passed: "passed";
1921
+ canceled: "canceled";
1922
+ skipped: "skipped";
1923
+ aborted: "aborted";
1924
+ }>;
1925
+ }, z.core.$strip>>;
1926
+ previous: z.ZodOptional<z.ZodObject<{
1927
+ attemptId: PublicIdSchema;
1928
+ status: z.ZodEnum<{
1929
+ failed: "failed";
1930
+ passed: "passed";
1931
+ canceled: "canceled";
1932
+ skipped: "skipped";
1933
+ aborted: "aborted";
1934
+ }>;
1935
+ }, z.core.$strip>>;
1936
+ total: z.ZodNumber;
1937
+ }, z.core.$strip>;
1938
+ runId: RunId;
1939
+ runStatus: z.ZodEnum<{
1940
+ failed: "failed";
1941
+ queued: "queued";
1942
+ running: "running";
1943
+ passed: "passed";
1944
+ canceled: "canceled";
1945
+ superseded: "superseded";
1946
+ }>;
1947
+ artifacts: z.ZodObject<{}, z.core.$strict>;
1948
+ artifactStatus: z.ZodLiteral<"signing-failed">;
1949
+ attempt: z.ZodObject<{
1950
+ attemptId: PublicIdSchema;
1951
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
1952
+ createdAt: z.ZodISODateTime;
1953
+ error: z.ZodOptional<z.ZodString>;
1954
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
1955
+ kind: z.ZodLiteral<"automated">;
1956
+ status: z.ZodEnum<{
1957
+ failed: "failed";
1958
+ passed: "passed";
1959
+ canceled: "canceled";
1960
+ skipped: "skipped";
1961
+ aborted: "aborted";
1962
+ }>;
1963
+ }, z.core.$strip>;
1964
+ }, z.core.$strip>, z.ZodObject<{
1965
+ flowId: FlowId;
1966
+ flowStatus: z.ZodEnum<{
1967
+ failed: "failed";
1968
+ queued: "queued";
1969
+ running: "running";
1970
+ passed: "passed";
1971
+ canceled: "canceled";
1972
+ }>;
1973
+ retryContext: z.ZodObject<{
1974
+ currentOrdinal: z.ZodNumber;
1975
+ next: z.ZodOptional<z.ZodObject<{
1976
+ attemptId: PublicIdSchema;
1977
+ status: z.ZodEnum<{
1978
+ failed: "failed";
1979
+ passed: "passed";
1980
+ canceled: "canceled";
1981
+ skipped: "skipped";
1982
+ aborted: "aborted";
1983
+ }>;
1984
+ }, z.core.$strip>>;
1985
+ previous: z.ZodOptional<z.ZodObject<{
1986
+ attemptId: PublicIdSchema;
1987
+ status: z.ZodEnum<{
1988
+ failed: "failed";
1989
+ passed: "passed";
1990
+ canceled: "canceled";
1991
+ skipped: "skipped";
1992
+ aborted: "aborted";
1993
+ }>;
1994
+ }, z.core.$strip>>;
1995
+ total: z.ZodNumber;
1996
+ }, z.core.$strip>;
1997
+ runId: RunId;
1998
+ runStatus: z.ZodEnum<{
1999
+ failed: "failed";
2000
+ queued: "queued";
2001
+ running: "running";
2002
+ passed: "passed";
2003
+ canceled: "canceled";
2004
+ superseded: "superseded";
2005
+ }>;
2006
+ artifacts: z.ZodObject<{}, z.core.$strict>;
2007
+ artifactStatus: z.ZodLiteral<"not-captured">;
2008
+ attempt: z.ZodObject<{
2009
+ attemptId: PublicIdSchema;
2010
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
2011
+ createdAt: z.ZodISODateTime;
2012
+ error: z.ZodOptional<z.ZodString>;
2013
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
2014
+ kind: z.ZodLiteral<"manual">;
2015
+ status: z.ZodLiteral<"passed">;
2016
+ }, z.core.$strip>;
2017
+ }, z.core.$strip>], "artifactStatus">;
2018
+ };
1782
2019
  reattempt: {
1783
2020
  readonly annotations: {
1784
2021
  readonly destructiveHint: true;
@@ -1858,12 +2095,14 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1858
2095
  playwright: "playwright";
1859
2096
  android: "android";
1860
2097
  ios: "ios";
2098
+ windows: "windows";
1861
2099
  }>;
1862
2100
  runnerName: z.ZodEnum<{
1863
2101
  basic: "basic";
1864
2102
  playwright: "playwright";
1865
2103
  android: "android";
1866
2104
  ios: "ios";
2105
+ windows: "windows";
1867
2106
  }>;
1868
2107
  }, z.core.$strip>, z.ZodObject<{
1869
2108
  failureReason: z.ZodLiteral<"needs-full-sync">;
@@ -1903,7 +2142,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1903
2142
  readonly openWorldHint: false;
1904
2143
  readonly readOnlyHint: false;
1905
2144
  };
1906
- readonly description: "Take one screenshot of an interactive runner's screen. On a runner with a browser the image is the whole virtual desktop, browser window and all; this refreshes the inactivity timer and can extend the runner's billed lifetime. On a mobile runner it is the device's own screen, re-encoded to JPEG on the pod so this contract reads one image format regardless of runner family. `screen-needs-a-run` if the runner's virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` with a flow that opens a browser, then ask for the screen again. On a runner image with a browser that has never run anything, any `runner.performAction` also starts the browser itself. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `playwright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
2145
+ readonly description: "Take one screenshot of an interactive runner's screen. On a runner with a browser the image is the whole virtual desktop, browser window and all; this refreshes the inactivity timer and can extend the runner's billed lifetime. On a mobile runner it is the device's own screen, re-encoded to JPEG on the pod so this contract reads one image format regardless of runner family. `screen-needs-a-run` if the runner's virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` with a flow that opens a browser, then ask for the screen again. On a runner image with a browser that has never run anything, any `runner.performAction` also starts the browser itself. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner has no browser desktop to see or drive, and retrying will never help. Launch a `playwright` runner, or on `windows` use `runner.runFlow`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
1907
2146
  readonly input: z.ZodObject<{
1908
2147
  id: z.ZodString;
1909
2148
  workspaceId: z.ZodOptional<WorkspaceId>;
@@ -2441,6 +2680,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2441
2680
  playwright: "playwright";
2442
2681
  android: "android";
2443
2682
  ios: "ios";
2683
+ windows: "windows";
2444
2684
  }>>;
2445
2685
  workspaceId: z.ZodOptional<WorkspaceId>;
2446
2686
  }, z.core.$strip>;
@@ -2454,6 +2694,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2454
2694
  playwright: "playwright";
2455
2695
  android: "android";
2456
2696
  ios: "ios";
2697
+ windows: "windows";
2457
2698
  }>;
2458
2699
  url: z.ZodURL;
2459
2700
  alreadyRunning: z.ZodBoolean;
@@ -2482,6 +2723,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2482
2723
  playwright: "playwright";
2483
2724
  android: "android";
2484
2725
  ios: "ios";
2726
+ windows: "windows";
2485
2727
  }>;
2486
2728
  url: z.ZodURL;
2487
2729
  }, z.core.$strip>>;
@@ -2493,7 +2735,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2493
2735
  readonly openWorldHint: true;
2494
2736
  readonly readOnlyHint: false;
2495
2737
  };
2496
- readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. One action per request, and the runner serves one at a time. A success means the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. On a runner image with a browser, the first action on a runner that has never run anything starts its browser and waits for it, so it can take up to a minute to answer — no `runner.runFlow` is needed before acting; if the browser is still starting when the wait runs out, the answer is `screen-not-ready` and retrying converges. On a mobile runner, the same `screen-needs-a-run` and `screen-not-ready` outcomes mean no Appium session has started yet, or it did not answer this instant; `runner.runFlow` is what starts one, same as a browser. `screen-needs-a-run` if the browser could not be started that way — usually a runner whose runs all finished without starting its desktop; call `runner.runFlow` with a flow that opens a browser. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `playwright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
2738
+ readonly description: "Perform one raw action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate; on mobile, tap, swipe, fill, or type. One action per request, and the runner serves one at a time. A success means the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. On a runner image with a browser, the first action on a runner that has never run anything starts its browser and waits for it, so it can take up to a minute to answer — no `runner.runFlow` is needed before acting; if the browser is still starting when the wait runs out, the answer is `screen-not-ready` and retrying converges. On a mobile runner, the same `screen-needs-a-run` and `screen-not-ready` outcomes mean no Appium session has started yet, or it did not answer this instant; `runner.runFlow` is what starts one, same as a browser. `screen-needs-a-run` if the browser could not be started that way — usually a runner whose runs all finished without starting its desktop; call `runner.runFlow` with a flow that opens a browser. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner has no browser desktop to see or drive, and retrying will never help. Launch a `playwright` runner, or on `windows` use `runner.runFlow`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
2497
2739
  readonly input: z.ZodObject<{
2498
2740
  action: z.ZodDiscriminatedUnion<[z.ZodObject<{
2499
2741
  button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
@@ -2529,6 +2771,36 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2529
2771
  }, z.core.$strict>, z.ZodObject<{
2530
2772
  text: z.ZodString;
2531
2773
  type: z.ZodLiteral<"type">;
2774
+ }, z.core.$strict>, z.ZodObject<{
2775
+ selector: z.ZodOptional<z.ZodString>;
2776
+ strategy: z.ZodOptional<z.ZodEnum<{
2777
+ "ios-predicate": "ios-predicate";
2778
+ shadow: "shadow";
2779
+ xpath: "xpath";
2780
+ }>>;
2781
+ type: z.ZodLiteral<"tap">;
2782
+ x: z.ZodOptional<z.ZodInt>;
2783
+ y: z.ZodOptional<z.ZodInt>;
2784
+ }, z.core.$strict>, z.ZodObject<{
2785
+ duration_ms: z.ZodOptional<z.ZodInt>;
2786
+ from: z.ZodObject<{
2787
+ x: z.ZodInt;
2788
+ y: z.ZodInt;
2789
+ }, z.core.$strict>;
2790
+ to: z.ZodObject<{
2791
+ x: z.ZodInt;
2792
+ y: z.ZodInt;
2793
+ }, z.core.$strict>;
2794
+ type: z.ZodLiteral<"swipe">;
2795
+ }, z.core.$strict>, z.ZodObject<{
2796
+ selector: z.ZodString;
2797
+ strategy: z.ZodOptional<z.ZodEnum<{
2798
+ "ios-predicate": "ios-predicate";
2799
+ shadow: "shadow";
2800
+ xpath: "xpath";
2801
+ }>>;
2802
+ text: z.ZodString;
2803
+ type: z.ZodLiteral<"fill">;
2532
2804
  }, z.core.$strict>], "type">;
2533
2805
  id: z.ZodString;
2534
2806
  withScreenshot: z.ZodOptional<z.ZodBoolean>;
@@ -2551,6 +2823,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
2551
2823
  "screen-not-ready": "screen-not-ready";
2552
2824
  "runner-has-no-screen": "runner-has-no-screen";
2553
2825
  "action-not-supported-on-mobile": "action-not-supported-on-mobile";
2826
+ "action-not-supported-on-browser": "action-not-supported-on-browser";
2554
2827
  }>;
2555
2828
  outcome: z.ZodLiteral<"failure">;
2556
2829
  }, z.core.$strip>], "failureReason">], "outcome">;
@@ -3687,17 +3960,17 @@ export declare const publicContractsV1: {
3687
3960
  conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
3688
3961
  kind: z.ZodEnum<{
3689
3962
  branch: "branch";
3963
+ environment: "environment";
3690
3964
  deployTarget: "deployTarget";
3691
3965
  service: "service";
3692
- environment: "environment";
3693
3966
  }>;
3694
3967
  outcome: z.ZodLiteral<"matched">;
3695
3968
  }, z.core.$strip>, z.ZodObject<{
3696
3969
  kind: z.ZodEnum<{
3697
3970
  branch: "branch";
3971
+ environment: "environment";
3698
3972
  deployTarget: "deployTarget";
3699
3973
  service: "service";
3700
- environment: "environment";
3701
3974
  }>;
3702
3975
  outcome: z.ZodLiteral<"did-not-match">;
3703
3976
  reason: z.ZodString;
@@ -3747,17 +4020,17 @@ export declare const publicContractsV1: {
3747
4020
  conditions: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
3748
4021
  kind: z.ZodEnum<{
3749
4022
  branch: "branch";
4023
+ environment: "environment";
3750
4024
  deployTarget: "deployTarget";
3751
4025
  service: "service";
3752
- environment: "environment";
3753
4026
  }>;
3754
4027
  outcome: z.ZodLiteral<"matched">;
3755
4028
  }, z.core.$strip>, z.ZodObject<{
3756
4029
  kind: z.ZodEnum<{
3757
4030
  branch: "branch";
4031
+ environment: "environment";
3758
4032
  deployTarget: "deployTarget";
3759
4033
  service: "service";
3760
- environment: "environment";
3761
4034
  }>;
3762
4035
  outcome: z.ZodLiteral<"did-not-match">;
3763
4036
  reason: z.ZodString;
@@ -4608,6 +4881,30 @@ export declare const publicContractsV1: {
4608
4881
  urgent: "urgent";
4609
4882
  }>>;
4610
4883
  workspaceId: z.ZodOptional<PublicIdSchema>;
4884
+ }, z.core.$strip>, z.ZodObject<{
4885
+ effort: z.ZodEnum<{
4886
+ small: "small";
4887
+ medium: "medium";
4888
+ extraSmall: "extraSmall";
4889
+ large: "large";
4890
+ extraLarge: "extraLarge";
4891
+ }>;
4892
+ priority: z.ZodEnum<{
4893
+ low: "low";
4894
+ medium: "medium";
4895
+ high: "high";
4896
+ urgent: "urgent";
4897
+ }>;
4898
+ reason: z.ZodEnum<{
4899
+ dataChanged: "dataChanged";
4900
+ flowNeedsWork: "flowNeedsWork";
4901
+ other: "other";
4902
+ uiChanged: "uiChanged";
4903
+ }>;
4904
+ type: z.ZodLiteral<"maintenance">;
4905
+ description: z.ZodOptional<z.ZodString>;
4906
+ name: z.ZodString;
4907
+ workspaceId: z.ZodOptional<PublicIdSchema>;
4611
4908
  }, z.core.$strip>], "type">;
4612
4909
  readonly kind: "write";
4613
4910
  readonly name: "issue.create";
@@ -5111,7 +5408,7 @@ export declare const publicContractsV1: {
5111
5408
  readonly openWorldHint: false;
5112
5409
  readonly readOnlyHint: true;
5113
5410
  };
5114
- readonly description: "List an environment's recent runs, newest first.";
5411
+ readonly description: "List an environment's recent runs, newest first, including failed-attempt discovery metadata.";
5115
5412
  readonly input: z.ZodObject<{
5116
5413
  environmentId: PublicIdSchema;
5117
5414
  workspaceId: z.ZodOptional<PublicIdSchema>;
@@ -5124,6 +5421,8 @@ export declare const publicContractsV1: {
5124
5421
  readonly output: z.ZodObject<{
5125
5422
  nextCursor: z.ZodOptional<z.ZodString>;
5126
5423
  runs: z.ZodArray<z.ZodObject<{
5424
+ failedAttemptCount: z.ZodOptional<z.ZodNumber>;
5425
+ hasFailedAttempts: z.ZodOptional<z.ZodBoolean>;
5127
5426
  completedAt: z.ZodOptional<z.ZodISODateTime>;
5128
5427
  createdAt: z.ZodISODateTime;
5129
5428
  git: z.ZodObject<{
@@ -5132,6 +5431,7 @@ export declare const publicContractsV1: {
5132
5431
  commitSha: z.ZodOptional<z.ZodString>;
5133
5432
  commitUrl: z.ZodOptional<z.ZodString>;
5134
5433
  }, z.core.$strip>;
5434
+ needsReview: z.ZodOptional<z.ZodBoolean>;
5135
5435
  runId: PublicIdSchema;
5136
5436
  status: z.ZodEnum<{
5137
5437
  failed: "failed";
@@ -5139,7 +5439,12 @@ export declare const publicContractsV1: {
5139
5439
  running: "running";
5140
5440
  passed: "passed";
5141
5441
  canceled: "canceled";
5442
+ superseded: "superseded";
5142
5443
  }>;
5444
+ supersededBy: z.ZodOptional<z.ZodObject<{
5445
+ runId: PublicIdSchema;
5446
+ url: z.ZodURL;
5447
+ }, z.core.$strip>>;
5143
5448
  url: z.ZodURL;
5144
5449
  }, z.core.$strip>>;
5145
5450
  }, z.core.$strip>;
@@ -5167,6 +5472,7 @@ export declare const publicContractsV1: {
5167
5472
  blockingBugCount: z.ZodNumber;
5168
5473
  flows: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
5169
5474
  attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
5475
+ attemptId: z.ZodOptional<PublicIdSchema>;
5170
5476
  completedAt: z.ZodISODateTime;
5171
5477
  kind: z.ZodLiteral<"automated">;
5172
5478
  startedAt: z.ZodISODateTime;
@@ -5175,6 +5481,7 @@ export declare const publicContractsV1: {
5175
5481
  traceUrl: z.ZodOptional<z.ZodURL>;
5176
5482
  videoUrl: z.ZodOptional<z.ZodURL>;
5177
5483
  }, z.core.$strip>, z.ZodObject<{
5484
+ attemptId: z.ZodOptional<PublicIdSchema>;
5178
5485
  completedAt: z.ZodISODateTime;
5179
5486
  kind: z.ZodLiteral<"automated">;
5180
5487
  startedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -5183,11 +5490,13 @@ export declare const publicContractsV1: {
5183
5490
  traceUrl: z.ZodOptional<z.ZodURL>;
5184
5491
  videoUrl: z.ZodOptional<z.ZodURL>;
5185
5492
  }, z.core.$strip>, z.ZodObject<{
5493
+ attemptId: z.ZodOptional<PublicIdSchema>;
5186
5494
  completedAt: z.ZodOptional<z.ZodISODateTime>;
5187
5495
  kind: z.ZodLiteral<"automated">;
5188
5496
  startedAt: z.ZodOptional<z.ZodISODateTime>;
5189
5497
  status: z.ZodLiteral<"canceled">;
5190
5498
  }, z.core.$strip>], "status">, z.ZodObject<{
5499
+ attemptId: z.ZodOptional<PublicIdSchema>;
5191
5500
  completedAt: z.ZodISODateTime;
5192
5501
  kind: z.ZodLiteral<"manual">;
5193
5502
  startedAt: z.ZodISODateTime;
@@ -5208,6 +5517,7 @@ export declare const publicContractsV1: {
5208
5517
  status: z.ZodLiteral<"failed">;
5209
5518
  }, z.core.$strip>, z.ZodObject<{
5210
5519
  attempts: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodDiscriminatedUnion<[z.ZodObject<{
5520
+ attemptId: z.ZodOptional<PublicIdSchema>;
5211
5521
  completedAt: z.ZodISODateTime;
5212
5522
  kind: z.ZodLiteral<"automated">;
5213
5523
  startedAt: z.ZodISODateTime;
@@ -5216,6 +5526,7 @@ export declare const publicContractsV1: {
5216
5526
  traceUrl: z.ZodOptional<z.ZodURL>;
5217
5527
  videoUrl: z.ZodOptional<z.ZodURL>;
5218
5528
  }, z.core.$strip>, z.ZodObject<{
5529
+ attemptId: z.ZodOptional<PublicIdSchema>;
5219
5530
  completedAt: z.ZodISODateTime;
5220
5531
  kind: z.ZodLiteral<"automated">;
5221
5532
  startedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -5224,11 +5535,13 @@ export declare const publicContractsV1: {
5224
5535
  traceUrl: z.ZodOptional<z.ZodURL>;
5225
5536
  videoUrl: z.ZodOptional<z.ZodURL>;
5226
5537
  }, z.core.$strip>, z.ZodObject<{
5538
+ attemptId: z.ZodOptional<PublicIdSchema>;
5227
5539
  completedAt: z.ZodOptional<z.ZodISODateTime>;
5228
5540
  kind: z.ZodLiteral<"automated">;
5229
5541
  startedAt: z.ZodOptional<z.ZodISODateTime>;
5230
5542
  status: z.ZodLiteral<"canceled">;
5231
5543
  }, z.core.$strip>], "status">, z.ZodObject<{
5544
+ attemptId: z.ZodOptional<PublicIdSchema>;
5232
5545
  completedAt: z.ZodISODateTime;
5233
5546
  kind: z.ZodLiteral<"manual">;
5234
5547
  startedAt: z.ZodISODateTime;
@@ -5252,16 +5565,211 @@ export declare const publicContractsV1: {
5252
5565
  commitSha: z.ZodOptional<z.ZodString>;
5253
5566
  commitUrl: z.ZodOptional<z.ZodString>;
5254
5567
  }, z.core.$strip>;
5568
+ needsReview: z.ZodOptional<z.ZodBoolean>;
5255
5569
  status: z.ZodEnum<{
5256
5570
  failed: "failed";
5257
5571
  queued: "queued";
5258
5572
  running: "running";
5259
5573
  passed: "passed";
5260
5574
  canceled: "canceled";
5575
+ superseded: "superseded";
5261
5576
  }>;
5577
+ supersededBy: z.ZodOptional<z.ZodObject<{
5578
+ runId: PublicIdSchema;
5579
+ url: z.ZodURL;
5580
+ }, z.core.$strip>>;
5262
5581
  url: z.ZodURL;
5263
5582
  }, z.core.$strip>;
5264
5583
  };
5584
+ getAttemptArtifacts: {
5585
+ readonly annotations: {
5586
+ readonly destructiveHint: false;
5587
+ readonly openWorldHint: false;
5588
+ readonly readOnlyHint: true;
5589
+ };
5590
+ readonly description: "Get metadata and signed artifact URLs for one finished run attempt.";
5591
+ readonly input: z.ZodObject<{
5592
+ attemptId: PublicIdSchema;
5593
+ }, z.core.$strip>;
5594
+ readonly kind: "read";
5595
+ readonly name: "run.getAttemptArtifacts";
5596
+ readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
5597
+ flowId: PublicIdSchema;
5598
+ flowStatus: z.ZodEnum<{
5599
+ failed: "failed";
5600
+ queued: "queued";
5601
+ running: "running";
5602
+ passed: "passed";
5603
+ canceled: "canceled";
5604
+ }>;
5605
+ retryContext: z.ZodObject<{
5606
+ currentOrdinal: z.ZodNumber;
5607
+ next: z.ZodOptional<z.ZodObject<{
5608
+ attemptId: PublicIdSchema;
5609
+ status: z.ZodEnum<{
5610
+ failed: "failed";
5611
+ passed: "passed";
5612
+ canceled: "canceled";
5613
+ skipped: "skipped";
5614
+ aborted: "aborted";
5615
+ }>;
5616
+ }, z.core.$strip>>;
5617
+ previous: z.ZodOptional<z.ZodObject<{
5618
+ attemptId: PublicIdSchema;
5619
+ status: z.ZodEnum<{
5620
+ failed: "failed";
5621
+ passed: "passed";
5622
+ canceled: "canceled";
5623
+ skipped: "skipped";
5624
+ aborted: "aborted";
5625
+ }>;
5626
+ }, z.core.$strip>>;
5627
+ total: z.ZodNumber;
5628
+ }, z.core.$strip>;
5629
+ runId: PublicIdSchema;
5630
+ runStatus: z.ZodEnum<{
5631
+ failed: "failed";
5632
+ queued: "queued";
5633
+ running: "running";
5634
+ passed: "passed";
5635
+ canceled: "canceled";
5636
+ superseded: "superseded";
5637
+ }>;
5638
+ artifacts: z.ZodObject<{
5639
+ logsUrl: z.ZodOptional<z.ZodURL>;
5640
+ traceUrl: z.ZodOptional<z.ZodURL>;
5641
+ videoUrl: z.ZodOptional<z.ZodURL>;
5642
+ }, z.core.$strip>;
5643
+ artifactStatus: z.ZodLiteral<"signed">;
5644
+ attempt: z.ZodObject<{
5645
+ attemptId: PublicIdSchema;
5646
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
5647
+ createdAt: z.ZodISODateTime;
5648
+ error: z.ZodOptional<z.ZodString>;
5649
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
5650
+ kind: z.ZodLiteral<"automated">;
5651
+ status: z.ZodEnum<{
5652
+ failed: "failed";
5653
+ passed: "passed";
5654
+ canceled: "canceled";
5655
+ skipped: "skipped";
5656
+ aborted: "aborted";
5657
+ }>;
5658
+ }, z.core.$strip>;
5659
+ }, z.core.$strip>, z.ZodObject<{
5660
+ flowId: PublicIdSchema;
5661
+ flowStatus: z.ZodEnum<{
5662
+ failed: "failed";
5663
+ queued: "queued";
5664
+ running: "running";
5665
+ passed: "passed";
5666
+ canceled: "canceled";
5667
+ }>;
5668
+ retryContext: z.ZodObject<{
5669
+ currentOrdinal: z.ZodNumber;
5670
+ next: z.ZodOptional<z.ZodObject<{
5671
+ attemptId: PublicIdSchema;
5672
+ status: z.ZodEnum<{
5673
+ failed: "failed";
5674
+ passed: "passed";
5675
+ canceled: "canceled";
5676
+ skipped: "skipped";
5677
+ aborted: "aborted";
5678
+ }>;
5679
+ }, z.core.$strip>>;
5680
+ previous: z.ZodOptional<z.ZodObject<{
5681
+ attemptId: PublicIdSchema;
5682
+ status: z.ZodEnum<{
5683
+ failed: "failed";
5684
+ passed: "passed";
5685
+ canceled: "canceled";
5686
+ skipped: "skipped";
5687
+ aborted: "aborted";
5688
+ }>;
5689
+ }, z.core.$strip>>;
5690
+ total: z.ZodNumber;
5691
+ }, z.core.$strip>;
5692
+ runId: PublicIdSchema;
5693
+ runStatus: z.ZodEnum<{
5694
+ failed: "failed";
5695
+ queued: "queued";
5696
+ running: "running";
5697
+ passed: "passed";
5698
+ canceled: "canceled";
5699
+ superseded: "superseded";
5700
+ }>;
5701
+ artifacts: z.ZodObject<{}, z.core.$strict>;
5702
+ artifactStatus: z.ZodLiteral<"signing-failed">;
5703
+ attempt: z.ZodObject<{
5704
+ attemptId: PublicIdSchema;
5705
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
5706
+ createdAt: z.ZodISODateTime;
5707
+ error: z.ZodOptional<z.ZodString>;
5708
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
5709
+ kind: z.ZodLiteral<"automated">;
5710
+ status: z.ZodEnum<{
5711
+ failed: "failed";
5712
+ passed: "passed";
5713
+ canceled: "canceled";
5714
+ skipped: "skipped";
5715
+ aborted: "aborted";
5716
+ }>;
5717
+ }, z.core.$strip>;
5718
+ }, z.core.$strip>, z.ZodObject<{
5719
+ flowId: PublicIdSchema;
5720
+ flowStatus: z.ZodEnum<{
5721
+ failed: "failed";
5722
+ queued: "queued";
5723
+ running: "running";
5724
+ passed: "passed";
5725
+ canceled: "canceled";
5726
+ }>;
5727
+ retryContext: z.ZodObject<{
5728
+ currentOrdinal: z.ZodNumber;
5729
+ next: z.ZodOptional<z.ZodObject<{
5730
+ attemptId: PublicIdSchema;
5731
+ status: z.ZodEnum<{
5732
+ failed: "failed";
5733
+ passed: "passed";
5734
+ canceled: "canceled";
5735
+ skipped: "skipped";
5736
+ aborted: "aborted";
5737
+ }>;
5738
+ }, z.core.$strip>>;
5739
+ previous: z.ZodOptional<z.ZodObject<{
5740
+ attemptId: PublicIdSchema;
5741
+ status: z.ZodEnum<{
5742
+ failed: "failed";
5743
+ passed: "passed";
5744
+ canceled: "canceled";
5745
+ skipped: "skipped";
5746
+ aborted: "aborted";
5747
+ }>;
5748
+ }, z.core.$strip>>;
5749
+ total: z.ZodNumber;
5750
+ }, z.core.$strip>;
5751
+ runId: PublicIdSchema;
5752
+ runStatus: z.ZodEnum<{
5753
+ failed: "failed";
5754
+ queued: "queued";
5755
+ running: "running";
5756
+ passed: "passed";
5757
+ canceled: "canceled";
5758
+ superseded: "superseded";
5759
+ }>;
5760
+ artifacts: z.ZodObject<{}, z.core.$strict>;
5761
+ artifactStatus: z.ZodLiteral<"not-captured">;
5762
+ attempt: z.ZodObject<{
5763
+ attemptId: PublicIdSchema;
5764
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
5765
+ createdAt: z.ZodISODateTime;
5766
+ error: z.ZodOptional<z.ZodString>;
5767
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
5768
+ kind: z.ZodLiteral<"manual">;
5769
+ status: z.ZodLiteral<"passed">;
5770
+ }, z.core.$strip>;
5771
+ }, z.core.$strip>], "artifactStatus">;
5772
+ };
5265
5773
  reattempt: {
5266
5774
  readonly annotations: {
5267
5775
  readonly destructiveHint: true;
@@ -5341,12 +5849,14 @@ export declare const publicContractsV1: {
5341
5849
  playwright: "playwright";
5342
5850
  android: "android";
5343
5851
  ios: "ios";
5852
+ windows: "windows";
5344
5853
  }>;
5345
5854
  runnerName: z.ZodEnum<{
5346
5855
  basic: "basic";
5347
5856
  playwright: "playwright";
5348
5857
  android: "android";
5349
5858
  ios: "ios";
5859
+ windows: "windows";
5350
5860
  }>;
5351
5861
  }, z.core.$strip>, z.ZodObject<{
5352
5862
  failureReason: z.ZodLiteral<"needs-full-sync">;
@@ -5386,7 +5896,7 @@ export declare const publicContractsV1: {
5386
5896
  readonly openWorldHint: false;
5387
5897
  readonly readOnlyHint: false;
5388
5898
  };
5389
- readonly description: "Take one screenshot of an interactive runner's screen. On a runner with a browser the image is the whole virtual desktop, browser window and all; this refreshes the inactivity timer and can extend the runner's billed lifetime. On a mobile runner it is the device's own screen, re-encoded to JPEG on the pod so this contract reads one image format regardless of runner family. `screen-needs-a-run` if the runner's virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` with a flow that opens a browser, then ask for the screen again. On a runner image with a browser that has never run anything, any `runner.performAction` also starts the browser itself. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `playwright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
5899
+ readonly description: "Take one screenshot of an interactive runner's screen. On a runner with a browser the image is the whole virtual desktop, browser window and all; this refreshes the inactivity timer and can extend the runner's billed lifetime. On a mobile runner it is the device's own screen, re-encoded to JPEG on the pod so this contract reads one image format regardless of runner family. `screen-needs-a-run` if the runner's virtual desktop has never started. Waiting will not change this and retrying is pointless — call `runner.runFlow` with a flow that opens a browser, then ask for the screen again. On a runner image with a browser that has never run anything, any `runner.performAction` also starts the browser itself. Evaluating a snippet does not start the desktop. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner has no browser desktop to see or drive, and retrying will never help. Launch a `playwright` runner, or on `windows` use `runner.runFlow`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may be too busy to answer. Nothing was changed, so retrying is safe; if it persists, launch the runner again.";
5390
5900
  readonly input: z.ZodObject<{
5391
5901
  id: z.ZodString;
5392
5902
  workspaceId: z.ZodOptional<PublicIdSchema>;
@@ -5924,6 +6434,7 @@ export declare const publicContractsV1: {
5924
6434
  playwright: "playwright";
5925
6435
  android: "android";
5926
6436
  ios: "ios";
6437
+ windows: "windows";
5927
6438
  }>>;
5928
6439
  workspaceId: z.ZodOptional<PublicIdSchema>;
5929
6440
  }, z.core.$strip>;
@@ -5937,6 +6448,7 @@ export declare const publicContractsV1: {
5937
6448
  playwright: "playwright";
5938
6449
  android: "android";
5939
6450
  ios: "ios";
6451
+ windows: "windows";
5940
6452
  }>;
5941
6453
  url: z.ZodURL;
5942
6454
  alreadyRunning: z.ZodBoolean;
@@ -5965,6 +6477,7 @@ export declare const publicContractsV1: {
5965
6477
  playwright: "playwright";
5966
6478
  android: "android";
5967
6479
  ios: "ios";
6480
+ windows: "windows";
5968
6481
  }>;
5969
6482
  url: z.ZodURL;
5970
6483
  }, z.core.$strip>>;
@@ -5976,7 +6489,7 @@ export declare const publicContractsV1: {
5976
6489
  readonly openWorldHint: true;
5977
6490
  readonly readOnlyHint: false;
5978
6491
  };
5979
- readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. One action per request, and the runner serves one at a time. A success means the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. On a runner image with a browser, the first action on a runner that has never run anything starts its browser and waits for it, so it can take up to a minute to answer — no `runner.runFlow` is needed before acting; if the browser is still starting when the wait runs out, the answer is `screen-not-ready` and retrying converges. On a mobile runner, the same `screen-needs-a-run` and `screen-not-ready` outcomes mean no Appium session has started yet, or it did not answer this instant; `runner.runFlow` is what starts one, same as a browser. `screen-needs-a-run` if the browser could not be started that way — usually a runner whose runs all finished without starting its desktop; call `runner.runFlow` with a flow that opens a browser. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner is not one that runs a browser on a virtual desktop. Nothing about it can be seen or driven, and retrying will never help — launch a `playwright` runner instead. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
6492
+ readonly description: "Perform one raw action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate; on mobile, tap, swipe, fill, or type. One action per request, and the runner serves one at a time. A success means the action took effect. `action-failed`, with a reason, if it reached the runner and did not take effect. On a runner image with a browser, the first action on a runner that has never run anything starts its browser and waits for it, so it can take up to a minute to answer — no `runner.runFlow` is needed before acting; if the browser is still starting when the wait runs out, the answer is `screen-not-ready` and retrying converges. On a mobile runner, the same `screen-needs-a-run` and `screen-not-ready` outcomes mean no Appium session has started yet, or it did not answer this instant; `runner.runFlow` is what starts one, same as a browser. `screen-needs-a-run` if the browser could not be started that way — usually a runner whose runs all finished without starting its desktop; call `runner.runFlow` with a flow that opens a browser. `screen-not-ready` if the runner has a screen that cannot serve this instant. Retry in a second or two: the desktop restarts when a run changes the display size, and it serves one see-or-act request at a time, so a screenshot or action already in flight is the usual reason. Do not submit a run to clear this — a run may restart the display and discard what is on it. `runner-has-no-screen` if this runner has no browser desktop to see or drive, and retrying will never help. Launch a `playwright` runner, or on `windows` use `runner.runFlow`. `runner-unreachable` if the runner could not be reached: it may still be starting, it may have terminated after inactivity, or it may have stopped answering mid-action. This does not mean the action was not performed — take a screenshot before repeating it.";
5980
6493
  readonly input: z.ZodObject<{
5981
6494
  action: z.ZodDiscriminatedUnion<[z.ZodObject<{
5982
6495
  button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
@@ -6012,6 +6525,36 @@ export declare const publicContractsV1: {
6012
6525
  }, z.core.$strict>, z.ZodObject<{
6013
6526
  text: z.ZodString;
6014
6527
  type: z.ZodLiteral<"type">;
6528
+ }, z.core.$strict>, z.ZodObject<{
6529
+ selector: z.ZodOptional<z.ZodString>;
6530
+ strategy: z.ZodOptional<z.ZodEnum<{
6531
+ "ios-predicate": "ios-predicate";
6532
+ shadow: "shadow";
6533
+ xpath: "xpath";
6534
+ }>>;
6535
+ type: z.ZodLiteral<"tap">;
6536
+ x: z.ZodOptional<z.ZodInt>;
6537
+ y: z.ZodOptional<z.ZodInt>;
6538
+ }, z.core.$strict>, z.ZodObject<{
6539
+ duration_ms: z.ZodOptional<z.ZodInt>;
6540
+ from: z.ZodObject<{
6541
+ x: z.ZodInt;
6542
+ y: z.ZodInt;
6543
+ }, z.core.$strict>;
6544
+ to: z.ZodObject<{
6545
+ x: z.ZodInt;
6546
+ y: z.ZodInt;
6547
+ }, z.core.$strict>;
6548
+ type: z.ZodLiteral<"swipe">;
6549
+ }, z.core.$strict>, z.ZodObject<{
6550
+ selector: z.ZodString;
6551
+ strategy: z.ZodOptional<z.ZodEnum<{
6552
+ "ios-predicate": "ios-predicate";
6553
+ shadow: "shadow";
6554
+ xpath: "xpath";
6555
+ }>>;
6556
+ text: z.ZodString;
6557
+ type: z.ZodLiteral<"fill">;
6015
6558
  }, z.core.$strict>], "type">;
6016
6559
  id: z.ZodString;
6017
6560
  withScreenshot: z.ZodOptional<z.ZodBoolean>;
@@ -6034,6 +6577,7 @@ export declare const publicContractsV1: {
6034
6577
  "screen-not-ready": "screen-not-ready";
6035
6578
  "runner-has-no-screen": "runner-has-no-screen";
6036
6579
  "action-not-supported-on-mobile": "action-not-supported-on-mobile";
6580
+ "action-not-supported-on-browser": "action-not-supported-on-browser";
6037
6581
  }>;
6038
6582
  outcome: z.ZodLiteral<"failure">;
6039
6583
  }, z.core.$strip>], "failureReason">], "outcome">;