@qawolf/api-contracts 0.42.0 → 0.48.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.
- package/dist/v1/auth/config.d.ts +14 -6
- package/dist/v1/auth/config.d.ts.map +1 -1
- package/dist/v1/auth/config.js +15 -6
- package/dist/v1/auth/config.js.map +1 -1
- package/dist/v1/email/find.d.ts +42 -0
- package/dist/v1/email/find.d.ts.map +1 -0
- package/dist/v1/email/find.js +44 -0
- package/dist/v1/email/find.js.map +1 -0
- package/dist/v1/email/get.d.ts +52 -0
- package/dist/v1/email/get.d.ts.map +1 -0
- package/dist/v1/email/get.js +19 -0
- package/dist/v1/email/get.js.map +1 -0
- package/dist/v1/email/getAttachment.d.ts +23 -0
- package/dist/v1/email/getAttachment.d.ts.map +1 -0
- package/dist/v1/email/getAttachment.js +46 -0
- package/dist/v1/email/getAttachment.js.map +1 -0
- package/dist/v1/email/listAddresses.d.ts +23 -0
- package/dist/v1/email/listAddresses.d.ts.map +1 -0
- package/dist/v1/email/listAddresses.js +33 -0
- package/dist/v1/email/listAddresses.js.map +1 -0
- package/dist/v1/email/resource.d.ts +67 -0
- package/dist/v1/email/resource.d.ts.map +1 -0
- package/dist/v1/email/resource.js +56 -0
- package/dist/v1/email/resource.js.map +1 -0
- package/dist/v1/email/send.d.ts +46 -0
- package/dist/v1/email/send.d.ts.map +1 -0
- package/dist/v1/email/send.js +62 -0
- package/dist/v1/email/send.js.map +1 -0
- package/dist/v1/index.d.ts +387 -0
- package/dist/v1/index.d.ts.map +1 -1
- package/dist/v1/index.js +28 -13
- package/dist/v1/index.js.map +1 -1
- package/dist/v1/runner/evaluateSnippet.d.ts +5 -1
- package/dist/v1/runner/evaluateSnippet.d.ts.map +1 -1
- package/dist/v1/runner/evaluateSnippet.js +5 -2
- package/dist/v1/runner/evaluateSnippet.js.map +1 -1
- package/dist/v1/runner/get.d.ts +5 -1
- package/dist/v1/runner/get.d.ts.map +1 -1
- package/dist/v1/runner/get.js +5 -2
- package/dist/v1/runner/get.js.map +1 -1
- package/dist/v1/runner/highlightSelector.d.ts +5 -1
- package/dist/v1/runner/highlightSelector.d.ts.map +1 -1
- package/dist/v1/runner/highlightSelector.js +5 -2
- package/dist/v1/runner/highlightSelector.js.map +1 -1
- package/dist/v1/runner/identity.d.ts +2 -0
- package/dist/v1/runner/identity.d.ts.map +1 -1
- package/dist/v1/runner/identity.js +2 -0
- package/dist/v1/runner/identity.js.map +1 -1
- package/dist/v1/runner/importPackage.d.ts +5 -1
- package/dist/v1/runner/importPackage.d.ts.map +1 -1
- package/dist/v1/runner/importPackage.js +5 -2
- package/dist/v1/runner/importPackage.js.map +1 -1
- package/dist/v1/runner/index.d.ts +9 -2
- package/dist/v1/runner/index.d.ts.map +1 -1
- package/dist/v1/runner/index.js +9 -3
- package/dist/v1/runner/index.js.map +1 -1
- package/dist/v1/runner/inspect.d.ts +5 -1
- package/dist/v1/runner/inspect.d.ts.map +1 -1
- package/dist/v1/runner/inspect.js +5 -2
- package/dist/v1/runner/inspect.js.map +1 -1
- package/dist/v1/runner/inspectMobile.d.ts +5 -1
- package/dist/v1/runner/inspectMobile.d.ts.map +1 -1
- package/dist/v1/runner/inspectMobile.js +5 -2
- package/dist/v1/runner/inspectMobile.js.map +1 -1
- package/dist/v1/runner/list.d.ts +26 -0
- package/dist/v1/runner/list.d.ts.map +1 -0
- package/dist/v1/runner/list.js +23 -0
- package/dist/v1/runner/list.js.map +1 -0
- package/dist/v1/runner/performAction.d.ts +5 -1
- package/dist/v1/runner/performAction.d.ts.map +1 -1
- package/dist/v1/runner/performAction.js +5 -2
- package/dist/v1/runner/performAction.js.map +1 -1
- package/dist/v1/runner/promoteSnapshot.d.ts +5 -1
- package/dist/v1/runner/promoteSnapshot.d.ts.map +1 -1
- package/dist/v1/runner/promoteSnapshot.js +5 -2
- package/dist/v1/runner/promoteSnapshot.js.map +1 -1
- package/dist/v1/runner/readJournal.d.ts +5 -1
- package/dist/v1/runner/readJournal.d.ts.map +1 -1
- package/dist/v1/runner/readJournal.js +5 -2
- package/dist/v1/runner/readJournal.js.map +1 -1
- package/dist/v1/runner/runFlow.d.ts +3 -1
- package/dist/v1/runner/runFlow.d.ts.map +1 -1
- package/dist/v1/runner/runFlow.js +4 -1
- package/dist/v1/runner/runFlow.js.map +1 -1
- package/dist/v1/runner/stopRun.d.ts +5 -1
- package/dist/v1/runner/stopRun.d.ts.map +1 -1
- package/dist/v1/runner/stopRun.js +5 -2
- package/dist/v1/runner/stopRun.js.map +1 -1
- package/dist/v1/runner/takeScreenshot.d.ts +5 -1
- package/dist/v1/runner/takeScreenshot.d.ts.map +1 -1
- package/dist/v1/runner/takeScreenshot.js +5 -2
- package/dist/v1/runner/takeScreenshot.js.map +1 -1
- package/package.json +1 -1
package/dist/v1/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { z } from "zod";
|
|
|
2
2
|
export { type AgentSessionStatus, agentSessionStatusSchema, } from "./agent/status.js";
|
|
3
3
|
export { type AuthConfigResponse, authConfigResponse } from "./auth/config.js";
|
|
4
4
|
export type { AnyPublicApiContract, PublicApiContract, PublicApiContractKind, } from "./definition.js";
|
|
5
|
+
export { type EmailDirection, emailDirectionSchema } from "./email/resource.js";
|
|
5
6
|
export { type IdentityResponse, identityResponse } from "./identity/index.js";
|
|
6
7
|
export { type IdentityOrganizationsResponse, identityOrganizationsResponse, } from "./identity/organizations.js";
|
|
7
8
|
export { type PublicIdSchema, type PublicIdSchemas, defaultIdSchemas, } from "./ids.js";
|
|
@@ -82,6 +83,164 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
82
83
|
url: z.ZodURL;
|
|
83
84
|
}, z.core.$strip>;
|
|
84
85
|
};
|
|
86
|
+
email: {
|
|
87
|
+
find: {
|
|
88
|
+
readonly description: "List the workspace's inbox, or its sent mail, newest first. Read a message body with email.get.";
|
|
89
|
+
readonly input: z.ZodObject<{
|
|
90
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
91
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
92
|
+
address: z.ZodOptional<z.ZodEmail>;
|
|
93
|
+
createdAfter: z.ZodOptional<z.ZodISODateTime>;
|
|
94
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
95
|
+
inbound: "inbound";
|
|
96
|
+
outbound: "outbound";
|
|
97
|
+
}>>;
|
|
98
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
readonly kind: "read";
|
|
101
|
+
readonly name: "email.find";
|
|
102
|
+
readonly output: z.ZodObject<{
|
|
103
|
+
emails: z.ZodArray<z.ZodObject<{
|
|
104
|
+
createdAt: z.ZodISODateTime;
|
|
105
|
+
direction: z.ZodEnum<{
|
|
106
|
+
inbound: "inbound";
|
|
107
|
+
outbound: "outbound";
|
|
108
|
+
}>;
|
|
109
|
+
from: z.ZodObject<{
|
|
110
|
+
address: z.ZodString;
|
|
111
|
+
name: z.ZodOptional<z.ZodString>;
|
|
112
|
+
}, z.core.$strip>;
|
|
113
|
+
id: z.ZodString;
|
|
114
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
115
|
+
to: z.ZodArray<z.ZodObject<{
|
|
116
|
+
address: z.ZodString;
|
|
117
|
+
name: z.ZodOptional<z.ZodString>;
|
|
118
|
+
}, z.core.$strip>>;
|
|
119
|
+
url: z.ZodURL;
|
|
120
|
+
}, z.core.$strip>>;
|
|
121
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
122
|
+
}, z.core.$strip>;
|
|
123
|
+
};
|
|
124
|
+
get: {
|
|
125
|
+
readonly description: "Read one email of the workspace, with its plain text and HTML bodies. Use it to pull a sign-in code or a verification link out of a message.";
|
|
126
|
+
readonly input: z.ZodObject<{
|
|
127
|
+
id: z.ZodString;
|
|
128
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
129
|
+
}, z.core.$strip>;
|
|
130
|
+
readonly kind: "read";
|
|
131
|
+
readonly name: "email.get";
|
|
132
|
+
readonly output: z.ZodObject<{
|
|
133
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
134
|
+
fileName: z.ZodString;
|
|
135
|
+
index: z.ZodNumber;
|
|
136
|
+
type: z.ZodOptional<z.ZodString>;
|
|
137
|
+
}, z.core.$strip>>>;
|
|
138
|
+
bcc: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
139
|
+
address: z.ZodString;
|
|
140
|
+
name: z.ZodOptional<z.ZodString>;
|
|
141
|
+
}, z.core.$strip>>>;
|
|
142
|
+
cc: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
143
|
+
address: z.ZodString;
|
|
144
|
+
name: z.ZodOptional<z.ZodString>;
|
|
145
|
+
}, z.core.$strip>>>;
|
|
146
|
+
html: z.ZodOptional<z.ZodString>;
|
|
147
|
+
links: z.ZodArray<z.ZodString>;
|
|
148
|
+
replyTo: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
149
|
+
address: z.ZodString;
|
|
150
|
+
name: z.ZodOptional<z.ZodString>;
|
|
151
|
+
}, z.core.$strip>>>;
|
|
152
|
+
text: z.ZodOptional<z.ZodString>;
|
|
153
|
+
createdAt: z.ZodISODateTime;
|
|
154
|
+
direction: z.ZodEnum<{
|
|
155
|
+
inbound: "inbound";
|
|
156
|
+
outbound: "outbound";
|
|
157
|
+
}>;
|
|
158
|
+
from: z.ZodObject<{
|
|
159
|
+
address: z.ZodString;
|
|
160
|
+
name: z.ZodOptional<z.ZodString>;
|
|
161
|
+
}, z.core.$strip>;
|
|
162
|
+
id: z.ZodString;
|
|
163
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
164
|
+
to: z.ZodArray<z.ZodObject<{
|
|
165
|
+
address: z.ZodString;
|
|
166
|
+
name: z.ZodOptional<z.ZodString>;
|
|
167
|
+
}, z.core.$strip>>;
|
|
168
|
+
url: z.ZodURL;
|
|
169
|
+
}, z.core.$strip>;
|
|
170
|
+
};
|
|
171
|
+
getAttachment: {
|
|
172
|
+
readonly description: "Read one attachment of a workspace email as base64 content, by file name or by position. email.get lists both.";
|
|
173
|
+
readonly input: z.ZodObject<{
|
|
174
|
+
fileName: z.ZodOptional<z.ZodString>;
|
|
175
|
+
id: z.ZodString;
|
|
176
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
177
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
178
|
+
}, z.core.$strip>;
|
|
179
|
+
readonly kind: "read";
|
|
180
|
+
readonly name: "email.getAttachment";
|
|
181
|
+
readonly output: z.ZodObject<{
|
|
182
|
+
contentBase64: z.ZodString;
|
|
183
|
+
fileName: z.ZodString;
|
|
184
|
+
index: z.ZodNumber;
|
|
185
|
+
type: z.ZodOptional<z.ZodString>;
|
|
186
|
+
url: z.ZodURL;
|
|
187
|
+
}, z.core.$strip>;
|
|
188
|
+
};
|
|
189
|
+
listAddresses: {
|
|
190
|
+
readonly description: "List the workspace's inbox addresses, alphabetical. A flow can sign up with a plus-suffixed form of any of them, and email.find reads what arrives.";
|
|
191
|
+
readonly input: z.ZodObject<{
|
|
192
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
193
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
194
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
195
|
+
}, z.core.$strip>;
|
|
196
|
+
readonly kind: "read";
|
|
197
|
+
readonly name: "email.listAddresses";
|
|
198
|
+
readonly output: z.ZodObject<{
|
|
199
|
+
addresses: z.ZodArray<z.ZodObject<{
|
|
200
|
+
address: z.ZodString;
|
|
201
|
+
isDefault: z.ZodBoolean;
|
|
202
|
+
url: z.ZodURL;
|
|
203
|
+
}, z.core.$strip>>;
|
|
204
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
205
|
+
}, z.core.$strip>;
|
|
206
|
+
};
|
|
207
|
+
send: {
|
|
208
|
+
readonly description: "Send an email from one of the workspace's inbox addresses, for example to exercise a flow that reacts to incoming mail. Returns the sent email; read it back with email.get.";
|
|
209
|
+
readonly input: z.ZodObject<{
|
|
210
|
+
attachments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBase64>>;
|
|
211
|
+
bcc: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
212
|
+
cc: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
213
|
+
from: z.ZodOptional<z.ZodEmail>;
|
|
214
|
+
html: z.ZodOptional<z.ZodString>;
|
|
215
|
+
inReplyTo: z.ZodOptional<z.ZodString>;
|
|
216
|
+
replyTo: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
217
|
+
subject: z.ZodString;
|
|
218
|
+
text: z.ZodOptional<z.ZodString>;
|
|
219
|
+
to: z.ZodArray<z.ZodEmail>;
|
|
220
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
221
|
+
}, z.core.$strip>;
|
|
222
|
+
readonly kind: "write";
|
|
223
|
+
readonly name: "email.send";
|
|
224
|
+
readonly output: z.ZodObject<{
|
|
225
|
+
createdAt: z.ZodISODateTime;
|
|
226
|
+
direction: z.ZodEnum<{
|
|
227
|
+
inbound: "inbound";
|
|
228
|
+
outbound: "outbound";
|
|
229
|
+
}>;
|
|
230
|
+
from: z.ZodObject<{
|
|
231
|
+
address: z.ZodString;
|
|
232
|
+
name: z.ZodOptional<z.ZodString>;
|
|
233
|
+
}, z.core.$strip>;
|
|
234
|
+
id: z.ZodString;
|
|
235
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
236
|
+
to: z.ZodArray<z.ZodObject<{
|
|
237
|
+
address: z.ZodString;
|
|
238
|
+
name: z.ZodOptional<z.ZodString>;
|
|
239
|
+
}, z.core.$strip>>;
|
|
240
|
+
url: z.ZodURL;
|
|
241
|
+
}, z.core.$strip>;
|
|
242
|
+
};
|
|
243
|
+
};
|
|
85
244
|
environment: {
|
|
86
245
|
create: {
|
|
87
246
|
readonly description: "Create an environment on the caller's team and return it in the environment.get shape.";
|
|
@@ -961,6 +1120,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
961
1120
|
filePath: z.ZodOptional<z.ZodString>;
|
|
962
1121
|
files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
963
1122
|
id: z.ZodString;
|
|
1123
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
964
1124
|
}, z.core.$strip>;
|
|
965
1125
|
readonly kind: "write";
|
|
966
1126
|
readonly name: "runner.evaluateSnippet";
|
|
@@ -984,6 +1144,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
984
1144
|
readonly description: "Report whether a runner is running under this id on the caller's team. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. An id that is not running is a success with `running: false` rather than an error, so this is how to check a runner is still there before addressing it.";
|
|
985
1145
|
readonly input: z.ZodObject<{
|
|
986
1146
|
id: z.ZodString;
|
|
1147
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
987
1148
|
}, z.core.$strip>;
|
|
988
1149
|
readonly kind: "read";
|
|
989
1150
|
readonly name: "runner.get";
|
|
@@ -998,6 +1159,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
998
1159
|
readonly input: z.ZodObject<{
|
|
999
1160
|
id: z.ZodString;
|
|
1000
1161
|
selector: z.ZodString;
|
|
1162
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1001
1163
|
}, z.core.$strip>;
|
|
1002
1164
|
readonly kind: "write";
|
|
1003
1165
|
readonly name: "runner.highlightSelector";
|
|
@@ -1026,6 +1188,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1026
1188
|
npmDependencies: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
1027
1189
|
packageName: z.ZodString;
|
|
1028
1190
|
packageVersion: z.ZodString;
|
|
1191
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1029
1192
|
}, z.core.$strip>;
|
|
1030
1193
|
readonly kind: "write";
|
|
1031
1194
|
readonly name: "runner.importPackage";
|
|
@@ -1054,6 +1217,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1054
1217
|
variableName: z.ZodString;
|
|
1055
1218
|
what: z.ZodLiteral<"variable">;
|
|
1056
1219
|
}, z.core.$strip>], "what">;
|
|
1220
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1057
1221
|
}, z.core.$strip>;
|
|
1058
1222
|
readonly kind: "read";
|
|
1059
1223
|
readonly name: "runner.inspect";
|
|
@@ -1094,6 +1258,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1094
1258
|
text: z.ZodString;
|
|
1095
1259
|
what: z.ZodLiteral<"elements">;
|
|
1096
1260
|
}, z.core.$strip>], "by">], "what">;
|
|
1261
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1097
1262
|
}, z.core.$strip>;
|
|
1098
1263
|
readonly kind: "read";
|
|
1099
1264
|
readonly name: "runner.inspectMobile";
|
|
@@ -1283,6 +1448,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1283
1448
|
android: "android";
|
|
1284
1449
|
ios: "ios";
|
|
1285
1450
|
}>>;
|
|
1451
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1286
1452
|
}, z.core.$strip>;
|
|
1287
1453
|
readonly kind: "write";
|
|
1288
1454
|
readonly name: "runner.launch";
|
|
@@ -1299,6 +1465,27 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1299
1465
|
outcome: z.ZodLiteral<"success">;
|
|
1300
1466
|
}, z.core.$strip>;
|
|
1301
1467
|
};
|
|
1468
|
+
list: {
|
|
1469
|
+
readonly description: "List the runners running on the caller's team right now. A team API key already names the team and sends nothing; a credential bound to no single workspace names one in `workspaceId`. A runner that was terminated, or that terminated on its own after inactivity, is not listed, because the run system keeps no record of a runner once it is gone. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. It is how to find a runner launched from another machine or in an earlier session, when the id it was launched under is no longer at hand.";
|
|
1470
|
+
readonly input: z.ZodObject<{
|
|
1471
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1472
|
+
}, z.core.$strip>;
|
|
1473
|
+
readonly kind: "read";
|
|
1474
|
+
readonly name: "runner.list";
|
|
1475
|
+
readonly output: z.ZodObject<{
|
|
1476
|
+
outcome: z.ZodLiteral<"success">;
|
|
1477
|
+
runners: z.ZodArray<z.ZodObject<{
|
|
1478
|
+
gpuAccelerated: z.ZodBoolean;
|
|
1479
|
+
id: z.ZodString;
|
|
1480
|
+
runnerName: z.ZodEnum<{
|
|
1481
|
+
basic: "basic";
|
|
1482
|
+
playwright: "playwright";
|
|
1483
|
+
android: "android";
|
|
1484
|
+
ios: "ios";
|
|
1485
|
+
}>;
|
|
1486
|
+
}, z.core.$strip>>;
|
|
1487
|
+
}, z.core.$strip>;
|
|
1488
|
+
};
|
|
1302
1489
|
performAction: {
|
|
1303
1490
|
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.";
|
|
1304
1491
|
readonly input: z.ZodObject<{
|
|
@@ -1338,6 +1525,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1338
1525
|
type: z.ZodLiteral<"type">;
|
|
1339
1526
|
}, z.core.$strict>], "type">;
|
|
1340
1527
|
id: z.ZodString;
|
|
1528
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1341
1529
|
}, z.core.$strip>;
|
|
1342
1530
|
readonly kind: "write";
|
|
1343
1531
|
readonly name: "runner.performAction";
|
|
@@ -1364,6 +1552,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1364
1552
|
baselinePath: z.ZodString;
|
|
1365
1553
|
id: z.ZodString;
|
|
1366
1554
|
screenshotPath: z.ZodString;
|
|
1555
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1367
1556
|
}, z.core.$strip>;
|
|
1368
1557
|
readonly kind: "write";
|
|
1369
1558
|
readonly name: "runner.promoteSnapshot";
|
|
@@ -1386,6 +1575,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1386
1575
|
tail: z.ZodOptional<z.ZodNumber>;
|
|
1387
1576
|
id: z.ZodString;
|
|
1388
1577
|
stream: z.ZodString;
|
|
1578
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1389
1579
|
}, z.core.$strip>;
|
|
1390
1580
|
readonly kind: "read";
|
|
1391
1581
|
readonly name: "runner.readJournal";
|
|
@@ -1424,6 +1614,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1424
1614
|
startLine: z.ZodInt;
|
|
1425
1615
|
}, z.core.$strip>>;
|
|
1426
1616
|
unchangedFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
1617
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1427
1618
|
}, z.core.$strip>;
|
|
1428
1619
|
readonly kind: "write";
|
|
1429
1620
|
readonly name: "runner.runFlow";
|
|
@@ -1459,6 +1650,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1459
1650
|
readonly description: "Stop what a runner is currently executing, leaving the runner up and its browser on whatever page the run reached. Succeeds whether or not anything was running, and `wasRunning` says which. This is the counterpart of `runner.terminate`, which ends the runner itself. The run stops where it is, so the journal's `run-status` settles it as stopped rather than passed or failed. `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. The stop may still have landed, but stopping a runner that is already idle does nothing, so retrying is safe.";
|
|
1460
1651
|
readonly input: z.ZodObject<{
|
|
1461
1652
|
id: z.ZodString;
|
|
1653
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1462
1654
|
}, z.core.$strip>;
|
|
1463
1655
|
readonly kind: "write";
|
|
1464
1656
|
readonly name: "runner.stopRun";
|
|
@@ -1476,6 +1668,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1476
1668
|
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.";
|
|
1477
1669
|
readonly input: z.ZodObject<{
|
|
1478
1670
|
id: z.ZodString;
|
|
1671
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1479
1672
|
}, z.core.$strip>;
|
|
1480
1673
|
readonly kind: "read";
|
|
1481
1674
|
readonly name: "runner.takeScreenshot";
|
|
@@ -1496,6 +1689,7 @@ export declare const makeContractsV1: <EnvironmentId extends PublicIdSchema, Flo
|
|
|
1496
1689
|
readonly description: "End an interactive runner on the caller's team, and the pod it runs on with it. Terminating a runner that is not running succeeds and reports `wasRunning: false`. This ends the runner: use `runner.stopRun` to stop what a runner is currently executing while leaving the runner up.";
|
|
1497
1690
|
readonly input: z.ZodObject<{
|
|
1498
1691
|
id: z.ZodString;
|
|
1692
|
+
workspaceId: z.ZodOptional<WorkspaceId>;
|
|
1499
1693
|
}, z.core.$strip>;
|
|
1500
1694
|
readonly kind: "write";
|
|
1501
1695
|
readonly name: "runner.terminate";
|
|
@@ -1608,6 +1802,164 @@ export declare const publicContractsV1: {
|
|
|
1608
1802
|
url: z.ZodURL;
|
|
1609
1803
|
}, z.core.$strip>;
|
|
1610
1804
|
};
|
|
1805
|
+
email: {
|
|
1806
|
+
find: {
|
|
1807
|
+
readonly description: "List the workspace's inbox, or its sent mail, newest first. Read a message body with email.get.";
|
|
1808
|
+
readonly input: z.ZodObject<{
|
|
1809
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1810
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
1811
|
+
address: z.ZodOptional<z.ZodEmail>;
|
|
1812
|
+
createdAfter: z.ZodOptional<z.ZodISODateTime>;
|
|
1813
|
+
direction: z.ZodDefault<z.ZodEnum<{
|
|
1814
|
+
inbound: "inbound";
|
|
1815
|
+
outbound: "outbound";
|
|
1816
|
+
}>>;
|
|
1817
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
1818
|
+
}, z.core.$strip>;
|
|
1819
|
+
readonly kind: "read";
|
|
1820
|
+
readonly name: "email.find";
|
|
1821
|
+
readonly output: z.ZodObject<{
|
|
1822
|
+
emails: z.ZodArray<z.ZodObject<{
|
|
1823
|
+
createdAt: z.ZodISODateTime;
|
|
1824
|
+
direction: z.ZodEnum<{
|
|
1825
|
+
inbound: "inbound";
|
|
1826
|
+
outbound: "outbound";
|
|
1827
|
+
}>;
|
|
1828
|
+
from: z.ZodObject<{
|
|
1829
|
+
address: z.ZodString;
|
|
1830
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1831
|
+
}, z.core.$strip>;
|
|
1832
|
+
id: z.ZodString;
|
|
1833
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
1834
|
+
to: z.ZodArray<z.ZodObject<{
|
|
1835
|
+
address: z.ZodString;
|
|
1836
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1837
|
+
}, z.core.$strip>>;
|
|
1838
|
+
url: z.ZodURL;
|
|
1839
|
+
}, z.core.$strip>>;
|
|
1840
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
1841
|
+
}, z.core.$strip>;
|
|
1842
|
+
};
|
|
1843
|
+
get: {
|
|
1844
|
+
readonly description: "Read one email of the workspace, with its plain text and HTML bodies. Use it to pull a sign-in code or a verification link out of a message.";
|
|
1845
|
+
readonly input: z.ZodObject<{
|
|
1846
|
+
id: z.ZodString;
|
|
1847
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
1848
|
+
}, z.core.$strip>;
|
|
1849
|
+
readonly kind: "read";
|
|
1850
|
+
readonly name: "email.get";
|
|
1851
|
+
readonly output: z.ZodObject<{
|
|
1852
|
+
attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1853
|
+
fileName: z.ZodString;
|
|
1854
|
+
index: z.ZodNumber;
|
|
1855
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1856
|
+
}, z.core.$strip>>>;
|
|
1857
|
+
bcc: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1858
|
+
address: z.ZodString;
|
|
1859
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1860
|
+
}, z.core.$strip>>>;
|
|
1861
|
+
cc: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1862
|
+
address: z.ZodString;
|
|
1863
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1864
|
+
}, z.core.$strip>>>;
|
|
1865
|
+
html: z.ZodOptional<z.ZodString>;
|
|
1866
|
+
links: z.ZodArray<z.ZodString>;
|
|
1867
|
+
replyTo: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1868
|
+
address: z.ZodString;
|
|
1869
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1870
|
+
}, z.core.$strip>>>;
|
|
1871
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1872
|
+
createdAt: z.ZodISODateTime;
|
|
1873
|
+
direction: z.ZodEnum<{
|
|
1874
|
+
inbound: "inbound";
|
|
1875
|
+
outbound: "outbound";
|
|
1876
|
+
}>;
|
|
1877
|
+
from: z.ZodObject<{
|
|
1878
|
+
address: z.ZodString;
|
|
1879
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1880
|
+
}, z.core.$strip>;
|
|
1881
|
+
id: z.ZodString;
|
|
1882
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
1883
|
+
to: z.ZodArray<z.ZodObject<{
|
|
1884
|
+
address: z.ZodString;
|
|
1885
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1886
|
+
}, z.core.$strip>>;
|
|
1887
|
+
url: z.ZodURL;
|
|
1888
|
+
}, z.core.$strip>;
|
|
1889
|
+
};
|
|
1890
|
+
getAttachment: {
|
|
1891
|
+
readonly description: "Read one attachment of a workspace email as base64 content, by file name or by position. email.get lists both.";
|
|
1892
|
+
readonly input: z.ZodObject<{
|
|
1893
|
+
fileName: z.ZodOptional<z.ZodString>;
|
|
1894
|
+
id: z.ZodString;
|
|
1895
|
+
index: z.ZodOptional<z.ZodNumber>;
|
|
1896
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
1897
|
+
}, z.core.$strip>;
|
|
1898
|
+
readonly kind: "read";
|
|
1899
|
+
readonly name: "email.getAttachment";
|
|
1900
|
+
readonly output: z.ZodObject<{
|
|
1901
|
+
contentBase64: z.ZodString;
|
|
1902
|
+
fileName: z.ZodString;
|
|
1903
|
+
index: z.ZodNumber;
|
|
1904
|
+
type: z.ZodOptional<z.ZodString>;
|
|
1905
|
+
url: z.ZodURL;
|
|
1906
|
+
}, z.core.$strip>;
|
|
1907
|
+
};
|
|
1908
|
+
listAddresses: {
|
|
1909
|
+
readonly description: "List the workspace's inbox addresses, alphabetical. A flow can sign up with a plus-suffixed form of any of them, and email.find reads what arrives.";
|
|
1910
|
+
readonly input: z.ZodObject<{
|
|
1911
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
1912
|
+
limit: z.ZodDefault<z.ZodNumber>;
|
|
1913
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
1914
|
+
}, z.core.$strip>;
|
|
1915
|
+
readonly kind: "read";
|
|
1916
|
+
readonly name: "email.listAddresses";
|
|
1917
|
+
readonly output: z.ZodObject<{
|
|
1918
|
+
addresses: z.ZodArray<z.ZodObject<{
|
|
1919
|
+
address: z.ZodString;
|
|
1920
|
+
isDefault: z.ZodBoolean;
|
|
1921
|
+
url: z.ZodURL;
|
|
1922
|
+
}, z.core.$strip>>;
|
|
1923
|
+
nextCursor: z.ZodOptional<z.ZodString>;
|
|
1924
|
+
}, z.core.$strip>;
|
|
1925
|
+
};
|
|
1926
|
+
send: {
|
|
1927
|
+
readonly description: "Send an email from one of the workspace's inbox addresses, for example to exercise a flow that reacts to incoming mail. Returns the sent email; read it back with email.get.";
|
|
1928
|
+
readonly input: z.ZodObject<{
|
|
1929
|
+
attachments: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBase64>>;
|
|
1930
|
+
bcc: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
1931
|
+
cc: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
1932
|
+
from: z.ZodOptional<z.ZodEmail>;
|
|
1933
|
+
html: z.ZodOptional<z.ZodString>;
|
|
1934
|
+
inReplyTo: z.ZodOptional<z.ZodString>;
|
|
1935
|
+
replyTo: z.ZodOptional<z.ZodArray<z.ZodEmail>>;
|
|
1936
|
+
subject: z.ZodString;
|
|
1937
|
+
text: z.ZodOptional<z.ZodString>;
|
|
1938
|
+
to: z.ZodArray<z.ZodEmail>;
|
|
1939
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
1940
|
+
}, z.core.$strip>;
|
|
1941
|
+
readonly kind: "write";
|
|
1942
|
+
readonly name: "email.send";
|
|
1943
|
+
readonly output: z.ZodObject<{
|
|
1944
|
+
createdAt: z.ZodISODateTime;
|
|
1945
|
+
direction: z.ZodEnum<{
|
|
1946
|
+
inbound: "inbound";
|
|
1947
|
+
outbound: "outbound";
|
|
1948
|
+
}>;
|
|
1949
|
+
from: z.ZodObject<{
|
|
1950
|
+
address: z.ZodString;
|
|
1951
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1952
|
+
}, z.core.$strip>;
|
|
1953
|
+
id: z.ZodString;
|
|
1954
|
+
subject: z.ZodOptional<z.ZodString>;
|
|
1955
|
+
to: z.ZodArray<z.ZodObject<{
|
|
1956
|
+
address: z.ZodString;
|
|
1957
|
+
name: z.ZodOptional<z.ZodString>;
|
|
1958
|
+
}, z.core.$strip>>;
|
|
1959
|
+
url: z.ZodURL;
|
|
1960
|
+
}, z.core.$strip>;
|
|
1961
|
+
};
|
|
1962
|
+
};
|
|
1611
1963
|
environment: {
|
|
1612
1964
|
create: {
|
|
1613
1965
|
readonly description: "Create an environment on the caller's team and return it in the environment.get shape.";
|
|
@@ -2487,6 +2839,7 @@ export declare const publicContractsV1: {
|
|
|
2487
2839
|
filePath: z.ZodOptional<z.ZodString>;
|
|
2488
2840
|
files: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
2489
2841
|
id: z.ZodString;
|
|
2842
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2490
2843
|
}, z.core.$strip>;
|
|
2491
2844
|
readonly kind: "write";
|
|
2492
2845
|
readonly name: "runner.evaluateSnippet";
|
|
@@ -2510,6 +2863,7 @@ export declare const publicContractsV1: {
|
|
|
2510
2863
|
readonly description: "Report whether a runner is running under this id on the caller's team. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. An id that is not running is a success with `running: false` rather than an error, so this is how to check a runner is still there before addressing it.";
|
|
2511
2864
|
readonly input: z.ZodObject<{
|
|
2512
2865
|
id: z.ZodString;
|
|
2866
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2513
2867
|
}, z.core.$strip>;
|
|
2514
2868
|
readonly kind: "read";
|
|
2515
2869
|
readonly name: "runner.get";
|
|
@@ -2524,6 +2878,7 @@ export declare const publicContractsV1: {
|
|
|
2524
2878
|
readonly input: z.ZodObject<{
|
|
2525
2879
|
id: z.ZodString;
|
|
2526
2880
|
selector: z.ZodString;
|
|
2881
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2527
2882
|
}, z.core.$strip>;
|
|
2528
2883
|
readonly kind: "write";
|
|
2529
2884
|
readonly name: "runner.highlightSelector";
|
|
@@ -2552,6 +2907,7 @@ export declare const publicContractsV1: {
|
|
|
2552
2907
|
npmDependencies: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
2553
2908
|
packageName: z.ZodString;
|
|
2554
2909
|
packageVersion: z.ZodString;
|
|
2910
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2555
2911
|
}, z.core.$strip>;
|
|
2556
2912
|
readonly kind: "write";
|
|
2557
2913
|
readonly name: "runner.importPackage";
|
|
@@ -2580,6 +2936,7 @@ export declare const publicContractsV1: {
|
|
|
2580
2936
|
variableName: z.ZodString;
|
|
2581
2937
|
what: z.ZodLiteral<"variable">;
|
|
2582
2938
|
}, z.core.$strip>], "what">;
|
|
2939
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2583
2940
|
}, z.core.$strip>;
|
|
2584
2941
|
readonly kind: "read";
|
|
2585
2942
|
readonly name: "runner.inspect";
|
|
@@ -2620,6 +2977,7 @@ export declare const publicContractsV1: {
|
|
|
2620
2977
|
text: z.ZodString;
|
|
2621
2978
|
what: z.ZodLiteral<"elements">;
|
|
2622
2979
|
}, z.core.$strip>], "by">], "what">;
|
|
2980
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2623
2981
|
}, z.core.$strip>;
|
|
2624
2982
|
readonly kind: "read";
|
|
2625
2983
|
readonly name: "runner.inspectMobile";
|
|
@@ -2809,6 +3167,7 @@ export declare const publicContractsV1: {
|
|
|
2809
3167
|
android: "android";
|
|
2810
3168
|
ios: "ios";
|
|
2811
3169
|
}>>;
|
|
3170
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2812
3171
|
}, z.core.$strip>;
|
|
2813
3172
|
readonly kind: "write";
|
|
2814
3173
|
readonly name: "runner.launch";
|
|
@@ -2825,6 +3184,27 @@ export declare const publicContractsV1: {
|
|
|
2825
3184
|
outcome: z.ZodLiteral<"success">;
|
|
2826
3185
|
}, z.core.$strip>;
|
|
2827
3186
|
};
|
|
3187
|
+
list: {
|
|
3188
|
+
readonly description: "List the runners running on the caller's team right now. A team API key already names the team and sends nothing; a credential bound to no single workspace names one in `workspaceId`. A runner that was terminated, or that terminated on its own after inactivity, is not listed, because the run system keeps no record of a runner once it is gone. This is a lookup: it never starts a runner, and it does not reset a runner's inactivity clock the way reading its journal does. It is how to find a runner launched from another machine or in an earlier session, when the id it was launched under is no longer at hand.";
|
|
3189
|
+
readonly input: z.ZodObject<{
|
|
3190
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
3191
|
+
}, z.core.$strip>;
|
|
3192
|
+
readonly kind: "read";
|
|
3193
|
+
readonly name: "runner.list";
|
|
3194
|
+
readonly output: z.ZodObject<{
|
|
3195
|
+
outcome: z.ZodLiteral<"success">;
|
|
3196
|
+
runners: z.ZodArray<z.ZodObject<{
|
|
3197
|
+
gpuAccelerated: z.ZodBoolean;
|
|
3198
|
+
id: z.ZodString;
|
|
3199
|
+
runnerName: z.ZodEnum<{
|
|
3200
|
+
basic: "basic";
|
|
3201
|
+
playwright: "playwright";
|
|
3202
|
+
android: "android";
|
|
3203
|
+
ios: "ios";
|
|
3204
|
+
}>;
|
|
3205
|
+
}, z.core.$strip>>;
|
|
3206
|
+
}, z.core.$strip>;
|
|
3207
|
+
};
|
|
2828
3208
|
performAction: {
|
|
2829
3209
|
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.";
|
|
2830
3210
|
readonly input: z.ZodObject<{
|
|
@@ -2864,6 +3244,7 @@ export declare const publicContractsV1: {
|
|
|
2864
3244
|
type: z.ZodLiteral<"type">;
|
|
2865
3245
|
}, z.core.$strict>], "type">;
|
|
2866
3246
|
id: z.ZodString;
|
|
3247
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2867
3248
|
}, z.core.$strip>;
|
|
2868
3249
|
readonly kind: "write";
|
|
2869
3250
|
readonly name: "runner.performAction";
|
|
@@ -2890,6 +3271,7 @@ export declare const publicContractsV1: {
|
|
|
2890
3271
|
baselinePath: z.ZodString;
|
|
2891
3272
|
id: z.ZodString;
|
|
2892
3273
|
screenshotPath: z.ZodString;
|
|
3274
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2893
3275
|
}, z.core.$strip>;
|
|
2894
3276
|
readonly kind: "write";
|
|
2895
3277
|
readonly name: "runner.promoteSnapshot";
|
|
@@ -2912,6 +3294,7 @@ export declare const publicContractsV1: {
|
|
|
2912
3294
|
tail: z.ZodOptional<z.ZodNumber>;
|
|
2913
3295
|
id: z.ZodString;
|
|
2914
3296
|
stream: z.ZodString;
|
|
3297
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2915
3298
|
}, z.core.$strip>;
|
|
2916
3299
|
readonly kind: "read";
|
|
2917
3300
|
readonly name: "runner.readJournal";
|
|
@@ -2950,6 +3333,7 @@ export declare const publicContractsV1: {
|
|
|
2950
3333
|
startLine: z.ZodInt;
|
|
2951
3334
|
}, z.core.$strip>>;
|
|
2952
3335
|
unchangedFiles: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
3336
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2953
3337
|
}, z.core.$strip>;
|
|
2954
3338
|
readonly kind: "write";
|
|
2955
3339
|
readonly name: "runner.runFlow";
|
|
@@ -2985,6 +3369,7 @@ export declare const publicContractsV1: {
|
|
|
2985
3369
|
readonly description: "Stop what a runner is currently executing, leaving the runner up and its browser on whatever page the run reached. Succeeds whether or not anything was running, and `wasRunning` says which. This is the counterpart of `runner.terminate`, which ends the runner itself. The run stops where it is, so the journal's `run-status` settles it as stopped rather than passed or failed. `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. The stop may still have landed, but stopping a runner that is already idle does nothing, so retrying is safe.";
|
|
2986
3370
|
readonly input: z.ZodObject<{
|
|
2987
3371
|
id: z.ZodString;
|
|
3372
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
2988
3373
|
}, z.core.$strip>;
|
|
2989
3374
|
readonly kind: "write";
|
|
2990
3375
|
readonly name: "runner.stopRun";
|
|
@@ -3002,6 +3387,7 @@ export declare const publicContractsV1: {
|
|
|
3002
3387
|
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.";
|
|
3003
3388
|
readonly input: z.ZodObject<{
|
|
3004
3389
|
id: z.ZodString;
|
|
3390
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
3005
3391
|
}, z.core.$strip>;
|
|
3006
3392
|
readonly kind: "read";
|
|
3007
3393
|
readonly name: "runner.takeScreenshot";
|
|
@@ -3022,6 +3408,7 @@ export declare const publicContractsV1: {
|
|
|
3022
3408
|
readonly description: "End an interactive runner on the caller's team, and the pod it runs on with it. Terminating a runner that is not running succeeds and reports `wasRunning: false`. This ends the runner: use `runner.stopRun` to stop what a runner is currently executing while leaving the runner up.";
|
|
3023
3409
|
readonly input: z.ZodObject<{
|
|
3024
3410
|
id: z.ZodString;
|
|
3411
|
+
workspaceId: z.ZodOptional<PublicIdSchema>;
|
|
3025
3412
|
}, z.core.$strip>;
|
|
3026
3413
|
readonly kind: "write";
|
|
3027
3414
|
readonly name: "runner.terminate";
|
package/dist/v1/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,OAAO,EACL,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,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,6BAA6B,EAClC,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,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;AAKrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,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,OAAO,EACL,KAAK,kBAAkB,EACvB,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,KAAK,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC/E,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,KAAK,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,KAAK,6BAA6B,EAClC,6BAA6B,GAC9B,MAAM,6BAA6B,CAAC;AACrC,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;AAKrC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAoB5D,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EAEvB,MAAM,UAAU,CAAC;AA+BlB,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,EAChD,aAAa,SAAS,cAAc,GAAG,cAAc,EAErD,KAAK,iBAAiB,CACpB,aAAa,EACb,MAAM,EACN,KAAK,EACL,YAAY,EACZ,OAAO,EACP,WAAW,EACX,QAAQ,EACR,aAAa,CACd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuEF,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoC,CAAC"}
|