@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
@@ -0,0 +1,196 @@
1
+ import { z } from "zod";
2
+ import type { PublicIdSchema } from "../ids.js";
3
+ export declare const makeGetRunAttemptArtifactsContract: <FlowId extends PublicIdSchema, RunId extends PublicIdSchema, RunAttemptId extends PublicIdSchema>(ids: {
4
+ flow: FlowId;
5
+ run: RunId;
6
+ runAttempt: RunAttemptId;
7
+ }) => {
8
+ readonly annotations: {
9
+ readonly destructiveHint: false;
10
+ readonly openWorldHint: false;
11
+ readonly readOnlyHint: true;
12
+ };
13
+ readonly description: "Get metadata and signed artifact URLs for one finished run attempt.";
14
+ readonly input: z.ZodObject<{
15
+ attemptId: RunAttemptId;
16
+ }, z.core.$strip>;
17
+ readonly kind: "read";
18
+ readonly name: "run.getAttemptArtifacts";
19
+ readonly output: z.ZodDiscriminatedUnion<[z.ZodObject<{
20
+ flowId: FlowId;
21
+ flowStatus: z.ZodEnum<{
22
+ failed: "failed";
23
+ queued: "queued";
24
+ running: "running";
25
+ passed: "passed";
26
+ canceled: "canceled";
27
+ }>;
28
+ retryContext: z.ZodObject<{
29
+ currentOrdinal: z.ZodNumber;
30
+ next: z.ZodOptional<z.ZodObject<{
31
+ attemptId: RunAttemptId;
32
+ status: z.ZodEnum<{
33
+ failed: "failed";
34
+ passed: "passed";
35
+ canceled: "canceled";
36
+ skipped: "skipped";
37
+ aborted: "aborted";
38
+ }>;
39
+ }, z.core.$strip>>;
40
+ previous: z.ZodOptional<z.ZodObject<{
41
+ attemptId: RunAttemptId;
42
+ status: z.ZodEnum<{
43
+ failed: "failed";
44
+ passed: "passed";
45
+ canceled: "canceled";
46
+ skipped: "skipped";
47
+ aborted: "aborted";
48
+ }>;
49
+ }, z.core.$strip>>;
50
+ total: z.ZodNumber;
51
+ }, z.core.$strip>;
52
+ runId: RunId;
53
+ runStatus: z.ZodEnum<{
54
+ failed: "failed";
55
+ queued: "queued";
56
+ running: "running";
57
+ passed: "passed";
58
+ canceled: "canceled";
59
+ superseded: "superseded";
60
+ }>;
61
+ artifacts: z.ZodObject<{
62
+ logsUrl: z.ZodOptional<z.ZodURL>;
63
+ traceUrl: z.ZodOptional<z.ZodURL>;
64
+ videoUrl: z.ZodOptional<z.ZodURL>;
65
+ }, z.core.$strip>;
66
+ artifactStatus: z.ZodLiteral<"signed">;
67
+ attempt: z.ZodObject<{
68
+ attemptId: RunAttemptId;
69
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
70
+ createdAt: z.ZodISODateTime;
71
+ error: z.ZodOptional<z.ZodString>;
72
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
73
+ kind: z.ZodLiteral<"automated">;
74
+ status: z.ZodEnum<{
75
+ failed: "failed";
76
+ passed: "passed";
77
+ canceled: "canceled";
78
+ skipped: "skipped";
79
+ aborted: "aborted";
80
+ }>;
81
+ }, z.core.$strip>;
82
+ }, z.core.$strip>, z.ZodObject<{
83
+ flowId: FlowId;
84
+ flowStatus: z.ZodEnum<{
85
+ failed: "failed";
86
+ queued: "queued";
87
+ running: "running";
88
+ passed: "passed";
89
+ canceled: "canceled";
90
+ }>;
91
+ retryContext: z.ZodObject<{
92
+ currentOrdinal: z.ZodNumber;
93
+ next: z.ZodOptional<z.ZodObject<{
94
+ attemptId: RunAttemptId;
95
+ status: z.ZodEnum<{
96
+ failed: "failed";
97
+ passed: "passed";
98
+ canceled: "canceled";
99
+ skipped: "skipped";
100
+ aborted: "aborted";
101
+ }>;
102
+ }, z.core.$strip>>;
103
+ previous: z.ZodOptional<z.ZodObject<{
104
+ attemptId: RunAttemptId;
105
+ status: z.ZodEnum<{
106
+ failed: "failed";
107
+ passed: "passed";
108
+ canceled: "canceled";
109
+ skipped: "skipped";
110
+ aborted: "aborted";
111
+ }>;
112
+ }, z.core.$strip>>;
113
+ total: z.ZodNumber;
114
+ }, z.core.$strip>;
115
+ runId: RunId;
116
+ runStatus: z.ZodEnum<{
117
+ failed: "failed";
118
+ queued: "queued";
119
+ running: "running";
120
+ passed: "passed";
121
+ canceled: "canceled";
122
+ superseded: "superseded";
123
+ }>;
124
+ artifacts: z.ZodObject<{}, z.core.$strict>;
125
+ artifactStatus: z.ZodLiteral<"signing-failed">;
126
+ attempt: z.ZodObject<{
127
+ attemptId: RunAttemptId;
128
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
129
+ createdAt: z.ZodISODateTime;
130
+ error: z.ZodOptional<z.ZodString>;
131
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
132
+ kind: z.ZodLiteral<"automated">;
133
+ status: z.ZodEnum<{
134
+ failed: "failed";
135
+ passed: "passed";
136
+ canceled: "canceled";
137
+ skipped: "skipped";
138
+ aborted: "aborted";
139
+ }>;
140
+ }, z.core.$strip>;
141
+ }, z.core.$strip>, z.ZodObject<{
142
+ flowId: FlowId;
143
+ flowStatus: z.ZodEnum<{
144
+ failed: "failed";
145
+ queued: "queued";
146
+ running: "running";
147
+ passed: "passed";
148
+ canceled: "canceled";
149
+ }>;
150
+ retryContext: z.ZodObject<{
151
+ currentOrdinal: z.ZodNumber;
152
+ next: z.ZodOptional<z.ZodObject<{
153
+ attemptId: RunAttemptId;
154
+ status: z.ZodEnum<{
155
+ failed: "failed";
156
+ passed: "passed";
157
+ canceled: "canceled";
158
+ skipped: "skipped";
159
+ aborted: "aborted";
160
+ }>;
161
+ }, z.core.$strip>>;
162
+ previous: z.ZodOptional<z.ZodObject<{
163
+ attemptId: RunAttemptId;
164
+ status: z.ZodEnum<{
165
+ failed: "failed";
166
+ passed: "passed";
167
+ canceled: "canceled";
168
+ skipped: "skipped";
169
+ aborted: "aborted";
170
+ }>;
171
+ }, z.core.$strip>>;
172
+ total: z.ZodNumber;
173
+ }, z.core.$strip>;
174
+ runId: RunId;
175
+ runStatus: z.ZodEnum<{
176
+ failed: "failed";
177
+ queued: "queued";
178
+ running: "running";
179
+ passed: "passed";
180
+ canceled: "canceled";
181
+ superseded: "superseded";
182
+ }>;
183
+ artifacts: z.ZodObject<{}, z.core.$strict>;
184
+ artifactStatus: z.ZodLiteral<"not-captured">;
185
+ attempt: z.ZodObject<{
186
+ attemptId: RunAttemptId;
187
+ completedAt: z.ZodOptional<z.ZodISODateTime>;
188
+ createdAt: z.ZodISODateTime;
189
+ error: z.ZodOptional<z.ZodString>;
190
+ startedAt: z.ZodOptional<z.ZodISODateTime>;
191
+ kind: z.ZodLiteral<"manual">;
192
+ status: z.ZodLiteral<"passed">;
193
+ }, z.core.$strip>;
194
+ }, z.core.$strip>], "artifactStatus">;
195
+ };
196
+ //# sourceMappingURL=getAttemptArtifacts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAttemptArtifacts.d.ts","sourceRoot":"","sources":["../../../src/v1/run/getAttemptArtifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAOhD,eAAO,MAAM,kCAAkC,GAC7C,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,cAAc,EACnC,KAAK;IACL,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;IACX,UAAU,EAAE,YAAY,CAAC;CAC1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiFA,CAAC"}
@@ -0,0 +1,78 @@
1
+ import { z } from "zod";
2
+ import { publicRunStatusValues, publicRunSummaryStatusValues, } from "./summary.js";
3
+ export const makeGetRunAttemptArtifactsContract = (ids) => {
4
+ const input = z.object({ attemptId: ids.runAttempt });
5
+ const attemptStatus = z.enum([
6
+ "passed",
7
+ "failed",
8
+ "canceled",
9
+ "aborted",
10
+ "skipped",
11
+ ]);
12
+ const attemptNeighbor = z.object({
13
+ attemptId: ids.runAttempt,
14
+ status: attemptStatus,
15
+ });
16
+ const response = z.object({
17
+ flowId: ids.flow,
18
+ flowStatus: z.enum(publicRunStatusValues),
19
+ retryContext: z.object({
20
+ currentOrdinal: z.number().int().min(1),
21
+ next: attemptNeighbor.optional(),
22
+ previous: attemptNeighbor.optional(),
23
+ total: z.number().int().min(1),
24
+ }),
25
+ runId: ids.run,
26
+ runStatus: z.enum(publicRunSummaryStatusValues),
27
+ });
28
+ const attempt = z.object({
29
+ attemptId: ids.runAttempt,
30
+ completedAt: z.iso.datetime().optional(),
31
+ createdAt: z.iso.datetime(),
32
+ error: z.string().optional(),
33
+ startedAt: z.iso.datetime().optional(),
34
+ });
35
+ const output = z.discriminatedUnion("artifactStatus", [
36
+ response.extend({
37
+ artifacts: z.object({
38
+ logsUrl: z.url().optional(),
39
+ traceUrl: z.url().optional(),
40
+ videoUrl: z.url().optional(),
41
+ }),
42
+ artifactStatus: z.literal("signed"),
43
+ attempt: attempt.extend({
44
+ kind: z.literal("automated"),
45
+ status: attemptStatus,
46
+ }),
47
+ }),
48
+ response.extend({
49
+ artifacts: z.object({}).strict(),
50
+ artifactStatus: z.literal("signing-failed"),
51
+ attempt: attempt.extend({
52
+ kind: z.literal("automated"),
53
+ status: attemptStatus,
54
+ }),
55
+ }),
56
+ response.extend({
57
+ artifacts: z.object({}).strict(),
58
+ artifactStatus: z.literal("not-captured"),
59
+ attempt: attempt.extend({
60
+ kind: z.literal("manual"),
61
+ status: z.literal("passed"),
62
+ }),
63
+ }),
64
+ ]);
65
+ return {
66
+ annotations: {
67
+ destructiveHint: false,
68
+ openWorldHint: false,
69
+ readOnlyHint: true,
70
+ },
71
+ description: "Get metadata and signed artifact URLs for one finished run attempt.",
72
+ input,
73
+ kind: "read",
74
+ name: "run.getAttemptArtifacts",
75
+ output,
76
+ };
77
+ };
78
+ //# sourceMappingURL=getAttemptArtifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAttemptArtifacts.js","sourceRoot":"","sources":["../../../src/v1/run/getAttemptArtifacts.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,13 @@ import { z } from "zod";
2
2
  import type { PublicIdSchema } from "../ids.js";
3
3
  /** The public status vocabulary, shared by a run and by each of its flows. */
4
4
  export declare const publicRunStatusValues: readonly ["queued", "running", "passed", "failed", "canceled"];
5
+ /**
6
+ * The run's own status vocabulary: the flow values plus the states only a
7
+ * whole run can be in. The deployment verdict's runs share it, so the two
8
+ * cannot disagree about a run; flow statuses and the `flowStatuses` filter
9
+ * keep the five shared values.
10
+ */
11
+ export declare const publicRunSummaryStatusValues: readonly ["queued", "running", "passed", "failed", "canceled", "superseded"];
5
12
  export declare const makeRunSummaryFields: <RunId extends PublicIdSchema>(ids: {
6
13
  run: RunId;
7
14
  }) => {
@@ -13,6 +20,7 @@ export declare const makeRunSummaryFields: <RunId extends PublicIdSchema>(ids: {
13
20
  commitSha: z.ZodOptional<z.ZodString>;
14
21
  commitUrl: z.ZodOptional<z.ZodString>;
15
22
  }, z.core.$strip>;
23
+ needsReview: z.ZodOptional<z.ZodBoolean>;
16
24
  runId: RunId;
17
25
  status: z.ZodEnum<{
18
26
  failed: "failed";
@@ -20,6 +28,11 @@ export declare const makeRunSummaryFields: <RunId extends PublicIdSchema>(ids: {
20
28
  running: "running";
21
29
  passed: "passed";
22
30
  canceled: "canceled";
31
+ superseded: "superseded";
23
32
  }>;
33
+ supersededBy: z.ZodOptional<z.ZodObject<{
34
+ runId: RunId;
35
+ url: z.ZodURL;
36
+ }, z.core.$strip>>;
24
37
  };
25
38
  //# sourceMappingURL=summary.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/v1/run/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,gEAMxB,CAAC;AAKX,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,cAAc,EAAE,KAAK;IACtE,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;CAkCC,CAAC"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../../src/v1/run/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,gEAMxB,CAAC;AAEX;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,8EAG/B,CAAC;AAKX,eAAO,MAAM,oBAAoB,GAAI,KAAK,SAAS,cAAc,EAAE,KAAK;IACtE,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;CAiDC,CAAC"}
@@ -7,6 +7,16 @@ export const publicRunStatusValues = [
7
7
  "failed",
8
8
  "canceled",
9
9
  ];
10
+ /**
11
+ * The run's own status vocabulary: the flow values plus the states only a
12
+ * whole run can be in. The deployment verdict's runs share it, so the two
13
+ * cannot disagree about a run; flow statuses and the `flowStatuses` filter
14
+ * keep the five shared values.
15
+ */
16
+ export const publicRunSummaryStatusValues = [
17
+ ...publicRunStatusValues,
18
+ "superseded",
19
+ ];
10
20
  // The shared run summary fields. run.find returns them as rows. run.get adds
11
21
  // the per-flow results to them. Both shapes come from this one factory, so
12
22
  // the shapes cannot become different.
@@ -31,12 +41,23 @@ export const makeRunSummaryFields = (ids) => ({
31
41
  .describe("Link to the commit on the code host."),
32
42
  })
33
43
  .describe("The branch and commit under test. The fields are present when a deploy notification started the run, and absent for runs started another way, for example manually or with run.create."),
44
+ needsReview: z
45
+ .boolean()
46
+ .optional()
47
+ .describe("True once every flow has finished its attempts and at least one failed flow still has no diagnosis, including one whose investigation carried over to a later run. `status` stays `running` until that failure is diagnosed, so a caller that is not waiting for a diagnosis can stop polling here and read the run's failed flows."),
34
48
  // Deliberately not described here: run.find builds its rows from this factory
35
49
  // too, and its rows answer no requested id, so wording about the id you asked
36
50
  // for belongs on run.get alone.
37
51
  runId: ids.run,
38
52
  status: z
39
- .enum(publicRunStatusValues)
40
- .describe("Whole-run status, and the value to gate a pipeline on. Terminal statuses are passed, failed, and canceled; poll until one is reached. `failed` means the run found a bug that is still open and serious enough to block — a lower-priority bug, or one since resolved, reads `passed`, and the per-flow diagnoses are still in `flows`. The run stays `running` while any investigation is unresolved, including one that carried over to a later run, so a terminal status always means a settled answer."),
53
+ .enum(publicRunSummaryStatusValues)
54
+ .describe("Whole-run status, and the value to gate a pipeline on. Terminal statuses are passed, failed, canceled, and superseded; poll until one is reached. `failed` means the run found a bug that is still open and serious enough to block — a lower-priority bug, or one since resolved, reads `passed`, and the per-flow diagnoses are still in `flows`. The run stays `running` while any investigation is unresolved, including one that carried over to a later run, so a terminal status always means a settled answer, and `needsReview` tells such a run apart from one that is still executing. `superseded` means a newer run replaced this one before it finished: it is not a pass, this run will never change again, and the verdict belongs to the run in `supersededBy`."),
55
+ supersededBy: z
56
+ .object({
57
+ runId: ids.run,
58
+ url: z.url().describe("Absolute URL of the replacement run's page."),
59
+ })
60
+ .optional()
61
+ .describe("The run that replaced this one, present only when `status` is `superseded`. A newer deployment to the same branch and environment (and service, when the deployment named one) cancels the older run's unfinished flows and takes over. Deduplication ignores the commit, so the replacement may be testing a later commit than this run did. Only the direct replacement is named; that run can itself be superseded."),
41
62
  });
42
63
  //# sourceMappingURL=summary.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/v1/run/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;CACF,CAAC;AAEX,6EAA6E;AAC7E,2EAA2E;AAC3E,sCAAsC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAA+B,GAElE,EAAE,EAAE,CAAC,CAAC;IACL,WAAW,EAAE,CAAC,CAAC,GAAG;SACf,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,+KAA+K,CAChL;IACH,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,mDAAmD;QACnD,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sCAAsC,CAAC;KACpD,CAAC;SACD,QAAQ,CACP,wLAAwL,CACzL;IACH,8EAA8E;IAC9E,8EAA8E;IAC9E,gCAAgC;IAChC,KAAK,EAAE,GAAG,CAAC,GAAG;IACd,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,qBAAqB,CAAC;SAC3B,QAAQ,CACP,4eAA4e,CAC7e;CACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../../src/v1/run/summary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,QAAQ;IACR,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,UAAU;CACF,CAAC;AAEX;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,GAAG,qBAAqB;IACxB,YAAY;CACJ,CAAC;AAEX,6EAA6E;AAC7E,2EAA2E;AAC3E,sCAAsC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAA+B,GAElE,EAAE,EAAE,CAAC,CAAC;IACL,WAAW,EAAE,CAAC,CAAC,GAAG;SACf,QAAQ,EAAE;SACV,QAAQ,EAAE;SACV,QAAQ,CACP,+KAA+K,CAChL;IACH,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE;IAC3B,GAAG,EAAE,CAAC;SACH,MAAM,CAAC;QACN,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,wEAAwE;QACxE,uEAAuE;QACvE,sEAAsE;QACtE,mDAAmD;QACnD,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,sCAAsC,CAAC;KACpD,CAAC;SACD,QAAQ,CACP,wLAAwL,CACzL;IACH,WAAW,EAAE,CAAC;SACX,OAAO,EAAE;SACT,QAAQ,EAAE;SACV,QAAQ,CACP,qUAAqU,CACtU;IACH,8EAA8E;IAC9E,8EAA8E;IAC9E,gCAAgC;IAChC,KAAK,EAAE,GAAG,CAAC,GAAG;IACd,MAAM,EAAE,CAAC;SACN,IAAI,CAAC,4BAA4B,CAAC;SAClC,QAAQ,CACP,kvBAAkvB,CACnvB;IACH,YAAY,EAAE,CAAC;SACZ,MAAM,CAAC;QACN,KAAK,EAAE,GAAG,CAAC,GAAG;QACd,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;KACrE,CAAC;SACD,QAAQ,EAAE;SACV,QAAQ,CACP,wZAAwZ,CACzZ;CACJ,CAAC,CAAC"}
@@ -1,4 +1,9 @@
1
1
  import { z } from "zod";
2
+ export declare const screenCoordinateSchema: z.ZodInt;
3
+ export declare const screenPointSchema: z.ZodObject<{
4
+ x: z.ZodInt;
5
+ y: z.ZodInt;
6
+ }, z.core.$strict>;
2
7
  /** The keyboard is held for 50 ms per character, so 200 of them is ten seconds. */
3
8
  export declare const maxTypedTextLength = 200;
4
9
  /** Only the two schemes a browser navigation means, matched on the parsed scheme. */
@@ -1 +1 @@
1
- {"version":3,"file":"browserAction.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/browserAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAatC,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,UAEH,CAAC;AAE7B,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA+C9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
1
+ {"version":3,"file":"browserAction.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/browserAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAaxB,eAAO,MAAM,sBAAsB,UAA0C,CAAC;AAE9E,eAAO,MAAM,iBAAiB;;;kBAG5B,CAAC;AAOH,mFAAmF;AACnF,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAatC,qFAAqF;AACrF,eAAO,MAAM,kBAAkB,UAEH,CAAC;AAE7B,iFAAiF;AACjF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BA+C9B,CAAC;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -1,15 +1,15 @@
1
1
  import { z } from "zod";
2
2
  /**
3
- * The input of `runner.performAction`, validated with the same schema by apex and
4
- * the runner. Only ever tighten a bound: pods deploy separately, so a widened
5
- * bound forwards actions an older pod rejects.
3
+ * The actions a browser runner performs, validated with the same schema by apex
4
+ * and the runner. Only ever tighten a bound: pods deploy separately, so a
5
+ * widened bound forwards actions an older pod rejects.
6
6
  *
7
7
  * `snake_case` on purpose: these are the computer-use tool names.
8
8
  */
9
9
  /** A whole pixel on the runner's virtual desktop. */
10
10
  const maxScreenCoordinate = 20_000;
11
- const screenCoordinateSchema = z.int().min(0).max(maxScreenCoordinate);
12
- const screenPointSchema = z.strictObject({
11
+ export const screenCoordinateSchema = z.int().min(0).max(maxScreenCoordinate);
12
+ export const screenPointSchema = z.strictObject({
13
13
  x: screenCoordinateSchema,
14
14
  y: screenCoordinateSchema,
15
15
  });
@@ -1 +1 @@
1
- {"version":3,"file":"browserAction.js","sourceRoot":"","sources":["../../../src/v1/runner/browserAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,sBAAsB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAEvE,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IACvC,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,sBAAsB;CAC1B,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAE3E,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,4CAA4C;AAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;KAC7B,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE7B,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,CAAC,CAAC,YAAY,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,iBAAiB,CAAC;aACxB,GAAG,CAAC,iBAAiB,CAAC;aACtB,GAAG,CAAC,iBAAiB,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACxB,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,eAAe,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;IACF,mFAAmF;IACnF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,GAAG,EAAE,kBAAkB;KACxB,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACxB,CAAC;CACH,CAAC,CAAC"}
1
+ {"version":3,"file":"browserAction.js","sourceRoot":"","sources":["../../../src/v1/runner/browserAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;GAMG;AAEH,qDAAqD;AACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEnC,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,YAAY,CAAC;IAC9C,CAAC,EAAE,sBAAsB;IACzB,CAAC,EAAE,sBAAsB;CAC1B,CAAC,CAAC;AAEH,0EAA0E;AAC1E,MAAM,cAAc,GAAG,KAAK,CAAC;AAE7B,MAAM,iBAAiB,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAE3E,mFAAmF;AACnF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,8EAA8E;AAC9E,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,gBAAgB,GAAG,EAAE,CAAC;AAE5B,gFAAgF;AAChF,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,4CAA4C;AAC5C,MAAM,oBAAoB,GAAG,IAAI,CAAC;AAElC,qFAAqF;AACrF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,GAAG,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;KAC7B,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAE7B,iFAAiF;AACjF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC9D,CAAC,CAAC,YAAY,CAAC;QACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAChE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;QACxB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;QAC/B,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,QAAQ,EAAE,iBAAiB;QAC3B,QAAQ,EAAE,iBAAiB;QAC3B,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QACzB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACvB,CAAC,EAAE,sBAAsB;QACzB,CAAC,EAAE,sBAAsB;KAC1B,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,iBAAiB,CAAC;aACxB,GAAG,CAAC,iBAAiB,CAAC;aACtB,GAAG,CAAC,iBAAiB,CAAC;QACzB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACxB,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC;aACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;aAC9C,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,eAAe,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;IACF,mFAAmF;IACnF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;QAC3B,GAAG,EAAE,kBAAkB;KACxB,CAAC;IACF,CAAC,CAAC,YAAY,CAAC;QACb,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,kBAAkB,CAAC;QAC/C,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;KACxB,CAAC;CACH,CAAC,CAAC"}
@@ -40,12 +40,14 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
40
40
  playwright: "playwright";
41
41
  android: "android";
42
42
  ios: "ios";
43
+ windows: "windows";
43
44
  }>;
44
45
  runnerName: import("zod").ZodEnum<{
45
46
  basic: "basic";
46
47
  playwright: "playwright";
47
48
  android: "android";
48
49
  ios: "ios";
50
+ windows: "windows";
49
51
  }>;
50
52
  }, import("zod/v4/core").$strip>, import("zod").ZodObject<{
51
53
  failureReason: import("zod").ZodLiteral<"needs-full-sync">;
@@ -85,7 +87,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
85
87
  readonly openWorldHint: false;
86
88
  readonly readOnlyHint: false;
87
89
  };
88
- 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.";
90
+ 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.";
89
91
  readonly input: import("zod").ZodObject<{
90
92
  id: import("zod").ZodString;
91
93
  workspaceId: import("zod").ZodOptional<WorkspaceId>;
@@ -623,6 +625,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
623
625
  playwright: "playwright";
624
626
  android: "android";
625
627
  ios: "ios";
628
+ windows: "windows";
626
629
  }>>;
627
630
  workspaceId: import("zod").ZodOptional<WorkspaceId>;
628
631
  }, import("zod/v4/core").$strip>;
@@ -636,6 +639,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
636
639
  playwright: "playwright";
637
640
  android: "android";
638
641
  ios: "ios";
642
+ windows: "windows";
639
643
  }>;
640
644
  url: import("zod").ZodURL;
641
645
  alreadyRunning: import("zod").ZodBoolean;
@@ -664,6 +668,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
664
668
  playwright: "playwright";
665
669
  android: "android";
666
670
  ios: "ios";
671
+ windows: "windows";
667
672
  }>;
668
673
  url: import("zod").ZodURL;
669
674
  }, import("zod/v4/core").$strip>>;
@@ -675,7 +680,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
675
680
  readonly openWorldHint: true;
676
681
  readonly readOnlyHint: false;
677
682
  };
678
- 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.";
683
+ 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.";
679
684
  readonly input: import("zod").ZodObject<{
680
685
  action: import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
681
686
  button: import("zod").ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
@@ -711,6 +716,36 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
711
716
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
712
717
  text: import("zod").ZodString;
713
718
  type: import("zod").ZodLiteral<"type">;
719
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
720
+ selector: import("zod").ZodOptional<import("zod").ZodString>;
721
+ strategy: import("zod").ZodOptional<import("zod").ZodEnum<{
722
+ "ios-predicate": "ios-predicate";
723
+ shadow: "shadow";
724
+ xpath: "xpath";
725
+ }>>;
726
+ type: import("zod").ZodLiteral<"tap">;
727
+ x: import("zod").ZodOptional<import("zod").ZodInt>;
728
+ y: import("zod").ZodOptional<import("zod").ZodInt>;
729
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
730
+ duration_ms: import("zod").ZodOptional<import("zod").ZodInt>;
731
+ from: import("zod").ZodObject<{
732
+ x: import("zod").ZodInt;
733
+ y: import("zod").ZodInt;
734
+ }, import("zod/v4/core").$strict>;
735
+ to: import("zod").ZodObject<{
736
+ x: import("zod").ZodInt;
737
+ y: import("zod").ZodInt;
738
+ }, import("zod/v4/core").$strict>;
739
+ type: import("zod").ZodLiteral<"swipe">;
740
+ }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
741
+ selector: import("zod").ZodString;
742
+ strategy: import("zod").ZodOptional<import("zod").ZodEnum<{
743
+ "ios-predicate": "ios-predicate";
744
+ shadow: "shadow";
745
+ xpath: "xpath";
746
+ }>>;
747
+ text: import("zod").ZodString;
748
+ type: import("zod").ZodLiteral<"fill">;
714
749
  }, import("zod/v4/core").$strict>], "type">;
715
750
  id: import("zod").ZodString;
716
751
  withScreenshot: import("zod").ZodOptional<import("zod").ZodBoolean>;
@@ -733,6 +768,7 @@ export declare const makeRunnerContracts: <FlowId extends PublicIdSchema, Worksp
733
768
  "screen-not-ready": "screen-not-ready";
734
769
  "runner-has-no-screen": "runner-has-no-screen";
735
770
  "action-not-supported-on-mobile": "action-not-supported-on-mobile";
771
+ "action-not-supported-on-browser": "action-not-supported-on-browser";
736
772
  }>;
737
773
  outcome: import("zod").ZodLiteral<"failure">;
738
774
  }, import("zod/v4/core").$strip>], "failureReason">], "outcome">;
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsBhD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,cAAc,EAC7B,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBC,CAAC"}
1
+ {"version":3,"file":"catalog.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/catalog.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAsBhD,eAAO,MAAM,mBAAmB,GAC9B,MAAM,SAAS,cAAc,EAC7B,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkBC,CAAC"}
@@ -4,6 +4,7 @@ export declare const runnerNameSchema: z.ZodEnum<{
4
4
  playwright: "playwright";
5
5
  android: "android";
6
6
  ios: "ios";
7
+ windows: "windows";
7
8
  }>;
8
9
  export type RunnerNameForPublicApi = z.infer<typeof runnerNameSchema>;
9
10
  export declare const runnerWorkspaceRequirement = "Read it from whoami.";
@@ -19,6 +20,7 @@ export declare const makeRunnerSchema: () => z.ZodObject<{
19
20
  playwright: "playwright";
20
21
  android: "android";
21
22
  ios: "ios";
23
+ windows: "windows";
22
24
  }>;
23
25
  url: z.ZodURL;
24
26
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;EAK3B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,eAAO,MAAM,4BAA4B,8DAAuE,CAAC;AAEjH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAEJ,eAAO,MAAM,oBAAoB,UAI9B,CAAC;AAEJ,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;;iBAczB,CAAC"}
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;EAM3B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEtE,eAAO,MAAM,0BAA0B,yBAAyB,CAAC;AAEjE,eAAO,MAAM,4BAA4B,8DAAuE,CAAC;AAEjH,eAAO,MAAM,cAAc,aAOxB,CAAC;AAEJ,eAAO,MAAM,oBAAoB,UAI9B,CAAC;AAEJ,2CAA2C;AAC3C,eAAO,MAAM,gBAAgB;;;;;;;;;;;iBAczB,CAAC"}
@@ -4,6 +4,7 @@ export const runnerNameSchema = z.enum([
4
4
  "playwright",
5
5
  "android",
6
6
  "ios",
7
+ "windows",
7
8
  ]);
8
9
  export const runnerWorkspaceRequirement = "Read it from whoami.";
9
10
  export const runnerWorkspaceIdDescription = `The workspace the runner belongs to. ${runnerWorkspaceRequirement}`;
@@ -1 +1 @@
1
- {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,OAAO;IACP,YAAY;IACZ,SAAS;IACT,KAAK;CACN,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAEjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,wCAAwC,0BAA0B,EAAE,CAAC;AAEjH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,iCAAiC,EACjC,mHAAmH,CACpH,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,GAAG,EAAE;KACL,QAAQ,CACP,skBAAskB,CACvkB,CAAC;AAEJ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CACP,+IAA+I,CAChJ;IACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,iDAAiD,CAClD;IACD,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CACnC,gIAAgI,CACjI;IACD,GAAG,EAAE,oBAAoB;CAC1B,CAAC,CAAC"}
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/v1/runner/identity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,IAAI,CAAC;IACrC,OAAO;IACP,YAAY;IACZ,SAAS;IACT,KAAK;IACL,SAAS;CACV,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,0BAA0B,GAAG,sBAAsB,CAAC;AAEjE,MAAM,CAAC,MAAM,4BAA4B,GAAG,wCAAwC,0BAA0B,EAAE,CAAC;AAEjH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,GAAG,CAAC,EAAE,CAAC;KACP,KAAK,CACJ,iCAAiC,EACjC,mHAAmH,CACpH,CAAC;AAEJ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,GAAG,EAAE;KACL,QAAQ,CACP,skBAAskB,CACvkB,CAAC;AAEJ,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,EAAE,CACnC,CAAC,CAAC,MAAM,CAAC;IACP,cAAc,EAAE,CAAC;SACd,OAAO,EAAE;SACT,QAAQ,CACP,+IAA+I,CAChJ;IACH,EAAE,EAAE,cAAc,CAAC,QAAQ,CACzB,iDAAiD,CAClD;IACD,UAAU,EAAE,gBAAgB,CAAC,QAAQ,CACnC,gIAAgI,CACjI;IACD,GAAG,EAAE,oBAAoB;CAC1B,CAAC,CAAC"}
@@ -17,6 +17,7 @@ export declare const makeLaunchRunnerContract: <WorkspaceId extends PublicIdSche
17
17
  playwright: "playwright";
18
18
  android: "android";
19
19
  ios: "ios";
20
+ windows: "windows";
20
21
  }>>;
21
22
  workspaceId: z.ZodOptional<WorkspaceId>;
22
23
  }, z.core.$strip>;
@@ -30,6 +31,7 @@ export declare const makeLaunchRunnerContract: <WorkspaceId extends PublicIdSche
30
31
  playwright: "playwright";
31
32
  android: "android";
32
33
  ios: "ios";
34
+ windows: "windows";
33
35
  }>;
34
36
  url: z.ZodURL;
35
37
  alreadyRunning: z.ZodBoolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWhD,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DA,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;CAmCA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAWhD,eAAO,MAAM,wBAAwB,GACnC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2DA,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;CAmCA,CAAC"}
@@ -1,5 +1,11 @@
1
1
  import { z } from "zod";
2
2
  import type { PublicIdSchema } from "../ids.js";
3
+ /** Duplicated from the private `domain-runner-types` package, which this published one can't import. */
4
+ export declare const selectorStrategySchema: z.ZodEnum<{
5
+ "ios-predicate": "ios-predicate";
6
+ shadow: "shadow";
7
+ xpath: "xpath";
8
+ }>;
3
9
  export declare const inspectMobileRequestSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
4
10
  what: z.ZodLiteral<"session">;
5
11
  }, z.core.$strip>, z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"inspectMobile.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspectMobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA8DhD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA0BrC,CAAC;AA4CH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCA,CAAC"}
1
+ {"version":3,"file":"inspectMobile.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspectMobile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAuBhD,wGAAwG;AACxG,eAAO,MAAM,sBAAsB;;;;EAIjC,CAAC;AAsCH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mCA0BrC,CAAC;AA4CH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,iCAAiC,GAC5C,WAAW,SAAS,cAAc,EAClC,KAAK;IACL,SAAS,EAAE,WAAW,CAAC;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCA,CAAC"}