@qawolf/api-contracts 0.29.0 → 0.32.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 (38) hide show
  1. package/dist/v1/environment/find.d.ts +1 -1
  2. package/dist/v1/environment/index.d.ts +2 -2
  3. package/dist/v1/environment/resource.d.ts +1 -1
  4. package/dist/v1/environment/update.d.ts +1 -1
  5. package/dist/v1/index.d.ts +39 -27
  6. package/dist/v1/index.d.ts.map +1 -1
  7. package/dist/v1/index.js +4 -18
  8. package/dist/v1/index.js.map +1 -1
  9. package/dist/v1/run/index.d.ts +8 -0
  10. package/dist/v1/run/index.d.ts.map +1 -1
  11. package/dist/v1/run/index.js +16 -2
  12. package/dist/v1/run/index.js.map +1 -1
  13. package/dist/v1/runner/environment.js +1 -1
  14. package/dist/v1/runner/files.js +1 -1
  15. package/dist/v1/runner/inspect.d.ts +1 -0
  16. package/dist/v1/runner/inspect.d.ts.map +1 -1
  17. package/dist/v1/runner/inspect.js +6 -2
  18. package/dist/v1/runner/inspect.js.map +1 -1
  19. package/dist/v1/runner/inspectMobile.d.ts +226 -0
  20. package/dist/v1/runner/inspectMobile.d.ts.map +1 -0
  21. package/dist/v1/runner/inspectMobile.js +118 -0
  22. package/dist/v1/runner/inspectMobile.js.map +1 -0
  23. package/dist/v1/runner/inspectMobileShapes.d.ts +73 -0
  24. package/dist/v1/runner/inspectMobileShapes.d.ts.map +1 -0
  25. package/dist/v1/runner/inspectMobileShapes.js +59 -0
  26. package/dist/v1/runner/inspectMobileShapes.js.map +1 -0
  27. package/dist/v1/runner/performAction.d.ts +3 -2
  28. package/dist/v1/runner/performAction.d.ts.map +1 -1
  29. package/dist/v1/runner/performAction.js +3 -1
  30. package/dist/v1/runner/performAction.js.map +1 -1
  31. package/dist/v1/runner/takeScreenshot.d.ts +2 -2
  32. package/dist/v1/runner/takeScreenshot.js +1 -1
  33. package/dist/v1/runner/takeScreenshot.js.map +1 -1
  34. package/dist/v1/runnerReexports.d.ts +11 -0
  35. package/dist/v1/runnerReexports.d.ts.map +1 -0
  36. package/dist/v1/runnerReexports.js +23 -0
  37. package/dist/v1/runnerReexports.js.map +1 -0
  38. package/package.json +2 -2
@@ -38,9 +38,9 @@ export declare const makeFindEnvironmentsContract: <EnvironmentId extends Public
38
38
  name: z.ZodString;
39
39
  runConcurrencyLimit: z.ZodString;
40
40
  status: z.ZodEnum<{
41
+ ready: "ready";
41
42
  blocked: "blocked";
42
43
  "needs-investigation": "needs-investigation";
43
- ready: "ready";
44
44
  running: "running";
45
45
  }>;
46
46
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -26,9 +26,9 @@ export declare const makeGetEnvironmentContract: <EnvironmentId extends PublicId
26
26
  name: z.ZodString;
27
27
  runConcurrencyLimit: z.ZodString;
28
28
  status: z.ZodEnum<{
29
+ ready: "ready";
29
30
  blocked: "blocked";
30
31
  "needs-investigation": "needs-investigation";
31
- ready: "ready";
32
32
  running: "running";
33
33
  }>;
34
34
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -86,9 +86,9 @@ export declare const makeCreateEnvironmentContract: <EnvironmentId extends Publi
86
86
  name: z.ZodString;
87
87
  runConcurrencyLimit: z.ZodString;
88
88
  status: z.ZodEnum<{
89
+ ready: "ready";
89
90
  blocked: "blocked";
90
91
  "needs-investigation": "needs-investigation";
91
- ready: "ready";
92
92
  running: "running";
93
93
  }>;
94
94
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -21,9 +21,9 @@ export declare const makeEnvironmentResourceSchema: <EnvironmentId extends Publi
21
21
  name: z.ZodString;
22
22
  runConcurrencyLimit: z.ZodString;
23
23
  status: z.ZodEnum<{
24
+ ready: "ready";
24
25
  blocked: "blocked";
25
26
  "needs-investigation": "needs-investigation";
26
- ready: "ready";
27
27
  running: "running";
28
28
  }>;
29
29
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -28,9 +28,9 @@ export declare const makeUpdateEnvironmentContract: <EnvironmentId extends Publi
28
28
  name: z.ZodString;
29
29
  runConcurrencyLimit: z.ZodString;
30
30
  status: z.ZodEnum<{
31
+ ready: "ready";
31
32
  blocked: "blocked";
32
33
  "needs-investigation": "needs-investigation";
33
- ready: "ready";
34
34
  running: "running";
35
35
  }>;
36
36
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -3,15 +3,7 @@ export type { AnyPublicApiContract, PublicApiContract, PublicApiContractKind, }
3
3
  export { type IdentityResponse, identityResponse } from "./identity/index.js";
4
4
  export { type PublicIdSchema, type PublicIdSchemas, defaultIdSchemas, } from "./ids.js";
5
5
  export { makeFlowSelectionSchema } from "./run/index.js";
6
- export { type BrowserAction, browserActionSchema, } from "./runner/browserAction.js";
7
- export { runEnvironmentSchema } from "./runner/environment.js";
8
- export { isShippableRunFilePath, runFilePathSchema, runPackageJsonPath, shippableRunFileExtensions, } from "./runner/files.js";
9
- export { type RunnerNameForPublicApi, makeRunnerSchema, runnerIdSchema, runnerNameSchema, } from "./runner/identity.js";
10
- export { type InspectOnRunnerRequest, inspectRequestSchema, } from "./runner/inspect.js";
11
- export { type JournalEntry, type JournalStream, type KnownJournalStream, type ReadJournalRequest, type ReadJournalResponse, journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
12
- export { type RunFiles, maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
13
- export { maxActionErrorMessageLength } from "./runner/performAction.js";
14
- export { type RunSelection, runSelectionSchema, } from "./runner/runSelection.js";
6
+ export * from "./runnerReexports.js";
15
7
  import type { AnyPublicApiContract } from "./definition.js";
16
8
  import { type PublicIdSchema, type PublicIdSchemasOf } from "./ids.js";
17
9
  export type PublicApiInput<Api extends AnyPublicApiContract> = z.input<Api["input"]>;
@@ -66,9 +58,9 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
66
58
  name: z.ZodString;
67
59
  runConcurrencyLimit: z.ZodString;
68
60
  status: z.ZodEnum<{
61
+ ready: "ready";
69
62
  blocked: "blocked";
70
63
  "needs-investigation": "needs-investigation";
71
- ready: "ready";
72
64
  running: "running";
73
65
  }>;
74
66
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -122,9 +114,9 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
122
114
  name: z.ZodString;
123
115
  runConcurrencyLimit: z.ZodString;
124
116
  status: z.ZodEnum<{
117
+ ready: "ready";
125
118
  blocked: "blocked";
126
119
  "needs-investigation": "needs-investigation";
127
- ready: "ready";
128
120
  running: "running";
129
121
  }>;
130
122
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -159,9 +151,9 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
159
151
  name: z.ZodString;
160
152
  runConcurrencyLimit: z.ZodString;
161
153
  status: z.ZodEnum<{
154
+ ready: "ready";
162
155
  blocked: "blocked";
163
156
  "needs-investigation": "needs-investigation";
164
- ready: "ready";
165
157
  running: "running";
166
158
  }>;
167
159
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -236,9 +228,9 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
236
228
  name: z.ZodString;
237
229
  runConcurrencyLimit: z.ZodString;
238
230
  status: z.ZodEnum<{
231
+ ready: "ready";
239
232
  blocked: "blocked";
240
233
  "needs-investigation": "needs-investigation";
241
- ready: "ready";
242
234
  running: "running";
243
235
  }>;
244
236
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -614,6 +606,14 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
614
606
  readonly kind: "write";
615
607
  readonly name: "run.create";
616
608
  readonly output: z.ZodObject<{
609
+ excludedFlows: z.ZodArray<z.ZodObject<{
610
+ flowId: FlowId;
611
+ name: z.ZodString;
612
+ reason: z.ZodEnum<{
613
+ deleted: "deleted";
614
+ "not-on-branch": "not-on-branch";
615
+ }>;
616
+ }, z.core.$strip>>;
617
617
  runId: RunId;
618
618
  url: z.ZodURL;
619
619
  }, z.core.$strip>;
@@ -843,6 +843,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
843
843
  failureReason: z.ZodEnum<{
844
844
  "runner-unreachable": "runner-unreachable";
845
845
  "nothing-to-inspect": "nothing-to-inspect";
846
+ "runner-is-not-a-browser": "runner-is-not-a-browser";
846
847
  }>;
847
848
  outcome: z.ZodLiteral<"failure">;
848
849
  }, z.core.$strip>], "outcome">;
@@ -874,7 +875,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
874
875
  }, z.core.$strip>;
875
876
  };
876
877
  performAction: {
877
- readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). 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. `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. A `navigate` does not go through the screen, so a screen that is not ready does not stop 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.";
878
+ readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). 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. A `navigate` does not go through the screen, so a screen that is not ready does not stop 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. `action-not-supported-on-mobile` if the runner is a mobile device and this action has no touchscreen equivalent: `double_click`, `scroll`, `move`, `keypress` and `navigate`, and a `click` whose `button` is not `left`, are all pointer-device concepts a touchscreen has nothing to offer for. `click` taps, `drag` swipes between its path's first and last point, and `type` types into whatever the last tap focused. `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.";
878
879
  readonly input: z.ZodObject<{
879
880
  action: z.ZodDiscriminatedUnion<[z.ZodObject<{
880
881
  button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
@@ -924,9 +925,10 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
924
925
  }, z.core.$strip>, z.ZodObject<{
925
926
  failureReason: z.ZodEnum<{
926
927
  "runner-unreachable": "runner-unreachable";
927
- "runner-has-no-screen": "runner-has-no-screen";
928
928
  "screen-needs-a-run": "screen-needs-a-run";
929
929
  "screen-not-ready": "screen-not-ready";
930
+ "runner-has-no-screen": "runner-has-no-screen";
931
+ "action-not-supported-on-mobile": "action-not-supported-on-mobile";
930
932
  }>;
931
933
  outcome: z.ZodLiteral<"failure">;
932
934
  }, z.core.$strip>], "failureReason">], "outcome">;
@@ -947,7 +949,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
947
949
  payload: z.ZodUnknown;
948
950
  recordedAt: z.ZodISODateTime;
949
951
  sequence: z.ZodNumber;
950
- }, z.core.$strip>, z.ZodTransform<import("./runner/journal.js").JournalEntry<unknown>, {
952
+ }, z.core.$strip>, z.ZodTransform<import("./runnerReexports.js").JournalEntry<unknown>, {
951
953
  payload: unknown;
952
954
  recordedAt: string;
953
955
  sequence: number;
@@ -1025,7 +1027,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1025
1027
  }, z.core.$strip>], "outcome">;
1026
1028
  };
1027
1029
  takeScreenshot: {
1028
- readonly description: "Take one screenshot of an interactive runner's screen. The image is the runner's whole virtual desktop, browser window and all. `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.";
1030
+ 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. 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.";
1029
1031
  readonly input: z.ZodObject<{
1030
1032
  id: z.ZodString;
1031
1033
  }, z.core.$strip>;
@@ -1037,9 +1039,9 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
1037
1039
  }, z.core.$strip>, z.ZodObject<{
1038
1040
  failureReason: z.ZodEnum<{
1039
1041
  "runner-unreachable": "runner-unreachable";
1040
- "runner-has-no-screen": "runner-has-no-screen";
1041
1042
  "screen-needs-a-run": "screen-needs-a-run";
1042
1043
  "screen-not-ready": "screen-not-ready";
1044
+ "runner-has-no-screen": "runner-has-no-screen";
1043
1045
  }>;
1044
1046
  outcome: z.ZodLiteral<"failure">;
1045
1047
  }, z.core.$strip>], "outcome">;
@@ -1139,9 +1141,9 @@ export declare const publicContractsV1: {
1139
1141
  name: z.ZodString;
1140
1142
  runConcurrencyLimit: z.ZodString;
1141
1143
  status: z.ZodEnum<{
1144
+ ready: "ready";
1142
1145
  blocked: "blocked";
1143
1146
  "needs-investigation": "needs-investigation";
1144
- ready: "ready";
1145
1147
  running: "running";
1146
1148
  }>;
1147
1149
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1195,9 +1197,9 @@ export declare const publicContractsV1: {
1195
1197
  name: z.ZodString;
1196
1198
  runConcurrencyLimit: z.ZodString;
1197
1199
  status: z.ZodEnum<{
1200
+ ready: "ready";
1198
1201
  blocked: "blocked";
1199
1202
  "needs-investigation": "needs-investigation";
1200
- ready: "ready";
1201
1203
  running: "running";
1202
1204
  }>;
1203
1205
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1232,9 +1234,9 @@ export declare const publicContractsV1: {
1232
1234
  name: z.ZodString;
1233
1235
  runConcurrencyLimit: z.ZodString;
1234
1236
  status: z.ZodEnum<{
1237
+ ready: "ready";
1235
1238
  blocked: "blocked";
1236
1239
  "needs-investigation": "needs-investigation";
1237
- ready: "ready";
1238
1240
  running: "running";
1239
1241
  }>;
1240
1242
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1309,9 +1311,9 @@ export declare const publicContractsV1: {
1309
1311
  name: z.ZodString;
1310
1312
  runConcurrencyLimit: z.ZodString;
1311
1313
  status: z.ZodEnum<{
1314
+ ready: "ready";
1312
1315
  blocked: "blocked";
1313
1316
  "needs-investigation": "needs-investigation";
1314
- ready: "ready";
1315
1317
  running: "running";
1316
1318
  }>;
1317
1319
  terminatedAt: z.ZodOptional<z.ZodISODateTime>;
@@ -1687,6 +1689,14 @@ export declare const publicContractsV1: {
1687
1689
  readonly kind: "write";
1688
1690
  readonly name: "run.create";
1689
1691
  readonly output: z.ZodObject<{
1692
+ excludedFlows: z.ZodArray<z.ZodObject<{
1693
+ flowId: PublicIdSchema;
1694
+ name: z.ZodString;
1695
+ reason: z.ZodEnum<{
1696
+ deleted: "deleted";
1697
+ "not-on-branch": "not-on-branch";
1698
+ }>;
1699
+ }, z.core.$strip>>;
1690
1700
  runId: PublicIdSchema;
1691
1701
  url: z.ZodURL;
1692
1702
  }, z.core.$strip>;
@@ -1916,6 +1926,7 @@ export declare const publicContractsV1: {
1916
1926
  failureReason: z.ZodEnum<{
1917
1927
  "runner-unreachable": "runner-unreachable";
1918
1928
  "nothing-to-inspect": "nothing-to-inspect";
1929
+ "runner-is-not-a-browser": "runner-is-not-a-browser";
1919
1930
  }>;
1920
1931
  outcome: z.ZodLiteral<"failure">;
1921
1932
  }, z.core.$strip>], "outcome">;
@@ -1947,7 +1958,7 @@ export declare const publicContractsV1: {
1947
1958
  }, z.core.$strip>;
1948
1959
  };
1949
1960
  performAction: {
1950
- readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). 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. `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. A `navigate` does not go through the screen, so a screen that is not ready does not stop 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.";
1961
+ readonly description: "Perform one raw browser action on an interactive runner: click, double_click, move, drag, scroll, keypress, type, or navigate. Coordinates are whole pixels on the runner's virtual desktop, in the same space as `runner.takeScreenshot`. One action per request, and the runner serves one at a time. The action shapes follow the computer-use vocabulary, minus `screenshot` (use `runner.takeScreenshot`) and `wait` (delay on the caller's side). 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. A `navigate` does not go through the screen, so a screen that is not ready does not stop 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. `action-not-supported-on-mobile` if the runner is a mobile device and this action has no touchscreen equivalent: `double_click`, `scroll`, `move`, `keypress` and `navigate`, and a `click` whose `button` is not `left`, are all pointer-device concepts a touchscreen has nothing to offer for. `click` taps, `drag` swipes between its path's first and last point, and `type` types into whatever the last tap focused. `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.";
1951
1962
  readonly input: z.ZodObject<{
1952
1963
  action: z.ZodDiscriminatedUnion<[z.ZodObject<{
1953
1964
  button: z.ZodLiteral<"left" | "right" | "wheel" | "back" | "forward">;
@@ -1997,9 +2008,10 @@ export declare const publicContractsV1: {
1997
2008
  }, z.core.$strip>, z.ZodObject<{
1998
2009
  failureReason: z.ZodEnum<{
1999
2010
  "runner-unreachable": "runner-unreachable";
2000
- "runner-has-no-screen": "runner-has-no-screen";
2001
2011
  "screen-needs-a-run": "screen-needs-a-run";
2002
2012
  "screen-not-ready": "screen-not-ready";
2013
+ "runner-has-no-screen": "runner-has-no-screen";
2014
+ "action-not-supported-on-mobile": "action-not-supported-on-mobile";
2003
2015
  }>;
2004
2016
  outcome: z.ZodLiteral<"failure">;
2005
2017
  }, z.core.$strip>], "failureReason">], "outcome">;
@@ -2020,7 +2032,7 @@ export declare const publicContractsV1: {
2020
2032
  payload: z.ZodUnknown;
2021
2033
  recordedAt: z.ZodISODateTime;
2022
2034
  sequence: z.ZodNumber;
2023
- }, z.core.$strip>, z.ZodTransform<import("./runner/journal.js").JournalEntry<unknown>, {
2035
+ }, z.core.$strip>, z.ZodTransform<import("./runnerReexports.js").JournalEntry<unknown>, {
2024
2036
  payload: unknown;
2025
2037
  recordedAt: string;
2026
2038
  sequence: number;
@@ -2098,7 +2110,7 @@ export declare const publicContractsV1: {
2098
2110
  }, z.core.$strip>], "outcome">;
2099
2111
  };
2100
2112
  takeScreenshot: {
2101
- readonly description: "Take one screenshot of an interactive runner's screen. The image is the runner's whole virtual desktop, browser window and all. `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.";
2113
+ 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. 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.";
2102
2114
  readonly input: z.ZodObject<{
2103
2115
  id: z.ZodString;
2104
2116
  }, z.core.$strip>;
@@ -2110,9 +2122,9 @@ export declare const publicContractsV1: {
2110
2122
  }, z.core.$strip>, z.ZodObject<{
2111
2123
  failureReason: z.ZodEnum<{
2112
2124
  "runner-unreachable": "runner-unreachable";
2113
- "runner-has-no-screen": "runner-has-no-screen";
2114
2125
  "screen-needs-a-run": "screen-needs-a-run";
2115
2126
  "screen-not-ready": "screen-not-ready";
2127
+ "runner-has-no-screen": "runner-has-no-screen";
2116
2128
  }>;
2117
2129
  outcome: z.ZodLiteral<"failure">;
2118
2130
  }, z.core.$strip>], "outcome">;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,cAAc,sBAAsB,CAAC;AAGrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAc5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,UAAU,CAAC;AAwBlB,MAAM,MAAM,cAAc,CAAC,GAAG,SAAS,oBAAoB,IAAI,CAAC,CAAC,KAAK,CACpE,GAAG,CAAC,OAAO,CAAC,CACb,CAAC;AAEF,MAAM,MAAM,eAAe,CAAC,GAAG,SAAS,oBAAoB,IAAI,CAAC,CAAC,KAAK,CACrE,GAAG,CAAC,QAAQ,CAAC,CACd,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAC1B,aAAa,SAAS,cAAc,EACpC,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,YAAY,SAAS,cAAc,GAAG,cAAc,EACpD,OAAO,SAAS,cAAc,GAAG,cAAc,EAC/C,WAAW,SAAS,cAAc,GAAG,cAAc,EACnD,QAAQ,SAAS,cAAc,GAAG,cAAc,EAEhD,KAAK,iBAAiB,CACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,CACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuDF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoC,CAAC"}
package/dist/v1/index.js CHANGED
@@ -1,24 +1,7 @@
1
1
  export { identityResponse } from "./identity/index.js";
2
2
  export { defaultIdSchemas, } from "./ids.js";
3
3
  export { makeFlowSelectionSchema } from "./run/index.js";
4
- export { browserActionSchema, } from "./runner/browserAction.js";
5
- // Carries the reservation of QA Wolf's own variable names, which the server
6
- // validates with rather than restating — a second copy of that rule is how the
7
- // reservation comes to differ from what is actually stamped.
8
- export { runEnvironmentSchema } from "./runner/environment.js";
9
- // The travel rule for files bound for a runner: which files travel, how much may
10
- // travel, and what environment a run may carry. A client needs the predicate and
11
- // the size bounds to collect and pre-check with; the schemas are also what the
12
- // server and the runner validate with, so they are shared rather than restated.
13
- export { isShippableRunFilePath, runFilePathSchema, runPackageJsonPath, shippableRunFileExtensions, } from "./runner/files.js";
14
- export { makeRunnerSchema, runnerIdSchema, runnerNameSchema, } from "./runner/identity.js";
15
- export { inspectRequestSchema, } from "./runner/inspect.js";
16
- // A journal read is answered verbatim by the public API, so its wire shapes are
17
- // published here and the private journal package imports them from here.
18
- export { journalEntrySchema, journalStreamSchema, knownJournalStreams, maxJournalStreamNameLength, readJournalRequestSchema, readJournalResponseSchema, } from "./runner/journal.js";
19
- export { maxRunFilesByteLength, maxRunnerRequestEncodedByteLength, runFilesByteLength, runFilesSchema, } from "./runner/payloadSize.js";
20
- export { maxActionErrorMessageLength } from "./runner/performAction.js";
21
- export { runSelectionSchema, } from "./runner/runSelection.js";
4
+ export * from "./runnerReexports.js";
22
5
  import { makeAutomateContract } from "./automate/index.js";
23
6
  import { makeDeleteEnvironmentVariableContract } from "./environment/deleteVariable.js";
24
7
  import { makeFindEnvironmentsContract } from "./environment/find.js";
@@ -93,6 +76,9 @@ export const makeContractsV1 = (ids) => {
93
76
  evaluateSnippet: makeEvaluateSnippetOnRunnerContract(),
94
77
  importPackage: makeImportPackageOnRunnerContract(),
95
78
  inspect: makeInspectOnRunnerContract(),
79
+ // `runner.inspectMobile` (./runner/inspectMobile.js) stays out of this
80
+ // catalog until ARC-556 adds its router endpoint, to avoid tripping
81
+ // apex-backend's contract/router drift check.
96
82
  launch: makeLaunchRunnerContract(),
97
83
  performAction: makePerformActionOnRunnerContract(),
98
84
  readJournal: makeReadRunnerJournalContract(),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAyB,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzD,OAAO,EAEL,mBAAmB,GACpB,MAAM,2BAA2B,CAAC;AACnC,4EAA4E;AAC5E,+EAA+E;AAC/E,6DAA6D;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,iFAAiF;AACjF,iFAAiF;AACjF,+EAA+E;AAC/E,gFAAgF;AAChF,OAAO,EACL,sBAAsB,EACtB,iBAAiB,EACjB,kBAAkB,EAClB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAEL,gBAAgB,EAChB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,oBAAoB,GACrB,MAAM,qBAAqB,CAAC;AAC7B,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAML,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,0BAA0B,EAC1B,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAEL,qBAAqB,EACrB,iCAAiC,EACjC,kBAAkB,EAClB,cAAc,GACf,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAEL,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,qCAAqC,EAAE,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,8BAA8B,CAAC;AAClF,OAAO,EACL,6BAA6B,EAC7B,0BAA0B,EAC1B,wCAAwC,EACxC,kCAAkC,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAGL,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,mCAAmC,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,wBAAwB,EACxB,2BAA2B,GAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,kCAAkC,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAUrD;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAS7B,GAQC,EACD,EAAE;IACF,MAAM,WAAW,GAAG,EAAE,GAAG,gBAAgB,EAAE,GAAG,GAAG,EAAE,CAAC;IACpD,OAAO;QACL,qEAAqE;QACrE,0CAA0C;QAC1C,QAAQ,EAAE,oBAAoB,CAAC,WAAW,CAAC;QAC3C,WAAW,EAAE;YACX,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC;YAClD,cAAc,EAAE,qCAAqC,CAAC,WAAW,CAAC;YAClE,IAAI,EAAE,4BAA4B,CAAC,WAAW,CAAC;YAC/C,GAAG,EAAE,0BAA0B,CAAC,WAAW,CAAC;YAC5C,WAAW,EAAE,kCAAkC,CAAC,WAAW,CAAC;YAC5D,iBAAiB,EAAE,wCAAwC,CAAC,WAAW,CAAC;YACxE,WAAW,EAAE,kCAAkC,CAAC,WAAW,CAAC;YAC5D,MAAM,EAAE,6BAA6B,CAAC,WAAW,CAAC;SACnD;QACD,IAAI,EAAE;YACJ,MAAM,EAAE,yBAAyB,CAAC,WAAW,CAAC;YAC9C,IAAI,EAAE,qBAAqB,CAAC,WAAW,CAAC;YACxC,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC;SAC5C;QACD,KAAK,EAAE;YACL,QAAQ,EAAE,2BAA2B,CAAC,WAAW,CAAC;YAClD,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;YAC5C,IAAI,EAAE,sBAAsB,CAAC,WAAW,CAAC;YACzC,GAAG,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACtC,MAAM,EAAE,uBAAuB,CAAC,WAAW,CAAC;SAC7C;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;YACvC,GAAG,EAAE,kBAAkB,CAAC,WAAW,CAAC;YACpC,SAAS,EAAE,wBAAwB,CAAC,WAAW,CAAC;SACjD;QACD,MAAM,EAAE;YACN,eAAe,EAAE,mCAAmC,EAAE;YACtD,aAAa,EAAE,iCAAiC,EAAE;YAClD,OAAO,EAAE,2BAA2B,EAAE;YACtC,MAAM,EAAE,wBAAwB,EAAE;YAClC,aAAa,EAAE,iCAAiC,EAAE;YAClD,WAAW,EAAE,6BAA6B,EAAE;YAC5C,OAAO,EAAE,2BAA2B,EAAE;YACtC,OAAO,EAAE,2BAA2B,EAAE;YACtC,cAAc,EAAE,kCAAkC,EAAE;YACpD,SAAS,EAAE,2BAA2B,EAAE;SACzC;QACD,GAAG,EAAE;YACH,MAAM,EAAE,qBAAqB,CAAC,WAAW,CAAC;YAC1C,IAAI,EAAE,oBAAoB,CAAC,WAAW,CAAC;SACxC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/v1/index.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,14 @@ export declare const makeCreateRunContract: <AiTaskId extends PublicIdSchema, Fl
23
23
  readonly kind: "write";
24
24
  readonly name: "run.create";
25
25
  readonly output: z.ZodObject<{
26
+ excludedFlows: z.ZodArray<z.ZodObject<{
27
+ flowId: FlowId;
28
+ name: z.ZodString;
29
+ reason: z.ZodEnum<{
30
+ deleted: "deleted";
31
+ "not-on-branch": "not-on-branch";
32
+ }>;
33
+ }, z.core.$strip>>;
26
34
  runId: RunId;
27
35
  url: z.ZodURL;
28
36
  }, z.core.$strip>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/run/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,MAAM,EAAE,QAAQ,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;CA8CA,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/v1/run/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAGhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,eAAO,MAAM,qBAAqB,GAChC,QAAQ,SAAS,cAAc,EAC/B,MAAM,SAAS,cAAc,EAC7B,KAAK,SAAS,cAAc,EAC5B,KAAK;IACL,MAAM,EAAE,QAAQ,CAAC;IACjB,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,KAAK,CAAC;CACZ;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoEA,CAAC"}
@@ -10,7 +10,10 @@ export const makeCreateRunContract = (ids) => {
10
10
  .optional(),
11
11
  environmentId: ids.environmentRef,
12
12
  environmentVariables: z.record(z.string(), z.string()).optional(),
13
- ignoreRules: z.boolean().default(false),
13
+ ignoreRules: z
14
+ .boolean()
15
+ .describe("Ignore this team's sequencing rules for this run. By default they are honoured: the flows your selection depends on are added to the run, and flows run in the order the rules require. Set this to run exactly what you selected, in any order.")
16
+ .default(false),
14
17
  // Associate a pull request with the run by its number within a
15
18
  // repository. A number requires a repository; a repository may be given
16
19
  // on its own. The server resolves the internal pull request id,
@@ -28,7 +31,18 @@ export const makeCreateRunContract = (ids) => {
28
31
  .optional(),
29
32
  })
30
33
  .and(makeFlowSelectionSchema(ids));
31
- const output = resource({ runId: ids.run }, { urlFieldDescription: "Absolute URL of the run page." });
34
+ const output = resource({
35
+ excludedFlows: z
36
+ .array(z.object({
37
+ flowId: ids.flow,
38
+ name: z.string().describe("The name of the flow."),
39
+ reason: z
40
+ .enum(["deleted", "not-on-branch"])
41
+ .describe('Why the flow cannot run: "deleted" means the flow was deleted, "not-on-branch" means the flow has no file at the commit the run was created from.'),
42
+ }))
43
+ .describe("Explicitly requested flows that were left out of the run, each with the reason. Flows selected through tags are not reported here."),
44
+ runId: ids.run,
45
+ }, { urlFieldDescription: "Absolute URL of the run page." });
32
46
  return {
33
47
  description: "Create a run for the selected flows and/or tags in an environment.",
34
48
  input,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/run/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAInC,GAKD,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC;SACZ,MAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM;aACjB,QAAQ,CACP,mEAAmE,CACpE;aACA,QAAQ,EAAE;QACb,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjE,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;QACvC,+DAA+D;QAC/D,wEAAwE;QACxE,gEAAgE;QAChE,+BAA+B;QAC/B,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;aACrE,QAAQ,EAAE;QACb,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,oDAAoD,CAAC;aAC9D,QAAQ,EAAE;KACd,CAAC;SACD,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CACrB,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE,EAClB,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EACT,oEAAoE;QACtE,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/run/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAE7D,OAAO,EAAE,uBAAuB,EAAE,CAAC;AAEnC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAInC,GAKD,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,CAAC;SACZ,MAAM,CAAC;QACN,QAAQ,EAAE,GAAG,CAAC,MAAM;aACjB,QAAQ,CACP,mEAAmE,CACpE;aACA,QAAQ,EAAE;QACb,aAAa,EAAE,GAAG,CAAC,cAAc;QACjC,oBAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACjE,WAAW,EAAE,CAAC;aACX,OAAO,EAAE;aACT,QAAQ,CACP,kPAAkP,CACnP;aACA,OAAO,CAAC,KAAK,CAAC;QACjB,+DAA+D;QAC/D,wEAAwE;QACxE,gEAAgE;QAChE,+BAA+B;QAC/B,iBAAiB,EAAE,CAAC;aACjB,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,2DAA2D,CAAC;aACrE,QAAQ,EAAE;QACb,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CAAC,oDAAoD,CAAC;aAC9D,QAAQ,EAAE;KACd,CAAC;SACD,GAAG,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,QAAQ,CACrB;QACE,aAAa,EAAE,CAAC;aACb,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,MAAM,EAAE,GAAG,CAAC,IAAI;YAChB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;YAClD,MAAM,EAAE,CAAC;iBACN,IAAI,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;iBAClC,QAAQ,CACP,mJAAmJ,CACpJ;SACJ,CAAC,CACH;aACA,QAAQ,CACP,oIAAoI,CACrI;QACH,KAAK,EAAE,GAAG,CAAC,GAAG;KACf,EACD,EAAE,mBAAmB,EAAE,+BAA+B,EAAE,CACzD,CAAC;IAEF,OAAO;QACL,WAAW,EACT,oEAAoE;QACtE,KAAK;QACL,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
@@ -26,7 +26,7 @@ function refusalForRunEnvironmentVariableName(name) {
26
26
  return `${reservedRunEnvironmentVariableName} is reserved by QA Wolf and set for you.`;
27
27
  return undefined;
28
28
  }
29
- const maxRunEnvironmentVariables = 100;
29
+ const maxRunEnvironmentVariables = 200;
30
30
  const maxRunEnvironmentValueLength = 8 * 1024;
31
31
  /** Bounded on its own, so a large project is never refused for its environment. */
32
32
  export const runEnvironmentSchema = z
@@ -33,7 +33,7 @@ function isShippableRunFilePathSegment(segment) {
33
33
  return false;
34
34
  if (segment.includes("\\"))
35
35
  return false;
36
- // eslint-disable-next-line no-control-regex -- refusing control characters is the point
36
+ // oxlint-disable-next-line no-control-regex -- refusing control characters is the point
37
37
  return !/[\u0000-\u001f\u007f]/.test(segment);
38
38
  }
39
39
  /** The runner installs dependencies itself, so `node_modules` never ships. */
@@ -35,6 +35,7 @@ export declare const makeInspectOnRunnerContract: () => {
35
35
  failureReason: z.ZodEnum<{
36
36
  "runner-unreachable": "runner-unreachable";
37
37
  "nothing-to-inspect": "nothing-to-inspect";
38
+ "runner-is-not-a-browser": "runner-is-not-a-browser";
38
39
  }>;
39
40
  outcome: z.ZodLiteral<"failure">;
40
41
  }, z.core.$strip>], "outcome">;
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,oBAAoB;;;;;;;;;2BA0B/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmCvC,CAAC"}
1
+ {"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB,eAAO,MAAM,oBAAoB;;;;;;;;;2BA0B/B,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAE1E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuCvC,CAAC"}
@@ -45,12 +45,16 @@ export const makeInspectOnRunnerContract = () => {
45
45
  .string()
46
46
  .optional()
47
47
  .describe("What the runner said, when it said anything."),
48
- failureReason: z.enum(["nothing-to-inspect", "runner-unreachable"]),
48
+ failureReason: z.enum([
49
+ "nothing-to-inspect",
50
+ "runner-is-not-a-browser",
51
+ "runner-unreachable",
52
+ ]),
49
53
  outcome: z.literal("failure"),
50
54
  }),
51
55
  ]);
52
56
  return {
53
- description: "Inspect one thing on an interactive runner: an element's HTML, the page's HTML simplified for a model, or a top-level variable's value as JSON. `nothing-to-inspect` means the runner had nothing to answer with: no live page, no element matching the selector, or no variable under that name. A runner cannot tell those apart, so it reports the one reason and puts whatever it did say in `errorMessage`. " +
57
+ description: "Inspect one thing on an interactive runner: an element's HTML, the page's HTML simplified for a model, or a top-level variable's value as JSON. `nothing-to-inspect` means the runner had nothing to answer with: no live page, no element matching the selector, or no variable under that name. A runner cannot tell those apart, so it reports the one reason and puts whatever it did say in `errorMessage`. `runner-is-not-a-browser` on a mobile runner — call `runner.inspectMobile` for its equivalent surface instead. " +
54
58
  retryableRunnerUnreachableDescription,
55
59
  input,
56
60
  kind: "read",
@@ -1 +1 @@
1
- {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,qBAAqB,CAAC;aAC1B,QAAQ,CAAC,uDAAuD,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACzE,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC;YACnE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,mZAAmZ;YACnZ,qCAAqC;QACvC,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../../src/v1/runner/inspect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,qCAAqC,EAAE,MAAM,kBAAkB,CAAC;AAEzE,MAAM,iBAAiB,GAAG,KAAK,CAAC;AAChC,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAC/D,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC;KAChC,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,iBAAiB,CAAC;aACtB,QAAQ,EAAE;aACV,QAAQ,CAAC,4DAA4D,CAAC;QACzE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;KAC7B,CAAC;IACF,CAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,CAAC;aACZ,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,GAAG,CAAC,qBAAqB,CAAC;aAC1B,QAAQ,CAAC,uDAAuD,CAAC;QACpE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAC5B,CAAC;CACH,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,2BAA2B,GAAG,GAAG,EAAE;IAC9C,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC;QACrB,EAAE,EAAE,cAAc,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3D,OAAO,EAAE,oBAAoB;KAC9B,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,CAAC,CAAC,kBAAkB,CAAC,SAAS,EAAE;QAC7C,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;YAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;SACzE,CAAC;QACF,CAAC,CAAC,MAAM,CAAC;YACP,YAAY,EAAE,CAAC;iBACZ,MAAM,EAAE;iBACR,QAAQ,EAAE;iBACV,QAAQ,CAAC,8CAA8C,CAAC;YAC3D,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC;gBACpB,oBAAoB;gBACpB,yBAAyB;gBACzB,oBAAoB;aACrB,CAAC;YACF,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;SAC9B,CAAC;KACH,CAAC,CAAC;IAEH,OAAO;QACL,WAAW,EACT,kgBAAkgB;YAClgB,qCAAqC;QACvC,KAAK;QACL,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,gBAAgB;QACtB,MAAM;KAMP,CAAC;AACJ,CAAC,CAAC"}