@empiricalrun/playwright-utils 0.60.2 โ 0.60.4
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/CHANGELOG.md +18 -0
- package/dist/api-worker-client.d.ts +1 -0
- package/dist/api-worker-client.d.ts.map +1 -1
- package/dist/generated/api-worker-openapi.d.ts +1995 -695
- package/dist/generated/api-worker-openapi.d.ts.map +1 -1
- package/dist/reporter/attachment-cleanup.d.ts.map +1 -1
- package/dist/reporter/attachment-cleanup.js +11 -4
- package/dist/reporter/lifecycle-events.d.ts.map +1 -1
- package/dist/reporter/lifecycle-events.js +4 -0
- package/dist/reporter/parity-utils.d.ts.map +1 -1
- package/dist/reporter/parity-utils.js +4 -1
- package/dist/reporter/uploader.d.ts +1 -0
- package/dist/reporter/uploader.d.ts.map +1 -1
- package/dist/reporter/uploader.js +6 -1
- package/dist/telemetry.d.ts +6 -0
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +37 -9
- package/dist/test/expect/visual.d.ts.map +1 -1
- package/dist/test/expect/visual.js +2 -2
- package/package.json +7 -7
- package/upstream-oracle/README.md +1 -1
|
@@ -160,7 +160,7 @@ export interface paths {
|
|
|
160
160
|
};
|
|
161
161
|
/**
|
|
162
162
|
* ๐ค List Slack share targets for a run
|
|
163
|
-
* @description Lists Slack destinations for sharing this run's triage content: reply targets for channels with an existing run notification thread, plus
|
|
163
|
+
* @description Lists Slack destinations for sharing this run's triage content: reply targets for channels with an existing run notification thread, plus active channels accessible to the project's organization for a new message.
|
|
164
164
|
*/
|
|
165
165
|
get: operations["listTestRunShareTargets"];
|
|
166
166
|
put?: never;
|
|
@@ -211,6 +211,26 @@ export interface paths {
|
|
|
211
211
|
patch?: never;
|
|
212
212
|
trace?: never;
|
|
213
213
|
};
|
|
214
|
+
"/api/test-runs/{id}/linked-changes": {
|
|
215
|
+
parameters: {
|
|
216
|
+
query?: never;
|
|
217
|
+
header?: never;
|
|
218
|
+
path?: never;
|
|
219
|
+
cookie?: never;
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* โ๏ธ ๐งช Get linked test changes for a run
|
|
223
|
+
* @description For a run triggered by an app pull request, evaluates the same-name test branch live on GitHub (the state behind the "Empirical linked test changes" check) and returns the latest check written for the PR. Addressed by the database id. Serves the dashboard UI.
|
|
224
|
+
*/
|
|
225
|
+
get: operations["getTestRunLinkedChanges"];
|
|
226
|
+
put?: never;
|
|
227
|
+
post?: never;
|
|
228
|
+
delete?: never;
|
|
229
|
+
options?: never;
|
|
230
|
+
head?: never;
|
|
231
|
+
patch?: never;
|
|
232
|
+
trace?: never;
|
|
233
|
+
};
|
|
214
234
|
"/api/test-runs/{id}/logs": {
|
|
215
235
|
parameters: {
|
|
216
236
|
query?: never;
|
|
@@ -442,7 +462,11 @@ export interface paths {
|
|
|
442
462
|
path?: never;
|
|
443
463
|
cookie?: never;
|
|
444
464
|
};
|
|
445
|
-
|
|
465
|
+
/**
|
|
466
|
+
* โ๏ธ Get a test run's delegated triage session
|
|
467
|
+
* @description Returns the newest delegated triage session whose source exactly matches the test run. Per-test fix sessions are excluded.
|
|
468
|
+
*/
|
|
469
|
+
get: operations["getTestRunTriageSession"];
|
|
446
470
|
put?: never;
|
|
447
471
|
/**
|
|
448
472
|
* โ๏ธ Delegate a test run to triage
|
|
@@ -1070,46 +1094,6 @@ export interface paths {
|
|
|
1070
1094
|
patch?: never;
|
|
1071
1095
|
trace?: never;
|
|
1072
1096
|
};
|
|
1073
|
-
"/api/slack/link": {
|
|
1074
|
-
parameters: {
|
|
1075
|
-
query?: never;
|
|
1076
|
-
header?: never;
|
|
1077
|
-
path?: never;
|
|
1078
|
-
cookie?: never;
|
|
1079
|
-
};
|
|
1080
|
-
get?: never;
|
|
1081
|
-
put?: never;
|
|
1082
|
-
/**
|
|
1083
|
-
* Slack /empirical slash command
|
|
1084
|
-
* @description Handles the /empirical slash command directly from Slack (verified by the Slack request signature): opens the project-subscription modal or returns usage text. Responds with text/plain โ a non-empty body is shown to the invoking user; an empty body means a modal opened.
|
|
1085
|
-
*/
|
|
1086
|
-
post: operations["slackLinkWebhook"];
|
|
1087
|
-
delete?: never;
|
|
1088
|
-
options?: never;
|
|
1089
|
-
head?: never;
|
|
1090
|
-
patch?: never;
|
|
1091
|
-
trace?: never;
|
|
1092
|
-
};
|
|
1093
|
-
"/api/slack/channels": {
|
|
1094
|
-
parameters: {
|
|
1095
|
-
query?: never;
|
|
1096
|
-
header?: never;
|
|
1097
|
-
path?: never;
|
|
1098
|
-
cookie?: never;
|
|
1099
|
-
};
|
|
1100
|
-
/**
|
|
1101
|
-
* ๐ค List Slack channels
|
|
1102
|
-
* @description Lists the Slack channel subscriptions for the scoped project, optionally validated against Slack.
|
|
1103
|
-
*/
|
|
1104
|
-
get: operations["listSlackChannels"];
|
|
1105
|
-
put?: never;
|
|
1106
|
-
post?: never;
|
|
1107
|
-
delete?: never;
|
|
1108
|
-
options?: never;
|
|
1109
|
-
head?: never;
|
|
1110
|
-
patch?: never;
|
|
1111
|
-
trace?: never;
|
|
1112
|
-
};
|
|
1113
1097
|
"/api/slack/files/{file_id}": {
|
|
1114
1098
|
parameters: {
|
|
1115
1099
|
query?: never;
|
|
@@ -1234,28 +1218,64 @@ export interface paths {
|
|
|
1234
1218
|
patch?: never;
|
|
1235
1219
|
trace?: never;
|
|
1236
1220
|
};
|
|
1237
|
-
"/api/slack/channels
|
|
1221
|
+
"/api/v2/slack/channels": {
|
|
1238
1222
|
parameters: {
|
|
1239
1223
|
query?: never;
|
|
1240
1224
|
header?: never;
|
|
1241
1225
|
path?: never;
|
|
1242
1226
|
cookie?: never;
|
|
1243
1227
|
};
|
|
1244
|
-
|
|
1228
|
+
/**
|
|
1229
|
+
* ๐ค ๐งช List canonical Slack channels
|
|
1230
|
+
* @description Lists active Slack channels registered for the scoped project's organization. Reporter configuration is intentionally not part of this resource.
|
|
1231
|
+
*/
|
|
1232
|
+
get: operations["listSlackChannelsV2"];
|
|
1245
1233
|
put?: never;
|
|
1246
1234
|
post?: never;
|
|
1235
|
+
delete?: never;
|
|
1236
|
+
options?: never;
|
|
1237
|
+
head?: never;
|
|
1238
|
+
patch?: never;
|
|
1239
|
+
trace?: never;
|
|
1240
|
+
};
|
|
1241
|
+
"/api/v2/slack/channels/{id}/refresh": {
|
|
1242
|
+
parameters: {
|
|
1243
|
+
query?: never;
|
|
1244
|
+
header?: never;
|
|
1245
|
+
path?: never;
|
|
1246
|
+
cookie?: never;
|
|
1247
|
+
};
|
|
1248
|
+
get?: never;
|
|
1249
|
+
put?: never;
|
|
1247
1250
|
/**
|
|
1248
|
-
*
|
|
1249
|
-
* @description
|
|
1251
|
+
* ๐ค ๐งช Refresh a canonical Slack channel's name
|
|
1252
|
+
* @description Re-reads the channel from Slack and stores its current name when it changed. The canonical channel ID is stable, so environment reporter configs are unaffected. Access problems are reported in the validation result rather than as an error.
|
|
1250
1253
|
*/
|
|
1251
|
-
|
|
1254
|
+
post: operations["refreshSlackChannelV2"];
|
|
1255
|
+
delete?: never;
|
|
1252
1256
|
options?: never;
|
|
1253
1257
|
head?: never;
|
|
1258
|
+
patch?: never;
|
|
1259
|
+
trace?: never;
|
|
1260
|
+
};
|
|
1261
|
+
"/api/v2/slack/channels/validate": {
|
|
1262
|
+
parameters: {
|
|
1263
|
+
query?: never;
|
|
1264
|
+
header?: never;
|
|
1265
|
+
path?: never;
|
|
1266
|
+
cookie?: never;
|
|
1267
|
+
};
|
|
1254
1268
|
/**
|
|
1255
|
-
*
|
|
1256
|
-
* @description
|
|
1269
|
+
* ๐ค ๐งช Validate canonical Slack channels
|
|
1270
|
+
* @description Checks every active channel registered for the scoped project's organization against Slack. Validation is read-only and verifies bot access and the stored channel name.
|
|
1257
1271
|
*/
|
|
1258
|
-
|
|
1272
|
+
get: operations["validateSlackChannelsV2"];
|
|
1273
|
+
put?: never;
|
|
1274
|
+
post?: never;
|
|
1275
|
+
delete?: never;
|
|
1276
|
+
options?: never;
|
|
1277
|
+
head?: never;
|
|
1278
|
+
patch?: never;
|
|
1259
1279
|
trace?: never;
|
|
1260
1280
|
};
|
|
1261
1281
|
"/api/slack/teams": {
|
|
@@ -1743,7 +1763,7 @@ export interface paths {
|
|
|
1743
1763
|
put?: never;
|
|
1744
1764
|
/**
|
|
1745
1765
|
* ๐ค Proxy a GitHub API request
|
|
1746
|
-
* @description Forwards an authenticated request to the GitHub API
|
|
1766
|
+
* @description Forwards an authenticated request to the GitHub API and returns the GitHub response verbatim. The request's project (bound token, or the `x-project-id`/`x-project-slug` header) picks the GitHub App: its own repo goes through the main App; another repo the project's org installed the reporter App on is read through the reporter App, and writes to it are rejected. Without a project, the main App is used. Merging a pull request with `merge_method` `squash` or `rebase` is rejected; only merge commits are allowed. Other writes to a project's default or protected branches are refused, as git-worker refuses the equivalent push. Project API keys are read-only. Sandbox-delegation principals are additionally constrained by per-session proxy rules.
|
|
1747
1767
|
*/
|
|
1748
1768
|
post: operations["githubProxy"];
|
|
1749
1769
|
delete?: never;
|
|
@@ -2102,7 +2122,7 @@ export interface paths {
|
|
|
2102
2122
|
};
|
|
2103
2123
|
/**
|
|
2104
2124
|
* โ๏ธ Get a cumulative diff
|
|
2105
|
-
* @description Returns the cumulative diff from the
|
|
2125
|
+
* @description Returns the cumulative diff from the project's default branch to the given head SHA.
|
|
2106
2126
|
*/
|
|
2107
2127
|
get: operations["getChatSessionCumulativeDiff"];
|
|
2108
2128
|
put?: never;
|
|
@@ -2267,46 +2287,6 @@ export interface paths {
|
|
|
2267
2287
|
patch?: never;
|
|
2268
2288
|
trace?: never;
|
|
2269
2289
|
};
|
|
2270
|
-
"/api/chat-sessions/{id}/sandbox/files": {
|
|
2271
|
-
parameters: {
|
|
2272
|
-
query?: never;
|
|
2273
|
-
header?: never;
|
|
2274
|
-
path?: never;
|
|
2275
|
-
cookie?: never;
|
|
2276
|
-
};
|
|
2277
|
-
/**
|
|
2278
|
-
* โ๏ธ List sandbox files
|
|
2279
|
-
* @description Walks the sandbox file tree under `path` (default /repo). Super-admin only.
|
|
2280
|
-
*/
|
|
2281
|
-
get: operations["listChatSessionSandboxFiles"];
|
|
2282
|
-
put?: never;
|
|
2283
|
-
post?: never;
|
|
2284
|
-
delete?: never;
|
|
2285
|
-
options?: never;
|
|
2286
|
-
head?: never;
|
|
2287
|
-
patch?: never;
|
|
2288
|
-
trace?: never;
|
|
2289
|
-
};
|
|
2290
|
-
"/api/chat-sessions/{id}/sandbox/files/content": {
|
|
2291
|
-
parameters: {
|
|
2292
|
-
query?: never;
|
|
2293
|
-
header?: never;
|
|
2294
|
-
path?: never;
|
|
2295
|
-
cookie?: never;
|
|
2296
|
-
};
|
|
2297
|
-
/**
|
|
2298
|
-
* โ๏ธ Read a sandbox file
|
|
2299
|
-
* @description Reads a single sandbox file as text or an inline image data URI. Super-admin only.
|
|
2300
|
-
*/
|
|
2301
|
-
get: operations["getChatSessionSandboxFileContent"];
|
|
2302
|
-
put?: never;
|
|
2303
|
-
post?: never;
|
|
2304
|
-
delete?: never;
|
|
2305
|
-
options?: never;
|
|
2306
|
-
head?: never;
|
|
2307
|
-
patch?: never;
|
|
2308
|
-
trace?: never;
|
|
2309
|
-
};
|
|
2310
2290
|
"/api/chat-sessions/{id}/sandbox/health": {
|
|
2311
2291
|
parameters: {
|
|
2312
2292
|
query?: never;
|
|
@@ -2347,26 +2327,6 @@ export interface paths {
|
|
|
2347
2327
|
patch?: never;
|
|
2348
2328
|
trace?: never;
|
|
2349
2329
|
};
|
|
2350
|
-
"/api/chat-sessions/{id}/sandbox/session-file": {
|
|
2351
|
-
parameters: {
|
|
2352
|
-
query?: never;
|
|
2353
|
-
header?: never;
|
|
2354
|
-
path?: never;
|
|
2355
|
-
cookie?: never;
|
|
2356
|
-
};
|
|
2357
|
-
/**
|
|
2358
|
-
* โ๏ธ Download the agent session file
|
|
2359
|
-
* @description Streams the sandbox agent's session.jsonl as a file download.
|
|
2360
|
-
*/
|
|
2361
|
-
get: operations["getChatSessionSandboxSessionFile"];
|
|
2362
|
-
put?: never;
|
|
2363
|
-
post?: never;
|
|
2364
|
-
delete?: never;
|
|
2365
|
-
options?: never;
|
|
2366
|
-
head?: never;
|
|
2367
|
-
patch?: never;
|
|
2368
|
-
trace?: never;
|
|
2369
|
-
};
|
|
2370
2330
|
"/api/chat-sessions/{id}/snapshot": {
|
|
2371
2331
|
parameters: {
|
|
2372
2332
|
query?: never;
|
|
@@ -2476,7 +2436,7 @@ export interface paths {
|
|
|
2476
2436
|
};
|
|
2477
2437
|
/**
|
|
2478
2438
|
* โ๏ธ List branches the sandbox may not push to
|
|
2479
|
-
* @description Returns the project's
|
|
2439
|
+
* @description Returns the project's configured protected branches. The sandbox git proxy blocks pushes to these. The session is derived from the sandbox-delegation principal.
|
|
2480
2440
|
*/
|
|
2481
2441
|
get: operations["getChatSessionSandboxProtectedBranches"];
|
|
2482
2442
|
put?: never;
|
|
@@ -2496,7 +2456,7 @@ export interface paths {
|
|
|
2496
2456
|
};
|
|
2497
2457
|
/**
|
|
2498
2458
|
* โ๏ธ List chat-session creators
|
|
2499
|
-
* @description Returns the distinct users who created chat sessions in scope, enriched with Supabase user details.
|
|
2459
|
+
* @description Returns the distinct users who created chat sessions in scope that were updated in the last 30 days, enriched with Supabase user details.
|
|
2500
2460
|
*/
|
|
2501
2461
|
get: operations["listChatSessionUsers"];
|
|
2502
2462
|
put?: never;
|
|
@@ -2650,7 +2610,7 @@ export interface paths {
|
|
|
2650
2610
|
put?: never;
|
|
2651
2611
|
/**
|
|
2652
2612
|
* โ๏ธ Share a failure group's diagnosis
|
|
2653
|
-
* @description Posts this group's diagnosis to a chosen Slack destination, with a link back to the failure group. The diagnosis and header are read from the stored group, never the client. A thread reply must belong to a run in this project;
|
|
2613
|
+
* @description Posts this group's diagnosis to a chosen Slack destination, with a link back to the failure group. The diagnosis and header are read from the stored group, never the client. A thread reply must belong to a run in this project; the channel must be accessible to the project's organization.
|
|
2654
2614
|
*/
|
|
2655
2615
|
post: operations["shareFailureGroup"];
|
|
2656
2616
|
delete?: never;
|
|
@@ -2719,6 +2679,26 @@ export interface paths {
|
|
|
2719
2679
|
patch?: never;
|
|
2720
2680
|
trace?: never;
|
|
2721
2681
|
};
|
|
2682
|
+
"/api/github/branches": {
|
|
2683
|
+
parameters: {
|
|
2684
|
+
query?: never;
|
|
2685
|
+
header?: never;
|
|
2686
|
+
path?: never;
|
|
2687
|
+
cookie?: never;
|
|
2688
|
+
};
|
|
2689
|
+
/**
|
|
2690
|
+
* Search repository branches
|
|
2691
|
+
* @description Searches branch names server-side through GitHub and returns a bounded result set.
|
|
2692
|
+
*/
|
|
2693
|
+
get: operations["searchRepositoryBranches"];
|
|
2694
|
+
put?: never;
|
|
2695
|
+
post?: never;
|
|
2696
|
+
delete?: never;
|
|
2697
|
+
options?: never;
|
|
2698
|
+
head?: never;
|
|
2699
|
+
patch?: never;
|
|
2700
|
+
trace?: never;
|
|
2701
|
+
};
|
|
2722
2702
|
"/api/github/commit/diff": {
|
|
2723
2703
|
parameters: {
|
|
2724
2704
|
query?: never;
|
|
@@ -2862,7 +2842,7 @@ export interface paths {
|
|
|
2862
2842
|
put?: never;
|
|
2863
2843
|
/**
|
|
2864
2844
|
* โ๏ธ Merge a pull request
|
|
2865
|
-
* @description
|
|
2845
|
+
* @description Merges an open, mergeable pull request with a merge commit.
|
|
2866
2846
|
*/
|
|
2867
2847
|
post: operations["mergePullRequest"];
|
|
2868
2848
|
delete?: never;
|
|
@@ -2931,6 +2911,26 @@ export interface paths {
|
|
|
2931
2911
|
patch?: never;
|
|
2932
2912
|
trace?: never;
|
|
2933
2913
|
};
|
|
2914
|
+
"/api/github/reporter-app/deliveries": {
|
|
2915
|
+
parameters: {
|
|
2916
|
+
query?: never;
|
|
2917
|
+
header?: never;
|
|
2918
|
+
path?: never;
|
|
2919
|
+
cookie?: never;
|
|
2920
|
+
};
|
|
2921
|
+
/**
|
|
2922
|
+
* โ๏ธ List reporter deliveries
|
|
2923
|
+
* @description Lists the check runs, PR comments and linked test changes checks the reporter App delivered for a project, newest first. Each row is the latest state of one check run (per test run), one PR comment (per PR + environment) or one linked test changes check (per app PR).
|
|
2924
|
+
*/
|
|
2925
|
+
get: operations["listReporterDeliveries"];
|
|
2926
|
+
put?: never;
|
|
2927
|
+
post?: never;
|
|
2928
|
+
delete?: never;
|
|
2929
|
+
options?: never;
|
|
2930
|
+
head?: never;
|
|
2931
|
+
patch?: never;
|
|
2932
|
+
trace?: never;
|
|
2933
|
+
};
|
|
2934
2934
|
"/api/github/reporter-app/events": {
|
|
2935
2935
|
parameters: {
|
|
2936
2936
|
query?: never;
|
|
@@ -3035,6 +3035,26 @@ export interface paths {
|
|
|
3035
3035
|
patch?: never;
|
|
3036
3036
|
trace?: never;
|
|
3037
3037
|
};
|
|
3038
|
+
"/api/github/reporter-app/pull-request": {
|
|
3039
|
+
parameters: {
|
|
3040
|
+
query?: never;
|
|
3041
|
+
header?: never;
|
|
3042
|
+
path?: never;
|
|
3043
|
+
cookie?: never;
|
|
3044
|
+
};
|
|
3045
|
+
/**
|
|
3046
|
+
* โ๏ธ Get a delivery's pull request
|
|
3047
|
+
* @description Reads an app PR live from GitHub through the project org's reporter App installation, and compares its current head with the commit a delivery was written on.
|
|
3048
|
+
*/
|
|
3049
|
+
get: operations["getReporterPullRequest"];
|
|
3050
|
+
put?: never;
|
|
3051
|
+
post?: never;
|
|
3052
|
+
delete?: never;
|
|
3053
|
+
options?: never;
|
|
3054
|
+
head?: never;
|
|
3055
|
+
patch?: never;
|
|
3056
|
+
trace?: never;
|
|
3057
|
+
};
|
|
3038
3058
|
"/api/github/tree": {
|
|
3039
3059
|
parameters: {
|
|
3040
3060
|
query?: never;
|
|
@@ -3911,6 +3931,26 @@ export interface paths {
|
|
|
3911
3931
|
patch?: never;
|
|
3912
3932
|
trace?: never;
|
|
3913
3933
|
};
|
|
3934
|
+
"/api/memories/activity": {
|
|
3935
|
+
parameters: {
|
|
3936
|
+
query?: never;
|
|
3937
|
+
header?: never;
|
|
3938
|
+
path?: never;
|
|
3939
|
+
cookie?: never;
|
|
3940
|
+
};
|
|
3941
|
+
/**
|
|
3942
|
+
* ๐ก๏ธ ๐งช Memory activity across projects
|
|
3943
|
+
* @description Returns every memory across all projects (soft-deleted included, content omitted) with edit statistics from its version history, plus daily create/edit/delete counts per project.
|
|
3944
|
+
*/
|
|
3945
|
+
get: operations["listMemoryActivity"];
|
|
3946
|
+
put?: never;
|
|
3947
|
+
post?: never;
|
|
3948
|
+
delete?: never;
|
|
3949
|
+
options?: never;
|
|
3950
|
+
head?: never;
|
|
3951
|
+
patch?: never;
|
|
3952
|
+
trace?: never;
|
|
3953
|
+
};
|
|
3914
3954
|
"/api/metrics/project-last-7-days": {
|
|
3915
3955
|
parameters: {
|
|
3916
3956
|
query?: never;
|
|
@@ -4175,7 +4215,7 @@ export interface paths {
|
|
|
4175
4215
|
post?: never;
|
|
4176
4216
|
/**
|
|
4177
4217
|
* ๐ก๏ธ Remove a member from an organization
|
|
4178
|
-
* @description Removes the
|
|
4218
|
+
* @description Removes the user's membership in the organization; access ends on their next request. Restricted to org members and super admins.
|
|
4179
4219
|
*/
|
|
4180
4220
|
delete: operations["removeOrgMember"];
|
|
4181
4221
|
options?: never;
|
|
@@ -4214,7 +4254,7 @@ export interface paths {
|
|
|
4214
4254
|
put?: never;
|
|
4215
4255
|
/**
|
|
4216
4256
|
* โ๏ธ Resolve org membership for a signed-in user
|
|
4217
|
-
* @description
|
|
4257
|
+
* @description Grants super-admin to staff emails; for users with no org yet, accepts pending invites for the email and matches org email domains. Returns the user's memberships and super-admin flag. System-to-system callers only.
|
|
4218
4258
|
*/
|
|
4219
4259
|
post: operations["resolveMembership"];
|
|
4220
4260
|
delete?: never;
|
|
@@ -4408,7 +4448,7 @@ export interface paths {
|
|
|
4408
4448
|
};
|
|
4409
4449
|
/**
|
|
4410
4450
|
* โ๏ธ List recent branches
|
|
4411
|
-
* @description Lists recent branches with test-run activity
|
|
4451
|
+
* @description Lists recent branches with test-run activity.
|
|
4412
4452
|
*/
|
|
4413
4453
|
get: operations["listProjectBranches"];
|
|
4414
4454
|
put?: never;
|
|
@@ -4519,6 +4559,46 @@ export interface paths {
|
|
|
4519
4559
|
patch?: never;
|
|
4520
4560
|
trace?: never;
|
|
4521
4561
|
};
|
|
4562
|
+
"/api/projects/{id}/repo-settings-check": {
|
|
4563
|
+
parameters: {
|
|
4564
|
+
query?: never;
|
|
4565
|
+
header?: never;
|
|
4566
|
+
path?: never;
|
|
4567
|
+
cookie?: never;
|
|
4568
|
+
};
|
|
4569
|
+
/**
|
|
4570
|
+
* โ๏ธ Check test repository settings
|
|
4571
|
+
* @description Checks the project's GitHub repository (or a repo transfer destination) against the settings Empirical needs: merge commits only, app access, matching default branch, and no rulesets blocking Empirical's branches.
|
|
4572
|
+
*/
|
|
4573
|
+
get: operations["checkProjectRepoSettings"];
|
|
4574
|
+
put?: never;
|
|
4575
|
+
post?: never;
|
|
4576
|
+
delete?: never;
|
|
4577
|
+
options?: never;
|
|
4578
|
+
head?: never;
|
|
4579
|
+
patch?: never;
|
|
4580
|
+
trace?: never;
|
|
4581
|
+
};
|
|
4582
|
+
"/api/projects/{id}/repo-settings-check/fix": {
|
|
4583
|
+
parameters: {
|
|
4584
|
+
query?: never;
|
|
4585
|
+
header?: never;
|
|
4586
|
+
path?: never;
|
|
4587
|
+
cookie?: never;
|
|
4588
|
+
};
|
|
4589
|
+
get?: never;
|
|
4590
|
+
put?: never;
|
|
4591
|
+
/**
|
|
4592
|
+
* ๐ก๏ธ Fix test repository merge settings
|
|
4593
|
+
* @description For repositories owned by empirical-run only: turns on merge commits and turns off squash and rebase merging, then returns the re-checked result. Rulesets are reported, never changed.
|
|
4594
|
+
*/
|
|
4595
|
+
post: operations["fixProjectRepoSettings"];
|
|
4596
|
+
delete?: never;
|
|
4597
|
+
options?: never;
|
|
4598
|
+
head?: never;
|
|
4599
|
+
patch?: never;
|
|
4600
|
+
trace?: never;
|
|
4601
|
+
};
|
|
4522
4602
|
"/api/projects/{id}/test-cases-sync/trigger": {
|
|
4523
4603
|
parameters: {
|
|
4524
4604
|
query?: never;
|
|
@@ -4927,7 +5007,7 @@ export interface paths {
|
|
|
4927
5007
|
patch?: never;
|
|
4928
5008
|
trace?: never;
|
|
4929
5009
|
};
|
|
4930
|
-
"/api/
|
|
5010
|
+
"/api/runner-backends": {
|
|
4931
5011
|
parameters: {
|
|
4932
5012
|
query?: never;
|
|
4933
5013
|
header?: never;
|
|
@@ -4935,43 +5015,43 @@ export interface paths {
|
|
|
4935
5015
|
cookie?: never;
|
|
4936
5016
|
};
|
|
4937
5017
|
/**
|
|
4938
|
-
*
|
|
4939
|
-
* @description
|
|
5018
|
+
* ๐ก๏ธ ๐งช List runner backends
|
|
5019
|
+
* @description Lists customer-hosted runner backends, optionally for one org.
|
|
4940
5020
|
*/
|
|
4941
|
-
get: operations["
|
|
5021
|
+
get: operations["listRunnerBackends"];
|
|
4942
5022
|
put?: never;
|
|
4943
5023
|
/**
|
|
4944
|
-
*
|
|
4945
|
-
* @description
|
|
5024
|
+
* ๐ก๏ธ ๐งช Register a runner backend
|
|
5025
|
+
* @description Registers an installation as `pending` and returns the external ID its role must require. Run `verify` before linking projects.
|
|
4946
5026
|
*/
|
|
4947
|
-
post: operations["
|
|
5027
|
+
post: operations["createRunnerBackend"];
|
|
4948
5028
|
delete?: never;
|
|
4949
5029
|
options?: never;
|
|
4950
5030
|
head?: never;
|
|
4951
5031
|
patch?: never;
|
|
4952
5032
|
trace?: never;
|
|
4953
5033
|
};
|
|
4954
|
-
"/api/
|
|
5034
|
+
"/api/runner-backends/{id}": {
|
|
4955
5035
|
parameters: {
|
|
4956
5036
|
query?: never;
|
|
4957
5037
|
header?: never;
|
|
4958
5038
|
path?: never;
|
|
4959
5039
|
cookie?: never;
|
|
4960
5040
|
};
|
|
4961
|
-
get?: never;
|
|
4962
|
-
put?: never;
|
|
4963
5041
|
/**
|
|
4964
|
-
*
|
|
4965
|
-
* @description
|
|
5042
|
+
* ๐ก๏ธ ๐งช Get a runner backend
|
|
5043
|
+
* @description Returns one runner backend.
|
|
4966
5044
|
*/
|
|
4967
|
-
|
|
5045
|
+
get: operations["getRunnerBackend"];
|
|
5046
|
+
put?: never;
|
|
5047
|
+
post?: never;
|
|
4968
5048
|
delete?: never;
|
|
4969
5049
|
options?: never;
|
|
4970
5050
|
head?: never;
|
|
4971
5051
|
patch?: never;
|
|
4972
5052
|
trace?: never;
|
|
4973
5053
|
};
|
|
4974
|
-
"/api/
|
|
5054
|
+
"/api/runner-backends/{id}/disable": {
|
|
4975
5055
|
parameters: {
|
|
4976
5056
|
query?: never;
|
|
4977
5057
|
header?: never;
|
|
@@ -4981,17 +5061,17 @@ export interface paths {
|
|
|
4981
5061
|
get?: never;
|
|
4982
5062
|
put?: never;
|
|
4983
5063
|
/**
|
|
4984
|
-
*
|
|
4985
|
-
* @description
|
|
5064
|
+
* ๐ก๏ธ ๐งช Disable a runner backend
|
|
5065
|
+
* @description Stops new dispatches to the backend immediately: runs of linked projects fail with `dispatch_failed` until it is verified again or the projects are unlinked.
|
|
4986
5066
|
*/
|
|
4987
|
-
post: operations["
|
|
5067
|
+
post: operations["disableRunnerBackend"];
|
|
4988
5068
|
delete?: never;
|
|
4989
5069
|
options?: never;
|
|
4990
5070
|
head?: never;
|
|
4991
5071
|
patch?: never;
|
|
4992
5072
|
trace?: never;
|
|
4993
5073
|
};
|
|
4994
|
-
"/api/
|
|
5074
|
+
"/api/runner-backends/{id}/verify": {
|
|
4995
5075
|
parameters: {
|
|
4996
5076
|
query?: never;
|
|
4997
5077
|
header?: never;
|
|
@@ -5001,29 +5081,173 @@ export interface paths {
|
|
|
5001
5081
|
get?: never;
|
|
5002
5082
|
put?: never;
|
|
5003
5083
|
/**
|
|
5004
|
-
*
|
|
5005
|
-
* @description
|
|
5084
|
+
* ๐ก๏ธ ๐งช Verify a runner backend
|
|
5085
|
+
* @description Assumes the backend's role and makes one read-only call to each queue, the cluster and the log group. On success the backend becomes `active`; on failure its status is unchanged. A disabled backend is re-enabled only by a passing verify.
|
|
5006
5086
|
*/
|
|
5007
|
-
post: operations["
|
|
5087
|
+
post: operations["verifyRunnerBackend"];
|
|
5008
5088
|
delete?: never;
|
|
5009
5089
|
options?: never;
|
|
5010
5090
|
head?: never;
|
|
5011
5091
|
patch?: never;
|
|
5012
5092
|
trace?: never;
|
|
5013
5093
|
};
|
|
5014
|
-
"/api/
|
|
5094
|
+
"/api/runner-backends/project": {
|
|
5015
5095
|
parameters: {
|
|
5016
5096
|
query?: never;
|
|
5017
5097
|
header?: never;
|
|
5018
5098
|
path?: never;
|
|
5019
5099
|
cookie?: never;
|
|
5020
5100
|
};
|
|
5021
|
-
get?: never;
|
|
5022
5101
|
/**
|
|
5023
|
-
* โ๏ธ
|
|
5024
|
-
* @description
|
|
5102
|
+
* โ๏ธ ๐งช Get the scoped project's runner backend
|
|
5103
|
+
* @description Returns the runner backend the scoped project is linked to, including its verification status, or null when the project runs on Empirical-hosted infrastructure.
|
|
5025
5104
|
*/
|
|
5026
|
-
|
|
5105
|
+
get: operations["getProjectRunnerBackend"];
|
|
5106
|
+
put?: never;
|
|
5107
|
+
post?: never;
|
|
5108
|
+
delete?: never;
|
|
5109
|
+
options?: never;
|
|
5110
|
+
head?: never;
|
|
5111
|
+
patch?: never;
|
|
5112
|
+
trace?: never;
|
|
5113
|
+
};
|
|
5114
|
+
"/api/runner-backends/project/verify": {
|
|
5115
|
+
parameters: {
|
|
5116
|
+
query?: never;
|
|
5117
|
+
header?: never;
|
|
5118
|
+
path?: never;
|
|
5119
|
+
cookie?: never;
|
|
5120
|
+
};
|
|
5121
|
+
get?: never;
|
|
5122
|
+
put?: never;
|
|
5123
|
+
/**
|
|
5124
|
+
* โ๏ธ ๐งช Re-check the scoped project's runner backend
|
|
5125
|
+
* @description Runs the same read-only checks as `verify` against the backend the scoped project is linked to and records the result, so a customer can confirm a fix to their role or stack. It never changes the backend's status: a disabled backend is re-enabled only by Empirical.
|
|
5126
|
+
*/
|
|
5127
|
+
post: operations["verifyProjectRunnerBackend"];
|
|
5128
|
+
delete?: never;
|
|
5129
|
+
options?: never;
|
|
5130
|
+
head?: never;
|
|
5131
|
+
patch?: never;
|
|
5132
|
+
trace?: never;
|
|
5133
|
+
};
|
|
5134
|
+
"/api/runner-backends/projects/{project_id}": {
|
|
5135
|
+
parameters: {
|
|
5136
|
+
query?: never;
|
|
5137
|
+
header?: never;
|
|
5138
|
+
path?: never;
|
|
5139
|
+
cookie?: never;
|
|
5140
|
+
};
|
|
5141
|
+
get?: never;
|
|
5142
|
+
/**
|
|
5143
|
+
* ๐ก๏ธ ๐งช Set a project's runner backend
|
|
5144
|
+
* @description Links a project to an active backend of its organisation, or back to Empirical-hosted with null. Applies to runs created afterwards; runs already created keep their backend.
|
|
5145
|
+
*/
|
|
5146
|
+
put: operations["setProjectRunnerBackend"];
|
|
5147
|
+
post?: never;
|
|
5148
|
+
delete?: never;
|
|
5149
|
+
options?: never;
|
|
5150
|
+
head?: never;
|
|
5151
|
+
patch?: never;
|
|
5152
|
+
trace?: never;
|
|
5153
|
+
};
|
|
5154
|
+
"/api/sandbox-snapshots": {
|
|
5155
|
+
parameters: {
|
|
5156
|
+
query?: never;
|
|
5157
|
+
header?: never;
|
|
5158
|
+
path?: never;
|
|
5159
|
+
cookie?: never;
|
|
5160
|
+
};
|
|
5161
|
+
/**
|
|
5162
|
+
* โ๏ธ List sandbox snapshots
|
|
5163
|
+
* @description Returns the most recent sandbox snapshots for the scoped project.
|
|
5164
|
+
*/
|
|
5165
|
+
get: operations["listSandboxSnapshots"];
|
|
5166
|
+
put?: never;
|
|
5167
|
+
/**
|
|
5168
|
+
* โ๏ธ Create a sandbox snapshot
|
|
5169
|
+
* @description Enqueues a snapshot-create job for the scoped project and base template.
|
|
5170
|
+
*/
|
|
5171
|
+
post: operations["createSandboxSnapshot"];
|
|
5172
|
+
delete?: never;
|
|
5173
|
+
options?: never;
|
|
5174
|
+
head?: never;
|
|
5175
|
+
patch?: never;
|
|
5176
|
+
trace?: never;
|
|
5177
|
+
};
|
|
5178
|
+
"/api/sandbox-snapshots/rebuild": {
|
|
5179
|
+
parameters: {
|
|
5180
|
+
query?: never;
|
|
5181
|
+
header?: never;
|
|
5182
|
+
path?: never;
|
|
5183
|
+
cookie?: never;
|
|
5184
|
+
};
|
|
5185
|
+
get?: never;
|
|
5186
|
+
put?: never;
|
|
5187
|
+
/**
|
|
5188
|
+
* โ๏ธ Rebuild project sandbox snapshots
|
|
5189
|
+
* @description Enqueues snapshot-create jobs for every project that already has a snapshot for the given provider and base template. Only `e2b` is supported.
|
|
5190
|
+
*/
|
|
5191
|
+
post: operations["rebuildSandboxSnapshots"];
|
|
5192
|
+
delete?: never;
|
|
5193
|
+
options?: never;
|
|
5194
|
+
head?: never;
|
|
5195
|
+
patch?: never;
|
|
5196
|
+
trace?: never;
|
|
5197
|
+
};
|
|
5198
|
+
"/api/sandbox-snapshots/rebuild-by-template": {
|
|
5199
|
+
parameters: {
|
|
5200
|
+
query?: never;
|
|
5201
|
+
header?: never;
|
|
5202
|
+
path?: never;
|
|
5203
|
+
cookie?: never;
|
|
5204
|
+
};
|
|
5205
|
+
get?: never;
|
|
5206
|
+
put?: never;
|
|
5207
|
+
/**
|
|
5208
|
+
* โ๏ธ Rebuild sandbox snapshots by template
|
|
5209
|
+
* @description Enqueues snapshot-create jobs for every project that has an `e2b` snapshot for the given base template.
|
|
5210
|
+
*/
|
|
5211
|
+
post: operations["rebuildSandboxSnapshotsByTemplate"];
|
|
5212
|
+
delete?: never;
|
|
5213
|
+
options?: never;
|
|
5214
|
+
head?: never;
|
|
5215
|
+
patch?: never;
|
|
5216
|
+
trace?: never;
|
|
5217
|
+
};
|
|
5218
|
+
"/api/sandbox-snapshots/sources/upsert": {
|
|
5219
|
+
parameters: {
|
|
5220
|
+
query?: never;
|
|
5221
|
+
header?: never;
|
|
5222
|
+
path?: never;
|
|
5223
|
+
cookie?: never;
|
|
5224
|
+
};
|
|
5225
|
+
get?: never;
|
|
5226
|
+
put?: never;
|
|
5227
|
+
/**
|
|
5228
|
+
* โ๏ธ Upsert sandbox snapshot sources
|
|
5229
|
+
* @description Upserts one or more snapshot source rows; called by sandbox-template CI.
|
|
5230
|
+
*/
|
|
5231
|
+
post: operations["upsertSandboxSnapshotSources"];
|
|
5232
|
+
delete?: never;
|
|
5233
|
+
options?: never;
|
|
5234
|
+
head?: never;
|
|
5235
|
+
patch?: never;
|
|
5236
|
+
trace?: never;
|
|
5237
|
+
};
|
|
5238
|
+
"/api/test-runs/events": {
|
|
5239
|
+
parameters: {
|
|
5240
|
+
query?: never;
|
|
5241
|
+
header?: never;
|
|
5242
|
+
path?: never;
|
|
5243
|
+
cookie?: never;
|
|
5244
|
+
};
|
|
5245
|
+
get?: never;
|
|
5246
|
+
/**
|
|
5247
|
+
* โ๏ธ Ingest a test-case run-end event
|
|
5248
|
+
* @description Ingests a per-test-case run-end event from the Playwright reporter (EmpiricalReporter in packages/playwright-utils): processes retries, triggers the failure-diagnosis workflow, and updates realtime test-run counts. Port of the dashboard's PUT /api/test-runs/events.
|
|
5249
|
+
*/
|
|
5250
|
+
put: operations["ingestTestCaseRunEndEvent"];
|
|
5027
5251
|
post?: never;
|
|
5028
5252
|
delete?: never;
|
|
5029
5253
|
options?: never;
|
|
@@ -5179,6 +5403,26 @@ export interface paths {
|
|
|
5179
5403
|
patch?: never;
|
|
5180
5404
|
trace?: never;
|
|
5181
5405
|
};
|
|
5406
|
+
"/api/users/me": {
|
|
5407
|
+
parameters: {
|
|
5408
|
+
query?: never;
|
|
5409
|
+
header?: never;
|
|
5410
|
+
path?: never;
|
|
5411
|
+
cookie?: never;
|
|
5412
|
+
};
|
|
5413
|
+
/**
|
|
5414
|
+
* Get the current user
|
|
5415
|
+
* @description Returns the signed-in user's id, email, org memberships and super-admin flag as used for authorization.
|
|
5416
|
+
*/
|
|
5417
|
+
get: operations["getCurrentUser"];
|
|
5418
|
+
put?: never;
|
|
5419
|
+
post?: never;
|
|
5420
|
+
delete?: never;
|
|
5421
|
+
options?: never;
|
|
5422
|
+
head?: never;
|
|
5423
|
+
patch?: never;
|
|
5424
|
+
trace?: never;
|
|
5425
|
+
};
|
|
5182
5426
|
"/api/users/me/memberships": {
|
|
5183
5427
|
parameters: {
|
|
5184
5428
|
query?: never;
|
|
@@ -5223,6 +5467,26 @@ export interface paths {
|
|
|
5223
5467
|
patch?: never;
|
|
5224
5468
|
trace?: never;
|
|
5225
5469
|
};
|
|
5470
|
+
"/api/v1/telemetry/track": {
|
|
5471
|
+
parameters: {
|
|
5472
|
+
query?: never;
|
|
5473
|
+
header?: never;
|
|
5474
|
+
path?: never;
|
|
5475
|
+
cookie?: never;
|
|
5476
|
+
};
|
|
5477
|
+
get?: never;
|
|
5478
|
+
put?: never;
|
|
5479
|
+
/**
|
|
5480
|
+
* Track a telemetry event
|
|
5481
|
+
* @description Records a test-run telemetry event for the scoped project. Delivery is best-effort.
|
|
5482
|
+
*/
|
|
5483
|
+
post: operations["trackTelemetryEvent"];
|
|
5484
|
+
delete?: never;
|
|
5485
|
+
options?: never;
|
|
5486
|
+
head?: never;
|
|
5487
|
+
patch?: never;
|
|
5488
|
+
trace?: never;
|
|
5489
|
+
};
|
|
5226
5490
|
"/api/v2/projects/{id}/usage": {
|
|
5227
5491
|
parameters: {
|
|
5228
5492
|
query?: never;
|
|
@@ -5962,6 +6226,160 @@ export interface components {
|
|
|
5962
6226
|
/** @description Arbitrary JSON overrides for the plan. */
|
|
5963
6227
|
custom_overrides?: unknown;
|
|
5964
6228
|
};
|
|
6229
|
+
RunnerBackendListResponse: {
|
|
6230
|
+
/** @description Response payload. */
|
|
6231
|
+
data: {
|
|
6232
|
+
runner_backends: components["schemas"]["RunnerBackend"][];
|
|
6233
|
+
};
|
|
6234
|
+
};
|
|
6235
|
+
RunnerBackend: {
|
|
6236
|
+
/** @description Runner backend ID. */
|
|
6237
|
+
id: number;
|
|
6238
|
+
/** @description Organisation that owns the installation. */
|
|
6239
|
+
org_id: number;
|
|
6240
|
+
/** @description Human-readable name. */
|
|
6241
|
+
name: string;
|
|
6242
|
+
/** @description AWS account the installation runs in. */
|
|
6243
|
+
aws_account_id: string;
|
|
6244
|
+
/** @description AWS region of the installation. */
|
|
6245
|
+
region: string;
|
|
6246
|
+
/** @description Role api-worker assumes to drive the plane. */
|
|
6247
|
+
role_arn: string;
|
|
6248
|
+
/** @description External ID the role's trust policy must require. Give it only to this installation's owner. */
|
|
6249
|
+
external_id: string;
|
|
6250
|
+
/** @description ECS cluster name. */
|
|
6251
|
+
cluster_name: string;
|
|
6252
|
+
/** @description CloudWatch log group of the worker. */
|
|
6253
|
+
log_group_name: string;
|
|
6254
|
+
/** @description Worker container name. */
|
|
6255
|
+
container_name: string;
|
|
6256
|
+
/** @description Job queue URLs are `${queue_prefix}-${machineSize}`. */
|
|
6257
|
+
queue_prefix: string;
|
|
6258
|
+
/**
|
|
6259
|
+
* @description `pending` until verified; only `active` backends receive runs.
|
|
6260
|
+
* @enum {string}
|
|
6261
|
+
*/
|
|
6262
|
+
status: "pending" | "active" | "disabled";
|
|
6263
|
+
/** @description ISO-8601 time of the last successful verify. */
|
|
6264
|
+
last_verified_at: string | null;
|
|
6265
|
+
/** @description ISO-8601 time of the last verify, manual or scheduled, whatever its outcome. */
|
|
6266
|
+
last_checked_at: string | null;
|
|
6267
|
+
/** @description Outcome of the last verify; null if never run. */
|
|
6268
|
+
last_check_ok: boolean | null;
|
|
6269
|
+
/** @description Every check from the last verify. */
|
|
6270
|
+
last_check_results: components["schemas"]["RunnerBackendCheck"][] | null;
|
|
6271
|
+
/** @description ISO-8601 start of the current run of failed checks; null while passing. A failing check does not change `status`. */
|
|
6272
|
+
check_failing_since: string | null;
|
|
6273
|
+
/** @description ISO-8601 creation time. */
|
|
6274
|
+
created_at: string;
|
|
6275
|
+
/** @description ISO-8601 last-update time. */
|
|
6276
|
+
updated_at: string;
|
|
6277
|
+
};
|
|
6278
|
+
RunnerBackendCheck: {
|
|
6279
|
+
/** @description `assume_role`, `job_queue`, `scaler_trigger_queue`, `ecs_cluster`, `ecs_tasks` or `worker_logs`. */
|
|
6280
|
+
name: string;
|
|
6281
|
+
/** @description Whether the check passed. */
|
|
6282
|
+
ok: boolean;
|
|
6283
|
+
/** @description The resource checked, or the AWS error. */
|
|
6284
|
+
detail: string;
|
|
6285
|
+
};
|
|
6286
|
+
RunnerBackendResponse: {
|
|
6287
|
+
/** @description Response payload. */
|
|
6288
|
+
data: {
|
|
6289
|
+
runner_backend: components["schemas"]["RunnerBackend"];
|
|
6290
|
+
};
|
|
6291
|
+
};
|
|
6292
|
+
CreateRunnerBackendBody: {
|
|
6293
|
+
/** @description Owning organisation. */
|
|
6294
|
+
org_id: number;
|
|
6295
|
+
/** @description Human-readable name. */
|
|
6296
|
+
name: string;
|
|
6297
|
+
/** @description 12-digit AWS account ID. */
|
|
6298
|
+
aws_account_id: string;
|
|
6299
|
+
/** @description AWS region, e.g. `us-east-1`. */
|
|
6300
|
+
region: string;
|
|
6301
|
+
/** @description ARN of a role named `empirical-private-runner-*` in `aws_account_id`. */
|
|
6302
|
+
role_arn: string;
|
|
6303
|
+
/** @description ECS cluster name. */
|
|
6304
|
+
cluster_name: string;
|
|
6305
|
+
/** @description CloudWatch log group of the worker. */
|
|
6306
|
+
log_group_name: string;
|
|
6307
|
+
/** @description `https://sqs.<region>.amazonaws.com/<account>/<name>`; queues are `${queue_prefix}-${machineSize}`. */
|
|
6308
|
+
queue_prefix: string;
|
|
6309
|
+
/** @description Worker container name. Defaults to `test-run-worker`. */
|
|
6310
|
+
container_name?: string;
|
|
6311
|
+
/** @description Only for installations whose role already requires a fixed ID (Empirical's own dogfood). Generated otherwise. */
|
|
6312
|
+
external_id?: string;
|
|
6313
|
+
};
|
|
6314
|
+
ProjectRunnerBackendResponse: {
|
|
6315
|
+
/** @description Response payload. */
|
|
6316
|
+
data: {
|
|
6317
|
+
project_id: number;
|
|
6318
|
+
runner_backend_id: number | null;
|
|
6319
|
+
};
|
|
6320
|
+
};
|
|
6321
|
+
SetProjectRunnerBackendBody: {
|
|
6322
|
+
/** @description An active backend of the project's organisation, or null for Empirical-hosted. */
|
|
6323
|
+
runner_backend_id: number | null;
|
|
6324
|
+
};
|
|
6325
|
+
ProjectRunnerBackendDetailResponse: {
|
|
6326
|
+
/** @description Response payload. */
|
|
6327
|
+
data: {
|
|
6328
|
+
/** @description The backend the project's new runs are placed on, or null for Empirical-hosted. */
|
|
6329
|
+
runner_backend: {
|
|
6330
|
+
/** @description Runner backend ID. */
|
|
6331
|
+
id: number;
|
|
6332
|
+
/** @description Organisation that owns the installation. */
|
|
6333
|
+
org_id: number;
|
|
6334
|
+
/** @description Human-readable name. */
|
|
6335
|
+
name: string;
|
|
6336
|
+
/** @description AWS account the installation runs in. */
|
|
6337
|
+
aws_account_id: string;
|
|
6338
|
+
/** @description AWS region of the installation. */
|
|
6339
|
+
region: string;
|
|
6340
|
+
/** @description Role api-worker assumes to drive the plane. */
|
|
6341
|
+
role_arn: string;
|
|
6342
|
+
/** @description External ID the role's trust policy must require. Give it only to this installation's owner. */
|
|
6343
|
+
external_id: string;
|
|
6344
|
+
/** @description ECS cluster name. */
|
|
6345
|
+
cluster_name: string;
|
|
6346
|
+
/** @description CloudWatch log group of the worker. */
|
|
6347
|
+
log_group_name: string;
|
|
6348
|
+
/** @description Worker container name. */
|
|
6349
|
+
container_name: string;
|
|
6350
|
+
/** @description Job queue URLs are `${queue_prefix}-${machineSize}`. */
|
|
6351
|
+
queue_prefix: string;
|
|
6352
|
+
/**
|
|
6353
|
+
* @description `pending` until verified; only `active` backends receive runs.
|
|
6354
|
+
* @enum {string}
|
|
6355
|
+
*/
|
|
6356
|
+
status: "pending" | "active" | "disabled";
|
|
6357
|
+
/** @description ISO-8601 time of the last successful verify. */
|
|
6358
|
+
last_verified_at: string | null;
|
|
6359
|
+
/** @description ISO-8601 time of the last verify, manual or scheduled, whatever its outcome. */
|
|
6360
|
+
last_checked_at: string | null;
|
|
6361
|
+
/** @description Outcome of the last verify; null if never run. */
|
|
6362
|
+
last_check_ok: boolean | null;
|
|
6363
|
+
/** @description Every check from the last verify. */
|
|
6364
|
+
last_check_results: components["schemas"]["RunnerBackendCheck"][] | null;
|
|
6365
|
+
/** @description ISO-8601 start of the current run of failed checks; null while passing. A failing check does not change `status`. */
|
|
6366
|
+
check_failing_since: string | null;
|
|
6367
|
+
/** @description ISO-8601 creation time. */
|
|
6368
|
+
created_at: string;
|
|
6369
|
+
/** @description ISO-8601 last-update time. */
|
|
6370
|
+
updated_at: string;
|
|
6371
|
+
} | null;
|
|
6372
|
+
};
|
|
6373
|
+
};
|
|
6374
|
+
RunnerBackendVerifyResponse: {
|
|
6375
|
+
/** @description Response payload. */
|
|
6376
|
+
data: {
|
|
6377
|
+
/** @description True when every check passed. */
|
|
6378
|
+
verified: boolean;
|
|
6379
|
+
checks: components["schemas"]["RunnerBackendCheck"][];
|
|
6380
|
+
runner_backend: components["schemas"]["RunnerBackend"];
|
|
6381
|
+
};
|
|
6382
|
+
};
|
|
5965
6383
|
ApiKeyListResponse: {
|
|
5966
6384
|
/** @description Response payload. */
|
|
5967
6385
|
data: {
|
|
@@ -6309,10 +6727,8 @@ export interface components {
|
|
|
6309
6727
|
repo_host: "github" | "pierre_code_storage";
|
|
6310
6728
|
/** @description Default branch of the repository. */
|
|
6311
6729
|
default_branch: string;
|
|
6312
|
-
/** @description
|
|
6313
|
-
|
|
6314
|
-
/** @description Branches kept across runs. */
|
|
6315
|
-
persistent_branches: string[];
|
|
6730
|
+
/** @description Branches that may not be pushed to through Empirical. Always includes the default branch. */
|
|
6731
|
+
protected_branches: string[];
|
|
6316
6732
|
/** @description Whether email reporting is enabled. */
|
|
6317
6733
|
has_email_reporting: boolean | null;
|
|
6318
6734
|
/**
|
|
@@ -6369,10 +6785,8 @@ export interface components {
|
|
|
6369
6785
|
repo_host: "github" | "pierre_code_storage";
|
|
6370
6786
|
/** @description Default branch of the repository. */
|
|
6371
6787
|
default_branch: string;
|
|
6372
|
-
/** @description
|
|
6373
|
-
|
|
6374
|
-
/** @description Branches kept across runs. */
|
|
6375
|
-
persistent_branches: string[];
|
|
6788
|
+
/** @description Branches that may not be pushed to through Empirical. Always includes the default branch. */
|
|
6789
|
+
protected_branches: string[];
|
|
6376
6790
|
/** @description Whether email reporting is enabled. */
|
|
6377
6791
|
has_email_reporting: boolean | null;
|
|
6378
6792
|
/**
|
|
@@ -6493,15 +6907,13 @@ export interface components {
|
|
|
6493
6907
|
ProjectBranchesResponse: {
|
|
6494
6908
|
/** @description Response payload. */
|
|
6495
6909
|
data: {
|
|
6496
|
-
/** @description Recent branches with run
|
|
6497
|
-
branches: components["schemas"]["
|
|
6910
|
+
/** @description Recent branches with test-run activity. */
|
|
6911
|
+
branches: components["schemas"]["RecentBranch"][];
|
|
6498
6912
|
/** @description Total matching branches. */
|
|
6499
6913
|
total: number;
|
|
6500
|
-
/** @description Configured persistent branches. */
|
|
6501
|
-
persistent_branches: components["schemas"]["PersistentBranch"][];
|
|
6502
6914
|
};
|
|
6503
6915
|
};
|
|
6504
|
-
|
|
6916
|
+
RecentBranch: {
|
|
6505
6917
|
/** @description Branch name. */
|
|
6506
6918
|
name: string;
|
|
6507
6919
|
/** @description ID of the latest test run on the branch. */
|
|
@@ -6514,34 +6926,6 @@ export interface components {
|
|
|
6514
6926
|
run_count: number;
|
|
6515
6927
|
/** @description GitHub actor of the latest run. */
|
|
6516
6928
|
latest_github_actor: string | null;
|
|
6517
|
-
/** @description Branch status. */
|
|
6518
|
-
status: string;
|
|
6519
|
-
/** @description Diff vs the default branch, if the branch is persistent. */
|
|
6520
|
-
diff: {
|
|
6521
|
-
/** @description Commits ahead of default. */
|
|
6522
|
-
ahead: number;
|
|
6523
|
-
/** @description Commits behind default. */
|
|
6524
|
-
behind: number;
|
|
6525
|
-
/** @description Files changed vs default. */
|
|
6526
|
-
files_changed: number;
|
|
6527
|
-
} | null;
|
|
6528
|
-
/** @description Always null (reserved). */
|
|
6529
|
-
merge_request: unknown;
|
|
6530
|
-
};
|
|
6531
|
-
PersistentBranch: {
|
|
6532
|
-
/** @description Branch name. */
|
|
6533
|
-
name: string;
|
|
6534
|
-
/** @description Whether the branch exists on GitHub. */
|
|
6535
|
-
exists: boolean;
|
|
6536
|
-
/** @description Diff vs the default branch, if it exists. */
|
|
6537
|
-
diff: {
|
|
6538
|
-
/** @description Commits ahead of default. */
|
|
6539
|
-
ahead: number;
|
|
6540
|
-
/** @description Commits behind default. */
|
|
6541
|
-
behind: number;
|
|
6542
|
-
/** @description Files changed vs default. */
|
|
6543
|
-
files_changed: number;
|
|
6544
|
-
} | null;
|
|
6545
6929
|
};
|
|
6546
6930
|
RepoExistsResponse: {
|
|
6547
6931
|
/** @description Response payload. */
|
|
@@ -6558,6 +6942,39 @@ export interface components {
|
|
|
6558
6942
|
exists: boolean;
|
|
6559
6943
|
};
|
|
6560
6944
|
};
|
|
6945
|
+
RepoSettingsCheckResponse: {
|
|
6946
|
+
/** @description Response payload. */
|
|
6947
|
+
data: {
|
|
6948
|
+
repo: {
|
|
6949
|
+
owner: string;
|
|
6950
|
+
name: string;
|
|
6951
|
+
html_url: string;
|
|
6952
|
+
};
|
|
6953
|
+
checks: components["schemas"]["RepoSettingsCheck"][];
|
|
6954
|
+
/** @description True when the repo is owned by empirical-run and its merge settings need fixing; `POST โฆ/fix` then applies them. */
|
|
6955
|
+
can_auto_fix: boolean;
|
|
6956
|
+
};
|
|
6957
|
+
};
|
|
6958
|
+
RepoSettingsCheck: {
|
|
6959
|
+
/** @description Stable check id. */
|
|
6960
|
+
id: string;
|
|
6961
|
+
/**
|
|
6962
|
+
* @description `error`: Empirical breaks without it. `warning`: recommended. `info`: for awareness.
|
|
6963
|
+
* @enum {string}
|
|
6964
|
+
*/
|
|
6965
|
+
level: "error" | "warning" | "info";
|
|
6966
|
+
/**
|
|
6967
|
+
* @description `unknown` when GitHub didn't let the Empirical app read what the check needs.
|
|
6968
|
+
* @enum {string}
|
|
6969
|
+
*/
|
|
6970
|
+
status: "pass" | "fail" | "unknown";
|
|
6971
|
+
/** @description What was found, e.g. "Squash merging is on". Worded the same way whether the check passes or fails. */
|
|
6972
|
+
title: string;
|
|
6973
|
+
/** @description Why it matters, or what couldn't be read. */
|
|
6974
|
+
detail: string;
|
|
6975
|
+
/** @description Where to change it in GitHub, in plain language. */
|
|
6976
|
+
fix_hint: string | null;
|
|
6977
|
+
};
|
|
6561
6978
|
TestCasesSyncTriggeredResponse: {
|
|
6562
6979
|
/** @description Response payload. */
|
|
6563
6980
|
data: {
|
|
@@ -6588,8 +7005,6 @@ export interface components {
|
|
|
6588
7005
|
updated_at: string;
|
|
6589
7006
|
/** @description Owning project ID. */
|
|
6590
7007
|
project_id: number;
|
|
6591
|
-
/** @description Base branch name. */
|
|
6592
|
-
base_branch: string;
|
|
6593
7008
|
/** @description Session mode (e.g. chat). */
|
|
6594
7009
|
mode: string;
|
|
6595
7010
|
/** @description Origin of the session. */
|
|
@@ -6648,10 +7063,8 @@ export interface components {
|
|
|
6648
7063
|
repo_host: "github" | "pierre_code_storage";
|
|
6649
7064
|
/** @description Default branch of the repository. */
|
|
6650
7065
|
default_branch: string;
|
|
6651
|
-
/** @description
|
|
6652
|
-
|
|
6653
|
-
/** @description Branches kept across runs. */
|
|
6654
|
-
persistent_branches: string[];
|
|
7066
|
+
/** @description Branches that may not be pushed to through Empirical. Always includes the default branch. */
|
|
7067
|
+
protected_branches: string[];
|
|
6655
7068
|
/** @description Whether email reporting is enabled. */
|
|
6656
7069
|
has_email_reporting: boolean | null;
|
|
6657
7070
|
/**
|
|
@@ -6944,10 +7357,6 @@ export interface components {
|
|
|
6944
7357
|
repo_host: "github" | "pierre_code_storage";
|
|
6945
7358
|
/** @description Default branch name. */
|
|
6946
7359
|
default_branch: string;
|
|
6947
|
-
/** @description Whether branch-based environments are enabled. */
|
|
6948
|
-
has_branching_enabled: boolean | null;
|
|
6949
|
-
/** @description Branches kept warm/persistent. */
|
|
6950
|
-
persistent_branches: string[];
|
|
6951
7360
|
/** @description Whether email reporting is enabled. */
|
|
6952
7361
|
has_email_reporting: boolean | null;
|
|
6953
7362
|
/**
|
|
@@ -6996,8 +7405,10 @@ export interface components {
|
|
|
6996
7405
|
ResolveMembershipResponse: {
|
|
6997
7406
|
/** @description Response payload. */
|
|
6998
7407
|
data: {
|
|
6999
|
-
/** @description All org ids the user
|
|
7408
|
+
/** @description All org ids the user belongs to after resolution. */
|
|
7000
7409
|
org_ids: number[];
|
|
7410
|
+
/** @description Whether the user is a super admin. */
|
|
7411
|
+
is_super_admin: boolean;
|
|
7001
7412
|
};
|
|
7002
7413
|
};
|
|
7003
7414
|
ResolveMembershipRequest: {
|
|
@@ -7326,8 +7737,6 @@ export interface components {
|
|
|
7326
7737
|
updated_at: string;
|
|
7327
7738
|
/** @description Project ID. */
|
|
7328
7739
|
project_id: number;
|
|
7329
|
-
/** @description Branch this session forks. */
|
|
7330
|
-
base_branch: string;
|
|
7331
7740
|
/** @description Session mode (e.g. `chat`). */
|
|
7332
7741
|
mode: string;
|
|
7333
7742
|
/** @description Source surface (e.g. `request`). */
|
|
@@ -7433,8 +7842,6 @@ export interface components {
|
|
|
7433
7842
|
updated_at: string;
|
|
7434
7843
|
/** @description Project ID. */
|
|
7435
7844
|
project_id: number;
|
|
7436
|
-
/** @description Branch this session forks. */
|
|
7437
|
-
base_branch: string;
|
|
7438
7845
|
/** @description Session mode (e.g. `chat`). */
|
|
7439
7846
|
mode: string;
|
|
7440
7847
|
/** @description Source surface (e.g. `request`). */
|
|
@@ -7488,8 +7895,6 @@ export interface components {
|
|
|
7488
7895
|
updated_at: string;
|
|
7489
7896
|
/** @description Project ID. */
|
|
7490
7897
|
project_id: number;
|
|
7491
|
-
/** @description Branch this session forks. */
|
|
7492
|
-
base_branch: string;
|
|
7493
7898
|
/** @description Session mode (e.g. `chat`). */
|
|
7494
7899
|
mode: string;
|
|
7495
7900
|
/** @description Source surface (e.g. `request`). */
|
|
@@ -7746,6 +8151,24 @@ export interface components {
|
|
|
7746
8151
|
*/
|
|
7747
8152
|
on_conflict: "cancel" | "wait";
|
|
7748
8153
|
} | null;
|
|
8154
|
+
/** @description Reporter configuration for runs in this environment. */
|
|
8155
|
+
reporter_config: {
|
|
8156
|
+
/**
|
|
8157
|
+
* @description Reporter config schema version. Always `1`.
|
|
8158
|
+
* @enum {number}
|
|
8159
|
+
*/
|
|
8160
|
+
schema_version: 1;
|
|
8161
|
+
/** @description Reporters for this environment, at most one per `reporter_type`. Replaces the stored list on write; an empty array disables notifications. */
|
|
8162
|
+
reporters: {
|
|
8163
|
+
/**
|
|
8164
|
+
* @description Reporter kind. `slack_run_status` posts run status updates to Slack channels; it is the only kind accepted today.
|
|
8165
|
+
* @enum {string}
|
|
8166
|
+
*/
|
|
8167
|
+
reporter_type: "slack_run_status";
|
|
8168
|
+
/** @description Registered Slack channel ids from `GET /api/v2/slack/channels` (the numeric `id`, not the Slack `Cโฆ` channel id). Must belong to the project's organization and not be archived. Deduplicated and sorted on save. */
|
|
8169
|
+
slack_channel_ids: number[];
|
|
8170
|
+
}[];
|
|
8171
|
+
};
|
|
7749
8172
|
/** @description ISO 8601 timestamp. */
|
|
7750
8173
|
created_at: string | null;
|
|
7751
8174
|
/** @description ISO 8601 timestamp. */
|
|
@@ -7778,6 +8201,24 @@ export interface components {
|
|
|
7778
8201
|
*/
|
|
7779
8202
|
on_conflict: "cancel" | "wait";
|
|
7780
8203
|
} | null;
|
|
8204
|
+
/** @description Reporter configuration for the environment. Slack channel ids must be active registered channels of the project's organization (GET /api/v2/slack/channels). */
|
|
8205
|
+
reporter_config?: {
|
|
8206
|
+
/**
|
|
8207
|
+
* @description Reporter config schema version. Always `1`.
|
|
8208
|
+
* @enum {number}
|
|
8209
|
+
*/
|
|
8210
|
+
schema_version: 1;
|
|
8211
|
+
/** @description Reporters for this environment, at most one per `reporter_type`. Replaces the stored list on write; an empty array disables notifications. */
|
|
8212
|
+
reporters: {
|
|
8213
|
+
/**
|
|
8214
|
+
* @description Reporter kind. `slack_run_status` posts run status updates to Slack channels; it is the only kind accepted today.
|
|
8215
|
+
* @enum {string}
|
|
8216
|
+
*/
|
|
8217
|
+
reporter_type: "slack_run_status";
|
|
8218
|
+
/** @description Registered Slack channel ids from `GET /api/v2/slack/channels` (the numeric `id`, not the Slack `Cโฆ` channel id). Must belong to the project's organization and not be archived. Deduplicated and sorted on save. */
|
|
8219
|
+
slack_channel_ids: number[];
|
|
8220
|
+
}[];
|
|
8221
|
+
};
|
|
7781
8222
|
};
|
|
7782
8223
|
EnvironmentSyncResponse: {
|
|
7783
8224
|
/** @description Response payload. */
|
|
@@ -7816,8 +8257,26 @@ export interface components {
|
|
|
7816
8257
|
*/
|
|
7817
8258
|
on_conflict: "cancel" | "wait";
|
|
7818
8259
|
} | null;
|
|
7819
|
-
|
|
7820
|
-
|
|
8260
|
+
/** @description Reporter configuration for the environment. Slack channel ids must be active registered channels of the project's organization (GET /api/v2/slack/channels). */
|
|
8261
|
+
reporter_config?: {
|
|
8262
|
+
/**
|
|
8263
|
+
* @description Reporter config schema version. Always `1`.
|
|
8264
|
+
* @enum {number}
|
|
8265
|
+
*/
|
|
8266
|
+
schema_version: 1;
|
|
8267
|
+
/** @description Reporters for this environment, at most one per `reporter_type`. Replaces the stored list on write; an empty array disables notifications. */
|
|
8268
|
+
reporters: {
|
|
8269
|
+
/**
|
|
8270
|
+
* @description Reporter kind. `slack_run_status` posts run status updates to Slack channels; it is the only kind accepted today.
|
|
8271
|
+
* @enum {string}
|
|
8272
|
+
*/
|
|
8273
|
+
reporter_type: "slack_run_status";
|
|
8274
|
+
/** @description Registered Slack channel ids from `GET /api/v2/slack/channels` (the numeric `id`, not the Slack `Cโฆ` channel id). Must belong to the project's organization and not be archived. Deduplicated and sorted on save. */
|
|
8275
|
+
slack_channel_ids: number[];
|
|
8276
|
+
}[];
|
|
8277
|
+
};
|
|
8278
|
+
};
|
|
8279
|
+
EnvironmentDeleteResponse: {
|
|
7821
8280
|
/** @description Always true on success. */
|
|
7822
8281
|
success: boolean;
|
|
7823
8282
|
};
|
|
@@ -7929,6 +8388,48 @@ export interface components {
|
|
|
7929
8388
|
/** @description ISO 8601 timestamp when the memory was soft-deleted, or null if live. */
|
|
7930
8389
|
deleted_at: string | null;
|
|
7931
8390
|
};
|
|
8391
|
+
MemoryActivityResponse: {
|
|
8392
|
+
/** @description Response payload. */
|
|
8393
|
+
data: {
|
|
8394
|
+
memories: components["schemas"]["MemoryActivity"][];
|
|
8395
|
+
daily: components["schemas"]["MemoryActivityDay"][];
|
|
8396
|
+
};
|
|
8397
|
+
};
|
|
8398
|
+
MemoryActivity: {
|
|
8399
|
+
id: number;
|
|
8400
|
+
project_id: number;
|
|
8401
|
+
name: string | null;
|
|
8402
|
+
description: string | null;
|
|
8403
|
+
source: string | null;
|
|
8404
|
+
/** @description Chat session the memory was created in, if any. */
|
|
8405
|
+
source_chat_session_id: number | null;
|
|
8406
|
+
/** @description Length of the current content in characters. */
|
|
8407
|
+
content_length: number;
|
|
8408
|
+
/** @description ISO 8601 timestamp. */
|
|
8409
|
+
created_at: string;
|
|
8410
|
+
/** @description ISO 8601 timestamp. */
|
|
8411
|
+
updated_at: string;
|
|
8412
|
+
/** @description ISO 8601 timestamp of the soft delete, or null if live. */
|
|
8413
|
+
deleted_at: string | null;
|
|
8414
|
+
/** @description Total versions, including the initial create (v1). */
|
|
8415
|
+
version_count: number;
|
|
8416
|
+
/** @description Edits (versions after v1) in the last 7 days. */
|
|
8417
|
+
edits_7d: number;
|
|
8418
|
+
/** @description Edits (versions after v1) in the last 30 days. */
|
|
8419
|
+
edits_30d: number;
|
|
8420
|
+
/** @description Distinct chat sessions that edited the memory after v1. */
|
|
8421
|
+
edit_session_count: number;
|
|
8422
|
+
/** @description ISO 8601 timestamp of the latest edit, or null if never edited. */
|
|
8423
|
+
last_edited_at: string | null;
|
|
8424
|
+
};
|
|
8425
|
+
MemoryActivityDay: {
|
|
8426
|
+
/** @description UTC day, YYYY-MM-DD. */
|
|
8427
|
+
date: string;
|
|
8428
|
+
project_id: number;
|
|
8429
|
+
created: number;
|
|
8430
|
+
edited: number;
|
|
8431
|
+
deleted: number;
|
|
8432
|
+
};
|
|
7932
8433
|
MemoryResponse: {
|
|
7933
8434
|
/** @description Response payload. */
|
|
7934
8435
|
data: {
|
|
@@ -8142,84 +8643,6 @@ export interface components {
|
|
|
8142
8643
|
/** @description Raw Slack auth.test result. */
|
|
8143
8644
|
data?: unknown;
|
|
8144
8645
|
};
|
|
8145
|
-
SlackChannelListResponse: {
|
|
8146
|
-
/** @description Slack channels for the project. */
|
|
8147
|
-
data: {
|
|
8148
|
-
/** @description The project's Slack channels. */
|
|
8149
|
-
channels: components["schemas"]["SlackChannel"][];
|
|
8150
|
-
};
|
|
8151
|
-
};
|
|
8152
|
-
SlackChannel: {
|
|
8153
|
-
/** @description Channel subscription ID. */
|
|
8154
|
-
id: number;
|
|
8155
|
-
/** @description Slack channel ID. */
|
|
8156
|
-
channel_id: string;
|
|
8157
|
-
/** @description Slack channel name. */
|
|
8158
|
-
channel_name: string | null;
|
|
8159
|
-
/** @description Slack workspace (team) ID. */
|
|
8160
|
-
team_id: string | null;
|
|
8161
|
-
/** @description Whether the channel filters by environment. */
|
|
8162
|
-
is_env_specific: boolean | null;
|
|
8163
|
-
/** @description Environments this channel is subscribed to. */
|
|
8164
|
-
subscribed_environments: string[];
|
|
8165
|
-
/** @description ISO 8601 creation timestamp. */
|
|
8166
|
-
created_at: string;
|
|
8167
|
-
/** @description ISO 8601 update timestamp. */
|
|
8168
|
-
updated_at: string;
|
|
8169
|
-
/** @description Slack validation result, present when requested. */
|
|
8170
|
-
slack_channel_validation?: {
|
|
8171
|
-
/** @description Whether the channel is usable. */
|
|
8172
|
-
ok: boolean;
|
|
8173
|
-
/** @description Slack channel ID. */
|
|
8174
|
-
channel_id: string;
|
|
8175
|
-
/** @description Whether the bot is a member of the channel. */
|
|
8176
|
-
is_member?: boolean;
|
|
8177
|
-
/** @description Machine-readable validation error code. */
|
|
8178
|
-
error_code?: string;
|
|
8179
|
-
/** @description Human-readable validation message. */
|
|
8180
|
-
message?: string;
|
|
8181
|
-
};
|
|
8182
|
-
};
|
|
8183
|
-
SlackChannelMutationResponse: {
|
|
8184
|
-
/** @description Human-readable status message. */
|
|
8185
|
-
message: string;
|
|
8186
|
-
/** @description The updated channel. */
|
|
8187
|
-
channel: {
|
|
8188
|
-
/** @description Channel subscription ID. */
|
|
8189
|
-
id: number;
|
|
8190
|
-
/** @description Slack channel ID. */
|
|
8191
|
-
channel_id: string;
|
|
8192
|
-
/** @description Slack channel name. */
|
|
8193
|
-
channel_name: string | null;
|
|
8194
|
-
/** @description Slack workspace (team) ID. */
|
|
8195
|
-
team_id: string | null;
|
|
8196
|
-
/** @description Whether the channel filters by environment. */
|
|
8197
|
-
is_env_specific: boolean | null;
|
|
8198
|
-
/** @description Environments this channel is subscribed to. */
|
|
8199
|
-
subscribed_environments: string[];
|
|
8200
|
-
/** @description ISO 8601 creation timestamp. */
|
|
8201
|
-
created_at: string;
|
|
8202
|
-
/** @description ISO 8601 update timestamp. */
|
|
8203
|
-
updated_at: string;
|
|
8204
|
-
/** @description Slack validation result, present when requested. */
|
|
8205
|
-
slack_channel_validation?: {
|
|
8206
|
-
/** @description Whether the channel is usable. */
|
|
8207
|
-
ok: boolean;
|
|
8208
|
-
/** @description Slack channel ID. */
|
|
8209
|
-
channel_id: string;
|
|
8210
|
-
/** @description Whether the bot is a member of the channel. */
|
|
8211
|
-
is_member?: boolean;
|
|
8212
|
-
/** @description Machine-readable validation error code. */
|
|
8213
|
-
error_code?: string;
|
|
8214
|
-
/** @description Human-readable validation message. */
|
|
8215
|
-
message?: string;
|
|
8216
|
-
};
|
|
8217
|
-
};
|
|
8218
|
-
};
|
|
8219
|
-
SlackChannelDeleteResponse: {
|
|
8220
|
-
/** @description Human-readable status message. */
|
|
8221
|
-
message: string;
|
|
8222
|
-
};
|
|
8223
8646
|
SlackTeamListResponse: {
|
|
8224
8647
|
/** @description Response payload. */
|
|
8225
8648
|
data: {
|
|
@@ -8565,6 +8988,8 @@ export interface components {
|
|
|
8565
8988
|
value: string | number | boolean | (string | number | boolean)[];
|
|
8566
8989
|
}[];
|
|
8567
8990
|
userIds: string[];
|
|
8991
|
+
/** @enum {string} */
|
|
8992
|
+
category?: "executor" | "user";
|
|
8568
8993
|
};
|
|
8569
8994
|
};
|
|
8570
8995
|
};
|
|
@@ -8649,8 +9074,6 @@ export interface components {
|
|
|
8649
9074
|
updated_at: string;
|
|
8650
9075
|
/** @description Owning project ID. */
|
|
8651
9076
|
project_id: number;
|
|
8652
|
-
/** @description Base branch name. */
|
|
8653
|
-
base_branch: string;
|
|
8654
9077
|
/** @description Session mode (e.g. chat). */
|
|
8655
9078
|
mode: string;
|
|
8656
9079
|
/** @description Origin of the session. */
|
|
@@ -8929,48 +9352,19 @@ export interface components {
|
|
|
8929
9352
|
};
|
|
8930
9353
|
};
|
|
8931
9354
|
};
|
|
8932
|
-
SandboxFilesList: {
|
|
8933
|
-
/** @description Root path the tree was walked from. */
|
|
8934
|
-
path: string;
|
|
8935
|
-
/** @description Relative file paths under the root. */
|
|
8936
|
-
paths: string[];
|
|
8937
|
-
};
|
|
8938
|
-
SandboxFilesError: {
|
|
8939
|
-
/** @description Human-readable error message. */
|
|
8940
|
-
error: string;
|
|
8941
|
-
/** @description Path the walk was attempted on. */
|
|
8942
|
-
path: string;
|
|
8943
|
-
};
|
|
8944
|
-
SandboxFileContent: {
|
|
8945
|
-
/** @description Path of the file that was read. */
|
|
8946
|
-
path: string;
|
|
8947
|
-
/**
|
|
8948
|
-
* @description Kind of content returned.
|
|
8949
|
-
* @enum {string}
|
|
8950
|
-
*/
|
|
8951
|
-
type: "image" | "text";
|
|
8952
|
-
/** @description Data URI for image files (present when type is image). */
|
|
8953
|
-
image_data?: string;
|
|
8954
|
-
/** @description Decoded text content (present when type is text). */
|
|
8955
|
-
content?: string;
|
|
8956
|
-
};
|
|
8957
|
-
SandboxFileContentError: {
|
|
8958
|
-
/** @description Path of the requested file, or null. */
|
|
8959
|
-
path: string | null;
|
|
8960
|
-
/**
|
|
8961
|
-
* @description Always 'error' for this response.
|
|
8962
|
-
* @enum {string}
|
|
8963
|
-
*/
|
|
8964
|
-
type: "error";
|
|
8965
|
-
/** @description Human-readable error message. */
|
|
8966
|
-
error: string;
|
|
8967
|
-
};
|
|
8968
9355
|
SubscribeChatSessionResponse: {
|
|
8969
9356
|
data: {
|
|
8970
9357
|
already_waiting: boolean;
|
|
8971
9358
|
subscription_id?: number;
|
|
8972
9359
|
};
|
|
8973
9360
|
};
|
|
9361
|
+
GithubBranchSearchResponse: {
|
|
9362
|
+
/** @description Response payload. */
|
|
9363
|
+
data: {
|
|
9364
|
+
/** @description Matching branch names, capped by `limit`. */
|
|
9365
|
+
branches: string[];
|
|
9366
|
+
};
|
|
9367
|
+
};
|
|
8974
9368
|
GithubCommitDiffResponse: {
|
|
8975
9369
|
/** @description Response payload. */
|
|
8976
9370
|
data: {
|
|
@@ -9099,6 +9493,90 @@ export interface components {
|
|
|
9099
9493
|
installation?: unknown;
|
|
9100
9494
|
};
|
|
9101
9495
|
};
|
|
9496
|
+
GhReporterDeliveriesResponse: {
|
|
9497
|
+
/** @description Response payload. */
|
|
9498
|
+
data: {
|
|
9499
|
+
check_runs: components["schemas"]["GhReporterCheckRunDelivery"][];
|
|
9500
|
+
pr_comments: components["schemas"]["GhReporterPrCommentDelivery"][];
|
|
9501
|
+
linked_changes: components["schemas"]["GhReporterLinkedChangesDelivery"][];
|
|
9502
|
+
};
|
|
9503
|
+
};
|
|
9504
|
+
GhReporterCheckRunDelivery: {
|
|
9505
|
+
id: number;
|
|
9506
|
+
test_run_id: number;
|
|
9507
|
+
environment_name: string | null;
|
|
9508
|
+
repo_owner: string;
|
|
9509
|
+
repo_name: string;
|
|
9510
|
+
head_sha: string | null;
|
|
9511
|
+
/** @description Null when GitHub never accepted the check run. */
|
|
9512
|
+
check_run_id: number | null;
|
|
9513
|
+
check_run_url: string | null;
|
|
9514
|
+
status: string | null;
|
|
9515
|
+
conclusion: string | null;
|
|
9516
|
+
/** @description Error from the most recent delivery attempt; cleared on success. */
|
|
9517
|
+
last_error: string | null;
|
|
9518
|
+
created_at: string;
|
|
9519
|
+
updated_at: string;
|
|
9520
|
+
};
|
|
9521
|
+
GhReporterPrCommentDelivery: {
|
|
9522
|
+
id: number;
|
|
9523
|
+
environment_name: string | null;
|
|
9524
|
+
repo_owner: string;
|
|
9525
|
+
repo_name: string;
|
|
9526
|
+
pr_number: number;
|
|
9527
|
+
comment_id: number;
|
|
9528
|
+
comment_url: string | null;
|
|
9529
|
+
last_test_run_id: number | null;
|
|
9530
|
+
last_status: string | null;
|
|
9531
|
+
last_error: string | null;
|
|
9532
|
+
created_at: string;
|
|
9533
|
+
updated_at: string;
|
|
9534
|
+
};
|
|
9535
|
+
GhReporterLinkedChangesDelivery: {
|
|
9536
|
+
id: number;
|
|
9537
|
+
/** @description The app PR's run the check links to (latest write). */
|
|
9538
|
+
test_run_id: number;
|
|
9539
|
+
repo_owner: string;
|
|
9540
|
+
repo_name: string;
|
|
9541
|
+
/** @description The app PR's head branch. */
|
|
9542
|
+
pr_head: string;
|
|
9543
|
+
pr_number: number | null;
|
|
9544
|
+
/** @description App commit the check was last written on. */
|
|
9545
|
+
head_sha: string;
|
|
9546
|
+
test_branch: string;
|
|
9547
|
+
/** @description Null when GitHub never accepted the check run. */
|
|
9548
|
+
check_run_id: number | null;
|
|
9549
|
+
check_run_url: string | null;
|
|
9550
|
+
/** @description Linked changes state, e.g. no_test_branch, pr_open, nothing_to_merge. */
|
|
9551
|
+
state: string | null;
|
|
9552
|
+
status: string | null;
|
|
9553
|
+
conclusion: string | null;
|
|
9554
|
+
title: string | null;
|
|
9555
|
+
/** @description Error from the most recent delivery attempt; cleared on success. */
|
|
9556
|
+
last_error: string | null;
|
|
9557
|
+
created_at: string;
|
|
9558
|
+
updated_at: string;
|
|
9559
|
+
};
|
|
9560
|
+
GhReporterPullRequestResponse: {
|
|
9561
|
+
/** @description Response payload. */
|
|
9562
|
+
data: {
|
|
9563
|
+
/** @description Null when no PR contains head_sha. */
|
|
9564
|
+
pull_request: {
|
|
9565
|
+
number: number;
|
|
9566
|
+
title: string;
|
|
9567
|
+
state: string;
|
|
9568
|
+
merged: boolean;
|
|
9569
|
+
head_ref: string;
|
|
9570
|
+
head_sha: string;
|
|
9571
|
+
html_url: string;
|
|
9572
|
+
updated_at: string;
|
|
9573
|
+
} | null;
|
|
9574
|
+
/** @description Whether head_sha is the PR's current head commit. */
|
|
9575
|
+
delivered_sha_is_head: boolean | null;
|
|
9576
|
+
/** @description Commits on the PR head after head_sha. Null when head_sha is not an ancestor of the head (e.g. after a force push) or not given. */
|
|
9577
|
+
commits_since_delivered: number | null;
|
|
9578
|
+
};
|
|
9579
|
+
};
|
|
9102
9580
|
GhReporterWebhookAck: {
|
|
9103
9581
|
/** @description Response payload. */
|
|
9104
9582
|
data: {
|
|
@@ -9661,6 +10139,29 @@ export interface components {
|
|
|
9661
10139
|
/** @description Cost of output tokens. */
|
|
9662
10140
|
cost_output: number | null;
|
|
9663
10141
|
};
|
|
10142
|
+
TelemetryTrackResponse: {
|
|
10143
|
+
/** @description Response payload. */
|
|
10144
|
+
data: {
|
|
10145
|
+
/** @enum {boolean} */
|
|
10146
|
+
ok: true;
|
|
10147
|
+
};
|
|
10148
|
+
};
|
|
10149
|
+
TelemetryTrackRequest: {
|
|
10150
|
+
/**
|
|
10151
|
+
* @description Event name. Only test-run events are accepted.
|
|
10152
|
+
* @enum {string}
|
|
10153
|
+
*/
|
|
10154
|
+
name: "git.clone_build" | "llm_response_generated" | "overlay.dismissed" | "test_worker.interrupted" | "test_worker.segment.report_download" | "test_worker.segment.report_merge_and_upload" | "test_worker.segment.report_upload" | "test_worker.segment.tests_execute";
|
|
10155
|
+
/** @description Event properties, forwarded as-is. */
|
|
10156
|
+
properties: {
|
|
10157
|
+
[key: string]: unknown;
|
|
10158
|
+
};
|
|
10159
|
+
/**
|
|
10160
|
+
* Format: date-time
|
|
10161
|
+
* @description When the event happened (ISO 8601). Default now.
|
|
10162
|
+
*/
|
|
10163
|
+
timestamp?: string;
|
|
10164
|
+
};
|
|
9664
10165
|
AnalyticsTestCasesV2Response: {
|
|
9665
10166
|
/** @description Response payload. */
|
|
9666
10167
|
data: {
|
|
@@ -9830,6 +10331,94 @@ export interface components {
|
|
|
9830
10331
|
environment_id: number | null;
|
|
9831
10332
|
environment_name: string | null;
|
|
9832
10333
|
};
|
|
10334
|
+
SlackChannelListV2Response: {
|
|
10335
|
+
data: {
|
|
10336
|
+
channels: components["schemas"]["SlackChannelV2"][];
|
|
10337
|
+
};
|
|
10338
|
+
};
|
|
10339
|
+
SlackChannelV2: {
|
|
10340
|
+
/** @description Canonical Slack channel ID. */
|
|
10341
|
+
id: number;
|
|
10342
|
+
/** @description Organization scope ID. */
|
|
10343
|
+
org_id: number;
|
|
10344
|
+
/** @description Slack app installation ID, or null for the shared default installation. */
|
|
10345
|
+
slack_app_install_id: number | null;
|
|
10346
|
+
/**
|
|
10347
|
+
* @description Credential source used to access the Slack workspace.
|
|
10348
|
+
* @enum {string}
|
|
10349
|
+
*/
|
|
10350
|
+
installation_source: "default" | "org";
|
|
10351
|
+
/** @description Slack workspace (team) ID. */
|
|
10352
|
+
team_id: string;
|
|
10353
|
+
/** @description Slack channel ID. */
|
|
10354
|
+
channel_id: string;
|
|
10355
|
+
/** @description Last known Slack channel name. */
|
|
10356
|
+
channel_name: string | null;
|
|
10357
|
+
/** @description ISO 8601 archival timestamp. */
|
|
10358
|
+
archived_at: string | null;
|
|
10359
|
+
/** @description ISO 8601 creation timestamp. */
|
|
10360
|
+
created_at: string;
|
|
10361
|
+
/** @description ISO 8601 update timestamp. */
|
|
10362
|
+
updated_at: string;
|
|
10363
|
+
};
|
|
10364
|
+
SlackChannelValidationListV2Response: {
|
|
10365
|
+
data: {
|
|
10366
|
+
channels: components["schemas"]["ValidatedSlackChannelV2"][];
|
|
10367
|
+
};
|
|
10368
|
+
};
|
|
10369
|
+
ValidatedSlackChannelV2: {
|
|
10370
|
+
/** @description Canonical Slack channel ID. */
|
|
10371
|
+
id: number;
|
|
10372
|
+
/** @description Organization scope ID. */
|
|
10373
|
+
org_id: number;
|
|
10374
|
+
/** @description Slack app installation ID, or null for the shared default installation. */
|
|
10375
|
+
slack_app_install_id: number | null;
|
|
10376
|
+
/**
|
|
10377
|
+
* @description Credential source used to access the Slack workspace.
|
|
10378
|
+
* @enum {string}
|
|
10379
|
+
*/
|
|
10380
|
+
installation_source: "default" | "org";
|
|
10381
|
+
/** @description Slack workspace (team) ID. */
|
|
10382
|
+
team_id: string;
|
|
10383
|
+
/** @description Slack channel ID. */
|
|
10384
|
+
channel_id: string;
|
|
10385
|
+
/** @description Last known Slack channel name. */
|
|
10386
|
+
channel_name: string | null;
|
|
10387
|
+
/** @description ISO 8601 archival timestamp. */
|
|
10388
|
+
archived_at: string | null;
|
|
10389
|
+
/** @description ISO 8601 creation timestamp. */
|
|
10390
|
+
created_at: string;
|
|
10391
|
+
/** @description ISO 8601 update timestamp. */
|
|
10392
|
+
updated_at: string;
|
|
10393
|
+
/** @description Live Slack validation result. */
|
|
10394
|
+
slack_channel_validation: {
|
|
10395
|
+
/** @description Whether the bot can read the channel and its stored name matches Slack. */
|
|
10396
|
+
ok: boolean;
|
|
10397
|
+
/** @description Slack channel ID. */
|
|
10398
|
+
channel_id: string;
|
|
10399
|
+
/** @description Whether the bot can read the channel through Slack. */
|
|
10400
|
+
can_access: boolean;
|
|
10401
|
+
/** @description Whether the bot can read the channel. */
|
|
10402
|
+
is_member?: boolean;
|
|
10403
|
+
/** @description Current channel name returned by Slack. */
|
|
10404
|
+
current_channel_name?: string | null;
|
|
10405
|
+
/** @description Whether the stored channel name matches Slack's current name. */
|
|
10406
|
+
channel_name_matches?: boolean;
|
|
10407
|
+
/** @description Machine-readable validation failure code. */
|
|
10408
|
+
error_code?: string;
|
|
10409
|
+
/** @description Human-readable validation result. */
|
|
10410
|
+
message?: string;
|
|
10411
|
+
};
|
|
10412
|
+
};
|
|
10413
|
+
SlackChannelRefreshV2Response: {
|
|
10414
|
+
data: {
|
|
10415
|
+
channel: components["schemas"]["ValidatedSlackChannelV2"];
|
|
10416
|
+
/** @description Whether the stored channel name was replaced with Slack's current name. */
|
|
10417
|
+
renamed: boolean;
|
|
10418
|
+
/** @description Channel name stored before the refresh. */
|
|
10419
|
+
previous_channel_name: string | null;
|
|
10420
|
+
};
|
|
10421
|
+
};
|
|
9833
10422
|
TestCaseTagsResponse: {
|
|
9834
10423
|
/** @description Distinct tags across the project's test cases. */
|
|
9835
10424
|
tags: string[];
|
|
@@ -10009,6 +10598,8 @@ export interface components {
|
|
|
10009
10598
|
id: number;
|
|
10010
10599
|
/** @description Current state of the test run. */
|
|
10011
10600
|
state: string;
|
|
10601
|
+
/** @description Normalized error code when branch resolution or execution failed. */
|
|
10602
|
+
error_code: string | null;
|
|
10012
10603
|
/** @description Git branch being tested. */
|
|
10013
10604
|
test_run_branch: string;
|
|
10014
10605
|
/** @description ISO 8601 timestamp when the run was created. */
|
|
@@ -10023,6 +10614,52 @@ export interface components {
|
|
|
10023
10614
|
*/
|
|
10024
10615
|
on_conflict: "cancel" | "wait";
|
|
10025
10616
|
} | null;
|
|
10617
|
+
/** @description Requested, resolved, and executed test-repository code. */
|
|
10618
|
+
test_code: {
|
|
10619
|
+
requested: {
|
|
10620
|
+
branch: string;
|
|
10621
|
+
/** @enum {string} */
|
|
10622
|
+
source: "explicit" | "build" | "project_default" | "legacy";
|
|
10623
|
+
/** @enum {string} */
|
|
10624
|
+
if_missing: "error" | "use_default" | "create";
|
|
10625
|
+
};
|
|
10626
|
+
resolved: {
|
|
10627
|
+
branch: string | null;
|
|
10628
|
+
sha: string | null;
|
|
10629
|
+
/** @enum {string|null} */
|
|
10630
|
+
fallback_reason: "requested_branch_missing" | null;
|
|
10631
|
+
};
|
|
10632
|
+
execution: {
|
|
10633
|
+
ref: string | null;
|
|
10634
|
+
sha: string | null;
|
|
10635
|
+
/** @enum {string|null} */
|
|
10636
|
+
ref_kind: "branch" | "temporary_merge" | null;
|
|
10637
|
+
};
|
|
10638
|
+
merge_base: {
|
|
10639
|
+
branch: string;
|
|
10640
|
+
sha: string | null;
|
|
10641
|
+
} | null;
|
|
10642
|
+
/** @enum {string} */
|
|
10643
|
+
resolution_status: "resolved" | "branch_missing" | "merge_conflict" | "provider_error";
|
|
10644
|
+
resolution_error_code: string | null;
|
|
10645
|
+
} | null;
|
|
10646
|
+
/** @description The `trigger` the run was created with, or null when none was sent. */
|
|
10647
|
+
trigger: {
|
|
10648
|
+
/**
|
|
10649
|
+
* @description Event that produced the run.
|
|
10650
|
+
* @enum {string}
|
|
10651
|
+
*/
|
|
10652
|
+
event: "pull_request";
|
|
10653
|
+
/** @description Pull request under test. */
|
|
10654
|
+
pull_request: {
|
|
10655
|
+
/** @description Pull request number in the application repository. */
|
|
10656
|
+
number?: number;
|
|
10657
|
+
/** @description Head branch. */
|
|
10658
|
+
head: string;
|
|
10659
|
+
/** @description Base branch. */
|
|
10660
|
+
base: string;
|
|
10661
|
+
};
|
|
10662
|
+
} | null;
|
|
10026
10663
|
};
|
|
10027
10664
|
};
|
|
10028
10665
|
};
|
|
@@ -10031,18 +10668,16 @@ export interface components {
|
|
|
10031
10668
|
environment: string;
|
|
10032
10669
|
/** @description Build information to associate with the test run. */
|
|
10033
10670
|
build?: {
|
|
10034
|
-
/** @description Deprecated. URL of the deployed build being tested. Passed to tests as the `BUILD_URL` environment variable, unless `BUILD_URL` is set in `environment_variables_overrides`. Set `BUILD_URL` there directly instead. */
|
|
10035
|
-
url?: string;
|
|
10036
10671
|
/** @description Git branch name of the build. */
|
|
10037
10672
|
branch?: string;
|
|
10038
10673
|
/** @description Git commit SHA of the build. */
|
|
10039
10674
|
commit?: string;
|
|
10040
|
-
/** @description URL to the commit (e.g., GitHub commit link). */
|
|
10041
|
-
commit_url?: string;
|
|
10042
10675
|
/** @description Source repository in owner/name format (e.g., acme/web). */
|
|
10043
10676
|
repo?: string;
|
|
10044
|
-
/** @description
|
|
10045
|
-
|
|
10677
|
+
/** @description Legacy commit URL accepted only to infer build.repo for older callers. */
|
|
10678
|
+
commit_url?: string;
|
|
10679
|
+
/** @description Legacy build URL forwarded as BUILD_URL for allowlisted projects. */
|
|
10680
|
+
url?: string;
|
|
10046
10681
|
};
|
|
10047
10682
|
/** @description Custom key-value pairs to associate with the test run. Values must be strings or numbers. */
|
|
10048
10683
|
metadata?: {
|
|
@@ -10059,8 +10694,25 @@ export interface components {
|
|
|
10059
10694
|
tags?: string[];
|
|
10060
10695
|
/** @description Specific test case ids (Playwright per-project `test.id`) to run. Only these tests will be executed. */
|
|
10061
10696
|
test_case_ids?: string[];
|
|
10062
|
-
/** @description
|
|
10697
|
+
/** @description Existing test-repository branch to run. A missing explicit branch creates an errored run; Empirical never creates it. May be supplied alongside `build`, which describes the application code under test. */
|
|
10063
10698
|
branch?: string;
|
|
10699
|
+
/** @description The application pull request under test, for pre-merge runs. The run uses the test-repository branch named `pull_request.head`, merged into the project default branch. If no such branch exists, it uses the default branch. An explicit `branch` takes precedence. */
|
|
10700
|
+
trigger?: {
|
|
10701
|
+
/**
|
|
10702
|
+
* @description Event that produced the run.
|
|
10703
|
+
* @enum {string}
|
|
10704
|
+
*/
|
|
10705
|
+
event: "pull_request";
|
|
10706
|
+
/** @description Pull request under test. */
|
|
10707
|
+
pull_request: {
|
|
10708
|
+
/** @description Pull request number in the application repository. */
|
|
10709
|
+
number?: number;
|
|
10710
|
+
/** @description Head branch. */
|
|
10711
|
+
head: string;
|
|
10712
|
+
/** @description Base branch. */
|
|
10713
|
+
base: string;
|
|
10714
|
+
};
|
|
10715
|
+
};
|
|
10064
10716
|
/** @description Concurrency group and policy for this run. Runs in the same group (within the project) are limited to one in progress; `on_conflict` says what this run does when the group already has an active run: `cancel` cancels it and starts now, `wait` queues behind it (a newer waiting run replaces an older one). Omit to use the project's legacy concurrency setting; `null` for no limit. */
|
|
10065
10717
|
concurrency?: {
|
|
10066
10718
|
/** @description Free-form group key, scoped to the project, e.g. `production`, `staging/acme/web@feat-x`, or a build URL. */
|
|
@@ -10346,7 +10998,7 @@ export interface components {
|
|
|
10346
10998
|
data: {
|
|
10347
10999
|
/** @description Reply targets for channels that already have a run notification thread. */
|
|
10348
11000
|
thread_targets: components["schemas"]["TriageShareTarget"][];
|
|
10349
|
-
/** @description New-message targets for
|
|
11001
|
+
/** @description New-message targets for active Slack channels accessible to the organization. */
|
|
10350
11002
|
channel_targets: components["schemas"]["TriageShareTarget"][];
|
|
10351
11003
|
};
|
|
10352
11004
|
};
|
|
@@ -10434,6 +11086,52 @@ export interface components {
|
|
|
10434
11086
|
run_ended_at: string | null;
|
|
10435
11087
|
/** @description URL to download the Playwright JSON report for this run. */
|
|
10436
11088
|
summary_url: string | null;
|
|
11089
|
+
/** @description Branch-resolution provenance. Null only for historical runs created before provenance was recorded. */
|
|
11090
|
+
test_code: {
|
|
11091
|
+
requested: {
|
|
11092
|
+
branch: string;
|
|
11093
|
+
/** @enum {string} */
|
|
11094
|
+
source: "explicit" | "build" | "project_default" | "legacy";
|
|
11095
|
+
/** @enum {string} */
|
|
11096
|
+
if_missing: "error" | "use_default" | "create";
|
|
11097
|
+
};
|
|
11098
|
+
resolved: {
|
|
11099
|
+
branch: string | null;
|
|
11100
|
+
sha: string | null;
|
|
11101
|
+
/** @enum {string|null} */
|
|
11102
|
+
fallback_reason: "requested_branch_missing" | null;
|
|
11103
|
+
};
|
|
11104
|
+
execution: {
|
|
11105
|
+
ref: string | null;
|
|
11106
|
+
sha: string | null;
|
|
11107
|
+
/** @enum {string|null} */
|
|
11108
|
+
ref_kind: "branch" | "temporary_merge" | null;
|
|
11109
|
+
};
|
|
11110
|
+
merge_base: {
|
|
11111
|
+
branch: string;
|
|
11112
|
+
sha: string | null;
|
|
11113
|
+
} | null;
|
|
11114
|
+
/** @enum {string} */
|
|
11115
|
+
resolution_status: "resolved" | "branch_missing" | "merge_conflict" | "provider_error";
|
|
11116
|
+
resolution_error_code: string | null;
|
|
11117
|
+
} | null;
|
|
11118
|
+
/** @description The `trigger` the run was created with, or null when none was sent. */
|
|
11119
|
+
trigger: {
|
|
11120
|
+
/**
|
|
11121
|
+
* @description Event that produced the run.
|
|
11122
|
+
* @enum {string}
|
|
11123
|
+
*/
|
|
11124
|
+
event: "pull_request";
|
|
11125
|
+
/** @description Pull request under test. */
|
|
11126
|
+
pull_request: {
|
|
11127
|
+
/** @description Pull request number in the application repository. */
|
|
11128
|
+
number?: number;
|
|
11129
|
+
/** @description Head branch. */
|
|
11130
|
+
head: string;
|
|
11131
|
+
/** @description Base branch. */
|
|
11132
|
+
base: string;
|
|
11133
|
+
};
|
|
11134
|
+
} | null;
|
|
10437
11135
|
};
|
|
10438
11136
|
IngestTestCaseRunEndEventResponse: {
|
|
10439
11137
|
/** @description Empty acknowledgement payload. */
|
|
@@ -10669,10 +11367,10 @@ export interface components {
|
|
|
10669
11367
|
/** @description Full test line, e.g. `[chromium] โบ a.spec.ts โบ title`. */
|
|
10670
11368
|
name: string;
|
|
10671
11369
|
/**
|
|
10672
|
-
* @description Whether the scheduled test has run yet.
|
|
11370
|
+
* @description Whether the scheduled test has run yet. `retrying` means at least one attempt is in but retries are outstanding; its result fields are provisional until it flips to `ran`.
|
|
10673
11371
|
* @enum {string}
|
|
10674
11372
|
*/
|
|
10675
|
-
status: "ran" | "pending";
|
|
11373
|
+
status: "ran" | "retrying" | "pending";
|
|
10676
11374
|
/** @description Ledger row ID. */
|
|
10677
11375
|
id?: number;
|
|
10678
11376
|
/** @description Shard the row belongs to, or null when unsharded. */
|
|
@@ -10755,6 +11453,62 @@ export interface components {
|
|
|
10755
11453
|
/** @description Log line text. */
|
|
10756
11454
|
message: string;
|
|
10757
11455
|
};
|
|
11456
|
+
TestRunLinkedChangesResponse: {
|
|
11457
|
+
/** @description Response payload. */
|
|
11458
|
+
data: {
|
|
11459
|
+
/** @description Null when the run was not triggered by an app PR. */
|
|
11460
|
+
linked_changes: {
|
|
11461
|
+
/** @description The app repository (owner/name) of the PR. */
|
|
11462
|
+
app_repo: string;
|
|
11463
|
+
app_pull_request: {
|
|
11464
|
+
number: number | null;
|
|
11465
|
+
head: string;
|
|
11466
|
+
base: string | null;
|
|
11467
|
+
};
|
|
11468
|
+
/** @description The test repository. */
|
|
11469
|
+
test_repo: string;
|
|
11470
|
+
/** @description Test branch linked to the app PR by name. */
|
|
11471
|
+
test_branch: string;
|
|
11472
|
+
default_branch: string;
|
|
11473
|
+
/** @enum {string} */
|
|
11474
|
+
state: "no_test_branch" | "nothing_to_merge" | "ahead_no_pr" | "pr_open" | "pr_open_not_mergeable" | "error";
|
|
11475
|
+
/** @enum {string} */
|
|
11476
|
+
status: "in_progress" | "completed";
|
|
11477
|
+
/** @enum {string|null} */
|
|
11478
|
+
conclusion: "success" | "failure" | "neutral" | null;
|
|
11479
|
+
title: string;
|
|
11480
|
+
ahead_by: number;
|
|
11481
|
+
/** @description Open test PR from the test branch, if any. */
|
|
11482
|
+
test_pull_request: {
|
|
11483
|
+
number: number;
|
|
11484
|
+
url: string;
|
|
11485
|
+
mergeable: boolean | null;
|
|
11486
|
+
} | null;
|
|
11487
|
+
/** @description Merged test PR, when the branch was deleted after merge. */
|
|
11488
|
+
merged_test_pull_request: {
|
|
11489
|
+
number: number;
|
|
11490
|
+
url: string;
|
|
11491
|
+
} | null;
|
|
11492
|
+
/** @description Whether the project posts the linked test changes check on GitHub. */
|
|
11493
|
+
check_enabled: boolean;
|
|
11494
|
+
/** @description Latest GitHub check written for the app PR, from any of its runs. */
|
|
11495
|
+
check: {
|
|
11496
|
+
check_run_url: string | null;
|
|
11497
|
+
head_sha: string;
|
|
11498
|
+
test_run_id: number;
|
|
11499
|
+
state: string | null;
|
|
11500
|
+
last_error: string | null;
|
|
11501
|
+
updated_at: string;
|
|
11502
|
+
} | null;
|
|
11503
|
+
} | null;
|
|
11504
|
+
};
|
|
11505
|
+
};
|
|
11506
|
+
GetTestRunTriageSessionResponse: {
|
|
11507
|
+
/** @description Response payload. */
|
|
11508
|
+
data: {
|
|
11509
|
+
chat_session: components["schemas"]["ChatSession"] & unknown;
|
|
11510
|
+
};
|
|
11511
|
+
};
|
|
10758
11512
|
TestRunTriageSessionResponse: {
|
|
10759
11513
|
/** @description Response payload. */
|
|
10760
11514
|
data: {
|
|
@@ -10959,7 +11713,6 @@ export interface components {
|
|
|
10959
11713
|
build_url: string | null;
|
|
10960
11714
|
build_branch: string | null;
|
|
10961
11715
|
commit: string | null;
|
|
10962
|
-
commit_url: string | null;
|
|
10963
11716
|
repo: string | null;
|
|
10964
11717
|
error_code: string | null;
|
|
10965
11718
|
cancellation_reason: string | null;
|
|
@@ -10980,10 +11733,12 @@ export interface components {
|
|
|
10980
11733
|
/** @description ID of the parent test run. */
|
|
10981
11734
|
test_run_id: string;
|
|
10982
11735
|
/**
|
|
10983
|
-
* @description Outcome of the case.
|
|
11736
|
+
* @description Outcome of the case. Provisional while `is_retrying` is true.
|
|
10984
11737
|
* @enum {string}
|
|
10985
11738
|
*/
|
|
10986
11739
|
status: "passed" | "failed" | "flaky" | "skipped";
|
|
11740
|
+
/** @description True when the case has retries outstanding: `status`, `retries` and `retry_details` reflect only the attempts so far. Only returned with `include_retrying=true`. */
|
|
11741
|
+
is_retrying: boolean;
|
|
10987
11742
|
/** @description Run-time path `[file, ...suites, title]`. */
|
|
10988
11743
|
nesting: string[];
|
|
10989
11744
|
/** @description Playwright project the case ran under. */
|
|
@@ -11105,10 +11860,12 @@ export interface components {
|
|
|
11105
11860
|
/** @description ID of the parent test run. */
|
|
11106
11861
|
test_run_id: string;
|
|
11107
11862
|
/**
|
|
11108
|
-
* @description Outcome of the case.
|
|
11863
|
+
* @description Outcome of the case. Provisional while `is_retrying` is true.
|
|
11109
11864
|
* @enum {string}
|
|
11110
11865
|
*/
|
|
11111
11866
|
status: "passed" | "failed" | "flaky" | "skipped";
|
|
11867
|
+
/** @description True when the case has retries outstanding: `status`, `retries` and `retry_details` reflect only the attempts so far. Only returned with `include_retrying=true`. */
|
|
11868
|
+
is_retrying: boolean;
|
|
11112
11869
|
/** @description Run-time path `[file, ...suites, title]`. */
|
|
11113
11870
|
nesting: string[];
|
|
11114
11871
|
/** @description Playwright project the case ran under. */
|
|
@@ -11219,6 +11976,8 @@ export interface components {
|
|
|
11219
11976
|
id: number;
|
|
11220
11977
|
title: string | null;
|
|
11221
11978
|
} | null;
|
|
11979
|
+
/** @description For a pending run held back by its concurrency group (on_conflict=wait), the in-progress run it is waiting on. Null when the run is not pending or nothing blocks it. */
|
|
11980
|
+
waiting_on_test_run_id: number | null;
|
|
11222
11981
|
/** @description First page of ledger-sourced cases, ordered failed โ flaky โ others so the default 'failed' filter and the failure-first list render correctly on first paint. Shipped inline so the list renders without waiting on a fetch. The client refetches the full set. */
|
|
11223
11982
|
ledger_cases: components["schemas"]["TestRunCase"][];
|
|
11224
11983
|
/** @description Total ledger case count for the run, so the client knows how much the inline first page is truncating. */
|
|
@@ -11274,6 +12033,35 @@ export interface components {
|
|
|
11274
12033
|
test_run_branch: string;
|
|
11275
12034
|
/** @description Head commit SHA of the test repo. */
|
|
11276
12035
|
test_run_head_sha: string | null;
|
|
12036
|
+
/** @description Structured test-code provenance. Null for runs created before provenance capture shipped. */
|
|
12037
|
+
test_code: {
|
|
12038
|
+
requested: {
|
|
12039
|
+
branch: string;
|
|
12040
|
+
/** @enum {string} */
|
|
12041
|
+
source: "explicit" | "build" | "project_default" | "legacy";
|
|
12042
|
+
/** @enum {string} */
|
|
12043
|
+
if_missing: "error" | "use_default" | "create";
|
|
12044
|
+
};
|
|
12045
|
+
resolved: {
|
|
12046
|
+
branch: string | null;
|
|
12047
|
+
sha: string | null;
|
|
12048
|
+
/** @enum {string|null} */
|
|
12049
|
+
fallback_reason: "requested_branch_missing" | null;
|
|
12050
|
+
};
|
|
12051
|
+
execution: {
|
|
12052
|
+
ref: string | null;
|
|
12053
|
+
sha: string | null;
|
|
12054
|
+
/** @enum {string|null} */
|
|
12055
|
+
ref_kind: "branch" | "temporary_merge" | null;
|
|
12056
|
+
};
|
|
12057
|
+
merge_base: {
|
|
12058
|
+
branch: string;
|
|
12059
|
+
sha: string | null;
|
|
12060
|
+
} | null;
|
|
12061
|
+
/** @enum {string} */
|
|
12062
|
+
resolution_status: "resolved" | "branch_missing" | "merge_conflict" | "provider_error";
|
|
12063
|
+
resolution_error_code: string | null;
|
|
12064
|
+
} | null;
|
|
11277
12065
|
/** @description URL of the Playwright JSON report. */
|
|
11278
12066
|
summary_url: string | null;
|
|
11279
12067
|
/** @description Whether reporters fire for this run. */
|
|
@@ -11302,8 +12090,6 @@ export interface components {
|
|
|
11302
12090
|
commit: string | null;
|
|
11303
12091
|
/** @description Build branch name. */
|
|
11304
12092
|
branch: string | null;
|
|
11305
|
-
/** @description URL of the build commit. */
|
|
11306
|
-
commit_url: string | null;
|
|
11307
12093
|
/** @description Build repository in `org/repo` form. */
|
|
11308
12094
|
repo: string | null;
|
|
11309
12095
|
/** @description Git branch of the build. */
|
|
@@ -11353,17 +12139,22 @@ export interface components {
|
|
|
11353
12139
|
*/
|
|
11354
12140
|
on_conflict: "cancel" | "wait";
|
|
11355
12141
|
} | null;
|
|
11356
|
-
/** @description
|
|
11357
|
-
|
|
11358
|
-
/** @description Pull request number. */
|
|
11359
|
-
number: number;
|
|
11360
|
-
/** @description Pull request URL. */
|
|
11361
|
-
url: string;
|
|
12142
|
+
/** @description The `trigger` the run was created with, or null when none was sent. */
|
|
12143
|
+
trigger: {
|
|
11362
12144
|
/**
|
|
11363
|
-
* @description
|
|
12145
|
+
* @description Event that produced the run.
|
|
11364
12146
|
* @enum {string}
|
|
11365
12147
|
*/
|
|
11366
|
-
|
|
12148
|
+
event: "pull_request";
|
|
12149
|
+
/** @description Pull request under test. */
|
|
12150
|
+
pull_request: {
|
|
12151
|
+
/** @description Pull request number in the application repository. */
|
|
12152
|
+
number?: number;
|
|
12153
|
+
/** @description Head branch. */
|
|
12154
|
+
head: string;
|
|
12155
|
+
/** @description Base branch. */
|
|
12156
|
+
base: string;
|
|
12157
|
+
};
|
|
11367
12158
|
} | null;
|
|
11368
12159
|
/** @description Resolved details for the user that created the run. */
|
|
11369
12160
|
created_by_user_detail: {
|
|
@@ -12084,6 +12875,19 @@ export interface components {
|
|
|
12084
12875
|
}[];
|
|
12085
12876
|
};
|
|
12086
12877
|
};
|
|
12878
|
+
CurrentUserResponse: {
|
|
12879
|
+
/** @description Response payload. */
|
|
12880
|
+
data: {
|
|
12881
|
+
/** @description User ID. */
|
|
12882
|
+
id: string;
|
|
12883
|
+
/** @description Email address on the session. */
|
|
12884
|
+
email: string | null;
|
|
12885
|
+
/** @description Organizations the user belongs to. */
|
|
12886
|
+
org_ids: number[];
|
|
12887
|
+
/** @description Whether the user can access every org. */
|
|
12888
|
+
is_super_admin: boolean;
|
|
12889
|
+
};
|
|
12890
|
+
};
|
|
12087
12891
|
UserDetailResponse: {
|
|
12088
12892
|
/** @description Response payload. */
|
|
12089
12893
|
data: {
|
|
@@ -12231,7 +13035,7 @@ export interface operations {
|
|
|
12231
13035
|
"application/json": components["schemas"]["CreateTestRunResponse"];
|
|
12232
13036
|
};
|
|
12233
13037
|
};
|
|
12234
|
-
/** @description Invalid request, unknown environment,
|
|
13038
|
+
/** @description Invalid request, unknown environment, pierre code-storage repo, or the project could not be resolved. */
|
|
12235
13039
|
400: {
|
|
12236
13040
|
headers: {
|
|
12237
13041
|
[name: string]: unknown;
|
|
@@ -12240,8 +13044,17 @@ export interface operations {
|
|
|
12240
13044
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
12241
13045
|
};
|
|
12242
13046
|
};
|
|
12243
|
-
/** @description
|
|
12244
|
-
|
|
13047
|
+
/** @description The organisation has an overdue invoice. */
|
|
13048
|
+
402: {
|
|
13049
|
+
headers: {
|
|
13050
|
+
[name: string]: unknown;
|
|
13051
|
+
};
|
|
13052
|
+
content: {
|
|
13053
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13054
|
+
};
|
|
13055
|
+
};
|
|
13056
|
+
/** @description Project not found or not accessible. */
|
|
13057
|
+
404: {
|
|
12245
13058
|
headers: {
|
|
12246
13059
|
[name: string]: unknown;
|
|
12247
13060
|
};
|
|
@@ -12307,7 +13120,7 @@ export interface operations {
|
|
|
12307
13120
|
query?: never;
|
|
12308
13121
|
header?: never;
|
|
12309
13122
|
path: {
|
|
12310
|
-
/** @description Test run ID. */
|
|
13123
|
+
/** @description Test run database ID. */
|
|
12311
13124
|
id: number;
|
|
12312
13125
|
};
|
|
12313
13126
|
cookie?: never;
|
|
@@ -12396,7 +13209,7 @@ export interface operations {
|
|
|
12396
13209
|
query?: never;
|
|
12397
13210
|
header?: never;
|
|
12398
13211
|
path: {
|
|
12399
|
-
/** @description
|
|
13212
|
+
/** @description Test run database ID. */
|
|
12400
13213
|
id: number;
|
|
12401
13214
|
};
|
|
12402
13215
|
cookie?: never;
|
|
@@ -12450,7 +13263,7 @@ export interface operations {
|
|
|
12450
13263
|
query?: never;
|
|
12451
13264
|
header?: never;
|
|
12452
13265
|
path: {
|
|
12453
|
-
/** @description
|
|
13266
|
+
/** @description Test run database ID. */
|
|
12454
13267
|
id: number;
|
|
12455
13268
|
};
|
|
12456
13269
|
cookie?: never;
|
|
@@ -12479,6 +13292,15 @@ export interface operations {
|
|
|
12479
13292
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
12480
13293
|
};
|
|
12481
13294
|
};
|
|
13295
|
+
/** @description The organisation has an overdue invoice. */
|
|
13296
|
+
402: {
|
|
13297
|
+
headers: {
|
|
13298
|
+
[name: string]: unknown;
|
|
13299
|
+
};
|
|
13300
|
+
content: {
|
|
13301
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13302
|
+
};
|
|
13303
|
+
};
|
|
12482
13304
|
/** @description Source test run or environment not found. */
|
|
12483
13305
|
404: {
|
|
12484
13306
|
headers: {
|
|
@@ -12537,7 +13359,7 @@ export interface operations {
|
|
|
12537
13359
|
query?: never;
|
|
12538
13360
|
header?: never;
|
|
12539
13361
|
path: {
|
|
12540
|
-
/** @description Test run ID. */
|
|
13362
|
+
/** @description Test run database ID. */
|
|
12541
13363
|
id: number;
|
|
12542
13364
|
};
|
|
12543
13365
|
cookie?: never;
|
|
@@ -12578,7 +13400,7 @@ export interface operations {
|
|
|
12578
13400
|
query?: never;
|
|
12579
13401
|
header?: never;
|
|
12580
13402
|
path: {
|
|
12581
|
-
/** @description Test run ID. */
|
|
13403
|
+
/** @description Test run database ID. */
|
|
12582
13404
|
id: number;
|
|
12583
13405
|
};
|
|
12584
13406
|
cookie?: never;
|
|
@@ -12664,7 +13486,7 @@ export interface operations {
|
|
|
12664
13486
|
query?: never;
|
|
12665
13487
|
header?: never;
|
|
12666
13488
|
path: {
|
|
12667
|
-
/** @description
|
|
13489
|
+
/** @description External run_id of the test run. */
|
|
12668
13490
|
id: number;
|
|
12669
13491
|
};
|
|
12670
13492
|
cookie?: never;
|
|
@@ -12691,6 +13513,47 @@ export interface operations {
|
|
|
12691
13513
|
};
|
|
12692
13514
|
};
|
|
12693
13515
|
};
|
|
13516
|
+
getTestRunLinkedChanges: {
|
|
13517
|
+
parameters: {
|
|
13518
|
+
query?: never;
|
|
13519
|
+
header?: never;
|
|
13520
|
+
path: {
|
|
13521
|
+
/** @description Test run database ID. */
|
|
13522
|
+
id: number;
|
|
13523
|
+
};
|
|
13524
|
+
cookie?: never;
|
|
13525
|
+
};
|
|
13526
|
+
requestBody?: never;
|
|
13527
|
+
responses: {
|
|
13528
|
+
/** @description The run's linked test changes. */
|
|
13529
|
+
200: {
|
|
13530
|
+
headers: {
|
|
13531
|
+
[name: string]: unknown;
|
|
13532
|
+
};
|
|
13533
|
+
content: {
|
|
13534
|
+
"application/json": components["schemas"]["TestRunLinkedChangesResponse"];
|
|
13535
|
+
};
|
|
13536
|
+
};
|
|
13537
|
+
/** @description Invalid database test run ID. */
|
|
13538
|
+
400: {
|
|
13539
|
+
headers: {
|
|
13540
|
+
[name: string]: unknown;
|
|
13541
|
+
};
|
|
13542
|
+
content: {
|
|
13543
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13544
|
+
};
|
|
13545
|
+
};
|
|
13546
|
+
/** @description Test run not found. */
|
|
13547
|
+
404: {
|
|
13548
|
+
headers: {
|
|
13549
|
+
[name: string]: unknown;
|
|
13550
|
+
};
|
|
13551
|
+
content: {
|
|
13552
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13553
|
+
};
|
|
13554
|
+
};
|
|
13555
|
+
};
|
|
13556
|
+
};
|
|
12694
13557
|
getTestRunLogs: {
|
|
12695
13558
|
parameters: {
|
|
12696
13559
|
query?: {
|
|
@@ -12709,7 +13572,7 @@ export interface operations {
|
|
|
12709
13572
|
};
|
|
12710
13573
|
header?: never;
|
|
12711
13574
|
path: {
|
|
12712
|
-
/** @description Test run
|
|
13575
|
+
/** @description Test run database ID. */
|
|
12713
13576
|
id: number;
|
|
12714
13577
|
};
|
|
12715
13578
|
cookie?: never;
|
|
@@ -12750,7 +13613,7 @@ export interface operations {
|
|
|
12750
13613
|
query?: never;
|
|
12751
13614
|
header?: never;
|
|
12752
13615
|
path: {
|
|
12753
|
-
/** @description Test run
|
|
13616
|
+
/** @description Test run database ID. */
|
|
12754
13617
|
id: number;
|
|
12755
13618
|
};
|
|
12756
13619
|
cookie?: never;
|
|
@@ -12766,6 +13629,15 @@ export interface operations {
|
|
|
12766
13629
|
"application/json": components["schemas"]["TestRunManifestTestsResponse"];
|
|
12767
13630
|
};
|
|
12768
13631
|
};
|
|
13632
|
+
/** @description Invalid database test run ID. */
|
|
13633
|
+
400: {
|
|
13634
|
+
headers: {
|
|
13635
|
+
[name: string]: unknown;
|
|
13636
|
+
};
|
|
13637
|
+
content: {
|
|
13638
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13639
|
+
};
|
|
13640
|
+
};
|
|
12769
13641
|
/** @description Test run not found. */
|
|
12770
13642
|
404: {
|
|
12771
13643
|
headers: {
|
|
@@ -12782,7 +13654,7 @@ export interface operations {
|
|
|
12782
13654
|
query?: never;
|
|
12783
13655
|
header?: never;
|
|
12784
13656
|
path: {
|
|
12785
|
-
/** @description
|
|
13657
|
+
/** @description External run_id of the test run. */
|
|
12786
13658
|
id: number;
|
|
12787
13659
|
};
|
|
12788
13660
|
cookie?: never;
|
|
@@ -12904,7 +13776,7 @@ export interface operations {
|
|
|
12904
13776
|
query?: never;
|
|
12905
13777
|
header?: never;
|
|
12906
13778
|
path: {
|
|
12907
|
-
/** @description Test run
|
|
13779
|
+
/** @description Test run database ID. */
|
|
12908
13780
|
id: number;
|
|
12909
13781
|
};
|
|
12910
13782
|
cookie?: never;
|
|
@@ -12920,6 +13792,15 @@ export interface operations {
|
|
|
12920
13792
|
"application/json": components["schemas"]["TestRunShardsResponse"];
|
|
12921
13793
|
};
|
|
12922
13794
|
};
|
|
13795
|
+
/** @description Invalid database test run ID. */
|
|
13796
|
+
400: {
|
|
13797
|
+
headers: {
|
|
13798
|
+
[name: string]: unknown;
|
|
13799
|
+
};
|
|
13800
|
+
content: {
|
|
13801
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
13802
|
+
};
|
|
13803
|
+
};
|
|
12923
13804
|
/** @description Test run not found. */
|
|
12924
13805
|
404: {
|
|
12925
13806
|
headers: {
|
|
@@ -13056,7 +13937,7 @@ export interface operations {
|
|
|
13056
13937
|
query?: never;
|
|
13057
13938
|
header?: never;
|
|
13058
13939
|
path: {
|
|
13059
|
-
/** @description
|
|
13940
|
+
/** @description External run_id of the test run. */
|
|
13060
13941
|
id: number;
|
|
13061
13942
|
};
|
|
13062
13943
|
cookie?: never;
|
|
@@ -13088,7 +13969,7 @@ export interface operations {
|
|
|
13088
13969
|
query?: never;
|
|
13089
13970
|
header?: never;
|
|
13090
13971
|
path: {
|
|
13091
|
-
/** @description
|
|
13972
|
+
/** @description Test run database ID. */
|
|
13092
13973
|
id: number;
|
|
13093
13974
|
};
|
|
13094
13975
|
cookie?: never;
|
|
@@ -13142,7 +14023,7 @@ export interface operations {
|
|
|
13142
14023
|
query?: never;
|
|
13143
14024
|
header?: never;
|
|
13144
14025
|
path: {
|
|
13145
|
-
/** @description
|
|
14026
|
+
/** @description External run_id of the test run. */
|
|
13146
14027
|
id: number;
|
|
13147
14028
|
};
|
|
13148
14029
|
cookie?: never;
|
|
@@ -13178,12 +14059,53 @@ export interface operations {
|
|
|
13178
14059
|
};
|
|
13179
14060
|
};
|
|
13180
14061
|
};
|
|
14062
|
+
getTestRunTriageSession: {
|
|
14063
|
+
parameters: {
|
|
14064
|
+
query?: never;
|
|
14065
|
+
header?: never;
|
|
14066
|
+
path: {
|
|
14067
|
+
/** @description Test run database ID. */
|
|
14068
|
+
id: number;
|
|
14069
|
+
};
|
|
14070
|
+
cookie?: never;
|
|
14071
|
+
};
|
|
14072
|
+
requestBody?: never;
|
|
14073
|
+
responses: {
|
|
14074
|
+
/** @description The newest triage session, if one exists. */
|
|
14075
|
+
200: {
|
|
14076
|
+
headers: {
|
|
14077
|
+
[name: string]: unknown;
|
|
14078
|
+
};
|
|
14079
|
+
content: {
|
|
14080
|
+
"application/json": components["schemas"]["GetTestRunTriageSessionResponse"];
|
|
14081
|
+
};
|
|
14082
|
+
};
|
|
14083
|
+
/** @description Invalid database test run ID. */
|
|
14084
|
+
400: {
|
|
14085
|
+
headers: {
|
|
14086
|
+
[name: string]: unknown;
|
|
14087
|
+
};
|
|
14088
|
+
content: {
|
|
14089
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14090
|
+
};
|
|
14091
|
+
};
|
|
14092
|
+
/** @description Test run not found or inaccessible. */
|
|
14093
|
+
404: {
|
|
14094
|
+
headers: {
|
|
14095
|
+
[name: string]: unknown;
|
|
14096
|
+
};
|
|
14097
|
+
content: {
|
|
14098
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14099
|
+
};
|
|
14100
|
+
};
|
|
14101
|
+
};
|
|
14102
|
+
};
|
|
13181
14103
|
createTestRunTriageSession: {
|
|
13182
14104
|
parameters: {
|
|
13183
14105
|
query?: never;
|
|
13184
14106
|
header?: never;
|
|
13185
14107
|
path: {
|
|
13186
|
-
/** @description
|
|
14108
|
+
/** @description Test run database ID. */
|
|
13187
14109
|
id: number;
|
|
13188
14110
|
};
|
|
13189
14111
|
cookie?: never;
|
|
@@ -13199,6 +14121,15 @@ export interface operations {
|
|
|
13199
14121
|
"application/json": components["schemas"]["TestRunTriageSessionResponse"];
|
|
13200
14122
|
};
|
|
13201
14123
|
};
|
|
14124
|
+
/** @description Invalid database test run ID. */
|
|
14125
|
+
400: {
|
|
14126
|
+
headers: {
|
|
14127
|
+
[name: string]: unknown;
|
|
14128
|
+
};
|
|
14129
|
+
content: {
|
|
14130
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14131
|
+
};
|
|
14132
|
+
};
|
|
13202
14133
|
/** @description Test run not found or inaccessible. */
|
|
13203
14134
|
404: {
|
|
13204
14135
|
headers: {
|
|
@@ -13215,7 +14146,7 @@ export interface operations {
|
|
|
13215
14146
|
query?: never;
|
|
13216
14147
|
header?: never;
|
|
13217
14148
|
path: {
|
|
13218
|
-
/** @description
|
|
14149
|
+
/** @description Test run database ID. */
|
|
13219
14150
|
id: number;
|
|
13220
14151
|
};
|
|
13221
14152
|
cookie?: never;
|
|
@@ -13638,7 +14569,7 @@ export interface operations {
|
|
|
13638
14569
|
"application/json": components["schemas"]["EnvironmentResponse"];
|
|
13639
14570
|
};
|
|
13640
14571
|
};
|
|
13641
|
-
/** @description Invalid request,
|
|
14572
|
+
/** @description Invalid request, the slug already exists, or reporter_config names an unknown Slack channel id. */
|
|
13642
14573
|
400: {
|
|
13643
14574
|
headers: {
|
|
13644
14575
|
[name: string]: unknown;
|
|
@@ -13733,7 +14664,7 @@ export interface operations {
|
|
|
13733
14664
|
"application/json": components["schemas"]["Environment"];
|
|
13734
14665
|
};
|
|
13735
14666
|
};
|
|
13736
|
-
/** @description Invalid request,
|
|
14667
|
+
/** @description Invalid request, the slug already exists, or reporter_config names an unknown Slack channel id. */
|
|
13737
14668
|
400: {
|
|
13738
14669
|
headers: {
|
|
13739
14670
|
[name: string]: unknown;
|
|
@@ -14864,85 +15795,6 @@ export interface operations {
|
|
|
14864
15795
|
};
|
|
14865
15796
|
};
|
|
14866
15797
|
};
|
|
14867
|
-
slackLinkWebhook: {
|
|
14868
|
-
parameters: {
|
|
14869
|
-
query?: never;
|
|
14870
|
-
header?: never;
|
|
14871
|
-
path?: never;
|
|
14872
|
-
cookie?: never;
|
|
14873
|
-
};
|
|
14874
|
-
requestBody?: {
|
|
14875
|
-
content: {
|
|
14876
|
-
"application/x-www-form-urlencoded": {
|
|
14877
|
-
/** @description Slack channel ID. */
|
|
14878
|
-
channel_id: string;
|
|
14879
|
-
/** @description Slack channel name. */
|
|
14880
|
-
channel_name: string;
|
|
14881
|
-
/** @description Slack workspace (team) ID. */
|
|
14882
|
-
team_id: string;
|
|
14883
|
-
/** @description Slack trigger ID for opening a modal. */
|
|
14884
|
-
trigger_id: string;
|
|
14885
|
-
/**
|
|
14886
|
-
* @description Text passed to the /empirical slash command.
|
|
14887
|
-
* @default
|
|
14888
|
-
*/
|
|
14889
|
-
text?: string;
|
|
14890
|
-
};
|
|
14891
|
-
};
|
|
14892
|
-
};
|
|
14893
|
-
responses: {
|
|
14894
|
-
/** @description Slash command response shown to the invoking user; empty body when a modal was opened. */
|
|
14895
|
-
200: {
|
|
14896
|
-
headers: {
|
|
14897
|
-
[name: string]: unknown;
|
|
14898
|
-
};
|
|
14899
|
-
content: {
|
|
14900
|
-
"text/plain": string;
|
|
14901
|
-
};
|
|
14902
|
-
};
|
|
14903
|
-
/** @description Invalid request. */
|
|
14904
|
-
400: {
|
|
14905
|
-
headers: {
|
|
14906
|
-
[name: string]: unknown;
|
|
14907
|
-
};
|
|
14908
|
-
content: {
|
|
14909
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
14910
|
-
};
|
|
14911
|
-
};
|
|
14912
|
-
};
|
|
14913
|
-
};
|
|
14914
|
-
listSlackChannels: {
|
|
14915
|
-
parameters: {
|
|
14916
|
-
query?: {
|
|
14917
|
-
/** @description When `true`, validate each channel against Slack. */
|
|
14918
|
-
validate_slack?: "true" | "false";
|
|
14919
|
-
};
|
|
14920
|
-
header?: never;
|
|
14921
|
-
path?: never;
|
|
14922
|
-
cookie?: never;
|
|
14923
|
-
};
|
|
14924
|
-
requestBody?: never;
|
|
14925
|
-
responses: {
|
|
14926
|
-
/** @description The project's Slack channels. */
|
|
14927
|
-
200: {
|
|
14928
|
-
headers: {
|
|
14929
|
-
[name: string]: unknown;
|
|
14930
|
-
};
|
|
14931
|
-
content: {
|
|
14932
|
-
"application/json": components["schemas"]["SlackChannelListResponse"];
|
|
14933
|
-
};
|
|
14934
|
-
};
|
|
14935
|
-
/** @description Invalid request. */
|
|
14936
|
-
400: {
|
|
14937
|
-
headers: {
|
|
14938
|
-
[name: string]: unknown;
|
|
14939
|
-
};
|
|
14940
|
-
content: {
|
|
14941
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
14942
|
-
};
|
|
14943
|
-
};
|
|
14944
|
-
};
|
|
14945
|
-
};
|
|
14946
15798
|
getSlackFileMetadata: {
|
|
14947
15799
|
parameters: {
|
|
14948
15800
|
query?: never;
|
|
@@ -15457,102 +16309,74 @@ export interface operations {
|
|
|
15457
16309
|
};
|
|
15458
16310
|
};
|
|
15459
16311
|
};
|
|
15460
|
-
|
|
16312
|
+
listSlackChannelsV2: {
|
|
15461
16313
|
parameters: {
|
|
15462
16314
|
query?: never;
|
|
15463
16315
|
header?: never;
|
|
15464
|
-
path
|
|
15465
|
-
/** @description Channel subscription ID. */
|
|
15466
|
-
id: number;
|
|
15467
|
-
};
|
|
16316
|
+
path?: never;
|
|
15468
16317
|
cookie?: never;
|
|
15469
16318
|
};
|
|
15470
16319
|
requestBody?: never;
|
|
15471
16320
|
responses: {
|
|
15472
|
-
/** @description The
|
|
16321
|
+
/** @description The organization's active Slack channels. */
|
|
15473
16322
|
200: {
|
|
15474
16323
|
headers: {
|
|
15475
16324
|
[name: string]: unknown;
|
|
15476
16325
|
};
|
|
15477
16326
|
content: {
|
|
15478
|
-
"application/json": components["schemas"]["
|
|
15479
|
-
};
|
|
15480
|
-
};
|
|
15481
|
-
/** @description Invalid request. */
|
|
15482
|
-
400: {
|
|
15483
|
-
headers: {
|
|
15484
|
-
[name: string]: unknown;
|
|
15485
|
-
};
|
|
15486
|
-
content: {
|
|
15487
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
15488
|
-
};
|
|
15489
|
-
};
|
|
15490
|
-
/** @description Channel not found. */
|
|
15491
|
-
404: {
|
|
15492
|
-
headers: {
|
|
15493
|
-
[name: string]: unknown;
|
|
15494
|
-
};
|
|
15495
|
-
content: {
|
|
15496
|
-
"application/json": {
|
|
15497
|
-
/** @description Error message. */
|
|
15498
|
-
error: string;
|
|
15499
|
-
};
|
|
16327
|
+
"application/json": components["schemas"]["SlackChannelListV2Response"];
|
|
15500
16328
|
};
|
|
15501
16329
|
};
|
|
15502
16330
|
};
|
|
15503
16331
|
};
|
|
15504
|
-
|
|
16332
|
+
refreshSlackChannelV2: {
|
|
15505
16333
|
parameters: {
|
|
15506
16334
|
query?: never;
|
|
15507
16335
|
header?: never;
|
|
15508
16336
|
path: {
|
|
15509
|
-
/** @description
|
|
16337
|
+
/** @description Canonical Slack channel ID. */
|
|
15510
16338
|
id: number;
|
|
15511
16339
|
};
|
|
15512
16340
|
cookie?: never;
|
|
15513
16341
|
};
|
|
15514
|
-
requestBody?:
|
|
15515
|
-
content: {
|
|
15516
|
-
"application/json": {
|
|
15517
|
-
/** @description Environments this channel is subscribed to. */
|
|
15518
|
-
subscribed_environments?: string[];
|
|
15519
|
-
/** @description Whether the channel filters by environment. */
|
|
15520
|
-
is_env_specific?: boolean;
|
|
15521
|
-
};
|
|
15522
|
-
};
|
|
15523
|
-
};
|
|
16342
|
+
requestBody?: never;
|
|
15524
16343
|
responses: {
|
|
15525
|
-
/** @description The
|
|
16344
|
+
/** @description The channel after the refresh, with live validation. */
|
|
15526
16345
|
200: {
|
|
15527
16346
|
headers: {
|
|
15528
16347
|
[name: string]: unknown;
|
|
15529
16348
|
};
|
|
15530
16349
|
content: {
|
|
15531
|
-
"application/json": components["schemas"]["
|
|
16350
|
+
"application/json": components["schemas"]["SlackChannelRefreshV2Response"];
|
|
15532
16351
|
};
|
|
15533
16352
|
};
|
|
15534
|
-
/** @description
|
|
15535
|
-
|
|
16353
|
+
/** @description Channel not found in the scoped project's organization. */
|
|
16354
|
+
404: {
|
|
15536
16355
|
headers: {
|
|
15537
16356
|
[name: string]: unknown;
|
|
15538
16357
|
};
|
|
15539
16358
|
content: {
|
|
15540
|
-
"application/json": components["schemas"]["ErrorResponse"]
|
|
15541
|
-
/** @description Error message. */
|
|
15542
|
-
error: string;
|
|
15543
|
-
};
|
|
16359
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15544
16360
|
};
|
|
15545
16361
|
};
|
|
15546
|
-
|
|
15547
|
-
|
|
16362
|
+
};
|
|
16363
|
+
};
|
|
16364
|
+
validateSlackChannelsV2: {
|
|
16365
|
+
parameters: {
|
|
16366
|
+
query?: never;
|
|
16367
|
+
header?: never;
|
|
16368
|
+
path?: never;
|
|
16369
|
+
cookie?: never;
|
|
16370
|
+
};
|
|
16371
|
+
requestBody?: never;
|
|
16372
|
+
responses: {
|
|
16373
|
+
/** @description The organization's active Slack channels with live validation results. */
|
|
16374
|
+
200: {
|
|
15548
16375
|
headers: {
|
|
15549
16376
|
[name: string]: unknown;
|
|
15550
16377
|
};
|
|
15551
16378
|
content: {
|
|
15552
|
-
"application/json":
|
|
15553
|
-
/** @description Error message. */
|
|
15554
|
-
error: string;
|
|
15555
|
-
};
|
|
16379
|
+
"application/json": components["schemas"]["SlackChannelValidationListV2Response"];
|
|
15556
16380
|
};
|
|
15557
16381
|
};
|
|
15558
16382
|
};
|
|
@@ -16507,10 +17331,12 @@ export interface operations {
|
|
|
16507
17331
|
per_page?: number;
|
|
16508
17332
|
/** @description Row order. `scheduled` (default) is manifest order โ stable for a finished run. `recent` is most-recently-completed first, for the live view of an active run. */
|
|
16509
17333
|
order?: "scheduled" | "recent";
|
|
17334
|
+
/** @description When `true`, also returns cases that have reported at least one attempt but still have retries outstanding, marked `is_retrying: true`. Their `status` is provisional (from the attempts so far) and can change when the remaining retries land. Defaults to `false`. */
|
|
17335
|
+
include_retrying?: "true" | "false";
|
|
16510
17336
|
};
|
|
16511
17337
|
header?: never;
|
|
16512
17338
|
path: {
|
|
16513
|
-
/** @description Test run ID. */
|
|
17339
|
+
/** @description Test run database ID. */
|
|
16514
17340
|
id: number;
|
|
16515
17341
|
};
|
|
16516
17342
|
cookie?: never;
|
|
@@ -16548,10 +17374,13 @@ export interface operations {
|
|
|
16548
17374
|
};
|
|
16549
17375
|
getTestRunCase: {
|
|
16550
17376
|
parameters: {
|
|
16551
|
-
query?:
|
|
17377
|
+
query?: {
|
|
17378
|
+
/** @description When `true`, also returns cases that have reported at least one attempt but still have retries outstanding, marked `is_retrying: true`. Their `status` is provisional (from the attempts so far) and can change when the remaining retries land. Defaults to `false`. */
|
|
17379
|
+
include_retrying?: "true" | "false";
|
|
17380
|
+
};
|
|
16552
17381
|
header?: never;
|
|
16553
17382
|
path: {
|
|
16554
|
-
/** @description Test run ID. */
|
|
17383
|
+
/** @description Test run database ID. */
|
|
16555
17384
|
id: number;
|
|
16556
17385
|
/** @description Playwright test ID (`pw_test_id`) of the case. */
|
|
16557
17386
|
case_id: string;
|
|
@@ -16918,7 +17747,7 @@ export interface operations {
|
|
|
16918
17747
|
entity_type: string;
|
|
16919
17748
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
16920
17749
|
entity_id: string | null;
|
|
16921
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
17750
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
16922
17751
|
payload_filter: {
|
|
16923
17752
|
[key: string]: string | number | boolean | unknown;
|
|
16924
17753
|
};
|
|
@@ -16965,7 +17794,7 @@ export interface operations {
|
|
|
16965
17794
|
event_type: string;
|
|
16966
17795
|
/** @description Exact canonical entity id to match. Omit on create, or set null on update, to match every entity. */
|
|
16967
17796
|
entity_id?: string;
|
|
16968
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
17797
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
16969
17798
|
payload_filter?: {
|
|
16970
17799
|
[key: string]: string | number | boolean | unknown;
|
|
16971
17800
|
};
|
|
@@ -16996,7 +17825,7 @@ export interface operations {
|
|
|
16996
17825
|
entity_type: string;
|
|
16997
17826
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
16998
17827
|
entity_id: string | null;
|
|
16999
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
17828
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
17000
17829
|
payload_filter: {
|
|
17001
17830
|
[key: string]: string | number | boolean | unknown;
|
|
17002
17831
|
};
|
|
@@ -17070,7 +17899,7 @@ export interface operations {
|
|
|
17070
17899
|
entity_type: string;
|
|
17071
17900
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17072
17901
|
entity_id: string | null;
|
|
17073
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
17902
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
17074
17903
|
payload_filter: {
|
|
17075
17904
|
[key: string]: string | number | boolean | unknown;
|
|
17076
17905
|
};
|
|
@@ -17145,7 +17974,7 @@ export interface operations {
|
|
|
17145
17974
|
event_type?: string;
|
|
17146
17975
|
/** @description Exact canonical entity id to match. Omit on create, or set null on update, to match every entity. */
|
|
17147
17976
|
entity_id?: string | null;
|
|
17148
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
17977
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
17149
17978
|
payload_filter?: {
|
|
17150
17979
|
[key: string]: string | number | boolean | unknown;
|
|
17151
17980
|
};
|
|
@@ -17176,7 +18005,7 @@ export interface operations {
|
|
|
17176
18005
|
entity_type: string;
|
|
17177
18006
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17178
18007
|
entity_id: string | null;
|
|
17179
|
-
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog. */
|
|
18008
|
+
/** @description Optional payload equality filters. Keys must be allowed for the selected event in the canonical event catalog, and enum-like fields only accept the values the event emits. */
|
|
17180
18009
|
payload_filter: {
|
|
17181
18010
|
[key: string]: string | number | boolean | unknown;
|
|
17182
18011
|
};
|
|
@@ -17246,7 +18075,7 @@ export interface operations {
|
|
|
17246
18075
|
"application/json": unknown;
|
|
17247
18076
|
};
|
|
17248
18077
|
};
|
|
17249
|
-
/** @description A proxy rule rejected the request, or GitHub returned a client error. */
|
|
18078
|
+
/** @description A proxy rule rejected the request (including a squash or rebase PR merge), or GitHub returned a client error. */
|
|
17250
18079
|
400: {
|
|
17251
18080
|
headers: {
|
|
17252
18081
|
[name: string]: unknown;
|
|
@@ -17255,7 +18084,7 @@ export interface operations {
|
|
|
17255
18084
|
"application/json": components["schemas"]["GithubProxyError"];
|
|
17256
18085
|
};
|
|
17257
18086
|
};
|
|
17258
|
-
/** @description The
|
|
18087
|
+
/** @description The URL uses a numeric repository id, the request writes to a protected branch, a project API key attempted a write, or a sandbox proxy rule forbade the request. */
|
|
17259
18088
|
403: {
|
|
17260
18089
|
headers: {
|
|
17261
18090
|
[name: string]: unknown;
|
|
@@ -17836,6 +18665,8 @@ export interface operations {
|
|
|
17836
18665
|
page?: number;
|
|
17837
18666
|
/** @description Items per page. Default 10. */
|
|
17838
18667
|
per_page?: number;
|
|
18668
|
+
/** @description Optional Manager sidebar category: executor sessions, or all non-manager/non-executor user-facing sessions. */
|
|
18669
|
+
category?: "executor" | "user";
|
|
17839
18670
|
/** @description Comma-separated project IDs to include. */
|
|
17840
18671
|
project_ids?: string;
|
|
17841
18672
|
/** @description Comma-separated project IDs to exclude. */
|
|
@@ -17897,6 +18728,7 @@ export interface operations {
|
|
|
17897
18728
|
source?: string | null;
|
|
17898
18729
|
source_identifier?: string | null;
|
|
17899
18730
|
model?: string | null;
|
|
18731
|
+
/** @description Deprecated. Sessions start on the project default branch; a different branch is added to `message` as an instruction to work from it. */
|
|
17900
18732
|
base_branch?: string | null;
|
|
17901
18733
|
created_by?: string | null;
|
|
17902
18734
|
};
|
|
@@ -18580,6 +19412,15 @@ export interface operations {
|
|
|
18580
19412
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
18581
19413
|
};
|
|
18582
19414
|
};
|
|
19415
|
+
/** @description Billing admission denied. */
|
|
19416
|
+
402: {
|
|
19417
|
+
headers: {
|
|
19418
|
+
[name: string]: unknown;
|
|
19419
|
+
};
|
|
19420
|
+
content: {
|
|
19421
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19422
|
+
};
|
|
19423
|
+
};
|
|
18583
19424
|
/** @description Chat session not found. */
|
|
18584
19425
|
404: {
|
|
18585
19426
|
headers: {
|
|
@@ -18692,12 +19533,9 @@ export interface operations {
|
|
|
18692
19533
|
};
|
|
18693
19534
|
};
|
|
18694
19535
|
};
|
|
18695
|
-
|
|
19536
|
+
getChatSessionSandboxHealth: {
|
|
18696
19537
|
parameters: {
|
|
18697
|
-
query?:
|
|
18698
|
-
/** @description Absolute path inside the sandbox. */
|
|
18699
|
-
path?: string;
|
|
18700
|
-
};
|
|
19538
|
+
query?: never;
|
|
18701
19539
|
header?: never;
|
|
18702
19540
|
path: {
|
|
18703
19541
|
/** @description Chat session ID. */
|
|
@@ -18707,31 +19545,22 @@ export interface operations {
|
|
|
18707
19545
|
};
|
|
18708
19546
|
requestBody?: never;
|
|
18709
19547
|
responses: {
|
|
18710
|
-
/** @description
|
|
19548
|
+
/** @description Sandbox health. */
|
|
18711
19549
|
200: {
|
|
18712
19550
|
headers: {
|
|
18713
19551
|
[name: string]: unknown;
|
|
18714
19552
|
};
|
|
18715
19553
|
content: {
|
|
18716
|
-
"application/json": components["schemas"]["
|
|
19554
|
+
"application/json": components["schemas"]["SandboxHealthResult"];
|
|
18717
19555
|
};
|
|
18718
19556
|
};
|
|
18719
|
-
/** @description
|
|
19557
|
+
/** @description Invalid request. */
|
|
18720
19558
|
400: {
|
|
18721
19559
|
headers: {
|
|
18722
19560
|
[name: string]: unknown;
|
|
18723
19561
|
};
|
|
18724
19562
|
content: {
|
|
18725
|
-
"application/json": components["schemas"]["
|
|
18726
|
-
};
|
|
18727
|
-
};
|
|
18728
|
-
/** @description Forbidden. */
|
|
18729
|
-
403: {
|
|
18730
|
-
headers: {
|
|
18731
|
-
[name: string]: unknown;
|
|
18732
|
-
};
|
|
18733
|
-
content: {
|
|
18734
|
-
"application/json": components["schemas"]["SandboxErrorMessage"];
|
|
19563
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
18735
19564
|
};
|
|
18736
19565
|
};
|
|
18737
19566
|
/** @description Sandbox not found. */
|
|
@@ -18743,102 +19572,8 @@ export interface operations {
|
|
|
18743
19572
|
"application/json": components["schemas"]["SandboxErrorMessage"];
|
|
18744
19573
|
};
|
|
18745
19574
|
};
|
|
18746
|
-
|
|
18747
|
-
|
|
18748
|
-
getChatSessionSandboxFileContent: {
|
|
18749
|
-
parameters: {
|
|
18750
|
-
query?: {
|
|
18751
|
-
/** @description Absolute path inside the sandbox. */
|
|
18752
|
-
path?: string;
|
|
18753
|
-
};
|
|
18754
|
-
header?: never;
|
|
18755
|
-
path: {
|
|
18756
|
-
/** @description Chat session ID. */
|
|
18757
|
-
id: number;
|
|
18758
|
-
};
|
|
18759
|
-
cookie?: never;
|
|
18760
|
-
};
|
|
18761
|
-
requestBody?: never;
|
|
18762
|
-
responses: {
|
|
18763
|
-
/** @description File content. */
|
|
18764
|
-
200: {
|
|
18765
|
-
headers: {
|
|
18766
|
-
[name: string]: unknown;
|
|
18767
|
-
};
|
|
18768
|
-
content: {
|
|
18769
|
-
"application/json": components["schemas"]["SandboxFileContent"];
|
|
18770
|
-
};
|
|
18771
|
-
};
|
|
18772
|
-
/** @description Missing path. */
|
|
18773
|
-
400: {
|
|
18774
|
-
headers: {
|
|
18775
|
-
[name: string]: unknown;
|
|
18776
|
-
};
|
|
18777
|
-
content: {
|
|
18778
|
-
"application/json": components["schemas"]["SandboxFileContentError"];
|
|
18779
|
-
};
|
|
18780
|
-
};
|
|
18781
|
-
/** @description Forbidden. */
|
|
18782
|
-
403: {
|
|
18783
|
-
headers: {
|
|
18784
|
-
[name: string]: unknown;
|
|
18785
|
-
};
|
|
18786
|
-
content: {
|
|
18787
|
-
"application/json": components["schemas"]["SandboxFileContentError"];
|
|
18788
|
-
};
|
|
18789
|
-
};
|
|
18790
|
-
/** @description Not found. */
|
|
18791
|
-
404: {
|
|
18792
|
-
headers: {
|
|
18793
|
-
[name: string]: unknown;
|
|
18794
|
-
};
|
|
18795
|
-
content: {
|
|
18796
|
-
"application/json": components["schemas"]["SandboxFileContentError"];
|
|
18797
|
-
};
|
|
18798
|
-
};
|
|
18799
|
-
/** @description File too large. */
|
|
18800
|
-
413: {
|
|
18801
|
-
headers: {
|
|
18802
|
-
[name: string]: unknown;
|
|
18803
|
-
};
|
|
18804
|
-
content: {
|
|
18805
|
-
"application/json": components["schemas"]["SandboxFileContentError"];
|
|
18806
|
-
};
|
|
18807
|
-
};
|
|
18808
|
-
};
|
|
18809
|
-
};
|
|
18810
|
-
getChatSessionSandboxHealth: {
|
|
18811
|
-
parameters: {
|
|
18812
|
-
query?: never;
|
|
18813
|
-
header?: never;
|
|
18814
|
-
path: {
|
|
18815
|
-
/** @description Chat session ID. */
|
|
18816
|
-
id: number;
|
|
18817
|
-
};
|
|
18818
|
-
cookie?: never;
|
|
18819
|
-
};
|
|
18820
|
-
requestBody?: never;
|
|
18821
|
-
responses: {
|
|
18822
|
-
/** @description Sandbox health. */
|
|
18823
|
-
200: {
|
|
18824
|
-
headers: {
|
|
18825
|
-
[name: string]: unknown;
|
|
18826
|
-
};
|
|
18827
|
-
content: {
|
|
18828
|
-
"application/json": components["schemas"]["SandboxHealthResult"];
|
|
18829
|
-
};
|
|
18830
|
-
};
|
|
18831
|
-
/** @description Invalid request. */
|
|
18832
|
-
400: {
|
|
18833
|
-
headers: {
|
|
18834
|
-
[name: string]: unknown;
|
|
18835
|
-
};
|
|
18836
|
-
content: {
|
|
18837
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18838
|
-
};
|
|
18839
|
-
};
|
|
18840
|
-
/** @description Sandbox not found. */
|
|
18841
|
-
404: {
|
|
19575
|
+
/** @description Sandbox is paused. */
|
|
19576
|
+
409: {
|
|
18842
19577
|
headers: {
|
|
18843
19578
|
[name: string]: unknown;
|
|
18844
19579
|
};
|
|
@@ -18910,56 +19645,6 @@ export interface operations {
|
|
|
18910
19645
|
};
|
|
18911
19646
|
};
|
|
18912
19647
|
};
|
|
18913
|
-
getChatSessionSandboxSessionFile: {
|
|
18914
|
-
parameters: {
|
|
18915
|
-
query?: never;
|
|
18916
|
-
header?: never;
|
|
18917
|
-
path: {
|
|
18918
|
-
/** @description Chat session ID. */
|
|
18919
|
-
id: number;
|
|
18920
|
-
};
|
|
18921
|
-
cookie?: never;
|
|
18922
|
-
};
|
|
18923
|
-
requestBody?: never;
|
|
18924
|
-
responses: {
|
|
18925
|
-
/** @description The session.jsonl file (served as a binary download). */
|
|
18926
|
-
200: {
|
|
18927
|
-
headers: {
|
|
18928
|
-
[name: string]: unknown;
|
|
18929
|
-
};
|
|
18930
|
-
content: {
|
|
18931
|
-
"application/octet-stream": string;
|
|
18932
|
-
};
|
|
18933
|
-
};
|
|
18934
|
-
/** @description Invalid request. */
|
|
18935
|
-
400: {
|
|
18936
|
-
headers: {
|
|
18937
|
-
[name: string]: unknown;
|
|
18938
|
-
};
|
|
18939
|
-
content: {
|
|
18940
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18941
|
-
};
|
|
18942
|
-
};
|
|
18943
|
-
/** @description Sandbox not found. */
|
|
18944
|
-
404: {
|
|
18945
|
-
headers: {
|
|
18946
|
-
[name: string]: unknown;
|
|
18947
|
-
};
|
|
18948
|
-
content: {
|
|
18949
|
-
"application/json": components["schemas"]["SandboxErrorMessage"];
|
|
18950
|
-
};
|
|
18951
|
-
};
|
|
18952
|
-
/** @description Failed to read session file. */
|
|
18953
|
-
500: {
|
|
18954
|
-
headers: {
|
|
18955
|
-
[name: string]: unknown;
|
|
18956
|
-
};
|
|
18957
|
-
content: {
|
|
18958
|
-
"application/json": components["schemas"]["SandboxErrorMessage"];
|
|
18959
|
-
};
|
|
18960
|
-
};
|
|
18961
|
-
};
|
|
18962
|
-
};
|
|
18963
19648
|
getChatSessionSnapshot: {
|
|
18964
19649
|
parameters: {
|
|
18965
19650
|
query?: never;
|
|
@@ -19806,6 +20491,53 @@ export interface operations {
|
|
|
19806
20491
|
};
|
|
19807
20492
|
};
|
|
19808
20493
|
};
|
|
20494
|
+
searchRepositoryBranches: {
|
|
20495
|
+
parameters: {
|
|
20496
|
+
query: {
|
|
20497
|
+
/** @description Repository owner. */
|
|
20498
|
+
owner: string;
|
|
20499
|
+
/** @description Repository name. */
|
|
20500
|
+
repo: string;
|
|
20501
|
+
/** @description Branch-name search text. */
|
|
20502
|
+
query?: string;
|
|
20503
|
+
/** @description Maximum number of matching branches to return. */
|
|
20504
|
+
limit?: number;
|
|
20505
|
+
};
|
|
20506
|
+
header?: never;
|
|
20507
|
+
path?: never;
|
|
20508
|
+
cookie?: never;
|
|
20509
|
+
};
|
|
20510
|
+
requestBody?: never;
|
|
20511
|
+
responses: {
|
|
20512
|
+
/** @description Matching repository branches. */
|
|
20513
|
+
200: {
|
|
20514
|
+
headers: {
|
|
20515
|
+
[name: string]: unknown;
|
|
20516
|
+
};
|
|
20517
|
+
content: {
|
|
20518
|
+
"application/json": components["schemas"]["GithubBranchSearchResponse"];
|
|
20519
|
+
};
|
|
20520
|
+
};
|
|
20521
|
+
/** @description Repository not found. */
|
|
20522
|
+
404: {
|
|
20523
|
+
headers: {
|
|
20524
|
+
[name: string]: unknown;
|
|
20525
|
+
};
|
|
20526
|
+
content: {
|
|
20527
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20528
|
+
};
|
|
20529
|
+
};
|
|
20530
|
+
/** @description GitHub rejected the branch search. */
|
|
20531
|
+
502: {
|
|
20532
|
+
headers: {
|
|
20533
|
+
[name: string]: unknown;
|
|
20534
|
+
};
|
|
20535
|
+
content: {
|
|
20536
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
20537
|
+
};
|
|
20538
|
+
};
|
|
20539
|
+
};
|
|
20540
|
+
};
|
|
19809
20541
|
getCommitDiff: {
|
|
19810
20542
|
parameters: {
|
|
19811
20543
|
query: {
|
|
@@ -20235,7 +20967,7 @@ export interface operations {
|
|
|
20235
20967
|
"application/json": components["schemas"]["GithubPrMergeResponse"];
|
|
20236
20968
|
};
|
|
20237
20969
|
};
|
|
20238
|
-
/** @description The PR is not open or
|
|
20970
|
+
/** @description The PR is not open, not mergeable, or GitHub refused the merge. */
|
|
20239
20971
|
400: {
|
|
20240
20972
|
headers: {
|
|
20241
20973
|
[name: string]: unknown;
|
|
@@ -20363,6 +21095,49 @@ export interface operations {
|
|
|
20363
21095
|
};
|
|
20364
21096
|
};
|
|
20365
21097
|
};
|
|
21098
|
+
listReporterDeliveries: {
|
|
21099
|
+
parameters: {
|
|
21100
|
+
query: {
|
|
21101
|
+
/** @description Project whose reporter deliveries to list. */
|
|
21102
|
+
project_id: number;
|
|
21103
|
+
/** @description Max rows per delivery kind (newest first). */
|
|
21104
|
+
limit?: number;
|
|
21105
|
+
};
|
|
21106
|
+
header?: never;
|
|
21107
|
+
path?: never;
|
|
21108
|
+
cookie?: never;
|
|
21109
|
+
};
|
|
21110
|
+
requestBody?: never;
|
|
21111
|
+
responses: {
|
|
21112
|
+
/** @description Reporter check runs, PR comments and linked test changes checks. */
|
|
21113
|
+
200: {
|
|
21114
|
+
headers: {
|
|
21115
|
+
[name: string]: unknown;
|
|
21116
|
+
};
|
|
21117
|
+
content: {
|
|
21118
|
+
"application/json": components["schemas"]["GhReporterDeliveriesResponse"];
|
|
21119
|
+
};
|
|
21120
|
+
};
|
|
21121
|
+
/** @description Project does not belong to an org. */
|
|
21122
|
+
400: {
|
|
21123
|
+
headers: {
|
|
21124
|
+
[name: string]: unknown;
|
|
21125
|
+
};
|
|
21126
|
+
content: {
|
|
21127
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
21128
|
+
};
|
|
21129
|
+
};
|
|
21130
|
+
/** @description Project not found. */
|
|
21131
|
+
404: {
|
|
21132
|
+
headers: {
|
|
21133
|
+
[name: string]: unknown;
|
|
21134
|
+
};
|
|
21135
|
+
content: {
|
|
21136
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
21137
|
+
};
|
|
21138
|
+
};
|
|
21139
|
+
};
|
|
21140
|
+
};
|
|
20366
21141
|
receiveReporterGithubEvent: {
|
|
20367
21142
|
parameters: {
|
|
20368
21143
|
query?: never;
|
|
@@ -20612,21 +21387,17 @@ export interface operations {
|
|
|
20612
21387
|
};
|
|
20613
21388
|
};
|
|
20614
21389
|
};
|
|
20615
|
-
|
|
21390
|
+
getReporterPullRequest: {
|
|
20616
21391
|
parameters: {
|
|
20617
21392
|
query: {
|
|
20618
|
-
/** @description
|
|
20619
|
-
|
|
20620
|
-
|
|
20621
|
-
|
|
20622
|
-
/** @description
|
|
20623
|
-
|
|
20624
|
-
/** @description
|
|
20625
|
-
|
|
20626
|
-
/** @description Branch or ref to read the tree from. */
|
|
20627
|
-
ref?: string;
|
|
20628
|
-
/** @description Fallback branch when `ref` does not exist. */
|
|
20629
|
-
baseBranch?: string;
|
|
21393
|
+
/** @description Project whose reporter App reads the PR. */
|
|
21394
|
+
project_id: number;
|
|
21395
|
+
repo_owner: string;
|
|
21396
|
+
repo_name: string;
|
|
21397
|
+
/** @description App PR number. When omitted, the PR is found by head_sha. */
|
|
21398
|
+
pr_number?: number;
|
|
21399
|
+
/** @description Commit the reporter delivered to. Compared against the PR's current head; also used to find the PR when pr_number is omitted. */
|
|
21400
|
+
head_sha?: string;
|
|
20630
21401
|
};
|
|
20631
21402
|
header?: never;
|
|
20632
21403
|
path?: never;
|
|
@@ -20634,13 +21405,64 @@ export interface operations {
|
|
|
20634
21405
|
};
|
|
20635
21406
|
requestBody?: never;
|
|
20636
21407
|
responses: {
|
|
20637
|
-
/** @description The
|
|
21408
|
+
/** @description The PR's current state and head. */
|
|
20638
21409
|
200: {
|
|
20639
21410
|
headers: {
|
|
20640
21411
|
[name: string]: unknown;
|
|
20641
21412
|
};
|
|
20642
21413
|
content: {
|
|
20643
|
-
"application/json": components["schemas"]["
|
|
21414
|
+
"application/json": components["schemas"]["GhReporterPullRequestResponse"];
|
|
21415
|
+
};
|
|
21416
|
+
};
|
|
21417
|
+
/** @description Neither pr_number nor head_sha given. */
|
|
21418
|
+
400: {
|
|
21419
|
+
headers: {
|
|
21420
|
+
[name: string]: unknown;
|
|
21421
|
+
};
|
|
21422
|
+
content: {
|
|
21423
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
21424
|
+
};
|
|
21425
|
+
};
|
|
21426
|
+
/** @description Project, installation or pull request not found. */
|
|
21427
|
+
404: {
|
|
21428
|
+
headers: {
|
|
21429
|
+
[name: string]: unknown;
|
|
21430
|
+
};
|
|
21431
|
+
content: {
|
|
21432
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
21433
|
+
};
|
|
21434
|
+
};
|
|
21435
|
+
};
|
|
21436
|
+
};
|
|
21437
|
+
getRepoTree: {
|
|
21438
|
+
parameters: {
|
|
21439
|
+
query: {
|
|
21440
|
+
/** @description Repository owner. */
|
|
21441
|
+
owner: string;
|
|
21442
|
+
/** @description Repository name. */
|
|
21443
|
+
repo: string;
|
|
21444
|
+
/** @description Repository host; only `github` is supported. */
|
|
21445
|
+
repo_host?: string;
|
|
21446
|
+
/** @description Unused; reserved. */
|
|
21447
|
+
path?: string;
|
|
21448
|
+
/** @description Branch or ref to read the tree from. */
|
|
21449
|
+
ref?: string;
|
|
21450
|
+
/** @description Fallback branch when `ref` does not exist. */
|
|
21451
|
+
baseBranch?: string;
|
|
21452
|
+
};
|
|
21453
|
+
header?: never;
|
|
21454
|
+
path?: never;
|
|
21455
|
+
cookie?: never;
|
|
21456
|
+
};
|
|
21457
|
+
requestBody?: never;
|
|
21458
|
+
responses: {
|
|
21459
|
+
/** @description The repository tree. */
|
|
21460
|
+
200: {
|
|
21461
|
+
headers: {
|
|
21462
|
+
[name: string]: unknown;
|
|
21463
|
+
};
|
|
21464
|
+
content: {
|
|
21465
|
+
"application/json": components["schemas"]["GithubTreeResponse"];
|
|
20644
21466
|
};
|
|
20645
21467
|
};
|
|
20646
21468
|
/** @description Only GitHub repositories are supported. */
|
|
@@ -22887,6 +23709,38 @@ export interface operations {
|
|
|
22887
23709
|
};
|
|
22888
23710
|
};
|
|
22889
23711
|
};
|
|
23712
|
+
listMemoryActivity: {
|
|
23713
|
+
parameters: {
|
|
23714
|
+
query?: {
|
|
23715
|
+
/** @description Window for the `daily` series, in days back from now. Per-memory stats always cover full history. Defaults to 90. */
|
|
23716
|
+
since_days?: number;
|
|
23717
|
+
};
|
|
23718
|
+
header?: never;
|
|
23719
|
+
path?: never;
|
|
23720
|
+
cookie?: never;
|
|
23721
|
+
};
|
|
23722
|
+
requestBody?: never;
|
|
23723
|
+
responses: {
|
|
23724
|
+
/** @description Memory activity. */
|
|
23725
|
+
200: {
|
|
23726
|
+
headers: {
|
|
23727
|
+
[name: string]: unknown;
|
|
23728
|
+
};
|
|
23729
|
+
content: {
|
|
23730
|
+
"application/json": components["schemas"]["MemoryActivityResponse"];
|
|
23731
|
+
};
|
|
23732
|
+
};
|
|
23733
|
+
/** @description Invalid request. */
|
|
23734
|
+
400: {
|
|
23735
|
+
headers: {
|
|
23736
|
+
[name: string]: unknown;
|
|
23737
|
+
};
|
|
23738
|
+
content: {
|
|
23739
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
23740
|
+
};
|
|
23741
|
+
};
|
|
23742
|
+
};
|
|
23743
|
+
};
|
|
22890
23744
|
getProjectMetricsLast7Days: {
|
|
22891
23745
|
parameters: {
|
|
22892
23746
|
query?: never;
|
|
@@ -23571,7 +24425,7 @@ export interface operations {
|
|
|
23571
24425
|
};
|
|
23572
24426
|
};
|
|
23573
24427
|
responses: {
|
|
23574
|
-
/** @description
|
|
24428
|
+
/** @description The user's memberships and super-admin flag after resolution. */
|
|
23575
24429
|
200: {
|
|
23576
24430
|
headers: {
|
|
23577
24431
|
[name: string]: unknown;
|
|
@@ -24052,9 +24906,8 @@ export interface operations {
|
|
|
24052
24906
|
"application/json": {
|
|
24053
24907
|
name?: string;
|
|
24054
24908
|
has_email_reporting?: boolean;
|
|
24055
|
-
has_branching_enabled?: boolean;
|
|
24056
24909
|
default_branch?: string;
|
|
24057
|
-
|
|
24910
|
+
protected_branches?: string[];
|
|
24058
24911
|
/**
|
|
24059
24912
|
* @deprecated
|
|
24060
24913
|
* @description Read-only. Set `concurrency` on the trigger request or `scheduled_concurrency` on the environment instead.
|
|
@@ -24173,8 +25026,6 @@ export interface operations {
|
|
|
24173
25026
|
per_page?: number;
|
|
24174
25027
|
/** @description Look-back window in days (max 365). */
|
|
24175
25028
|
days?: number;
|
|
24176
|
-
/** @description Filter branches by status, or `all`. */
|
|
24177
|
-
status?: string;
|
|
24178
25029
|
};
|
|
24179
25030
|
header?: never;
|
|
24180
25031
|
path: {
|
|
@@ -24411,6 +25262,120 @@ export interface operations {
|
|
|
24411
25262
|
};
|
|
24412
25263
|
};
|
|
24413
25264
|
};
|
|
25265
|
+
checkProjectRepoSettings: {
|
|
25266
|
+
parameters: {
|
|
25267
|
+
query?: {
|
|
25268
|
+
/** @description Check this GitHub owner's repo instead of the project's (e.g. a repo transfer destination). Requires `repo_name`; can't be `empirical-run`. */
|
|
25269
|
+
repo_owner?: string;
|
|
25270
|
+
/** @description Repository name to check, with `repo_owner`. */
|
|
25271
|
+
repo_name?: string;
|
|
25272
|
+
};
|
|
25273
|
+
header?: never;
|
|
25274
|
+
path: {
|
|
25275
|
+
/** @description Project ID. */
|
|
25276
|
+
id: number;
|
|
25277
|
+
};
|
|
25278
|
+
cookie?: never;
|
|
25279
|
+
};
|
|
25280
|
+
requestBody?: never;
|
|
25281
|
+
responses: {
|
|
25282
|
+
/** @description Check results. */
|
|
25283
|
+
200: {
|
|
25284
|
+
headers: {
|
|
25285
|
+
[name: string]: unknown;
|
|
25286
|
+
};
|
|
25287
|
+
content: {
|
|
25288
|
+
"application/json": components["schemas"]["RepoSettingsCheckResponse"];
|
|
25289
|
+
};
|
|
25290
|
+
};
|
|
25291
|
+
/** @description Project has no GitHub repository, or invalid target. */
|
|
25292
|
+
400: {
|
|
25293
|
+
headers: {
|
|
25294
|
+
[name: string]: unknown;
|
|
25295
|
+
};
|
|
25296
|
+
content: {
|
|
25297
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25298
|
+
};
|
|
25299
|
+
};
|
|
25300
|
+
/** @description Project not found. */
|
|
25301
|
+
404: {
|
|
25302
|
+
headers: {
|
|
25303
|
+
[name: string]: unknown;
|
|
25304
|
+
};
|
|
25305
|
+
content: {
|
|
25306
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25307
|
+
};
|
|
25308
|
+
};
|
|
25309
|
+
/** @description GitHub request failed. */
|
|
25310
|
+
502: {
|
|
25311
|
+
headers: {
|
|
25312
|
+
[name: string]: unknown;
|
|
25313
|
+
};
|
|
25314
|
+
content: {
|
|
25315
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25316
|
+
};
|
|
25317
|
+
};
|
|
25318
|
+
};
|
|
25319
|
+
};
|
|
25320
|
+
fixProjectRepoSettings: {
|
|
25321
|
+
parameters: {
|
|
25322
|
+
query?: never;
|
|
25323
|
+
header?: never;
|
|
25324
|
+
path: {
|
|
25325
|
+
/** @description Project ID. */
|
|
25326
|
+
id: number;
|
|
25327
|
+
};
|
|
25328
|
+
cookie?: never;
|
|
25329
|
+
};
|
|
25330
|
+
requestBody?: never;
|
|
25331
|
+
responses: {
|
|
25332
|
+
/** @description Re-checked results. */
|
|
25333
|
+
200: {
|
|
25334
|
+
headers: {
|
|
25335
|
+
[name: string]: unknown;
|
|
25336
|
+
};
|
|
25337
|
+
content: {
|
|
25338
|
+
"application/json": components["schemas"]["RepoSettingsCheckResponse"];
|
|
25339
|
+
};
|
|
25340
|
+
};
|
|
25341
|
+
/** @description Project has no GitHub repository. */
|
|
25342
|
+
400: {
|
|
25343
|
+
headers: {
|
|
25344
|
+
[name: string]: unknown;
|
|
25345
|
+
};
|
|
25346
|
+
content: {
|
|
25347
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25348
|
+
};
|
|
25349
|
+
};
|
|
25350
|
+
/** @description Repository isn't owned by empirical-run. */
|
|
25351
|
+
403: {
|
|
25352
|
+
headers: {
|
|
25353
|
+
[name: string]: unknown;
|
|
25354
|
+
};
|
|
25355
|
+
content: {
|
|
25356
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25357
|
+
};
|
|
25358
|
+
};
|
|
25359
|
+
/** @description Project not found. */
|
|
25360
|
+
404: {
|
|
25361
|
+
headers: {
|
|
25362
|
+
[name: string]: unknown;
|
|
25363
|
+
};
|
|
25364
|
+
content: {
|
|
25365
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25366
|
+
};
|
|
25367
|
+
};
|
|
25368
|
+
/** @description GitHub request failed. */
|
|
25369
|
+
502: {
|
|
25370
|
+
headers: {
|
|
25371
|
+
[name: string]: unknown;
|
|
25372
|
+
};
|
|
25373
|
+
content: {
|
|
25374
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25375
|
+
};
|
|
25376
|
+
};
|
|
25377
|
+
};
|
|
25378
|
+
};
|
|
24414
25379
|
triggerProjectTestCasesSync: {
|
|
24415
25380
|
parameters: {
|
|
24416
25381
|
query?: never;
|
|
@@ -25537,6 +26502,288 @@ export interface operations {
|
|
|
25537
26502
|
};
|
|
25538
26503
|
};
|
|
25539
26504
|
};
|
|
26505
|
+
listRunnerBackends: {
|
|
26506
|
+
parameters: {
|
|
26507
|
+
query?: {
|
|
26508
|
+
/** @description Only this organisation's backends. */
|
|
26509
|
+
org_id?: number | null;
|
|
26510
|
+
};
|
|
26511
|
+
header?: never;
|
|
26512
|
+
path?: never;
|
|
26513
|
+
cookie?: never;
|
|
26514
|
+
};
|
|
26515
|
+
requestBody?: never;
|
|
26516
|
+
responses: {
|
|
26517
|
+
/** @description The runner backends. */
|
|
26518
|
+
200: {
|
|
26519
|
+
headers: {
|
|
26520
|
+
[name: string]: unknown;
|
|
26521
|
+
};
|
|
26522
|
+
content: {
|
|
26523
|
+
"application/json": components["schemas"]["RunnerBackendListResponse"];
|
|
26524
|
+
};
|
|
26525
|
+
};
|
|
26526
|
+
};
|
|
26527
|
+
};
|
|
26528
|
+
createRunnerBackend: {
|
|
26529
|
+
parameters: {
|
|
26530
|
+
query?: never;
|
|
26531
|
+
header?: never;
|
|
26532
|
+
path?: never;
|
|
26533
|
+
cookie?: never;
|
|
26534
|
+
};
|
|
26535
|
+
requestBody?: {
|
|
26536
|
+
content: {
|
|
26537
|
+
"application/json": components["schemas"]["CreateRunnerBackendBody"];
|
|
26538
|
+
};
|
|
26539
|
+
};
|
|
26540
|
+
responses: {
|
|
26541
|
+
/** @description The registered backend. */
|
|
26542
|
+
200: {
|
|
26543
|
+
headers: {
|
|
26544
|
+
[name: string]: unknown;
|
|
26545
|
+
};
|
|
26546
|
+
content: {
|
|
26547
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
26548
|
+
};
|
|
26549
|
+
};
|
|
26550
|
+
/** @description Invalid registration. */
|
|
26551
|
+
400: {
|
|
26552
|
+
headers: {
|
|
26553
|
+
[name: string]: unknown;
|
|
26554
|
+
};
|
|
26555
|
+
content: {
|
|
26556
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26557
|
+
};
|
|
26558
|
+
};
|
|
26559
|
+
};
|
|
26560
|
+
};
|
|
26561
|
+
getRunnerBackend: {
|
|
26562
|
+
parameters: {
|
|
26563
|
+
query?: never;
|
|
26564
|
+
header?: never;
|
|
26565
|
+
path: {
|
|
26566
|
+
/** @description Runner backend ID. */
|
|
26567
|
+
id: number | null;
|
|
26568
|
+
};
|
|
26569
|
+
cookie?: never;
|
|
26570
|
+
};
|
|
26571
|
+
requestBody?: never;
|
|
26572
|
+
responses: {
|
|
26573
|
+
/** @description The runner backend. */
|
|
26574
|
+
200: {
|
|
26575
|
+
headers: {
|
|
26576
|
+
[name: string]: unknown;
|
|
26577
|
+
};
|
|
26578
|
+
content: {
|
|
26579
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
26580
|
+
};
|
|
26581
|
+
};
|
|
26582
|
+
/** @description Runner backend not found. */
|
|
26583
|
+
404: {
|
|
26584
|
+
headers: {
|
|
26585
|
+
[name: string]: unknown;
|
|
26586
|
+
};
|
|
26587
|
+
content: {
|
|
26588
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26589
|
+
};
|
|
26590
|
+
};
|
|
26591
|
+
};
|
|
26592
|
+
};
|
|
26593
|
+
disableRunnerBackend: {
|
|
26594
|
+
parameters: {
|
|
26595
|
+
query?: never;
|
|
26596
|
+
header?: never;
|
|
26597
|
+
path: {
|
|
26598
|
+
/** @description Runner backend ID. */
|
|
26599
|
+
id: number | null;
|
|
26600
|
+
};
|
|
26601
|
+
cookie?: never;
|
|
26602
|
+
};
|
|
26603
|
+
requestBody?: never;
|
|
26604
|
+
responses: {
|
|
26605
|
+
/** @description The disabled backend. */
|
|
26606
|
+
200: {
|
|
26607
|
+
headers: {
|
|
26608
|
+
[name: string]: unknown;
|
|
26609
|
+
};
|
|
26610
|
+
content: {
|
|
26611
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
26612
|
+
};
|
|
26613
|
+
};
|
|
26614
|
+
/** @description Runner backend not found. */
|
|
26615
|
+
404: {
|
|
26616
|
+
headers: {
|
|
26617
|
+
[name: string]: unknown;
|
|
26618
|
+
};
|
|
26619
|
+
content: {
|
|
26620
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26621
|
+
};
|
|
26622
|
+
};
|
|
26623
|
+
};
|
|
26624
|
+
};
|
|
26625
|
+
verifyRunnerBackend: {
|
|
26626
|
+
parameters: {
|
|
26627
|
+
query?: never;
|
|
26628
|
+
header?: never;
|
|
26629
|
+
path: {
|
|
26630
|
+
/** @description Runner backend ID. */
|
|
26631
|
+
id: number | null;
|
|
26632
|
+
};
|
|
26633
|
+
cookie?: never;
|
|
26634
|
+
};
|
|
26635
|
+
requestBody?: never;
|
|
26636
|
+
responses: {
|
|
26637
|
+
/** @description Every check, and the backend after them. */
|
|
26638
|
+
200: {
|
|
26639
|
+
headers: {
|
|
26640
|
+
[name: string]: unknown;
|
|
26641
|
+
};
|
|
26642
|
+
content: {
|
|
26643
|
+
"application/json": components["schemas"]["RunnerBackendVerifyResponse"];
|
|
26644
|
+
};
|
|
26645
|
+
};
|
|
26646
|
+
/** @description Runner backend not found. */
|
|
26647
|
+
404: {
|
|
26648
|
+
headers: {
|
|
26649
|
+
[name: string]: unknown;
|
|
26650
|
+
};
|
|
26651
|
+
content: {
|
|
26652
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26653
|
+
};
|
|
26654
|
+
};
|
|
26655
|
+
};
|
|
26656
|
+
};
|
|
26657
|
+
getProjectRunnerBackend: {
|
|
26658
|
+
parameters: {
|
|
26659
|
+
query?: never;
|
|
26660
|
+
header?: never;
|
|
26661
|
+
path?: never;
|
|
26662
|
+
cookie?: never;
|
|
26663
|
+
};
|
|
26664
|
+
requestBody?: never;
|
|
26665
|
+
responses: {
|
|
26666
|
+
/** @description The project's runner backend, or null. */
|
|
26667
|
+
200: {
|
|
26668
|
+
headers: {
|
|
26669
|
+
[name: string]: unknown;
|
|
26670
|
+
};
|
|
26671
|
+
content: {
|
|
26672
|
+
"application/json": components["schemas"]["ProjectRunnerBackendDetailResponse"];
|
|
26673
|
+
};
|
|
26674
|
+
};
|
|
26675
|
+
/** @description Missing or invalid project scope. */
|
|
26676
|
+
400: {
|
|
26677
|
+
headers: {
|
|
26678
|
+
[name: string]: unknown;
|
|
26679
|
+
};
|
|
26680
|
+
content: {
|
|
26681
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26682
|
+
};
|
|
26683
|
+
};
|
|
26684
|
+
/** @description Project not found or not accessible. */
|
|
26685
|
+
404: {
|
|
26686
|
+
headers: {
|
|
26687
|
+
[name: string]: unknown;
|
|
26688
|
+
};
|
|
26689
|
+
content: {
|
|
26690
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26691
|
+
};
|
|
26692
|
+
};
|
|
26693
|
+
};
|
|
26694
|
+
};
|
|
26695
|
+
verifyProjectRunnerBackend: {
|
|
26696
|
+
parameters: {
|
|
26697
|
+
query?: never;
|
|
26698
|
+
header?: never;
|
|
26699
|
+
path?: never;
|
|
26700
|
+
cookie?: never;
|
|
26701
|
+
};
|
|
26702
|
+
requestBody?: never;
|
|
26703
|
+
responses: {
|
|
26704
|
+
/** @description Every check, and the backend after them. */
|
|
26705
|
+
200: {
|
|
26706
|
+
headers: {
|
|
26707
|
+
[name: string]: unknown;
|
|
26708
|
+
};
|
|
26709
|
+
content: {
|
|
26710
|
+
"application/json": components["schemas"]["RunnerBackendVerifyResponse"];
|
|
26711
|
+
};
|
|
26712
|
+
};
|
|
26713
|
+
/** @description Missing or invalid project scope. */
|
|
26714
|
+
400: {
|
|
26715
|
+
headers: {
|
|
26716
|
+
[name: string]: unknown;
|
|
26717
|
+
};
|
|
26718
|
+
content: {
|
|
26719
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26720
|
+
};
|
|
26721
|
+
};
|
|
26722
|
+
/** @description Project not found, or it runs on Empirical-hosted. */
|
|
26723
|
+
404: {
|
|
26724
|
+
headers: {
|
|
26725
|
+
[name: string]: unknown;
|
|
26726
|
+
};
|
|
26727
|
+
content: {
|
|
26728
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26729
|
+
};
|
|
26730
|
+
};
|
|
26731
|
+
/** @description The runner backend is disabled. */
|
|
26732
|
+
409: {
|
|
26733
|
+
headers: {
|
|
26734
|
+
[name: string]: unknown;
|
|
26735
|
+
};
|
|
26736
|
+
content: {
|
|
26737
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26738
|
+
};
|
|
26739
|
+
};
|
|
26740
|
+
};
|
|
26741
|
+
};
|
|
26742
|
+
setProjectRunnerBackend: {
|
|
26743
|
+
parameters: {
|
|
26744
|
+
query?: never;
|
|
26745
|
+
header?: never;
|
|
26746
|
+
path: {
|
|
26747
|
+
/** @description Project ID. */
|
|
26748
|
+
project_id: number | null;
|
|
26749
|
+
};
|
|
26750
|
+
cookie?: never;
|
|
26751
|
+
};
|
|
26752
|
+
requestBody?: {
|
|
26753
|
+
content: {
|
|
26754
|
+
"application/json": components["schemas"]["SetProjectRunnerBackendBody"];
|
|
26755
|
+
};
|
|
26756
|
+
};
|
|
26757
|
+
responses: {
|
|
26758
|
+
/** @description The project's backend. */
|
|
26759
|
+
200: {
|
|
26760
|
+
headers: {
|
|
26761
|
+
[name: string]: unknown;
|
|
26762
|
+
};
|
|
26763
|
+
content: {
|
|
26764
|
+
"application/json": components["schemas"]["ProjectRunnerBackendResponse"];
|
|
26765
|
+
};
|
|
26766
|
+
};
|
|
26767
|
+
/** @description The backend belongs to another org or is not active. */
|
|
26768
|
+
400: {
|
|
26769
|
+
headers: {
|
|
26770
|
+
[name: string]: unknown;
|
|
26771
|
+
};
|
|
26772
|
+
content: {
|
|
26773
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26774
|
+
};
|
|
26775
|
+
};
|
|
26776
|
+
/** @description Project or runner backend not found. */
|
|
26777
|
+
404: {
|
|
26778
|
+
headers: {
|
|
26779
|
+
[name: string]: unknown;
|
|
26780
|
+
};
|
|
26781
|
+
content: {
|
|
26782
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
26783
|
+
};
|
|
26784
|
+
};
|
|
26785
|
+
};
|
|
26786
|
+
};
|
|
25540
26787
|
listSandboxSnapshots: {
|
|
25541
26788
|
parameters: {
|
|
25542
26789
|
query?: never;
|
|
@@ -25915,7 +27162,7 @@ export interface operations {
|
|
|
25915
27162
|
query?: never;
|
|
25916
27163
|
header?: never;
|
|
25917
27164
|
path: {
|
|
25918
|
-
/** @description Test run database
|
|
27165
|
+
/** @description Test run database ID. */
|
|
25919
27166
|
id: number;
|
|
25920
27167
|
};
|
|
25921
27168
|
cookie?: never;
|
|
@@ -25956,7 +27203,7 @@ export interface operations {
|
|
|
25956
27203
|
query?: never;
|
|
25957
27204
|
header?: never;
|
|
25958
27205
|
path: {
|
|
25959
|
-
/** @description Test run database
|
|
27206
|
+
/** @description Test run database ID. */
|
|
25960
27207
|
id: number;
|
|
25961
27208
|
};
|
|
25962
27209
|
cookie?: never;
|
|
@@ -26207,6 +27454,26 @@ export interface operations {
|
|
|
26207
27454
|
};
|
|
26208
27455
|
};
|
|
26209
27456
|
};
|
|
27457
|
+
getCurrentUser: {
|
|
27458
|
+
parameters: {
|
|
27459
|
+
query?: never;
|
|
27460
|
+
header?: never;
|
|
27461
|
+
path?: never;
|
|
27462
|
+
cookie?: never;
|
|
27463
|
+
};
|
|
27464
|
+
requestBody?: never;
|
|
27465
|
+
responses: {
|
|
27466
|
+
/** @description The current user. */
|
|
27467
|
+
200: {
|
|
27468
|
+
headers: {
|
|
27469
|
+
[name: string]: unknown;
|
|
27470
|
+
};
|
|
27471
|
+
content: {
|
|
27472
|
+
"application/json": components["schemas"]["CurrentUserResponse"];
|
|
27473
|
+
};
|
|
27474
|
+
};
|
|
27475
|
+
};
|
|
27476
|
+
};
|
|
26210
27477
|
createMyMemberships: {
|
|
26211
27478
|
parameters: {
|
|
26212
27479
|
query?: never;
|
|
@@ -26315,6 +27582,39 @@ export interface operations {
|
|
|
26315
27582
|
};
|
|
26316
27583
|
};
|
|
26317
27584
|
};
|
|
27585
|
+
trackTelemetryEvent: {
|
|
27586
|
+
parameters: {
|
|
27587
|
+
query?: never;
|
|
27588
|
+
header?: never;
|
|
27589
|
+
path?: never;
|
|
27590
|
+
cookie?: never;
|
|
27591
|
+
};
|
|
27592
|
+
requestBody?: {
|
|
27593
|
+
content: {
|
|
27594
|
+
"application/json": components["schemas"]["TelemetryTrackRequest"];
|
|
27595
|
+
};
|
|
27596
|
+
};
|
|
27597
|
+
responses: {
|
|
27598
|
+
/** @description Event accepted. */
|
|
27599
|
+
200: {
|
|
27600
|
+
headers: {
|
|
27601
|
+
[name: string]: unknown;
|
|
27602
|
+
};
|
|
27603
|
+
content: {
|
|
27604
|
+
"application/json": components["schemas"]["TelemetryTrackResponse"];
|
|
27605
|
+
};
|
|
27606
|
+
};
|
|
27607
|
+
/** @description Invalid event. */
|
|
27608
|
+
400: {
|
|
27609
|
+
headers: {
|
|
27610
|
+
[name: string]: unknown;
|
|
27611
|
+
};
|
|
27612
|
+
content: {
|
|
27613
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27614
|
+
};
|
|
27615
|
+
};
|
|
27616
|
+
};
|
|
27617
|
+
};
|
|
26318
27618
|
getProjectUsageV2: {
|
|
26319
27619
|
parameters: {
|
|
26320
27620
|
query?: {
|