@empiricalrun/playwright-utils 0.60.1 → 0.60.2
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 +6 -0
- package/dist/api-worker-client.d.ts +2 -0
- package/dist/api-worker-client.d.ts.map +1 -1
- package/dist/api-worker-client.js +4 -0
- package/dist/generated/api-worker-openapi.d.ts +1033 -1493
- package/dist/generated/api-worker-openapi.d.ts.map +1 -1
- package/dist/reporter/util.d.ts.map +1 -1
- package/dist/reporter/util.js +9 -24
- package/dist/test/scripts/pw-locator-patch/dismiss-overlays/index.js +1 -1
- package/package.json +2 -2
|
@@ -131,6 +131,26 @@ export interface paths {
|
|
|
131
131
|
patch?: never;
|
|
132
132
|
trace?: never;
|
|
133
133
|
};
|
|
134
|
+
"/api/v2/test-runs/{id}": {
|
|
135
|
+
parameters: {
|
|
136
|
+
query?: never;
|
|
137
|
+
header?: never;
|
|
138
|
+
path?: never;
|
|
139
|
+
cookie?: never;
|
|
140
|
+
};
|
|
141
|
+
/**
|
|
142
|
+
* Get test run metadata
|
|
143
|
+
* @description Returns Postgres-backed metadata for a test run. This endpoint does not read the run ledger or compose per-test results.
|
|
144
|
+
*/
|
|
145
|
+
get: operations["getTestRunV2"];
|
|
146
|
+
put?: never;
|
|
147
|
+
post?: never;
|
|
148
|
+
delete?: never;
|
|
149
|
+
options?: never;
|
|
150
|
+
head?: never;
|
|
151
|
+
patch?: never;
|
|
152
|
+
trace?: never;
|
|
153
|
+
};
|
|
134
154
|
"/api/test-runs/{id}/share-targets": {
|
|
135
155
|
parameters: {
|
|
136
156
|
query?: never;
|
|
@@ -1090,6 +1110,50 @@ export interface paths {
|
|
|
1090
1110
|
patch?: never;
|
|
1091
1111
|
trace?: never;
|
|
1092
1112
|
};
|
|
1113
|
+
"/api/slack/files/{file_id}": {
|
|
1114
|
+
parameters: {
|
|
1115
|
+
query?: never;
|
|
1116
|
+
header?: never;
|
|
1117
|
+
path?: never;
|
|
1118
|
+
cookie?: never;
|
|
1119
|
+
};
|
|
1120
|
+
/**
|
|
1121
|
+
* 🤖 Get Slack file metadata
|
|
1122
|
+
* @description Returns metadata for a Slack file accessible to the current sandbox-delegated chat session (private URLs stripped).
|
|
1123
|
+
*/
|
|
1124
|
+
get: operations["getSlackFileMetadata"];
|
|
1125
|
+
put?: never;
|
|
1126
|
+
post?: never;
|
|
1127
|
+
delete?: never;
|
|
1128
|
+
options?: never;
|
|
1129
|
+
head?: never;
|
|
1130
|
+
patch?: never;
|
|
1131
|
+
trace?: never;
|
|
1132
|
+
};
|
|
1133
|
+
"/api/slack/files/{file_id}/content": {
|
|
1134
|
+
parameters: {
|
|
1135
|
+
query?: never;
|
|
1136
|
+
header?: never;
|
|
1137
|
+
path?: never;
|
|
1138
|
+
cookie?: never;
|
|
1139
|
+
};
|
|
1140
|
+
/**
|
|
1141
|
+
* 🤖 Download Slack file content
|
|
1142
|
+
* @description Streams the content of a Slack file accessible to the current sandbox-delegated chat session.
|
|
1143
|
+
*/
|
|
1144
|
+
get: operations["getSlackFileContent"];
|
|
1145
|
+
put?: never;
|
|
1146
|
+
post?: never;
|
|
1147
|
+
delete?: never;
|
|
1148
|
+
options?: never;
|
|
1149
|
+
/**
|
|
1150
|
+
* 🤖 Slack file content headers
|
|
1151
|
+
* @description Returns the content headers (type, disposition, length) for a Slack file without its body.
|
|
1152
|
+
*/
|
|
1153
|
+
head: operations["headSlackFileContent"];
|
|
1154
|
+
patch?: never;
|
|
1155
|
+
trace?: never;
|
|
1156
|
+
};
|
|
1093
1157
|
"/api/slack/messages": {
|
|
1094
1158
|
parameters: {
|
|
1095
1159
|
query?: never;
|
|
@@ -1101,7 +1165,7 @@ export interface paths {
|
|
|
1101
1165
|
put?: never;
|
|
1102
1166
|
/**
|
|
1103
1167
|
* 🤖 Post a Slack message
|
|
1104
|
-
* @description Posts
|
|
1168
|
+
* @description Posts Markdown to a Slack channel/thread, or a recipient-addressed DM, as the Empirical bot. Provide exactly one of channel, slack_user_id, or user_id. Recipient sends create a new DM root and require idempotency_key. Channel sends use the channel and root timestamp coordinates the agent was given. Sandbox-delegated principals only; the channel must be one the calling project can reach. Registered-root replies are recorded and de-duplicated by idempotency key for the sending session. New roots are registered and bound to the sending session after posting; if delivery or registration is uncertain, check Slack before retrying.
|
|
1105
1169
|
*/
|
|
1106
1170
|
post: operations["slackSendMessage"];
|
|
1107
1171
|
delete?: never;
|
|
@@ -1194,7 +1258,7 @@ export interface paths {
|
|
|
1194
1258
|
patch: operations["updateSlackChannel"];
|
|
1195
1259
|
trace?: never;
|
|
1196
1260
|
};
|
|
1197
|
-
"/api/slack/
|
|
1261
|
+
"/api/slack/teams": {
|
|
1198
1262
|
parameters: {
|
|
1199
1263
|
query?: never;
|
|
1200
1264
|
header?: never;
|
|
@@ -1202,10 +1266,10 @@ export interface paths {
|
|
|
1202
1266
|
cookie?: never;
|
|
1203
1267
|
};
|
|
1204
1268
|
/**
|
|
1205
|
-
* ⚙️
|
|
1206
|
-
* @description
|
|
1269
|
+
* ⚙️ List Slack workspaces
|
|
1270
|
+
* @description Lists the Slack workspaces available to the scoped project: the shared default Empirical workspace plus any org-specific app installs.
|
|
1207
1271
|
*/
|
|
1208
|
-
get: operations["
|
|
1272
|
+
get: operations["listSlackTeams"];
|
|
1209
1273
|
put?: never;
|
|
1210
1274
|
post?: never;
|
|
1211
1275
|
delete?: never;
|
|
@@ -1214,31 +1278,7 @@ export interface paths {
|
|
|
1214
1278
|
patch?: never;
|
|
1215
1279
|
trace?: never;
|
|
1216
1280
|
};
|
|
1217
|
-
"/api/slack/
|
|
1218
|
-
parameters: {
|
|
1219
|
-
query?: never;
|
|
1220
|
-
header?: never;
|
|
1221
|
-
path?: never;
|
|
1222
|
-
cookie?: never;
|
|
1223
|
-
};
|
|
1224
|
-
/**
|
|
1225
|
-
* ⚙️ Download Slack file content
|
|
1226
|
-
* @description Streams the content of a Slack file accessible to the current sandbox-delegated chat session.
|
|
1227
|
-
*/
|
|
1228
|
-
get: operations["getSlackFileContent"];
|
|
1229
|
-
put?: never;
|
|
1230
|
-
post?: never;
|
|
1231
|
-
delete?: never;
|
|
1232
|
-
options?: never;
|
|
1233
|
-
/**
|
|
1234
|
-
* ⚙️ Slack file content headers
|
|
1235
|
-
* @description Returns the content headers (type, disposition, length) for a Slack file without its body.
|
|
1236
|
-
*/
|
|
1237
|
-
head: operations["headSlackFileContent"];
|
|
1238
|
-
patch?: never;
|
|
1239
|
-
trace?: never;
|
|
1240
|
-
};
|
|
1241
|
-
"/api/slack/teams": {
|
|
1281
|
+
"/api/slack/threads/{id}/preview": {
|
|
1242
1282
|
parameters: {
|
|
1243
1283
|
query?: never;
|
|
1244
1284
|
header?: never;
|
|
@@ -1246,10 +1286,10 @@ export interface paths {
|
|
|
1246
1286
|
cookie?: never;
|
|
1247
1287
|
};
|
|
1248
1288
|
/**
|
|
1249
|
-
* ⚙️
|
|
1250
|
-
* @description
|
|
1289
|
+
* ⚙️ Preview a registered Slack thread
|
|
1290
|
+
* @description Fetches a compact, on-demand preview of a Slack thread registered to the scoped project.
|
|
1251
1291
|
*/
|
|
1252
|
-
get: operations["
|
|
1292
|
+
get: operations["previewSlackThread"];
|
|
1253
1293
|
put?: never;
|
|
1254
1294
|
post?: never;
|
|
1255
1295
|
delete?: never;
|
|
@@ -1490,90 +1530,6 @@ export interface paths {
|
|
|
1490
1530
|
patch?: never;
|
|
1491
1531
|
trace?: never;
|
|
1492
1532
|
};
|
|
1493
|
-
"/api/beta/alert-rules": {
|
|
1494
|
-
parameters: {
|
|
1495
|
-
query?: never;
|
|
1496
|
-
header?: never;
|
|
1497
|
-
path?: never;
|
|
1498
|
-
cookie?: never;
|
|
1499
|
-
};
|
|
1500
|
-
/**
|
|
1501
|
-
* 🧪 List alert rules
|
|
1502
|
-
* @description Returns the scoped project's alert rules, all-environments rule first.
|
|
1503
|
-
*/
|
|
1504
|
-
get: operations["listAlertRules"];
|
|
1505
|
-
put?: never;
|
|
1506
|
-
/**
|
|
1507
|
-
* 🛡️ 🧪 Create an alert rule
|
|
1508
|
-
* @description Creates an alert rule for the scoped project. `environment_id: null` (or omitted) makes it the all-environments rule; an env-specific rule overrides the all-env rule for that environment. At most one rule per (project, environment) — a duplicate fails with 409.
|
|
1509
|
-
*/
|
|
1510
|
-
post: operations["createAlertRule"];
|
|
1511
|
-
delete?: never;
|
|
1512
|
-
options?: never;
|
|
1513
|
-
head?: never;
|
|
1514
|
-
patch?: never;
|
|
1515
|
-
trace?: never;
|
|
1516
|
-
};
|
|
1517
|
-
"/api/beta/alerts": {
|
|
1518
|
-
parameters: {
|
|
1519
|
-
query?: never;
|
|
1520
|
-
header?: never;
|
|
1521
|
-
path?: never;
|
|
1522
|
-
cookie?: never;
|
|
1523
|
-
};
|
|
1524
|
-
/**
|
|
1525
|
-
* 🧪 List alerts
|
|
1526
|
-
* @description Returns a paginated list of the scoped project's test-case alerts, newest opened first. Filter by `state` and/or `environment_id`.
|
|
1527
|
-
*/
|
|
1528
|
-
get: operations["listAlerts"];
|
|
1529
|
-
put?: never;
|
|
1530
|
-
post?: never;
|
|
1531
|
-
delete?: never;
|
|
1532
|
-
options?: never;
|
|
1533
|
-
head?: never;
|
|
1534
|
-
patch?: never;
|
|
1535
|
-
trace?: never;
|
|
1536
|
-
};
|
|
1537
|
-
"/api/beta/alerts/{id}": {
|
|
1538
|
-
parameters: {
|
|
1539
|
-
query?: never;
|
|
1540
|
-
header?: never;
|
|
1541
|
-
path?: never;
|
|
1542
|
-
cookie?: never;
|
|
1543
|
-
};
|
|
1544
|
-
/**
|
|
1545
|
-
* 🧪 Get an alert
|
|
1546
|
-
* @description Retrieves a single alert with its lifecycle events (oldest first).
|
|
1547
|
-
*/
|
|
1548
|
-
get: operations["getAlert"];
|
|
1549
|
-
put?: never;
|
|
1550
|
-
post?: never;
|
|
1551
|
-
delete?: never;
|
|
1552
|
-
options?: never;
|
|
1553
|
-
head?: never;
|
|
1554
|
-
patch?: never;
|
|
1555
|
-
trace?: never;
|
|
1556
|
-
};
|
|
1557
|
-
"/api/beta/alerts/events": {
|
|
1558
|
-
parameters: {
|
|
1559
|
-
query?: never;
|
|
1560
|
-
header?: never;
|
|
1561
|
-
path?: never;
|
|
1562
|
-
cookie?: never;
|
|
1563
|
-
};
|
|
1564
|
-
/**
|
|
1565
|
-
* 🧪 List recent alert events
|
|
1566
|
-
* @description Returns the scoped project's alert opened and resolved events, newest first.
|
|
1567
|
-
*/
|
|
1568
|
-
get: operations["listRecentAlertEvents"];
|
|
1569
|
-
put?: never;
|
|
1570
|
-
post?: never;
|
|
1571
|
-
delete?: never;
|
|
1572
|
-
options?: never;
|
|
1573
|
-
head?: never;
|
|
1574
|
-
patch?: never;
|
|
1575
|
-
trace?: never;
|
|
1576
|
-
};
|
|
1577
1533
|
"/api/infra/static-ips": {
|
|
1578
1534
|
parameters: {
|
|
1579
1535
|
query?: never;
|
|
@@ -1713,7 +1669,7 @@ export interface paths {
|
|
|
1713
1669
|
patch: operations["updateChatSessionAlarm"];
|
|
1714
1670
|
trace?: never;
|
|
1715
1671
|
};
|
|
1716
|
-
"/api/chat-sessions/{id}/
|
|
1672
|
+
"/api/chat-sessions/{id}/session-state": {
|
|
1717
1673
|
parameters: {
|
|
1718
1674
|
query?: never;
|
|
1719
1675
|
header?: never;
|
|
@@ -1721,36 +1677,12 @@ export interface paths {
|
|
|
1721
1677
|
cookie?: never;
|
|
1722
1678
|
};
|
|
1723
1679
|
/**
|
|
1724
|
-
* 🤖
|
|
1725
|
-
* @description Returns
|
|
1726
|
-
*/
|
|
1727
|
-
get: operations["listChatSessionThreads"];
|
|
1728
|
-
put?: never;
|
|
1729
|
-
/**
|
|
1730
|
-
* 🤖 Create a session thread
|
|
1731
|
-
* @description Creates an agent-controlled Slack thread for explicit outbound messages and mentioned user replies (`channel_type: channel`, the default), or an agent-controlled DM to a user (`channel_type: im` with `slack_user_id` or Empirical `user_id`) whose in-thread replies are forwarded to the session.
|
|
1680
|
+
* 🤖 Get a session's initial state
|
|
1681
|
+
* @description Returns a session's recent log entries, user messages, and current sandbox state, read from pi-worker over the service binding.
|
|
1732
1682
|
*/
|
|
1733
|
-
|
|
1734
|
-
delete?: never;
|
|
1735
|
-
options?: never;
|
|
1736
|
-
head?: never;
|
|
1737
|
-
patch?: never;
|
|
1738
|
-
trace?: never;
|
|
1739
|
-
};
|
|
1740
|
-
"/api/chat-sessions/{id}/threads/{thread_id}/messages": {
|
|
1741
|
-
parameters: {
|
|
1742
|
-
query?: never;
|
|
1743
|
-
header?: never;
|
|
1744
|
-
path?: never;
|
|
1745
|
-
cookie?: never;
|
|
1746
|
-
};
|
|
1747
|
-
get?: never;
|
|
1683
|
+
get: operations["getChatSessionState"];
|
|
1748
1684
|
put?: never;
|
|
1749
|
-
|
|
1750
|
-
* 🤖 Post a message to a session thread
|
|
1751
|
-
* @description Posts an explicit Markdown message to a Slack thread the agent controls, or to the source thread that started this session. This does not create a chat-session user message and does not trigger automatic outbound mirroring.
|
|
1752
|
-
*/
|
|
1753
|
-
post: operations["createChatSessionThreadMessage"];
|
|
1685
|
+
post?: never;
|
|
1754
1686
|
delete?: never;
|
|
1755
1687
|
options?: never;
|
|
1756
1688
|
head?: never;
|
|
@@ -1880,26 +1812,6 @@ export interface paths {
|
|
|
1880
1812
|
patch?: never;
|
|
1881
1813
|
trace?: never;
|
|
1882
1814
|
};
|
|
1883
|
-
"/api/projects/clone": {
|
|
1884
|
-
parameters: {
|
|
1885
|
-
query?: never;
|
|
1886
|
-
header?: never;
|
|
1887
|
-
path?: never;
|
|
1888
|
-
cookie?: never;
|
|
1889
|
-
};
|
|
1890
|
-
/**
|
|
1891
|
-
* 🤖 Get project clone credentials
|
|
1892
|
-
* @description Returns a short-lived GitHub installation access token and an authenticated clone URL for the scoped project's repository.
|
|
1893
|
-
*/
|
|
1894
|
-
get: operations["getProjectClone"];
|
|
1895
|
-
put?: never;
|
|
1896
|
-
post?: never;
|
|
1897
|
-
delete?: never;
|
|
1898
|
-
options?: never;
|
|
1899
|
-
head?: never;
|
|
1900
|
-
patch?: never;
|
|
1901
|
-
trace?: never;
|
|
1902
|
-
};
|
|
1903
1815
|
"/api/triage-statuses": {
|
|
1904
1816
|
parameters: {
|
|
1905
1817
|
query?: never;
|
|
@@ -2033,30 +1945,6 @@ export interface paths {
|
|
|
2033
1945
|
patch: operations["updateApiKey"];
|
|
2034
1946
|
trace?: never;
|
|
2035
1947
|
};
|
|
2036
|
-
"/api/beta/alert-rules/{id}": {
|
|
2037
|
-
parameters: {
|
|
2038
|
-
query?: never;
|
|
2039
|
-
header?: never;
|
|
2040
|
-
path?: never;
|
|
2041
|
-
cookie?: never;
|
|
2042
|
-
};
|
|
2043
|
-
get?: never;
|
|
2044
|
-
put?: never;
|
|
2045
|
-
post?: never;
|
|
2046
|
-
/**
|
|
2047
|
-
* 🛡️ 🧪 Delete an alert rule
|
|
2048
|
-
* @description Permanently deletes an alert rule. The project is derived from the rule itself. A rule that alerts reference cannot be deleted (the alerts FK has no cascade): the request fails with 409 — deactivate the rule (`is_active: false`) instead to stop it evaluating while keeping its alert history.
|
|
2049
|
-
*/
|
|
2050
|
-
delete: operations["deleteAlertRule"];
|
|
2051
|
-
options?: never;
|
|
2052
|
-
head?: never;
|
|
2053
|
-
/**
|
|
2054
|
-
* 🛡️ 🧪 Update an alert rule
|
|
2055
|
-
* @description Updates a rule's environment, config, or active state. The project is derived from the rule itself. Moving the rule onto a (project, environment) slot another rule holds fails with 409.
|
|
2056
|
-
*/
|
|
2057
|
-
patch: operations["updateAlertRule"];
|
|
2058
|
-
trace?: never;
|
|
2059
|
-
};
|
|
2060
1948
|
"/api/chat-sessions": {
|
|
2061
1949
|
parameters: {
|
|
2062
1950
|
query?: never;
|
|
@@ -2479,26 +2367,6 @@ export interface paths {
|
|
|
2479
2367
|
patch?: never;
|
|
2480
2368
|
trace?: never;
|
|
2481
2369
|
};
|
|
2482
|
-
"/api/chat-sessions/{id}/session-state": {
|
|
2483
|
-
parameters: {
|
|
2484
|
-
query?: never;
|
|
2485
|
-
header?: never;
|
|
2486
|
-
path?: never;
|
|
2487
|
-
cookie?: never;
|
|
2488
|
-
};
|
|
2489
|
-
/**
|
|
2490
|
-
* ⚙️ Get a session's initial state
|
|
2491
|
-
* @description Returns a session's recent log entries, user messages, and current sandbox state, read from pi-worker over the service binding.
|
|
2492
|
-
*/
|
|
2493
|
-
get: operations["getChatSessionState"];
|
|
2494
|
-
put?: never;
|
|
2495
|
-
post?: never;
|
|
2496
|
-
delete?: never;
|
|
2497
|
-
options?: never;
|
|
2498
|
-
head?: never;
|
|
2499
|
-
patch?: never;
|
|
2500
|
-
trace?: never;
|
|
2501
|
-
};
|
|
2502
2370
|
"/api/chat-sessions/{id}/snapshot": {
|
|
2503
2371
|
parameters: {
|
|
2504
2372
|
query?: never;
|
|
@@ -2668,13 +2536,13 @@ export interface paths {
|
|
|
2668
2536
|
};
|
|
2669
2537
|
/**
|
|
2670
2538
|
* ⚙️ List environment variables
|
|
2671
|
-
* @description Lists
|
|
2539
|
+
* @description Lists the scoped project's environment variables, enriched with the last editor's user details.
|
|
2672
2540
|
*/
|
|
2673
2541
|
get: operations["listEnvironmentVariables"];
|
|
2674
2542
|
put?: never;
|
|
2675
2543
|
/**
|
|
2676
2544
|
* ⚙️ Create an environment variable
|
|
2677
|
-
* @description Creates an environment variable
|
|
2545
|
+
* @description Creates an environment variable for the scoped project.
|
|
2678
2546
|
*/
|
|
2679
2547
|
post: operations["createEnvironmentVariable"];
|
|
2680
2548
|
delete?: never;
|
|
@@ -3737,8 +3605,8 @@ export interface paths {
|
|
|
3737
3605
|
get: operations["listJiraInstallations"];
|
|
3738
3606
|
put?: never;
|
|
3739
3607
|
/**
|
|
3740
|
-
* ⚙️ Create a Jira installation
|
|
3741
|
-
* @description Stores a Jira app installation and optionally registers its webhook.
|
|
3608
|
+
* ⚙️ Create or reauthorize a Jira installation
|
|
3609
|
+
* @description Stores a Jira app installation, or reauthorizes the existing site while preserving mappings, and optionally registers its webhook.
|
|
3742
3610
|
*/
|
|
3743
3611
|
post: operations["createJiraInstallation"];
|
|
3744
3612
|
delete?: never;
|
|
@@ -3862,7 +3730,7 @@ export interface paths {
|
|
|
3862
3730
|
put?: never;
|
|
3863
3731
|
/**
|
|
3864
3732
|
* ⚙️ Create a Linear installation
|
|
3865
|
-
* @description
|
|
3733
|
+
* @description Creates or reauthorizes a Linear installation and stores its OAuth tokens.
|
|
3866
3734
|
*/
|
|
3867
3735
|
post: operations["createLinearInstallation"];
|
|
3868
3736
|
delete?: never;
|
|
@@ -4795,6 +4663,26 @@ export interface paths {
|
|
|
4795
4663
|
patch?: never;
|
|
4796
4664
|
trace?: never;
|
|
4797
4665
|
};
|
|
4666
|
+
"/api/projects/clone": {
|
|
4667
|
+
parameters: {
|
|
4668
|
+
query?: never;
|
|
4669
|
+
header?: never;
|
|
4670
|
+
path?: never;
|
|
4671
|
+
cookie?: never;
|
|
4672
|
+
};
|
|
4673
|
+
/**
|
|
4674
|
+
* 🛡️ Get project clone URL
|
|
4675
|
+
* @description Returns the scoped project's repository URL on git.empirical.run. Authenticate with an Empirical credential as the HTTP password (the CLI's git credential helper does this for you). Access is read-only. No GitHub token is issued.
|
|
4676
|
+
*/
|
|
4677
|
+
get: operations["getProjectClone"];
|
|
4678
|
+
put?: never;
|
|
4679
|
+
post?: never;
|
|
4680
|
+
delete?: never;
|
|
4681
|
+
options?: never;
|
|
4682
|
+
head?: never;
|
|
4683
|
+
patch?: never;
|
|
4684
|
+
trace?: never;
|
|
4685
|
+
};
|
|
4798
4686
|
"/api/projects/git-token": {
|
|
4799
4687
|
parameters: {
|
|
4800
4688
|
query?: never;
|
|
@@ -4972,13 +4860,13 @@ export interface paths {
|
|
|
4972
4860
|
};
|
|
4973
4861
|
/**
|
|
4974
4862
|
* ⚙️ List requests
|
|
4975
|
-
* @description Returns a paginated list of requests for
|
|
4863
|
+
* @description Returns a paginated list of requests for the scoped project.
|
|
4976
4864
|
*/
|
|
4977
4865
|
get: operations["listRequests"];
|
|
4978
4866
|
put?: never;
|
|
4979
4867
|
/**
|
|
4980
4868
|
* ⚙️ Create a request
|
|
4981
|
-
* @description Creates a request and, for non-draft requests, spawns a chat session for the agent.
|
|
4869
|
+
* @description Creates a request for the scoped project and, for non-draft requests, spawns a chat session for the agent.
|
|
4982
4870
|
*/
|
|
4983
4871
|
post: operations["createRequest"];
|
|
4984
4872
|
delete?: never;
|
|
@@ -5203,21 +5091,41 @@ export interface paths {
|
|
|
5203
5091
|
patch?: never;
|
|
5204
5092
|
trace?: never;
|
|
5205
5093
|
};
|
|
5206
|
-
"/api/
|
|
5094
|
+
"/api/ui/v1/test-runs/{id}/live": {
|
|
5207
5095
|
parameters: {
|
|
5208
5096
|
query?: never;
|
|
5209
5097
|
header?: never;
|
|
5210
5098
|
path?: never;
|
|
5211
5099
|
cookie?: never;
|
|
5212
5100
|
};
|
|
5213
|
-
get?: never;
|
|
5214
|
-
put?: never;
|
|
5215
5101
|
/**
|
|
5216
|
-
*
|
|
5217
|
-
* @description
|
|
5102
|
+
* Refresh a live test run (UI)
|
|
5103
|
+
* @description Returns only test-run fields that can change while the hydrated dashboard page is open. It deliberately omits ledger cases, test-case rows, static run metadata, user lookups, pull-request resolution, and chat-session lookup.
|
|
5218
5104
|
*/
|
|
5219
|
-
|
|
5220
|
-
|
|
5105
|
+
get: operations["getUiLiveTestRun"];
|
|
5106
|
+
put?: never;
|
|
5107
|
+
post?: never;
|
|
5108
|
+
delete?: never;
|
|
5109
|
+
options?: never;
|
|
5110
|
+
head?: never;
|
|
5111
|
+
patch?: never;
|
|
5112
|
+
trace?: never;
|
|
5113
|
+
};
|
|
5114
|
+
"/api/upload": {
|
|
5115
|
+
parameters: {
|
|
5116
|
+
query?: never;
|
|
5117
|
+
header?: never;
|
|
5118
|
+
path?: never;
|
|
5119
|
+
cookie?: never;
|
|
5120
|
+
};
|
|
5121
|
+
get?: never;
|
|
5122
|
+
put?: never;
|
|
5123
|
+
/**
|
|
5124
|
+
* ⚙️ Create presigned upload URLs
|
|
5125
|
+
* @description Generates S3-style presigned PUT URLs for uploading files directly to an R2 bucket. Each uploading client must send the same Content-Type used here.
|
|
5126
|
+
*/
|
|
5127
|
+
post: operations["createUploadUrls"];
|
|
5128
|
+
delete?: never;
|
|
5221
5129
|
options?: never;
|
|
5222
5130
|
head?: never;
|
|
5223
5131
|
patch?: never;
|
|
@@ -5300,7 +5208,7 @@ export interface paths {
|
|
|
5300
5208
|
};
|
|
5301
5209
|
/**
|
|
5302
5210
|
* ⚙️ List my Slack links
|
|
5303
|
-
* @description Returns the Slack accounts linked to the current user
|
|
5211
|
+
* @description Returns the Slack accounts linked to the current user.
|
|
5304
5212
|
*/
|
|
5305
5213
|
get: operations["listMySlackLinks"];
|
|
5306
5214
|
put?: never;
|
|
@@ -5324,7 +5232,7 @@ export interface paths {
|
|
|
5324
5232
|
};
|
|
5325
5233
|
/**
|
|
5326
5234
|
* ⚙️ Get customer-visible usage for a project
|
|
5327
|
-
* @description Usage for a UTC time window, defaulting to the current calendar month-to-date. Returns AI sessions, total tokens, and credits by usage type,
|
|
5235
|
+
* @description Usage for a UTC time window, defaulting to the current calendar month-to-date. Returns AI sessions, total tokens, and credits by usage type, daily credit totals, and test execution duration with UTC daily totals split by environment. Provider costs and internal attribution dimensions are omitted.
|
|
5328
5236
|
*/
|
|
5329
5237
|
get: operations["getProjectUsageV2"];
|
|
5330
5238
|
put?: never;
|
|
@@ -6350,10 +6258,10 @@ export interface components {
|
|
|
6350
6258
|
ProjectCloneResponse: {
|
|
6351
6259
|
/** @description Response payload. */
|
|
6352
6260
|
data: {
|
|
6353
|
-
/** @description
|
|
6354
|
-
access_token: string;
|
|
6355
|
-
/** @description Authenticated HTTPS clone URL embedding the access token. */
|
|
6261
|
+
/** @description Repository URL on git.empirical.run. Authenticate with an Empirical credential (session token or project API key) as the HTTP password. */
|
|
6356
6262
|
clone_url: string;
|
|
6263
|
+
/** @description HTTP Basic username git-worker expects. */
|
|
6264
|
+
username: string;
|
|
6357
6265
|
/** @description Repository name. */
|
|
6358
6266
|
name: string;
|
|
6359
6267
|
/** @description Default branch of the repository. */
|
|
@@ -7828,6 +7736,16 @@ export interface components {
|
|
|
7828
7736
|
env_files: string[];
|
|
7829
7737
|
/** @description Cron expression for scheduled triggers. */
|
|
7830
7738
|
scheduled_trigger: string | null;
|
|
7739
|
+
/** @description Concurrency group and policy scheduled runs are triggered with; null uses the project's legacy concurrency setting. */
|
|
7740
|
+
scheduled_concurrency: {
|
|
7741
|
+
/** @description Concurrency group key. */
|
|
7742
|
+
group: string;
|
|
7743
|
+
/**
|
|
7744
|
+
* @description Policy toward an active run in the group.
|
|
7745
|
+
* @enum {string}
|
|
7746
|
+
*/
|
|
7747
|
+
on_conflict: "cancel" | "wait";
|
|
7748
|
+
} | null;
|
|
7831
7749
|
/** @description ISO 8601 timestamp. */
|
|
7832
7750
|
created_at: string | null;
|
|
7833
7751
|
/** @description ISO 8601 timestamp. */
|
|
@@ -7850,6 +7768,16 @@ export interface components {
|
|
|
7850
7768
|
playwright_projects_ignore?: string[];
|
|
7851
7769
|
/** @description Cron expression for scheduled triggers, or null. */
|
|
7852
7770
|
scheduled_trigger?: string | null;
|
|
7771
|
+
/** @description Concurrency group and policy scheduled runs are triggered with. Omit to keep the current value; null to fall back to the project's legacy concurrency setting. */
|
|
7772
|
+
scheduled_concurrency?: {
|
|
7773
|
+
/** @description Free-form group key, scoped to the project. */
|
|
7774
|
+
group: string;
|
|
7775
|
+
/**
|
|
7776
|
+
* @description `cancel` cancels the group's active run and starts; `wait` queues behind it.
|
|
7777
|
+
* @enum {string}
|
|
7778
|
+
*/
|
|
7779
|
+
on_conflict: "cancel" | "wait";
|
|
7780
|
+
} | null;
|
|
7853
7781
|
};
|
|
7854
7782
|
EnvironmentSyncResponse: {
|
|
7855
7783
|
/** @description Response payload. */
|
|
@@ -7878,6 +7806,16 @@ export interface components {
|
|
|
7878
7806
|
playwright_projects_ignore?: string[];
|
|
7879
7807
|
/** @description Cron expression for scheduled triggers, or null. */
|
|
7880
7808
|
scheduled_trigger?: string | null;
|
|
7809
|
+
/** @description Concurrency group and policy scheduled runs are triggered with. Omit to keep the current value; null to fall back to the project's legacy concurrency setting. */
|
|
7810
|
+
scheduled_concurrency?: {
|
|
7811
|
+
/** @description Free-form group key, scoped to the project. */
|
|
7812
|
+
group: string;
|
|
7813
|
+
/**
|
|
7814
|
+
* @description `cancel` cancels the group's active run and starts; `wait` queues behind it.
|
|
7815
|
+
* @enum {string}
|
|
7816
|
+
*/
|
|
7817
|
+
on_conflict: "cancel" | "wait";
|
|
7818
|
+
} | null;
|
|
7881
7819
|
};
|
|
7882
7820
|
EnvironmentDeleteResponse: {
|
|
7883
7821
|
/** @description Always true on success. */
|
|
@@ -8323,6 +8261,11 @@ export interface components {
|
|
|
8323
8261
|
team_id: string;
|
|
8324
8262
|
/** @description Slack workspace name. */
|
|
8325
8263
|
team_name: string;
|
|
8264
|
+
/**
|
|
8265
|
+
* Format: uri
|
|
8266
|
+
* @description Slack workspace URL learned from auth.test.
|
|
8267
|
+
*/
|
|
8268
|
+
team_url: string | null;
|
|
8326
8269
|
/** @description ISO 8601 creation timestamp. */
|
|
8327
8270
|
created_at: string | null;
|
|
8328
8271
|
};
|
|
@@ -8349,6 +8292,11 @@ export interface components {
|
|
|
8349
8292
|
team_id: string;
|
|
8350
8293
|
/** @description Slack workspace name. */
|
|
8351
8294
|
team_name: string;
|
|
8295
|
+
/**
|
|
8296
|
+
* Format: uri
|
|
8297
|
+
* @description Slack workspace URL learned from auth.test.
|
|
8298
|
+
*/
|
|
8299
|
+
team_url: string | null;
|
|
8352
8300
|
/** @description ISO 8601 creation timestamp. */
|
|
8353
8301
|
created_at: string | null;
|
|
8354
8302
|
};
|
|
@@ -8374,6 +8322,11 @@ export interface components {
|
|
|
8374
8322
|
team_id: string;
|
|
8375
8323
|
/** @description Slack workspace name. */
|
|
8376
8324
|
team_name: string;
|
|
8325
|
+
/**
|
|
8326
|
+
* Format: uri
|
|
8327
|
+
* @description Slack workspace URL learned from auth.test.
|
|
8328
|
+
*/
|
|
8329
|
+
team_url: string | null;
|
|
8377
8330
|
/** @description ISO 8601 creation timestamp. */
|
|
8378
8331
|
created_at: string | null;
|
|
8379
8332
|
};
|
|
@@ -8443,6 +8396,11 @@ export interface components {
|
|
|
8443
8396
|
recipient_user_id: string | null;
|
|
8444
8397
|
/** @description Slack root message timestamp. */
|
|
8445
8398
|
thread_ts: string;
|
|
8399
|
+
/**
|
|
8400
|
+
* Format: uri
|
|
8401
|
+
* @description Direct URL to the Slack root message, using the authenticated viewer's workspace when known and the app installation otherwise.
|
|
8402
|
+
*/
|
|
8403
|
+
permalink: string | null;
|
|
8446
8404
|
/**
|
|
8447
8405
|
* @description Registry thread kind.
|
|
8448
8406
|
* @enum {string}
|
|
@@ -8486,9 +8444,43 @@ export interface components {
|
|
|
8486
8444
|
/** @description ISO 8601 update time. */
|
|
8487
8445
|
updated_at: string;
|
|
8488
8446
|
};
|
|
8447
|
+
SlackThreadPreviewResponse: {
|
|
8448
|
+
/** @description Compact Slack thread preview. */
|
|
8449
|
+
data: {
|
|
8450
|
+
/** @description The root message followed by the first replies. */
|
|
8451
|
+
messages: components["schemas"]["SlackThreadPreviewMessage"][];
|
|
8452
|
+
/** @description Total replies reported by Slack. */
|
|
8453
|
+
reply_count: number;
|
|
8454
|
+
/** @description Replies not included in this compact preview. */
|
|
8455
|
+
omitted_count: number;
|
|
8456
|
+
};
|
|
8457
|
+
};
|
|
8458
|
+
SlackThreadPreviewMessage: {
|
|
8459
|
+
/** @description Slack message timestamp. */
|
|
8460
|
+
ts: string;
|
|
8461
|
+
/** @description Plain Slack message text. */
|
|
8462
|
+
text: string;
|
|
8463
|
+
/** @description Author name when Slack includes one. */
|
|
8464
|
+
author_name: string | null;
|
|
8465
|
+
/** @description Whether an app posted this message. */
|
|
8466
|
+
is_bot: boolean;
|
|
8467
|
+
/** @description Emoji reactions on this Slack message. */
|
|
8468
|
+
reactions: {
|
|
8469
|
+
/** @description Slack emoji name. */
|
|
8470
|
+
name: string;
|
|
8471
|
+
/** @description Number of reactions with this emoji. */
|
|
8472
|
+
count: number;
|
|
8473
|
+
}[];
|
|
8474
|
+
};
|
|
8489
8475
|
SlackMessageResult: {
|
|
8490
8476
|
/** @enum {boolean} */
|
|
8491
8477
|
ok: true;
|
|
8478
|
+
/** @description Resolved DM channel, returned for recipient-addressed sends. */
|
|
8479
|
+
channel?: string;
|
|
8480
|
+
/** @description Root timestamp for future replies; ts is the posted message timestamp. */
|
|
8481
|
+
thread_ts?: string;
|
|
8482
|
+
/** @description Registered physical Slack root ID. */
|
|
8483
|
+
slack_thread_id?: number;
|
|
8492
8484
|
/** @description Timestamp id of the message that was posted. */
|
|
8493
8485
|
ts: string;
|
|
8494
8486
|
};
|
|
@@ -8570,7 +8562,7 @@ export interface components {
|
|
|
8570
8562
|
field: string;
|
|
8571
8563
|
/** @enum {string} */
|
|
8572
8564
|
operator: "eq" | "neq" | "in" | "nin" | "gt" | "gte" | "lt" | "lte" | "contains" | "startsWith";
|
|
8573
|
-
value
|
|
8565
|
+
value: string | number | boolean | (string | number | boolean)[];
|
|
8574
8566
|
}[];
|
|
8575
8567
|
userIds: string[];
|
|
8576
8568
|
};
|
|
@@ -8638,76 +8630,6 @@ export interface components {
|
|
|
8638
8630
|
chat_session: components["schemas"]["ChatSession"];
|
|
8639
8631
|
};
|
|
8640
8632
|
};
|
|
8641
|
-
ChatSessionThreadsListResponse: {
|
|
8642
|
-
/** @description Response payload. */
|
|
8643
|
-
data: {
|
|
8644
|
-
threads: components["schemas"]["ChatSessionThread"][];
|
|
8645
|
-
};
|
|
8646
|
-
};
|
|
8647
|
-
ChatSessionThread: {
|
|
8648
|
-
/** @description Thread ID. */
|
|
8649
|
-
id: number;
|
|
8650
|
-
/** @description Owning chat session ID. */
|
|
8651
|
-
chat_session_id: number;
|
|
8652
|
-
/** @description Messaging provider. */
|
|
8653
|
-
provider: string;
|
|
8654
|
-
/** @description Thread purpose. */
|
|
8655
|
-
purpose: string;
|
|
8656
|
-
/** @description External team/workspace ID. */
|
|
8657
|
-
external_team_id: string | null;
|
|
8658
|
-
/** @description External channel ID. */
|
|
8659
|
-
external_channel_id: string;
|
|
8660
|
-
/** @description External channel name. */
|
|
8661
|
-
external_channel_name: string | null;
|
|
8662
|
-
/** @description External channel type. */
|
|
8663
|
-
external_channel_type: string | null;
|
|
8664
|
-
/** @description External recipient user ID (DM threads). */
|
|
8665
|
-
external_recipient_user_id: string | null;
|
|
8666
|
-
/** @description External thread timestamp. */
|
|
8667
|
-
external_thread_ts: string;
|
|
8668
|
-
/** @description External root message timestamp. */
|
|
8669
|
-
external_message_ts: string | null;
|
|
8670
|
-
/** @description Policy for inbound replies. */
|
|
8671
|
-
inbound_reply_policy: string;
|
|
8672
|
-
/** @description Whether two-way sync is enabled. */
|
|
8673
|
-
sync_enabled: boolean;
|
|
8674
|
-
/** @description Creation timestamp (ISO). */
|
|
8675
|
-
created_at: string;
|
|
8676
|
-
/** @description Last update timestamp (ISO). */
|
|
8677
|
-
updated_at: string;
|
|
8678
|
-
};
|
|
8679
|
-
ChatSessionThreadResponse: {
|
|
8680
|
-
/** @description Response payload. */
|
|
8681
|
-
data: {
|
|
8682
|
-
thread: components["schemas"]["ChatSessionThread"];
|
|
8683
|
-
};
|
|
8684
|
-
};
|
|
8685
|
-
ChatSessionThreadMessageResponse: {
|
|
8686
|
-
/** @description Response payload. */
|
|
8687
|
-
data: {
|
|
8688
|
-
message: components["schemas"]["ChatSessionThreadMessage"];
|
|
8689
|
-
};
|
|
8690
|
-
};
|
|
8691
|
-
ChatSessionThreadMessage: {
|
|
8692
|
-
/** @description Thread message ID. */
|
|
8693
|
-
id: number;
|
|
8694
|
-
/** @description Owning chat session thread ID. */
|
|
8695
|
-
chat_session_thread_id: number;
|
|
8696
|
-
/** @description Caller-provided idempotency key. */
|
|
8697
|
-
idempotency_key: string;
|
|
8698
|
-
/** @description Original Markdown input. */
|
|
8699
|
-
markdown: string;
|
|
8700
|
-
/** @description Delivery status. */
|
|
8701
|
-
status: string;
|
|
8702
|
-
/** @description Slack message timestamp, when sent. */
|
|
8703
|
-
external_message_ts: string | null;
|
|
8704
|
-
/** @description Delivery error, when failed. */
|
|
8705
|
-
error_message: string | null;
|
|
8706
|
-
/** @description Creation timestamp (ISO). */
|
|
8707
|
-
created_at: string;
|
|
8708
|
-
/** @description Last update timestamp (ISO). */
|
|
8709
|
-
updated_at: string;
|
|
8710
|
-
};
|
|
8711
8633
|
ChatSessionDetailResponse: {
|
|
8712
8634
|
/** @description Response payload. */
|
|
8713
8635
|
data: {
|
|
@@ -9256,6 +9178,10 @@ export interface components {
|
|
|
9256
9178
|
jira_access_token_expires_at: string;
|
|
9257
9179
|
/** @description Webhook expiry (ISO 8601), or null. */
|
|
9258
9180
|
webhook_expires_at: string | null;
|
|
9181
|
+
/** @description When Jira OAuth reauthorization became required (ISO 8601), or null. */
|
|
9182
|
+
reauthorization_required_at: string | null;
|
|
9183
|
+
/** @description Machine-readable reason reauthorization is required. */
|
|
9184
|
+
reauthorization_reason: string | null;
|
|
9259
9185
|
/** @description Creation timestamp (ISO 8601), or null. */
|
|
9260
9186
|
created_at: string | null;
|
|
9261
9187
|
/** @description Alias of `jira_access_token_expires_at` (ISO 8601). */
|
|
@@ -9328,6 +9254,10 @@ export interface components {
|
|
|
9328
9254
|
} | null;
|
|
9329
9255
|
/** @description Webhook expiry (ISO 8601), or null. */
|
|
9330
9256
|
webhook_expires_at: string | null;
|
|
9257
|
+
/** @description When Jira OAuth reauthorization became required (ISO 8601), or null. */
|
|
9258
|
+
reauthorization_required_at: string | null;
|
|
9259
|
+
/** @description Machine-readable reason reauthorization is required. */
|
|
9260
|
+
reauthorization_reason: string | null;
|
|
9331
9261
|
/** @description Creation timestamp (ISO 8601), or null. */
|
|
9332
9262
|
created_at: string | null;
|
|
9333
9263
|
} | null;
|
|
@@ -9382,7 +9312,7 @@ export interface components {
|
|
|
9382
9312
|
created_at: string | null;
|
|
9383
9313
|
/** @description ISO 8601 expiry of the stored access token. */
|
|
9384
9314
|
expires_at: string;
|
|
9385
|
-
/** @description Whether the access token is still valid. */
|
|
9315
|
+
/** @description Whether the access token is still valid or can be refreshed. */
|
|
9386
9316
|
is_active: boolean;
|
|
9387
9317
|
/** @description Actor name (only when metadata is cached). */
|
|
9388
9318
|
linear_app_user_name?: string;
|
|
@@ -9402,9 +9332,9 @@ export interface components {
|
|
|
9402
9332
|
name: string;
|
|
9403
9333
|
};
|
|
9404
9334
|
LinearInstallCreateResponse: {
|
|
9405
|
-
/** @description Always true when the installation was
|
|
9335
|
+
/** @description Always true when the installation was stored. */
|
|
9406
9336
|
success: boolean;
|
|
9407
|
-
/** @description The created installation. */
|
|
9337
|
+
/** @description The created or reauthorized installation. */
|
|
9408
9338
|
data: {
|
|
9409
9339
|
/** @description Installation ID. */
|
|
9410
9340
|
id: number;
|
|
@@ -9422,7 +9352,7 @@ export interface components {
|
|
|
9422
9352
|
created_at: string | null;
|
|
9423
9353
|
/** @description ISO 8601 expiry of the stored access token. */
|
|
9424
9354
|
expires_at: string;
|
|
9425
|
-
/** @description Whether the access token is still valid. */
|
|
9355
|
+
/** @description Whether the access token is still valid or can be refreshed. */
|
|
9426
9356
|
is_active: boolean;
|
|
9427
9357
|
/** @description Actor name (only when metadata is cached). */
|
|
9428
9358
|
linear_app_user_name?: string;
|
|
@@ -9459,7 +9389,7 @@ export interface components {
|
|
|
9459
9389
|
created_at: string | null;
|
|
9460
9390
|
/** @description ISO 8601 expiry of the stored access token. */
|
|
9461
9391
|
expires_at: string;
|
|
9462
|
-
/** @description Whether the access token is still valid. */
|
|
9392
|
+
/** @description Whether the access token is still valid or can be refreshed. */
|
|
9463
9393
|
is_active: boolean;
|
|
9464
9394
|
/** @description Actor name (only when metadata is cached). */
|
|
9465
9395
|
linear_app_user_name?: string;
|
|
@@ -9776,6 +9706,14 @@ export interface components {
|
|
|
9776
9706
|
history_by_test_case_id: {
|
|
9777
9707
|
[key: string]: components["schemas"]["TestCaseHistoryEntry"][];
|
|
9778
9708
|
};
|
|
9709
|
+
/** @description Map of `test_case_id` to its most recent passing run in each environment. Present when requested. */
|
|
9710
|
+
last_pass_by_test_case_id?: {
|
|
9711
|
+
[key: string]: {
|
|
9712
|
+
environment_id: string;
|
|
9713
|
+
test_run_id: string;
|
|
9714
|
+
executed_at: number;
|
|
9715
|
+
}[];
|
|
9716
|
+
};
|
|
9779
9717
|
};
|
|
9780
9718
|
/** @description Echoed query parameters and truncation metadata. */
|
|
9781
9719
|
meta: {
|
|
@@ -9818,6 +9756,8 @@ export interface components {
|
|
|
9818
9756
|
environment_id?: string;
|
|
9819
9757
|
/** @description Maximum history entries returned per test case (1-1000, default 50). */
|
|
9820
9758
|
limit_per_test_case?: number;
|
|
9759
|
+
/** @description When true, also return the most recent passing run per environment for each requested test case. */
|
|
9760
|
+
include_last_pass_per_env?: boolean;
|
|
9821
9761
|
} & {
|
|
9822
9762
|
[key: string]: unknown;
|
|
9823
9763
|
};
|
|
@@ -9855,6 +9795,12 @@ export interface components {
|
|
|
9855
9795
|
by_type: components["schemas"]["ProjectAiUsageByType"][];
|
|
9856
9796
|
by_day: components["schemas"]["ProjectDailyAiUsage"][];
|
|
9857
9797
|
};
|
|
9798
|
+
test_usage: {
|
|
9799
|
+
/** @description Sum of all attempt durations for completed non-skipped tests, in milliseconds. */
|
|
9800
|
+
duration_ms: number;
|
|
9801
|
+
by_day: components["schemas"]["ProjectDailyTestUsage"][];
|
|
9802
|
+
by_day_and_environment: components["schemas"]["ProjectDailyTestUsageByEnvironment"][];
|
|
9803
|
+
};
|
|
9858
9804
|
};
|
|
9859
9805
|
};
|
|
9860
9806
|
ProjectAiUsageByType: {
|
|
@@ -9872,6 +9818,18 @@ export interface components {
|
|
|
9872
9818
|
type: components["schemas"]["AiUsageType"];
|
|
9873
9819
|
credits: number;
|
|
9874
9820
|
};
|
|
9821
|
+
ProjectDailyTestUsage: {
|
|
9822
|
+
/** @description UTC date (YYYY-MM-DD). */
|
|
9823
|
+
date: string;
|
|
9824
|
+
duration_ms: number;
|
|
9825
|
+
};
|
|
9826
|
+
ProjectDailyTestUsageByEnvironment: {
|
|
9827
|
+
/** @description UTC date (YYYY-MM-DD). */
|
|
9828
|
+
date: string;
|
|
9829
|
+
duration_ms: number;
|
|
9830
|
+
environment_id: number | null;
|
|
9831
|
+
environment_name: string | null;
|
|
9832
|
+
};
|
|
9875
9833
|
TestCaseTagsResponse: {
|
|
9876
9834
|
/** @description Distinct tags across the project's test cases. */
|
|
9877
9835
|
tags: string[];
|
|
@@ -10029,6 +9987,16 @@ export interface components {
|
|
|
10029
9987
|
commit: string | null;
|
|
10030
9988
|
/** @description ISO 8601 timestamp. */
|
|
10031
9989
|
created_at: string;
|
|
9990
|
+
/** @description Concurrency group and policy the run was created with, or null when no limit applied. */
|
|
9991
|
+
concurrency: {
|
|
9992
|
+
/** @description Concurrency group the run was scoped to. Runs in the same group are limited to one in progress at a time. */
|
|
9993
|
+
group: string;
|
|
9994
|
+
/**
|
|
9995
|
+
* @description What this run did when the group already had an active run: `cancel` cancelled it, `wait` queued behind it.
|
|
9996
|
+
* @enum {string}
|
|
9997
|
+
*/
|
|
9998
|
+
on_conflict: "cancel" | "wait";
|
|
9999
|
+
} | null;
|
|
10032
10000
|
};
|
|
10033
10001
|
CreateTestRunResponse: {
|
|
10034
10002
|
data: {
|
|
@@ -10045,6 +10013,16 @@ export interface components {
|
|
|
10045
10013
|
test_run_branch: string;
|
|
10046
10014
|
/** @description ISO 8601 timestamp when the run was created. */
|
|
10047
10015
|
created_at: string;
|
|
10016
|
+
/** @description Concurrency group and policy the run was created with, or null when no limit applied. */
|
|
10017
|
+
concurrency: {
|
|
10018
|
+
/** @description Concurrency group the run was scoped to. Runs in the same group are limited to one in progress at a time. */
|
|
10019
|
+
group: string;
|
|
10020
|
+
/**
|
|
10021
|
+
* @description What this run did when the group already had an active run: `cancel` cancelled it, `wait` queued behind it.
|
|
10022
|
+
* @enum {string}
|
|
10023
|
+
*/
|
|
10024
|
+
on_conflict: "cancel" | "wait";
|
|
10025
|
+
} | null;
|
|
10048
10026
|
};
|
|
10049
10027
|
};
|
|
10050
10028
|
};
|
|
@@ -10083,6 +10061,16 @@ export interface components {
|
|
|
10083
10061
|
test_case_ids?: string[];
|
|
10084
10062
|
/** @description Test repo branch to run. Useful for running tests from a feature branch before merging. Cannot be used together with `build` — pick one. */
|
|
10085
10063
|
branch?: string;
|
|
10064
|
+
/** @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
|
+
concurrency?: {
|
|
10066
|
+
/** @description Free-form group key, scoped to the project, e.g. `production`, `staging/acme/web@feat-x`, or a build URL. */
|
|
10067
|
+
group: string;
|
|
10068
|
+
/**
|
|
10069
|
+
* @description `cancel`: cancel the group's in-progress and waiting runs, then start. `wait`: queue behind the in-progress run; a newer waiting run replaces this one.
|
|
10070
|
+
* @enum {string}
|
|
10071
|
+
*/
|
|
10072
|
+
on_conflict: "cancel" | "wait";
|
|
10073
|
+
} | null;
|
|
10086
10074
|
/** @description Legacy project ID; must match the request's resolved project scope when set. The project scope itself comes from the bound principal or the x-project-id header, never from the body. */
|
|
10087
10075
|
project_id?: number;
|
|
10088
10076
|
/** @description Whether to send run notifications. Defaults to true. */
|
|
@@ -10428,6 +10416,16 @@ export interface components {
|
|
|
10428
10416
|
commit: string | null;
|
|
10429
10417
|
/** @description ISO 8601 timestamp. */
|
|
10430
10418
|
created_at: string;
|
|
10419
|
+
/** @description Concurrency group and policy the run was created with, or null when no limit applied. */
|
|
10420
|
+
concurrency: {
|
|
10421
|
+
/** @description Concurrency group the run was scoped to. Runs in the same group are limited to one in progress at a time. */
|
|
10422
|
+
group: string;
|
|
10423
|
+
/**
|
|
10424
|
+
* @description What this run did when the group already had an active run: `cancel` cancelled it, `wait` queued behind it.
|
|
10425
|
+
* @enum {string}
|
|
10426
|
+
*/
|
|
10427
|
+
on_conflict: "cancel" | "wait";
|
|
10428
|
+
} | null;
|
|
10431
10429
|
/** @description Git commit SHA. */
|
|
10432
10430
|
test_run_head_sha: string | null;
|
|
10433
10431
|
/** @description ISO 8601 timestamp when tests started. */
|
|
@@ -10447,12 +10445,61 @@ export interface components {
|
|
|
10447
10445
|
};
|
|
10448
10446
|
};
|
|
10449
10447
|
TestCaseRunEndEventRequest: {
|
|
10450
|
-
/**
|
|
10451
|
-
|
|
10452
|
-
|
|
10453
|
-
|
|
10454
|
-
|
|
10455
|
-
|
|
10448
|
+
/**
|
|
10449
|
+
* @description Event name, e.g. `test_case_run_end`.
|
|
10450
|
+
* @enum {string}
|
|
10451
|
+
*/
|
|
10452
|
+
name?: "test_case_run_end";
|
|
10453
|
+
data: components["schemas"]["TestCaseRunEndEventV2"];
|
|
10454
|
+
};
|
|
10455
|
+
TestCaseRunEndEventV2: {
|
|
10456
|
+
runId: string;
|
|
10457
|
+
test: components["schemas"]["TestCaseRunEndPayloadTest"];
|
|
10458
|
+
suites: string[];
|
|
10459
|
+
result: components["schemas"]["TestCaseRunEndPayloadResult"];
|
|
10460
|
+
projectName: string;
|
|
10461
|
+
attachments: components["schemas"]["TestCaseRunEndAttachment"][];
|
|
10462
|
+
failingLine?: string;
|
|
10463
|
+
shardIndex?: number;
|
|
10464
|
+
maxFailures?: number;
|
|
10465
|
+
};
|
|
10466
|
+
TestCaseRunEndPayloadTest: {
|
|
10467
|
+
id: string;
|
|
10468
|
+
title: string;
|
|
10469
|
+
location: components["schemas"]["TestCaseRunEndPayloadLocation"];
|
|
10470
|
+
expectedStatus: components["schemas"]["TestCaseRunEndPayloadStatus"];
|
|
10471
|
+
retries: number;
|
|
10472
|
+
};
|
|
10473
|
+
TestCaseRunEndPayloadLocation: {
|
|
10474
|
+
file: string;
|
|
10475
|
+
line: number;
|
|
10476
|
+
column: number;
|
|
10477
|
+
};
|
|
10478
|
+
/** @enum {string} */
|
|
10479
|
+
TestCaseRunEndPayloadStatus: "passed" | "failed" | "timedOut" | "skipped" | "interrupted";
|
|
10480
|
+
TestCaseRunEndPayloadResult: {
|
|
10481
|
+
retry: number;
|
|
10482
|
+
status: components["schemas"]["TestCaseRunEndPayloadStatus"];
|
|
10483
|
+
duration: number;
|
|
10484
|
+
startTime: string;
|
|
10485
|
+
error?: components["schemas"]["TestCaseRunEndPayloadError"];
|
|
10486
|
+
errors?: components["schemas"]["TestCaseRunEndPayloadError"][];
|
|
10487
|
+
annotations?: components["schemas"]["TestCaseRunEndPayloadAnnotation"][];
|
|
10488
|
+
};
|
|
10489
|
+
TestCaseRunEndPayloadError: {
|
|
10490
|
+
message?: string;
|
|
10491
|
+
stack?: string;
|
|
10492
|
+
location?: components["schemas"]["TestCaseRunEndPayloadLocation"];
|
|
10493
|
+
};
|
|
10494
|
+
TestCaseRunEndPayloadAnnotation: {
|
|
10495
|
+
type: string;
|
|
10496
|
+
description?: string;
|
|
10497
|
+
};
|
|
10498
|
+
TestCaseRunEndAttachment: {
|
|
10499
|
+
name: string;
|
|
10500
|
+
path: string;
|
|
10501
|
+
contentType: string;
|
|
10502
|
+
url: string;
|
|
10456
10503
|
};
|
|
10457
10504
|
UpdateShardStateResponse: {
|
|
10458
10505
|
/** @description Response payload. */
|
|
@@ -10873,6 +10920,53 @@ export interface components {
|
|
|
10873
10920
|
/** @description Environment slug. */
|
|
10874
10921
|
environment?: string;
|
|
10875
10922
|
};
|
|
10923
|
+
GetTestRunV2Response: {
|
|
10924
|
+
/** @description Response payload. */
|
|
10925
|
+
data: {
|
|
10926
|
+
/** @description Test run database ID. */
|
|
10927
|
+
id: number;
|
|
10928
|
+
/** @description Owning project ID. */
|
|
10929
|
+
project_id: number;
|
|
10930
|
+
/** @description Current run state. */
|
|
10931
|
+
state: string | null;
|
|
10932
|
+
/** @description External run identifier, if one was assigned. */
|
|
10933
|
+
run_id: number | null;
|
|
10934
|
+
total_count: number | null;
|
|
10935
|
+
unique_count: number | null;
|
|
10936
|
+
success_count: number | null;
|
|
10937
|
+
failed_count: number | null;
|
|
10938
|
+
failed_count_after_snoozing: number | null;
|
|
10939
|
+
skipped_count: number | null;
|
|
10940
|
+
flaky_count: number | null;
|
|
10941
|
+
duration: number | null;
|
|
10942
|
+
created_at: string | null;
|
|
10943
|
+
run_started_at: string | null;
|
|
10944
|
+
run_ended_at: string | null;
|
|
10945
|
+
test_run_branch: string;
|
|
10946
|
+
test_run_head_sha: string | null;
|
|
10947
|
+
summary_url: string | null;
|
|
10948
|
+
/** @description Environment ID, if one was selected. */
|
|
10949
|
+
environment_id: number | null;
|
|
10950
|
+
/** @description Environment slug, if one was selected. */
|
|
10951
|
+
environment_slug: string | null;
|
|
10952
|
+
/** @description Environment name, if one was selected. */
|
|
10953
|
+
environment_name: string | null;
|
|
10954
|
+
/** @description Per-run environment variable overrides. */
|
|
10955
|
+
environment_variables_overrides: {
|
|
10956
|
+
name: string;
|
|
10957
|
+
value: string;
|
|
10958
|
+
}[] | null;
|
|
10959
|
+
build_url: string | null;
|
|
10960
|
+
build_branch: string | null;
|
|
10961
|
+
commit: string | null;
|
|
10962
|
+
commit_url: string | null;
|
|
10963
|
+
repo: string | null;
|
|
10964
|
+
error_code: string | null;
|
|
10965
|
+
cancellation_reason: string | null;
|
|
10966
|
+
cancelled_by_user_id: string | null;
|
|
10967
|
+
superseded_by_test_run_id: number | null;
|
|
10968
|
+
};
|
|
10969
|
+
};
|
|
10876
10970
|
ListTestRunCasesResponse: {
|
|
10877
10971
|
/** @description The page of test run cases. */
|
|
10878
10972
|
data: components["schemas"]["TestRunCase"][];
|
|
@@ -11042,6 +11136,64 @@ export interface components {
|
|
|
11042
11136
|
skipped_attempts: components["schemas"]["TestRunCaseSkippedAttempt"][] | null;
|
|
11043
11137
|
};
|
|
11044
11138
|
};
|
|
11139
|
+
UiLiveTestRunResponse: {
|
|
11140
|
+
/** @description Response payload. */
|
|
11141
|
+
data: {
|
|
11142
|
+
test_run: components["schemas"]["LiveTestRun"];
|
|
11143
|
+
};
|
|
11144
|
+
};
|
|
11145
|
+
LiveTestRun: {
|
|
11146
|
+
/** @description Test run database ID. */
|
|
11147
|
+
id: number;
|
|
11148
|
+
/** @description External run_id, if assigned. */
|
|
11149
|
+
run_id: number | null;
|
|
11150
|
+
/** @description ECS task ID running the run, if dispatched. */
|
|
11151
|
+
ecs_task_id: string | null;
|
|
11152
|
+
/** @description AWS region of the ECS task, if dispatched. */
|
|
11153
|
+
ecs_task_region: string | null;
|
|
11154
|
+
/** @description Total number of test cases. */
|
|
11155
|
+
total_count: number | null;
|
|
11156
|
+
/** @description Number of unique test cases. */
|
|
11157
|
+
unique_count: number | null;
|
|
11158
|
+
/** @description Number of passed tests. */
|
|
11159
|
+
success_count: number | null;
|
|
11160
|
+
/** @description Number of failed tests. */
|
|
11161
|
+
failed_count: number | null;
|
|
11162
|
+
/** @description Failed tests remaining after applying snoozes. */
|
|
11163
|
+
failed_count_after_snoozing: number | null;
|
|
11164
|
+
/** @description Number of skipped tests. */
|
|
11165
|
+
skipped_count: number | null;
|
|
11166
|
+
/** @description Number of flaky tests. */
|
|
11167
|
+
flaky_count: number | null;
|
|
11168
|
+
/** @description ISO 8601 timestamp when tests started. */
|
|
11169
|
+
run_started_at: string | null;
|
|
11170
|
+
/** @description ISO 8601 timestamp when tests ended. */
|
|
11171
|
+
run_ended_at: string | null;
|
|
11172
|
+
/** @description Run duration in milliseconds. */
|
|
11173
|
+
duration: number | null;
|
|
11174
|
+
/** @description URL of the Playwright JSON report. */
|
|
11175
|
+
summary_url: string | null;
|
|
11176
|
+
/** @description Current run state (queued, started, ended, ...). */
|
|
11177
|
+
state: string | null;
|
|
11178
|
+
/** @description Head commit SHA of the test repo. */
|
|
11179
|
+
test_run_head_sha: string | null;
|
|
11180
|
+
/** @description Head branch of the merge commit, if any. */
|
|
11181
|
+
merge_commit_head_branch: string | null;
|
|
11182
|
+
/** @description Base branch of the merge commit, if any. */
|
|
11183
|
+
merge_commit_base_branch: string | null;
|
|
11184
|
+
/** @description Whether the merge commit succeeded. */
|
|
11185
|
+
merge_commit_successful: boolean | null;
|
|
11186
|
+
/** @description Error code if the run failed. */
|
|
11187
|
+
error_code: string | null;
|
|
11188
|
+
/** @description Reason the run was cancelled, if any. */
|
|
11189
|
+
cancellation_reason: string | null;
|
|
11190
|
+
/** @description User ID that cancelled the run, if any. */
|
|
11191
|
+
cancelled_by_user_id: string | null;
|
|
11192
|
+
/** @description Artifact storage bucket for the run. */
|
|
11193
|
+
storage_bucket: string | null;
|
|
11194
|
+
/** @description ID of the run that supersedes this one, if any. */
|
|
11195
|
+
superseded_by_test_run_id: number | null;
|
|
11196
|
+
};
|
|
11045
11197
|
UiGetTestRunResponse: {
|
|
11046
11198
|
/** @description Response payload. */
|
|
11047
11199
|
data: {
|
|
@@ -11191,6 +11343,16 @@ export interface components {
|
|
|
11191
11343
|
tags: string[] | null;
|
|
11192
11344
|
/** @description Specific test case ids (Playwright test.id) to run. */
|
|
11193
11345
|
test_case_ids: string[] | null;
|
|
11346
|
+
/** @description Concurrency group and policy the run was created with; null when no limit applied. */
|
|
11347
|
+
concurrency: {
|
|
11348
|
+
/** @description Concurrency group the run was scoped to. */
|
|
11349
|
+
group: string;
|
|
11350
|
+
/**
|
|
11351
|
+
* @description Policy toward an active run in the group: cancel it, or wait behind it.
|
|
11352
|
+
* @enum {string}
|
|
11353
|
+
*/
|
|
11354
|
+
on_conflict: "cancel" | "wait";
|
|
11355
|
+
} | null;
|
|
11194
11356
|
/** @description GitHub PR for the build branch, resolved via the reporter app; null when there is no PR or the reporter is not installed. */
|
|
11195
11357
|
pull_request: {
|
|
11196
11358
|
/** @description Pull request number. */
|
|
@@ -11551,327 +11713,65 @@ export interface components {
|
|
|
11551
11713
|
deleted: boolean;
|
|
11552
11714
|
};
|
|
11553
11715
|
};
|
|
11554
|
-
|
|
11716
|
+
WebhookListResponse: {
|
|
11555
11717
|
/** @description Response payload. */
|
|
11556
11718
|
data: {
|
|
11557
|
-
|
|
11719
|
+
webhooks: components["schemas"]["Webhook"][];
|
|
11558
11720
|
};
|
|
11559
11721
|
};
|
|
11560
|
-
|
|
11561
|
-
/** @description
|
|
11722
|
+
Webhook: {
|
|
11723
|
+
/** @description Webhook ID. */
|
|
11562
11724
|
id: number;
|
|
11563
|
-
/** @description Project the
|
|
11725
|
+
/** @description Project the webhook belongs to. */
|
|
11564
11726
|
project_id: number;
|
|
11565
|
-
/** @description
|
|
11566
|
-
|
|
11567
|
-
/** @description
|
|
11727
|
+
/** @description Endpoint that receives event payloads. */
|
|
11728
|
+
url: string;
|
|
11729
|
+
/** @description Event names this webhook subscribes to. */
|
|
11730
|
+
events: string[];
|
|
11731
|
+
/** @description Whether the webhook is active. */
|
|
11568
11732
|
is_active: boolean;
|
|
11569
|
-
/**
|
|
11570
|
-
* @description Rule type. Only `consecutive` exists today.
|
|
11571
|
-
* @enum {string}
|
|
11572
|
-
*/
|
|
11573
|
-
type: "consecutive";
|
|
11574
|
-
config: components["schemas"]["ConsecutiveAlertRuleConfig"];
|
|
11575
11733
|
/** @description ISO 8601 creation timestamp. */
|
|
11576
11734
|
created_at: string;
|
|
11577
11735
|
/** @description ISO 8601 last-update timestamp. */
|
|
11578
11736
|
updated_at: string;
|
|
11579
11737
|
};
|
|
11580
|
-
|
|
11581
|
-
/** @description Open an alert after this many consecutive fails. */
|
|
11582
|
-
open_after_fails: number;
|
|
11583
|
-
/** @description Resolve an open alert after this many consecutive passes. */
|
|
11584
|
-
resolve_after_passes: number;
|
|
11585
|
-
};
|
|
11586
|
-
AlertRuleResponse: {
|
|
11738
|
+
WebhookCreateResponse: {
|
|
11587
11739
|
/** @description Response payload. */
|
|
11588
11740
|
data: {
|
|
11589
|
-
|
|
11741
|
+
webhook: components["schemas"]["CreatedWebhook"];
|
|
11590
11742
|
};
|
|
11591
11743
|
};
|
|
11592
|
-
|
|
11744
|
+
CreatedWebhook: {
|
|
11745
|
+
/** @description Webhook ID. */
|
|
11746
|
+
id: number;
|
|
11747
|
+
/** @description Project the webhook belongs to. */
|
|
11748
|
+
project_id: number;
|
|
11749
|
+
/** @description Endpoint that receives event payloads. */
|
|
11750
|
+
url: string;
|
|
11751
|
+
/** @description Event names this webhook subscribes to. */
|
|
11752
|
+
events: string[];
|
|
11753
|
+
/** @description Whether the webhook is active. */
|
|
11754
|
+
is_active: boolean;
|
|
11755
|
+
/** @description ISO 8601 creation timestamp. */
|
|
11756
|
+
created_at: string;
|
|
11757
|
+
/** @description ISO 8601 last-update timestamp. */
|
|
11758
|
+
updated_at: string;
|
|
11759
|
+
/** @description Signing secret (returned only on creation). */
|
|
11760
|
+
secret: string;
|
|
11761
|
+
};
|
|
11762
|
+
CreateWebhookRequest: {
|
|
11593
11763
|
/**
|
|
11594
|
-
*
|
|
11595
|
-
* @
|
|
11764
|
+
* Format: uri
|
|
11765
|
+
* @description HTTPS endpoint that will receive event payloads.
|
|
11596
11766
|
*/
|
|
11597
|
-
|
|
11598
|
-
|
|
11599
|
-
|
|
11600
|
-
environment_id?: number | null;
|
|
11601
|
-
/** @description Whether the rule is active. Defaults to true. */
|
|
11602
|
-
is_active?: boolean;
|
|
11603
|
-
};
|
|
11604
|
-
PatchAlertRuleRequest: {
|
|
11605
|
-
/** @description Environment this rule applies to; null applies it to all environments. */
|
|
11606
|
-
environment_id?: number | null;
|
|
11607
|
-
config?: components["schemas"]["ConsecutiveAlertRuleConfig"];
|
|
11608
|
-
/** @description Whether the rule is active. */
|
|
11609
|
-
is_active?: boolean;
|
|
11767
|
+
url: string;
|
|
11768
|
+
/** @description Event names this webhook subscribes to. */
|
|
11769
|
+
events: string[];
|
|
11610
11770
|
};
|
|
11611
|
-
|
|
11771
|
+
WebhookUpdateResponse: {
|
|
11612
11772
|
/** @description Response payload. */
|
|
11613
11773
|
data: {
|
|
11614
|
-
|
|
11615
|
-
* @description Always true on success.
|
|
11616
|
-
* @enum {boolean}
|
|
11617
|
-
*/
|
|
11618
|
-
deleted: true;
|
|
11619
|
-
};
|
|
11620
|
-
};
|
|
11621
|
-
AlertListResponse: {
|
|
11622
|
-
data: {
|
|
11623
|
-
alerts: components["schemas"]["Alert"][];
|
|
11624
|
-
};
|
|
11625
|
-
pagination: components["schemas"]["Pagination"];
|
|
11626
|
-
};
|
|
11627
|
-
Alert: {
|
|
11628
|
-
/** @description Alert ID. */
|
|
11629
|
-
id: number;
|
|
11630
|
-
/** @description Project the alert belongs to. */
|
|
11631
|
-
project_id: number;
|
|
11632
|
-
/** @description Environment the alert was opened in. */
|
|
11633
|
-
environment_id: number;
|
|
11634
|
-
/** @description The alert rule that opened this alert. */
|
|
11635
|
-
rule_id: number;
|
|
11636
|
-
/** @description Playwright test ID of the alerting test. */
|
|
11637
|
-
pw_test_id: string;
|
|
11638
|
-
/**
|
|
11639
|
-
* @description Alert lifecycle state.
|
|
11640
|
-
* @enum {string}
|
|
11641
|
-
*/
|
|
11642
|
-
state: "open" | "resolved";
|
|
11643
|
-
/** @description Current consecutive-fail streak. */
|
|
11644
|
-
consecutive_fails: number;
|
|
11645
|
-
/** @description Failing runs recorded on this alert since it opened: the run that opened it plus every run that kept it failing. Unlike `consecutive_fails`, an intervening pass does not reset it. */
|
|
11646
|
-
fails_since_opened: number;
|
|
11647
|
-
/** @description Recent evaluated outcomes, newest last. */
|
|
11648
|
-
recent_outcomes: components["schemas"]["AlertRunOutcome"][];
|
|
11649
|
-
/** @description The run whose failure opened the alert. */
|
|
11650
|
-
triggering_test_run_id: number;
|
|
11651
|
-
/** @description ISO 8601 timestamp the alert opened. */
|
|
11652
|
-
opened_at: string;
|
|
11653
|
-
/** @description ISO 8601 timestamp the alert resolved, if it has. */
|
|
11654
|
-
resolved_at: string | null;
|
|
11655
|
-
/** @description ISO 8601 creation timestamp. */
|
|
11656
|
-
created_at: string;
|
|
11657
|
-
/** @description ISO 8601 last-update timestamp. */
|
|
11658
|
-
updated_at: string;
|
|
11659
|
-
/** @description Display info for the alerting test; null when the test is no longer in the test-case ledger. */
|
|
11660
|
-
test_case: {
|
|
11661
|
-
/** @description Human-readable test name. */
|
|
11662
|
-
name: string;
|
|
11663
|
-
/** @description Test file path. */
|
|
11664
|
-
file_path: string;
|
|
11665
|
-
/** @description Test tags. */
|
|
11666
|
-
tags: string[];
|
|
11667
|
-
} | null;
|
|
11668
|
-
/** @description The most-recently-seen failure group this alert's test is currently attached to; null when the test is in no group. */
|
|
11669
|
-
failure_group: {
|
|
11670
|
-
/** @description Failure group ID. */
|
|
11671
|
-
id: string;
|
|
11672
|
-
/** @description Human-readable group label. */
|
|
11673
|
-
label: string;
|
|
11674
|
-
/**
|
|
11675
|
-
* @description Group lifecycle status.
|
|
11676
|
-
* @enum {string}
|
|
11677
|
-
*/
|
|
11678
|
-
status: "open" | "resolved";
|
|
11679
|
-
/** @description True when a membership sighting cites a run in the alert's outcome window. */
|
|
11680
|
-
seen_in_window: boolean;
|
|
11681
|
-
} | null;
|
|
11682
|
-
};
|
|
11683
|
-
AlertRunOutcome: {
|
|
11684
|
-
/** @description The evaluated test run. */
|
|
11685
|
-
test_run_id: number;
|
|
11686
|
-
/**
|
|
11687
|
-
* @description Evaluated outcome (flaky counts as pass).
|
|
11688
|
-
* @enum {string}
|
|
11689
|
-
*/
|
|
11690
|
-
status: "pass" | "fail";
|
|
11691
|
-
};
|
|
11692
|
-
RecentAlertEventListResponse: {
|
|
11693
|
-
data: {
|
|
11694
|
-
events: components["schemas"]["RecentAlertEvent"][];
|
|
11695
|
-
};
|
|
11696
|
-
pagination: components["schemas"]["Pagination"];
|
|
11697
|
-
};
|
|
11698
|
-
RecentAlertEvent: {
|
|
11699
|
-
id: number;
|
|
11700
|
-
alert_id: number;
|
|
11701
|
-
/** @enum {string} */
|
|
11702
|
-
type: "opened" | "resolved";
|
|
11703
|
-
test_run_id: number | null;
|
|
11704
|
-
environment_id: number;
|
|
11705
|
-
pw_test_id: string;
|
|
11706
|
-
created_at: string;
|
|
11707
|
-
test_case: components["schemas"]["AlertTestCase"];
|
|
11708
|
-
};
|
|
11709
|
-
AlertTestCase: {
|
|
11710
|
-
/** @description Human-readable test name. */
|
|
11711
|
-
name: string;
|
|
11712
|
-
/** @description Test file path. */
|
|
11713
|
-
file_path: string;
|
|
11714
|
-
/** @description Test tags. */
|
|
11715
|
-
tags: string[];
|
|
11716
|
-
} | null;
|
|
11717
|
-
AlertDetailResponse: {
|
|
11718
|
-
/** @description Response payload. */
|
|
11719
|
-
data: {
|
|
11720
|
-
alert: components["schemas"]["AlertDetail"];
|
|
11721
|
-
};
|
|
11722
|
-
};
|
|
11723
|
-
AlertDetail: {
|
|
11724
|
-
/** @description Alert ID. */
|
|
11725
|
-
id: number;
|
|
11726
|
-
/** @description Project the alert belongs to. */
|
|
11727
|
-
project_id: number;
|
|
11728
|
-
/** @description Environment the alert was opened in. */
|
|
11729
|
-
environment_id: number;
|
|
11730
|
-
/** @description The alert rule that opened this alert. */
|
|
11731
|
-
rule_id: number;
|
|
11732
|
-
/** @description Playwright test ID of the alerting test. */
|
|
11733
|
-
pw_test_id: string;
|
|
11734
|
-
/**
|
|
11735
|
-
* @description Alert lifecycle state.
|
|
11736
|
-
* @enum {string}
|
|
11737
|
-
*/
|
|
11738
|
-
state: "open" | "resolved";
|
|
11739
|
-
/** @description Current consecutive-fail streak. */
|
|
11740
|
-
consecutive_fails: number;
|
|
11741
|
-
/** @description Failing runs recorded on this alert since it opened: the run that opened it plus every run that kept it failing. Unlike `consecutive_fails`, an intervening pass does not reset it. */
|
|
11742
|
-
fails_since_opened: number;
|
|
11743
|
-
/** @description Recent evaluated outcomes, newest last. */
|
|
11744
|
-
recent_outcomes: components["schemas"]["AlertRunOutcome"][];
|
|
11745
|
-
/** @description The run whose failure opened the alert. */
|
|
11746
|
-
triggering_test_run_id: number;
|
|
11747
|
-
/** @description ISO 8601 timestamp the alert opened. */
|
|
11748
|
-
opened_at: string;
|
|
11749
|
-
/** @description ISO 8601 timestamp the alert resolved, if it has. */
|
|
11750
|
-
resolved_at: string | null;
|
|
11751
|
-
/** @description ISO 8601 creation timestamp. */
|
|
11752
|
-
created_at: string;
|
|
11753
|
-
/** @description ISO 8601 last-update timestamp. */
|
|
11754
|
-
updated_at: string;
|
|
11755
|
-
/** @description Display info for the alerting test; null when the test is no longer in the test-case ledger. */
|
|
11756
|
-
test_case: {
|
|
11757
|
-
/** @description Human-readable test name. */
|
|
11758
|
-
name: string;
|
|
11759
|
-
/** @description Test file path. */
|
|
11760
|
-
file_path: string;
|
|
11761
|
-
/** @description Test tags. */
|
|
11762
|
-
tags: string[];
|
|
11763
|
-
} | null;
|
|
11764
|
-
/** @description The most-recently-seen failure group this alert's test is currently attached to; null when the test is in no group. */
|
|
11765
|
-
failure_group: {
|
|
11766
|
-
/** @description Failure group ID. */
|
|
11767
|
-
id: string;
|
|
11768
|
-
/** @description Human-readable group label. */
|
|
11769
|
-
label: string;
|
|
11770
|
-
/**
|
|
11771
|
-
* @description Group lifecycle status.
|
|
11772
|
-
* @enum {string}
|
|
11773
|
-
*/
|
|
11774
|
-
status: "open" | "resolved";
|
|
11775
|
-
/** @description True when a membership sighting cites a run in the alert's outcome window. */
|
|
11776
|
-
seen_in_window: boolean;
|
|
11777
|
-
} | null;
|
|
11778
|
-
/** @description The alert's lifecycle events, oldest first. */
|
|
11779
|
-
events: components["schemas"]["AlertEvent"][];
|
|
11780
|
-
/** @description Failure groups the alerting test is currently attached to, most recently seen first; empty when the test is in no group. */
|
|
11781
|
-
related_failure_groups: components["schemas"]["AlertRelatedFailureGroup"][];
|
|
11782
|
-
};
|
|
11783
|
-
AlertEvent: {
|
|
11784
|
-
/** @description Alert event ID. */
|
|
11785
|
-
id: number;
|
|
11786
|
-
/**
|
|
11787
|
-
* @description What happened.
|
|
11788
|
-
* @enum {string}
|
|
11789
|
-
*/
|
|
11790
|
-
type: "opened" | "still_failing" | "resolved";
|
|
11791
|
-
/** @description The test run that produced this event, if any. */
|
|
11792
|
-
test_run_id: number | null;
|
|
11793
|
-
/** @description ISO 8601 timestamp of the event. */
|
|
11794
|
-
created_at: string;
|
|
11795
|
-
};
|
|
11796
|
-
AlertRelatedFailureGroup: {
|
|
11797
|
-
/** @description Failure group ID. */
|
|
11798
|
-
id: string;
|
|
11799
|
-
/** @description Human-readable group label. */
|
|
11800
|
-
label: string;
|
|
11801
|
-
/**
|
|
11802
|
-
* @description Failure-mode classification.
|
|
11803
|
-
* @enum {string}
|
|
11804
|
-
*/
|
|
11805
|
-
type: "app" | "test" | "unknown";
|
|
11806
|
-
/**
|
|
11807
|
-
* @description Group lifecycle status.
|
|
11808
|
-
* @enum {string}
|
|
11809
|
-
*/
|
|
11810
|
-
status: "open" | "resolved";
|
|
11811
|
-
/** @description ISO 8601 timestamp the group was last seen. */
|
|
11812
|
-
last_seen_at: string;
|
|
11813
|
-
/** @description True when a membership sighting for this test cites one of the runs in the alert's outcome window (deterministic test × env × run mapping). False = the test is attached to the group in this environment, but not via the runs this alert counted. */
|
|
11814
|
-
seen_in_window: boolean;
|
|
11815
|
-
};
|
|
11816
|
-
WebhookListResponse: {
|
|
11817
|
-
/** @description Response payload. */
|
|
11818
|
-
data: {
|
|
11819
|
-
webhooks: components["schemas"]["Webhook"][];
|
|
11820
|
-
};
|
|
11821
|
-
};
|
|
11822
|
-
Webhook: {
|
|
11823
|
-
/** @description Webhook ID. */
|
|
11824
|
-
id: number;
|
|
11825
|
-
/** @description Project the webhook belongs to. */
|
|
11826
|
-
project_id: number;
|
|
11827
|
-
/** @description Endpoint that receives event payloads. */
|
|
11828
|
-
url: string;
|
|
11829
|
-
/** @description Event names this webhook subscribes to. */
|
|
11830
|
-
events: string[];
|
|
11831
|
-
/** @description Whether the webhook is active. */
|
|
11832
|
-
is_active: boolean;
|
|
11833
|
-
/** @description ISO 8601 creation timestamp. */
|
|
11834
|
-
created_at: string;
|
|
11835
|
-
/** @description ISO 8601 last-update timestamp. */
|
|
11836
|
-
updated_at: string;
|
|
11837
|
-
};
|
|
11838
|
-
WebhookCreateResponse: {
|
|
11839
|
-
/** @description Response payload. */
|
|
11840
|
-
data: {
|
|
11841
|
-
webhook: components["schemas"]["CreatedWebhook"];
|
|
11842
|
-
};
|
|
11843
|
-
};
|
|
11844
|
-
CreatedWebhook: {
|
|
11845
|
-
/** @description Webhook ID. */
|
|
11846
|
-
id: number;
|
|
11847
|
-
/** @description Project the webhook belongs to. */
|
|
11848
|
-
project_id: number;
|
|
11849
|
-
/** @description Endpoint that receives event payloads. */
|
|
11850
|
-
url: string;
|
|
11851
|
-
/** @description Event names this webhook subscribes to. */
|
|
11852
|
-
events: string[];
|
|
11853
|
-
/** @description Whether the webhook is active. */
|
|
11854
|
-
is_active: boolean;
|
|
11855
|
-
/** @description ISO 8601 creation timestamp. */
|
|
11856
|
-
created_at: string;
|
|
11857
|
-
/** @description ISO 8601 last-update timestamp. */
|
|
11858
|
-
updated_at: string;
|
|
11859
|
-
/** @description Signing secret (returned only on creation). */
|
|
11860
|
-
secret: string;
|
|
11861
|
-
};
|
|
11862
|
-
CreateWebhookRequest: {
|
|
11863
|
-
/**
|
|
11864
|
-
* Format: uri
|
|
11865
|
-
* @description HTTPS endpoint that will receive event payloads.
|
|
11866
|
-
*/
|
|
11867
|
-
url: string;
|
|
11868
|
-
/** @description Event names this webhook subscribes to. */
|
|
11869
|
-
events: string[];
|
|
11870
|
-
};
|
|
11871
|
-
WebhookUpdateResponse: {
|
|
11872
|
-
/** @description Response payload. */
|
|
11873
|
-
data: {
|
|
11874
|
-
webhook: components["schemas"]["UpdatedWebhook"];
|
|
11774
|
+
webhook: components["schemas"]["UpdatedWebhook"];
|
|
11875
11775
|
};
|
|
11876
11776
|
};
|
|
11877
11777
|
UpdatedWebhook: {
|
|
@@ -12138,8 +12038,15 @@ export interface components {
|
|
|
12138
12038
|
last_validated_at: string | null;
|
|
12139
12039
|
/** @description Supabase user ID. */
|
|
12140
12040
|
user_id: string;
|
|
12141
|
-
/** @description Slack
|
|
12041
|
+
/** @description Slack workspace whose app installation reaches the user. */
|
|
12142
12042
|
team_id: string;
|
|
12043
|
+
/** @description Slack user's home workspace ID. */
|
|
12044
|
+
slack_home_team_id: string | null;
|
|
12045
|
+
/**
|
|
12046
|
+
* Format: uri
|
|
12047
|
+
* @description Slack user's home workspace URL.
|
|
12048
|
+
*/
|
|
12049
|
+
slack_home_team_url: string | null;
|
|
12143
12050
|
/** @description Slack user ID. */
|
|
12144
12051
|
slack_user_id: string;
|
|
12145
12052
|
/** @description Slack username. */
|
|
@@ -12264,6 +12171,8 @@ export interface operations {
|
|
|
12264
12171
|
environment_id?: number;
|
|
12265
12172
|
/** @description Comma-separated environment IDs to filter by. Combined with environment_id when both are provided. */
|
|
12266
12173
|
environment_ids?: string;
|
|
12174
|
+
/** @description Filter to runs created in this concurrency group (exact match on the run's `concurrency.group`). */
|
|
12175
|
+
concurrency_group?: string;
|
|
12267
12176
|
};
|
|
12268
12177
|
header?: never;
|
|
12269
12178
|
path?: never;
|
|
@@ -12307,7 +12216,7 @@ export interface operations {
|
|
|
12307
12216
|
path?: never;
|
|
12308
12217
|
cookie?: never;
|
|
12309
12218
|
};
|
|
12310
|
-
requestBody
|
|
12219
|
+
requestBody: {
|
|
12311
12220
|
content: {
|
|
12312
12221
|
"application/json": components["schemas"]["TriggerTestRunRequest"];
|
|
12313
12222
|
};
|
|
@@ -12414,7 +12323,7 @@ export interface operations {
|
|
|
12414
12323
|
"application/json": components["schemas"]["GetTestRunResponse"];
|
|
12415
12324
|
};
|
|
12416
12325
|
};
|
|
12417
|
-
/** @description Invalid
|
|
12326
|
+
/** @description Invalid test run ID. */
|
|
12418
12327
|
400: {
|
|
12419
12328
|
headers: {
|
|
12420
12329
|
[name: string]: unknown;
|
|
@@ -12588,7 +12497,7 @@ export interface operations {
|
|
|
12588
12497
|
path?: never;
|
|
12589
12498
|
cookie?: never;
|
|
12590
12499
|
};
|
|
12591
|
-
requestBody
|
|
12500
|
+
requestBody: {
|
|
12592
12501
|
content: {
|
|
12593
12502
|
"application/json": components["schemas"]["SkipTestRunRequest"];
|
|
12594
12503
|
};
|
|
@@ -12623,6 +12532,47 @@ export interface operations {
|
|
|
12623
12532
|
};
|
|
12624
12533
|
};
|
|
12625
12534
|
};
|
|
12535
|
+
getTestRunV2: {
|
|
12536
|
+
parameters: {
|
|
12537
|
+
query?: never;
|
|
12538
|
+
header?: never;
|
|
12539
|
+
path: {
|
|
12540
|
+
/** @description Test run ID. */
|
|
12541
|
+
id: number;
|
|
12542
|
+
};
|
|
12543
|
+
cookie?: never;
|
|
12544
|
+
};
|
|
12545
|
+
requestBody?: never;
|
|
12546
|
+
responses: {
|
|
12547
|
+
/** @description The test run metadata. */
|
|
12548
|
+
200: {
|
|
12549
|
+
headers: {
|
|
12550
|
+
[name: string]: unknown;
|
|
12551
|
+
};
|
|
12552
|
+
content: {
|
|
12553
|
+
"application/json": components["schemas"]["GetTestRunV2Response"];
|
|
12554
|
+
};
|
|
12555
|
+
};
|
|
12556
|
+
/** @description Invalid request. */
|
|
12557
|
+
400: {
|
|
12558
|
+
headers: {
|
|
12559
|
+
[name: string]: unknown;
|
|
12560
|
+
};
|
|
12561
|
+
content: {
|
|
12562
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12563
|
+
};
|
|
12564
|
+
};
|
|
12565
|
+
/** @description Test run not found. */
|
|
12566
|
+
404: {
|
|
12567
|
+
headers: {
|
|
12568
|
+
[name: string]: unknown;
|
|
12569
|
+
};
|
|
12570
|
+
content: {
|
|
12571
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
12572
|
+
};
|
|
12573
|
+
};
|
|
12574
|
+
};
|
|
12575
|
+
};
|
|
12626
12576
|
listTestRunShareTargets: {
|
|
12627
12577
|
parameters: {
|
|
12628
12578
|
query?: never;
|
|
@@ -14993,37 +14943,25 @@ export interface operations {
|
|
|
14993
14943
|
};
|
|
14994
14944
|
};
|
|
14995
14945
|
};
|
|
14996
|
-
|
|
14946
|
+
getSlackFileMetadata: {
|
|
14997
14947
|
parameters: {
|
|
14998
14948
|
query?: never;
|
|
14999
14949
|
header?: never;
|
|
15000
|
-
path
|
|
15001
|
-
|
|
15002
|
-
|
|
15003
|
-
requestBody?: {
|
|
15004
|
-
content: {
|
|
15005
|
-
"application/json": {
|
|
15006
|
-
/** @description Slack channel id to post in. */
|
|
15007
|
-
channel: string;
|
|
15008
|
-
/** @description Timestamp id of a message in the thread to reply in — pass the `ts` you were given for any message in that thread. Omit to post a new top-level message in the channel. */
|
|
15009
|
-
thread_ts?: string;
|
|
15010
|
-
/** @description Message body as Markdown; converted to Slack formatting. */
|
|
15011
|
-
markdown: string;
|
|
15012
|
-
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
15013
|
-
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
15014
|
-
/** @description Stable caller-generated key for safely retrying. Honoured when the thread belongs to a chat session; ignored otherwise. */
|
|
15015
|
-
idempotency_key?: string;
|
|
15016
|
-
};
|
|
14950
|
+
path: {
|
|
14951
|
+
/** @description Slack file ID. */
|
|
14952
|
+
file_id: string;
|
|
15017
14953
|
};
|
|
14954
|
+
cookie?: never;
|
|
15018
14955
|
};
|
|
14956
|
+
requestBody?: never;
|
|
15019
14957
|
responses: {
|
|
15020
|
-
/** @description
|
|
14958
|
+
/** @description Slack file metadata. */
|
|
15021
14959
|
200: {
|
|
15022
14960
|
headers: {
|
|
15023
14961
|
[name: string]: unknown;
|
|
15024
14962
|
};
|
|
15025
14963
|
content: {
|
|
15026
|
-
"application/json": components["schemas"]["
|
|
14964
|
+
"application/json": components["schemas"]["SlackFileMetadataResponse"];
|
|
15027
14965
|
};
|
|
15028
14966
|
};
|
|
15029
14967
|
/** @description Invalid request. */
|
|
@@ -15032,56 +14970,301 @@ export interface operations {
|
|
|
15032
14970
|
[name: string]: unknown;
|
|
15033
14971
|
};
|
|
15034
14972
|
content: {
|
|
15035
|
-
"application/json": components["schemas"]["
|
|
14973
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15036
14974
|
};
|
|
15037
14975
|
};
|
|
15038
|
-
/** @description Sandbox authentication required
|
|
14976
|
+
/** @description Sandbox authentication required. */
|
|
15039
14977
|
403: {
|
|
15040
14978
|
headers: {
|
|
15041
14979
|
[name: string]: unknown;
|
|
15042
14980
|
};
|
|
15043
14981
|
content: {
|
|
15044
|
-
"application/json": components["schemas"]["
|
|
14982
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15045
14983
|
};
|
|
15046
14984
|
};
|
|
15047
|
-
/** @description
|
|
14985
|
+
/** @description File, chat session, or Slack thread not found. */
|
|
15048
14986
|
404: {
|
|
15049
14987
|
headers: {
|
|
15050
14988
|
[name: string]: unknown;
|
|
15051
14989
|
};
|
|
15052
14990
|
content: {
|
|
15053
|
-
"application/json": components["schemas"]["
|
|
15054
|
-
|
|
15055
|
-
|
|
15056
|
-
|
|
15057
|
-
409: {
|
|
15058
|
-
headers: {
|
|
15059
|
-
[name: string]: unknown;
|
|
15060
|
-
};
|
|
15061
|
-
content: {
|
|
15062
|
-
"application/json": components["schemas"]["SlackMessageError"];
|
|
14991
|
+
"application/json": components["schemas"]["ErrorResponse"] | {
|
|
14992
|
+
/** @description Error message. */
|
|
14993
|
+
error: string;
|
|
14994
|
+
};
|
|
15063
14995
|
};
|
|
15064
14996
|
};
|
|
15065
|
-
/** @description Slack
|
|
14997
|
+
/** @description Slack file error. */
|
|
15066
14998
|
502: {
|
|
15067
14999
|
headers: {
|
|
15068
15000
|
[name: string]: unknown;
|
|
15069
15001
|
};
|
|
15070
15002
|
content: {
|
|
15071
|
-
"application/json":
|
|
15003
|
+
"application/json": {
|
|
15004
|
+
/** @description Error message. */
|
|
15005
|
+
error: string;
|
|
15006
|
+
};
|
|
15072
15007
|
};
|
|
15073
15008
|
};
|
|
15074
15009
|
};
|
|
15075
15010
|
};
|
|
15076
|
-
|
|
15011
|
+
getSlackFileContent: {
|
|
15077
15012
|
parameters: {
|
|
15078
15013
|
query?: never;
|
|
15079
15014
|
header?: never;
|
|
15080
|
-
path
|
|
15015
|
+
path: {
|
|
15016
|
+
/** @description Slack file ID. */
|
|
15017
|
+
file_id: string;
|
|
15018
|
+
};
|
|
15081
15019
|
cookie?: never;
|
|
15082
15020
|
};
|
|
15083
|
-
requestBody?:
|
|
15084
|
-
|
|
15021
|
+
requestBody?: never;
|
|
15022
|
+
responses: {
|
|
15023
|
+
/** @description The Slack file content stream. */
|
|
15024
|
+
200: {
|
|
15025
|
+
headers: {
|
|
15026
|
+
[name: string]: unknown;
|
|
15027
|
+
};
|
|
15028
|
+
content: {
|
|
15029
|
+
"application/octet-stream": string;
|
|
15030
|
+
};
|
|
15031
|
+
};
|
|
15032
|
+
/** @description Invalid request. */
|
|
15033
|
+
400: {
|
|
15034
|
+
headers: {
|
|
15035
|
+
[name: string]: unknown;
|
|
15036
|
+
};
|
|
15037
|
+
content: {
|
|
15038
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15039
|
+
};
|
|
15040
|
+
};
|
|
15041
|
+
/** @description Sandbox authentication required. */
|
|
15042
|
+
403: {
|
|
15043
|
+
headers: {
|
|
15044
|
+
[name: string]: unknown;
|
|
15045
|
+
};
|
|
15046
|
+
content: {
|
|
15047
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15048
|
+
};
|
|
15049
|
+
};
|
|
15050
|
+
/** @description File, chat session, or Slack thread not found, or not downloadable. */
|
|
15051
|
+
404: {
|
|
15052
|
+
headers: {
|
|
15053
|
+
[name: string]: unknown;
|
|
15054
|
+
};
|
|
15055
|
+
content: {
|
|
15056
|
+
"application/json": components["schemas"]["ErrorResponse"] | {
|
|
15057
|
+
/** @description Error message. */
|
|
15058
|
+
error: string;
|
|
15059
|
+
};
|
|
15060
|
+
};
|
|
15061
|
+
};
|
|
15062
|
+
/** @description Slack file download failed. */
|
|
15063
|
+
424: {
|
|
15064
|
+
headers: {
|
|
15065
|
+
[name: string]: unknown;
|
|
15066
|
+
};
|
|
15067
|
+
content: {
|
|
15068
|
+
"application/json": components["schemas"]["SlackFileDownloadError"];
|
|
15069
|
+
};
|
|
15070
|
+
};
|
|
15071
|
+
/** @description Slack file error. */
|
|
15072
|
+
502: {
|
|
15073
|
+
headers: {
|
|
15074
|
+
[name: string]: unknown;
|
|
15075
|
+
};
|
|
15076
|
+
content: {
|
|
15077
|
+
"application/json": {
|
|
15078
|
+
/** @description Error message. */
|
|
15079
|
+
error: string;
|
|
15080
|
+
};
|
|
15081
|
+
};
|
|
15082
|
+
};
|
|
15083
|
+
};
|
|
15084
|
+
};
|
|
15085
|
+
headSlackFileContent: {
|
|
15086
|
+
parameters: {
|
|
15087
|
+
query?: never;
|
|
15088
|
+
header?: never;
|
|
15089
|
+
path: {
|
|
15090
|
+
/** @description Slack file ID. */
|
|
15091
|
+
file_id: string;
|
|
15092
|
+
};
|
|
15093
|
+
cookie?: never;
|
|
15094
|
+
};
|
|
15095
|
+
requestBody?: never;
|
|
15096
|
+
responses: {
|
|
15097
|
+
/** @description The Slack file content stream. */
|
|
15098
|
+
200: {
|
|
15099
|
+
headers: {
|
|
15100
|
+
[name: string]: unknown;
|
|
15101
|
+
};
|
|
15102
|
+
content: {
|
|
15103
|
+
"application/octet-stream": string;
|
|
15104
|
+
};
|
|
15105
|
+
};
|
|
15106
|
+
/** @description Invalid request. */
|
|
15107
|
+
400: {
|
|
15108
|
+
headers: {
|
|
15109
|
+
[name: string]: unknown;
|
|
15110
|
+
};
|
|
15111
|
+
content: {
|
|
15112
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15113
|
+
};
|
|
15114
|
+
};
|
|
15115
|
+
/** @description Sandbox authentication required. */
|
|
15116
|
+
403: {
|
|
15117
|
+
headers: {
|
|
15118
|
+
[name: string]: unknown;
|
|
15119
|
+
};
|
|
15120
|
+
content: {
|
|
15121
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15122
|
+
};
|
|
15123
|
+
};
|
|
15124
|
+
/** @description File, chat session, or Slack thread not found, or not downloadable. */
|
|
15125
|
+
404: {
|
|
15126
|
+
headers: {
|
|
15127
|
+
[name: string]: unknown;
|
|
15128
|
+
};
|
|
15129
|
+
content: {
|
|
15130
|
+
"application/json": components["schemas"]["ErrorResponse"] | {
|
|
15131
|
+
/** @description Error message. */
|
|
15132
|
+
error: string;
|
|
15133
|
+
};
|
|
15134
|
+
};
|
|
15135
|
+
};
|
|
15136
|
+
/** @description Slack file download failed. */
|
|
15137
|
+
424: {
|
|
15138
|
+
headers: {
|
|
15139
|
+
[name: string]: unknown;
|
|
15140
|
+
};
|
|
15141
|
+
content: {
|
|
15142
|
+
"application/json": components["schemas"]["SlackFileDownloadError"];
|
|
15143
|
+
};
|
|
15144
|
+
};
|
|
15145
|
+
/** @description Slack file error. */
|
|
15146
|
+
502: {
|
|
15147
|
+
headers: {
|
|
15148
|
+
[name: string]: unknown;
|
|
15149
|
+
};
|
|
15150
|
+
content: {
|
|
15151
|
+
"application/json": {
|
|
15152
|
+
/** @description Error message. */
|
|
15153
|
+
error: string;
|
|
15154
|
+
};
|
|
15155
|
+
};
|
|
15156
|
+
};
|
|
15157
|
+
};
|
|
15158
|
+
};
|
|
15159
|
+
slackSendMessage: {
|
|
15160
|
+
parameters: {
|
|
15161
|
+
query?: never;
|
|
15162
|
+
header?: never;
|
|
15163
|
+
path?: never;
|
|
15164
|
+
cookie?: never;
|
|
15165
|
+
};
|
|
15166
|
+
requestBody?: {
|
|
15167
|
+
content: {
|
|
15168
|
+
"application/json": {
|
|
15169
|
+
/** @description Markdown message body; not Slack's text field. */
|
|
15170
|
+
markdown: string;
|
|
15171
|
+
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
15172
|
+
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
15173
|
+
/** @description Slack channel or existing DM channel ID. */
|
|
15174
|
+
channel: string;
|
|
15175
|
+
/** @description Root timestamp of the thread to reply to. Omit for a top-level post. */
|
|
15176
|
+
thread_ts?: string;
|
|
15177
|
+
/** @description Required and honored for registered-root replies; optional for new roots. */
|
|
15178
|
+
idempotency_key?: string;
|
|
15179
|
+
} | {
|
|
15180
|
+
/** @description Markdown message body; not Slack's text field. */
|
|
15181
|
+
markdown: string;
|
|
15182
|
+
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
15183
|
+
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
15184
|
+
/** @description Recipient Slack user ID. Creates a new DM root; in-thread replies return to the sending session. */
|
|
15185
|
+
slack_user_id: string;
|
|
15186
|
+
/** @description Required for recipient-addressed sends. Each send creates a new DM root; root creation is not retry-safe if delivery or registration is uncertain. */
|
|
15187
|
+
idempotency_key: string;
|
|
15188
|
+
} | {
|
|
15189
|
+
/** @description Markdown message body; not Slack's text field. */
|
|
15190
|
+
markdown: string;
|
|
15191
|
+
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
15192
|
+
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
15193
|
+
/**
|
|
15194
|
+
* Format: uuid
|
|
15195
|
+
* @description Recipient Empirical UUID with one valid linked Slack account. Alternative to slack_user_id.
|
|
15196
|
+
*/
|
|
15197
|
+
user_id: string;
|
|
15198
|
+
idempotency_key: string;
|
|
15199
|
+
};
|
|
15200
|
+
};
|
|
15201
|
+
};
|
|
15202
|
+
responses: {
|
|
15203
|
+
/** @description Message posted. */
|
|
15204
|
+
200: {
|
|
15205
|
+
headers: {
|
|
15206
|
+
[name: string]: unknown;
|
|
15207
|
+
};
|
|
15208
|
+
content: {
|
|
15209
|
+
"application/json": components["schemas"]["SlackMessageResult"];
|
|
15210
|
+
};
|
|
15211
|
+
};
|
|
15212
|
+
/** @description Invalid request. */
|
|
15213
|
+
400: {
|
|
15214
|
+
headers: {
|
|
15215
|
+
[name: string]: unknown;
|
|
15216
|
+
};
|
|
15217
|
+
content: {
|
|
15218
|
+
"application/json": components["schemas"]["SlackMessageError"];
|
|
15219
|
+
};
|
|
15220
|
+
};
|
|
15221
|
+
/** @description Sandbox authentication required, or the channel is out of scope. */
|
|
15222
|
+
403: {
|
|
15223
|
+
headers: {
|
|
15224
|
+
[name: string]: unknown;
|
|
15225
|
+
};
|
|
15226
|
+
content: {
|
|
15227
|
+
"application/json": components["schemas"]["SlackMessageError"];
|
|
15228
|
+
};
|
|
15229
|
+
};
|
|
15230
|
+
/** @description Chat session or Slack connection not found. */
|
|
15231
|
+
404: {
|
|
15232
|
+
headers: {
|
|
15233
|
+
[name: string]: unknown;
|
|
15234
|
+
};
|
|
15235
|
+
content: {
|
|
15236
|
+
"application/json": components["schemas"]["SlackMessageError"];
|
|
15237
|
+
};
|
|
15238
|
+
};
|
|
15239
|
+
/** @description Idempotency conflict. */
|
|
15240
|
+
409: {
|
|
15241
|
+
headers: {
|
|
15242
|
+
[name: string]: unknown;
|
|
15243
|
+
};
|
|
15244
|
+
content: {
|
|
15245
|
+
"application/json": components["schemas"]["SlackMessageError"];
|
|
15246
|
+
};
|
|
15247
|
+
};
|
|
15248
|
+
/** @description Slack upstream error. */
|
|
15249
|
+
502: {
|
|
15250
|
+
headers: {
|
|
15251
|
+
[name: string]: unknown;
|
|
15252
|
+
};
|
|
15253
|
+
content: {
|
|
15254
|
+
"application/json": components["schemas"]["SlackMessageError"];
|
|
15255
|
+
};
|
|
15256
|
+
};
|
|
15257
|
+
};
|
|
15258
|
+
};
|
|
15259
|
+
slackProxy: {
|
|
15260
|
+
parameters: {
|
|
15261
|
+
query?: never;
|
|
15262
|
+
header?: never;
|
|
15263
|
+
path?: never;
|
|
15264
|
+
cookie?: never;
|
|
15265
|
+
};
|
|
15266
|
+
requestBody?: {
|
|
15267
|
+
content: {
|
|
15085
15268
|
"application/json": {
|
|
15086
15269
|
/**
|
|
15087
15270
|
* @description Slack Web API method to call. Read-only methods only.
|
|
@@ -15245,6 +15428,8 @@ export interface operations {
|
|
|
15245
15428
|
entity_id?: string;
|
|
15246
15429
|
/** @description When true, include registry history for deleted Slack roots. */
|
|
15247
15430
|
include_deleted?: "true" | "false";
|
|
15431
|
+
/** @description When true, omit run-notification roots with no registered inbound session or sent follow-up message. Discussion roots are always included. */
|
|
15432
|
+
hide_inactive_run_notifications?: "true" | "false";
|
|
15248
15433
|
};
|
|
15249
15434
|
header?: never;
|
|
15250
15435
|
path?: never;
|
|
@@ -15331,153 +15516,23 @@ export interface operations {
|
|
|
15331
15516
|
"application/json": {
|
|
15332
15517
|
/** @description Environments this channel is subscribed to. */
|
|
15333
15518
|
subscribed_environments?: string[];
|
|
15334
|
-
/** @description Whether the channel filters by environment. */
|
|
15335
|
-
is_env_specific?: boolean;
|
|
15336
|
-
};
|
|
15337
|
-
};
|
|
15338
|
-
};
|
|
15339
|
-
responses: {
|
|
15340
|
-
/** @description The updated channel. */
|
|
15341
|
-
200: {
|
|
15342
|
-
headers: {
|
|
15343
|
-
[name: string]: unknown;
|
|
15344
|
-
};
|
|
15345
|
-
content: {
|
|
15346
|
-
"application/json": components["schemas"]["SlackChannelMutationResponse"];
|
|
15347
|
-
};
|
|
15348
|
-
};
|
|
15349
|
-
/** @description Invalid request. */
|
|
15350
|
-
400: {
|
|
15351
|
-
headers: {
|
|
15352
|
-
[name: string]: unknown;
|
|
15353
|
-
};
|
|
15354
|
-
content: {
|
|
15355
|
-
"application/json": components["schemas"]["ErrorResponse"] | {
|
|
15356
|
-
/** @description Error message. */
|
|
15357
|
-
error: string;
|
|
15358
|
-
};
|
|
15359
|
-
};
|
|
15360
|
-
};
|
|
15361
|
-
/** @description Channel not found. */
|
|
15362
|
-
404: {
|
|
15363
|
-
headers: {
|
|
15364
|
-
[name: string]: unknown;
|
|
15365
|
-
};
|
|
15366
|
-
content: {
|
|
15367
|
-
"application/json": {
|
|
15368
|
-
/** @description Error message. */
|
|
15369
|
-
error: string;
|
|
15370
|
-
};
|
|
15371
|
-
};
|
|
15372
|
-
};
|
|
15373
|
-
};
|
|
15374
|
-
};
|
|
15375
|
-
getSlackFileMetadata: {
|
|
15376
|
-
parameters: {
|
|
15377
|
-
query?: never;
|
|
15378
|
-
header?: never;
|
|
15379
|
-
path: {
|
|
15380
|
-
/** @description Slack file ID. */
|
|
15381
|
-
file_id: string;
|
|
15382
|
-
};
|
|
15383
|
-
cookie?: never;
|
|
15384
|
-
};
|
|
15385
|
-
requestBody?: never;
|
|
15386
|
-
responses: {
|
|
15387
|
-
/** @description Slack file metadata. */
|
|
15388
|
-
200: {
|
|
15389
|
-
headers: {
|
|
15390
|
-
[name: string]: unknown;
|
|
15391
|
-
};
|
|
15392
|
-
content: {
|
|
15393
|
-
"application/json": components["schemas"]["SlackFileMetadataResponse"];
|
|
15394
|
-
};
|
|
15395
|
-
};
|
|
15396
|
-
/** @description Invalid request. */
|
|
15397
|
-
400: {
|
|
15398
|
-
headers: {
|
|
15399
|
-
[name: string]: unknown;
|
|
15400
|
-
};
|
|
15401
|
-
content: {
|
|
15402
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
15403
|
-
};
|
|
15404
|
-
};
|
|
15405
|
-
/** @description Sandbox authentication required. */
|
|
15406
|
-
403: {
|
|
15407
|
-
headers: {
|
|
15408
|
-
[name: string]: unknown;
|
|
15409
|
-
};
|
|
15410
|
-
content: {
|
|
15411
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
15412
|
-
};
|
|
15413
|
-
};
|
|
15414
|
-
/** @description File, chat session, or Slack thread not found. */
|
|
15415
|
-
404: {
|
|
15416
|
-
headers: {
|
|
15417
|
-
[name: string]: unknown;
|
|
15418
|
-
};
|
|
15419
|
-
content: {
|
|
15420
|
-
"application/json": components["schemas"]["ErrorResponse"] | {
|
|
15421
|
-
/** @description Error message. */
|
|
15422
|
-
error: string;
|
|
15423
|
-
};
|
|
15424
|
-
};
|
|
15425
|
-
};
|
|
15426
|
-
/** @description Slack file error. */
|
|
15427
|
-
502: {
|
|
15428
|
-
headers: {
|
|
15429
|
-
[name: string]: unknown;
|
|
15430
|
-
};
|
|
15431
|
-
content: {
|
|
15432
|
-
"application/json": {
|
|
15433
|
-
/** @description Error message. */
|
|
15434
|
-
error: string;
|
|
15435
|
-
};
|
|
15436
|
-
};
|
|
15437
|
-
};
|
|
15438
|
-
};
|
|
15439
|
-
};
|
|
15440
|
-
getSlackFileContent: {
|
|
15441
|
-
parameters: {
|
|
15442
|
-
query?: never;
|
|
15443
|
-
header?: never;
|
|
15444
|
-
path: {
|
|
15445
|
-
/** @description Slack file ID. */
|
|
15446
|
-
file_id: string;
|
|
15447
|
-
};
|
|
15448
|
-
cookie?: never;
|
|
15449
|
-
};
|
|
15450
|
-
requestBody?: never;
|
|
15451
|
-
responses: {
|
|
15452
|
-
/** @description The Slack file content stream. */
|
|
15453
|
-
200: {
|
|
15454
|
-
headers: {
|
|
15455
|
-
[name: string]: unknown;
|
|
15456
|
-
};
|
|
15457
|
-
content: {
|
|
15458
|
-
"application/octet-stream": string;
|
|
15459
|
-
};
|
|
15460
|
-
};
|
|
15461
|
-
/** @description Invalid request. */
|
|
15462
|
-
400: {
|
|
15463
|
-
headers: {
|
|
15464
|
-
[name: string]: unknown;
|
|
15465
|
-
};
|
|
15466
|
-
content: {
|
|
15467
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
15519
|
+
/** @description Whether the channel filters by environment. */
|
|
15520
|
+
is_env_specific?: boolean;
|
|
15468
15521
|
};
|
|
15469
15522
|
};
|
|
15470
|
-
|
|
15471
|
-
|
|
15523
|
+
};
|
|
15524
|
+
responses: {
|
|
15525
|
+
/** @description The updated channel. */
|
|
15526
|
+
200: {
|
|
15472
15527
|
headers: {
|
|
15473
15528
|
[name: string]: unknown;
|
|
15474
15529
|
};
|
|
15475
15530
|
content: {
|
|
15476
|
-
"application/json": components["schemas"]["
|
|
15531
|
+
"application/json": components["schemas"]["SlackChannelMutationResponse"];
|
|
15477
15532
|
};
|
|
15478
15533
|
};
|
|
15479
|
-
/** @description
|
|
15480
|
-
|
|
15534
|
+
/** @description Invalid request. */
|
|
15535
|
+
400: {
|
|
15481
15536
|
headers: {
|
|
15482
15537
|
[name: string]: unknown;
|
|
15483
15538
|
};
|
|
@@ -15488,17 +15543,8 @@ export interface operations {
|
|
|
15488
15543
|
};
|
|
15489
15544
|
};
|
|
15490
15545
|
};
|
|
15491
|
-
/** @description
|
|
15492
|
-
|
|
15493
|
-
headers: {
|
|
15494
|
-
[name: string]: unknown;
|
|
15495
|
-
};
|
|
15496
|
-
content: {
|
|
15497
|
-
"application/json": components["schemas"]["SlackFileDownloadError"];
|
|
15498
|
-
};
|
|
15499
|
-
};
|
|
15500
|
-
/** @description Slack file error. */
|
|
15501
|
-
502: {
|
|
15546
|
+
/** @description Channel not found. */
|
|
15547
|
+
404: {
|
|
15502
15548
|
headers: {
|
|
15503
15549
|
[name: string]: unknown;
|
|
15504
15550
|
};
|
|
@@ -15511,38 +15557,49 @@ export interface operations {
|
|
|
15511
15557
|
};
|
|
15512
15558
|
};
|
|
15513
15559
|
};
|
|
15514
|
-
|
|
15560
|
+
listSlackTeams: {
|
|
15515
15561
|
parameters: {
|
|
15516
15562
|
query?: never;
|
|
15517
15563
|
header?: never;
|
|
15518
|
-
path
|
|
15519
|
-
/** @description Slack file ID. */
|
|
15520
|
-
file_id: string;
|
|
15521
|
-
};
|
|
15564
|
+
path?: never;
|
|
15522
15565
|
cookie?: never;
|
|
15523
15566
|
};
|
|
15524
15567
|
requestBody?: never;
|
|
15525
15568
|
responses: {
|
|
15526
|
-
/** @description The Slack
|
|
15569
|
+
/** @description The Slack workspaces available to the project. */
|
|
15527
15570
|
200: {
|
|
15528
15571
|
headers: {
|
|
15529
15572
|
[name: string]: unknown;
|
|
15530
15573
|
};
|
|
15531
15574
|
content: {
|
|
15532
|
-
"application/
|
|
15575
|
+
"application/json": components["schemas"]["SlackTeamListResponse"];
|
|
15533
15576
|
};
|
|
15534
15577
|
};
|
|
15535
|
-
|
|
15536
|
-
|
|
15578
|
+
};
|
|
15579
|
+
};
|
|
15580
|
+
previewSlackThread: {
|
|
15581
|
+
parameters: {
|
|
15582
|
+
query?: never;
|
|
15583
|
+
header?: never;
|
|
15584
|
+
path: {
|
|
15585
|
+
/** @description Registered Slack thread ID. */
|
|
15586
|
+
id: number;
|
|
15587
|
+
};
|
|
15588
|
+
cookie?: never;
|
|
15589
|
+
};
|
|
15590
|
+
requestBody?: never;
|
|
15591
|
+
responses: {
|
|
15592
|
+
/** @description Compact Slack thread preview. */
|
|
15593
|
+
200: {
|
|
15537
15594
|
headers: {
|
|
15538
15595
|
[name: string]: unknown;
|
|
15539
15596
|
};
|
|
15540
15597
|
content: {
|
|
15541
|
-
"application/json": components["schemas"]["
|
|
15598
|
+
"application/json": components["schemas"]["SlackThreadPreviewResponse"];
|
|
15542
15599
|
};
|
|
15543
15600
|
};
|
|
15544
|
-
/** @description
|
|
15545
|
-
|
|
15601
|
+
/** @description Invalid request. */
|
|
15602
|
+
400: {
|
|
15546
15603
|
headers: {
|
|
15547
15604
|
[name: string]: unknown;
|
|
15548
15605
|
};
|
|
@@ -15550,57 +15607,22 @@ export interface operations {
|
|
|
15550
15607
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
15551
15608
|
};
|
|
15552
15609
|
};
|
|
15553
|
-
/** @description
|
|
15610
|
+
/** @description Slack thread not found. */
|
|
15554
15611
|
404: {
|
|
15555
15612
|
headers: {
|
|
15556
15613
|
[name: string]: unknown;
|
|
15557
15614
|
};
|
|
15558
15615
|
content: {
|
|
15559
|
-
"application/json": components["schemas"]["ErrorResponse"]
|
|
15560
|
-
/** @description Error message. */
|
|
15561
|
-
error: string;
|
|
15562
|
-
};
|
|
15563
|
-
};
|
|
15564
|
-
};
|
|
15565
|
-
/** @description Slack file download failed. */
|
|
15566
|
-
424: {
|
|
15567
|
-
headers: {
|
|
15568
|
-
[name: string]: unknown;
|
|
15569
|
-
};
|
|
15570
|
-
content: {
|
|
15571
|
-
"application/json": components["schemas"]["SlackFileDownloadError"];
|
|
15616
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15572
15617
|
};
|
|
15573
15618
|
};
|
|
15574
|
-
/** @description Slack
|
|
15619
|
+
/** @description Slack thread preview unavailable. */
|
|
15575
15620
|
502: {
|
|
15576
15621
|
headers: {
|
|
15577
15622
|
[name: string]: unknown;
|
|
15578
15623
|
};
|
|
15579
15624
|
content: {
|
|
15580
|
-
"application/json":
|
|
15581
|
-
/** @description Error message. */
|
|
15582
|
-
error: string;
|
|
15583
|
-
};
|
|
15584
|
-
};
|
|
15585
|
-
};
|
|
15586
|
-
};
|
|
15587
|
-
};
|
|
15588
|
-
listSlackTeams: {
|
|
15589
|
-
parameters: {
|
|
15590
|
-
query?: never;
|
|
15591
|
-
header?: never;
|
|
15592
|
-
path?: never;
|
|
15593
|
-
cookie?: never;
|
|
15594
|
-
};
|
|
15595
|
-
requestBody?: never;
|
|
15596
|
-
responses: {
|
|
15597
|
-
/** @description The Slack workspaces available to the project. */
|
|
15598
|
-
200: {
|
|
15599
|
-
headers: {
|
|
15600
|
-
[name: string]: unknown;
|
|
15601
|
-
};
|
|
15602
|
-
content: {
|
|
15603
|
-
"application/json": components["schemas"]["SlackTeamListResponse"];
|
|
15625
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
15604
15626
|
};
|
|
15605
15627
|
};
|
|
15606
15628
|
};
|
|
@@ -16267,181 +16289,11 @@ export interface operations {
|
|
|
16267
16289
|
[name: string]: unknown;
|
|
16268
16290
|
};
|
|
16269
16291
|
content: {
|
|
16270
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16271
|
-
};
|
|
16272
|
-
};
|
|
16273
|
-
/** @description File not found. */
|
|
16274
|
-
404: {
|
|
16275
|
-
headers: {
|
|
16276
|
-
[name: string]: unknown;
|
|
16277
|
-
};
|
|
16278
|
-
content: {
|
|
16279
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16280
|
-
};
|
|
16281
|
-
};
|
|
16282
|
-
};
|
|
16283
|
-
};
|
|
16284
|
-
uploadResourceContent: {
|
|
16285
|
-
parameters: {
|
|
16286
|
-
query: {
|
|
16287
|
-
/** @description Capability scope: `r` (read) or `w` (write). */
|
|
16288
|
-
scope: "r" | "w";
|
|
16289
|
-
/** @description Expiry as a Unix timestamp (seconds). */
|
|
16290
|
-
exp?: number | null;
|
|
16291
|
-
/** @description HMAC signature for the capability. */
|
|
16292
|
-
sig: string;
|
|
16293
|
-
};
|
|
16294
|
-
header?: never;
|
|
16295
|
-
path: {
|
|
16296
|
-
/** @description Resource ID. */
|
|
16297
|
-
id: number;
|
|
16298
|
-
};
|
|
16299
|
-
cookie?: never;
|
|
16300
|
-
};
|
|
16301
|
-
requestBody?: {
|
|
16302
|
-
content: {
|
|
16303
|
-
"application/octet-stream": string;
|
|
16304
|
-
};
|
|
16305
|
-
};
|
|
16306
|
-
responses: {
|
|
16307
|
-
/** @description The upload was stored. */
|
|
16308
|
-
200: {
|
|
16309
|
-
headers: {
|
|
16310
|
-
[name: string]: unknown;
|
|
16311
|
-
};
|
|
16312
|
-
content: {
|
|
16313
|
-
"application/json": components["schemas"]["ResourceUploadContentResponse"];
|
|
16314
|
-
};
|
|
16315
|
-
};
|
|
16316
|
-
/** @description Invalid request or missing body. */
|
|
16317
|
-
400: {
|
|
16318
|
-
headers: {
|
|
16319
|
-
[name: string]: unknown;
|
|
16320
|
-
};
|
|
16321
|
-
content: {
|
|
16322
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16323
|
-
};
|
|
16324
|
-
};
|
|
16325
|
-
/** @description Invalid scope or expired URL. */
|
|
16326
|
-
403: {
|
|
16327
|
-
headers: {
|
|
16328
|
-
[name: string]: unknown;
|
|
16329
|
-
};
|
|
16330
|
-
content: {
|
|
16331
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16332
|
-
};
|
|
16333
|
-
};
|
|
16334
|
-
/** @description File not found. */
|
|
16335
|
-
404: {
|
|
16336
|
-
headers: {
|
|
16337
|
-
[name: string]: unknown;
|
|
16338
|
-
};
|
|
16339
|
-
content: {
|
|
16340
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16341
|
-
};
|
|
16342
|
-
};
|
|
16343
|
-
};
|
|
16344
|
-
};
|
|
16345
|
-
listAlertRules: {
|
|
16346
|
-
parameters: {
|
|
16347
|
-
query?: never;
|
|
16348
|
-
header?: never;
|
|
16349
|
-
path?: never;
|
|
16350
|
-
cookie?: never;
|
|
16351
|
-
};
|
|
16352
|
-
requestBody?: never;
|
|
16353
|
-
responses: {
|
|
16354
|
-
/** @description The project's alert rules. */
|
|
16355
|
-
200: {
|
|
16356
|
-
headers: {
|
|
16357
|
-
[name: string]: unknown;
|
|
16358
|
-
};
|
|
16359
|
-
content: {
|
|
16360
|
-
"application/json": components["schemas"]["AlertRuleListResponse"];
|
|
16361
|
-
};
|
|
16362
|
-
};
|
|
16363
|
-
/** @description Invalid request or missing project scope. */
|
|
16364
|
-
400: {
|
|
16365
|
-
headers: {
|
|
16366
|
-
[name: string]: unknown;
|
|
16367
|
-
};
|
|
16368
|
-
content: {
|
|
16369
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16370
|
-
};
|
|
16371
|
-
};
|
|
16372
|
-
};
|
|
16373
|
-
};
|
|
16374
|
-
createAlertRule: {
|
|
16375
|
-
parameters: {
|
|
16376
|
-
query?: never;
|
|
16377
|
-
header?: never;
|
|
16378
|
-
path?: never;
|
|
16379
|
-
cookie?: never;
|
|
16380
|
-
};
|
|
16381
|
-
requestBody?: {
|
|
16382
|
-
content: {
|
|
16383
|
-
"application/json": components["schemas"]["CreateAlertRuleRequest"];
|
|
16384
|
-
};
|
|
16385
|
-
};
|
|
16386
|
-
responses: {
|
|
16387
|
-
/** @description The created alert rule. */
|
|
16388
|
-
200: {
|
|
16389
|
-
headers: {
|
|
16390
|
-
[name: string]: unknown;
|
|
16391
|
-
};
|
|
16392
|
-
content: {
|
|
16393
|
-
"application/json": components["schemas"]["AlertRuleResponse"];
|
|
16394
|
-
};
|
|
16395
|
-
};
|
|
16396
|
-
/** @description Invalid request or missing project scope. */
|
|
16397
|
-
400: {
|
|
16398
|
-
headers: {
|
|
16399
|
-
[name: string]: unknown;
|
|
16400
|
-
};
|
|
16401
|
-
content: {
|
|
16402
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16403
|
-
};
|
|
16404
|
-
};
|
|
16405
|
-
/** @description A rule for this (project, environment) already exists. */
|
|
16406
|
-
409: {
|
|
16407
|
-
headers: {
|
|
16408
|
-
[name: string]: unknown;
|
|
16409
|
-
};
|
|
16410
|
-
content: {
|
|
16411
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16412
|
-
};
|
|
16413
|
-
};
|
|
16414
|
-
};
|
|
16415
|
-
};
|
|
16416
|
-
listAlerts: {
|
|
16417
|
-
parameters: {
|
|
16418
|
-
query?: {
|
|
16419
|
-
/** @description Filter by alert state. Omit for all states. */
|
|
16420
|
-
state?: "open" | "resolved";
|
|
16421
|
-
/** @description Filter to alerts in this environment. */
|
|
16422
|
-
environment_id?: number;
|
|
16423
|
-
/** @description Page number (1-indexed). */
|
|
16424
|
-
page?: number;
|
|
16425
|
-
/** @description Items per page (max 100). */
|
|
16426
|
-
per_page?: number;
|
|
16427
|
-
};
|
|
16428
|
-
header?: never;
|
|
16429
|
-
path?: never;
|
|
16430
|
-
cookie?: never;
|
|
16431
|
-
};
|
|
16432
|
-
requestBody?: never;
|
|
16433
|
-
responses: {
|
|
16434
|
-
/** @description Paginated alerts. */
|
|
16435
|
-
200: {
|
|
16436
|
-
headers: {
|
|
16437
|
-
[name: string]: unknown;
|
|
16438
|
-
};
|
|
16439
|
-
content: {
|
|
16440
|
-
"application/json": components["schemas"]["AlertListResponse"];
|
|
16292
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16441
16293
|
};
|
|
16442
16294
|
};
|
|
16443
|
-
/** @description
|
|
16444
|
-
|
|
16295
|
+
/** @description File not found. */
|
|
16296
|
+
404: {
|
|
16445
16297
|
headers: {
|
|
16446
16298
|
[name: string]: unknown;
|
|
16447
16299
|
};
|
|
@@ -16451,29 +16303,40 @@ export interface operations {
|
|
|
16451
16303
|
};
|
|
16452
16304
|
};
|
|
16453
16305
|
};
|
|
16454
|
-
|
|
16306
|
+
uploadResourceContent: {
|
|
16455
16307
|
parameters: {
|
|
16456
|
-
query
|
|
16308
|
+
query: {
|
|
16309
|
+
/** @description Capability scope: `r` (read) or `w` (write). */
|
|
16310
|
+
scope: "r" | "w";
|
|
16311
|
+
/** @description Expiry as a Unix timestamp (seconds). */
|
|
16312
|
+
exp?: number | null;
|
|
16313
|
+
/** @description HMAC signature for the capability. */
|
|
16314
|
+
sig: string;
|
|
16315
|
+
};
|
|
16457
16316
|
header?: never;
|
|
16458
16317
|
path: {
|
|
16459
|
-
/** @description
|
|
16318
|
+
/** @description Resource ID. */
|
|
16460
16319
|
id: number;
|
|
16461
16320
|
};
|
|
16462
16321
|
cookie?: never;
|
|
16463
16322
|
};
|
|
16464
|
-
requestBody?:
|
|
16323
|
+
requestBody?: {
|
|
16324
|
+
content: {
|
|
16325
|
+
"application/octet-stream": string;
|
|
16326
|
+
};
|
|
16327
|
+
};
|
|
16465
16328
|
responses: {
|
|
16466
|
-
/** @description The
|
|
16329
|
+
/** @description The upload was stored. */
|
|
16467
16330
|
200: {
|
|
16468
16331
|
headers: {
|
|
16469
16332
|
[name: string]: unknown;
|
|
16470
16333
|
};
|
|
16471
16334
|
content: {
|
|
16472
|
-
"application/json": components["schemas"]["
|
|
16335
|
+
"application/json": components["schemas"]["ResourceUploadContentResponse"];
|
|
16473
16336
|
};
|
|
16474
16337
|
};
|
|
16475
|
-
/** @description
|
|
16476
|
-
|
|
16338
|
+
/** @description Invalid request or missing body. */
|
|
16339
|
+
400: {
|
|
16477
16340
|
headers: {
|
|
16478
16341
|
[name: string]: unknown;
|
|
16479
16342
|
};
|
|
@@ -16481,31 +16344,17 @@ export interface operations {
|
|
|
16481
16344
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
16482
16345
|
};
|
|
16483
16346
|
};
|
|
16484
|
-
|
|
16485
|
-
|
|
16486
|
-
listRecentAlertEvents: {
|
|
16487
|
-
parameters: {
|
|
16488
|
-
query?: {
|
|
16489
|
-
page?: number;
|
|
16490
|
-
per_page?: number;
|
|
16491
|
-
};
|
|
16492
|
-
header?: never;
|
|
16493
|
-
path?: never;
|
|
16494
|
-
cookie?: never;
|
|
16495
|
-
};
|
|
16496
|
-
requestBody?: never;
|
|
16497
|
-
responses: {
|
|
16498
|
-
/** @description Paginated alert opened and resolved events. */
|
|
16499
|
-
200: {
|
|
16347
|
+
/** @description Invalid scope or expired URL. */
|
|
16348
|
+
403: {
|
|
16500
16349
|
headers: {
|
|
16501
16350
|
[name: string]: unknown;
|
|
16502
16351
|
};
|
|
16503
16352
|
content: {
|
|
16504
|
-
"application/json": components["schemas"]["
|
|
16353
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
16505
16354
|
};
|
|
16506
16355
|
};
|
|
16507
|
-
/** @description
|
|
16508
|
-
|
|
16356
|
+
/** @description File not found. */
|
|
16357
|
+
404: {
|
|
16509
16358
|
headers: {
|
|
16510
16359
|
[name: string]: unknown;
|
|
16511
16360
|
};
|
|
@@ -17004,9 +16853,14 @@ export interface operations {
|
|
|
17004
16853
|
};
|
|
17005
16854
|
};
|
|
17006
16855
|
};
|
|
17007
|
-
|
|
16856
|
+
getChatSessionState: {
|
|
17008
16857
|
parameters: {
|
|
17009
|
-
query?:
|
|
16858
|
+
query?: {
|
|
16859
|
+
/** @description Page number (1-indexed). Default 1. */
|
|
16860
|
+
page?: number;
|
|
16861
|
+
/** @description Entries per page (1-100). Default 50. */
|
|
16862
|
+
per_page?: number;
|
|
16863
|
+
};
|
|
17010
16864
|
header?: never;
|
|
17011
16865
|
path: {
|
|
17012
16866
|
/** @description Chat session ID. */
|
|
@@ -17016,112 +16870,13 @@ export interface operations {
|
|
|
17016
16870
|
};
|
|
17017
16871
|
requestBody?: never;
|
|
17018
16872
|
responses: {
|
|
17019
|
-
/** @description
|
|
16873
|
+
/** @description A page of log entries (newest block first), plus user messages and sandbox state. */
|
|
17020
16874
|
200: {
|
|
17021
16875
|
headers: {
|
|
17022
16876
|
[name: string]: unknown;
|
|
17023
16877
|
};
|
|
17024
16878
|
content: {
|
|
17025
|
-
"application/json": components["schemas"]["
|
|
17026
|
-
};
|
|
17027
|
-
};
|
|
17028
|
-
/** @description Chat session not found. */
|
|
17029
|
-
404: {
|
|
17030
|
-
headers: {
|
|
17031
|
-
[name: string]: unknown;
|
|
17032
|
-
};
|
|
17033
|
-
content: {
|
|
17034
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17035
|
-
};
|
|
17036
|
-
};
|
|
17037
|
-
};
|
|
17038
|
-
};
|
|
17039
|
-
createChatSessionThread: {
|
|
17040
|
-
parameters: {
|
|
17041
|
-
query?: never;
|
|
17042
|
-
header?: never;
|
|
17043
|
-
path: {
|
|
17044
|
-
/** @description Chat session ID. */
|
|
17045
|
-
id: number;
|
|
17046
|
-
};
|
|
17047
|
-
cookie?: never;
|
|
17048
|
-
};
|
|
17049
|
-
requestBody?: {
|
|
17050
|
-
content: {
|
|
17051
|
-
"application/json": {
|
|
17052
|
-
/**
|
|
17053
|
-
* @description Messaging provider. Only "slack" is supported.
|
|
17054
|
-
* @default slack
|
|
17055
|
-
* @enum {string}
|
|
17056
|
-
*/
|
|
17057
|
-
provider?: "slack";
|
|
17058
|
-
/**
|
|
17059
|
-
* @description Creates an agent-controlled Slack thread: explicit outbound messages, in-thread replies forwarded to the session.
|
|
17060
|
-
* @enum {string}
|
|
17061
|
-
*/
|
|
17062
|
-
purpose: "agent";
|
|
17063
|
-
/**
|
|
17064
|
-
* @description Target type. "im" opens a DM with the recipient user.
|
|
17065
|
-
* @enum {string}
|
|
17066
|
-
*/
|
|
17067
|
-
channel_type: "im";
|
|
17068
|
-
/** @description Markdown root message for the Slack DM. Empirical converts it to Slack formatting. */
|
|
17069
|
-
markdown: string;
|
|
17070
|
-
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
17071
|
-
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
17072
|
-
/**
|
|
17073
|
-
* Format: uuid
|
|
17074
|
-
* @description Recipient Empirical user UUID whose linked Slack account receives the agent DM. Use either user_id or slack_user_id, not both.
|
|
17075
|
-
*/
|
|
17076
|
-
user_id?: string;
|
|
17077
|
-
/** @description Recipient Slack user ID (for example, U069HNK3K46). Use either slack_user_id or user_id, not both; prefer slack_user_id from an inbound Slack prompt. */
|
|
17078
|
-
slack_user_id?: string;
|
|
17079
|
-
} | {
|
|
17080
|
-
/**
|
|
17081
|
-
* @description Messaging provider. Only "slack" is supported.
|
|
17082
|
-
* @default slack
|
|
17083
|
-
* @enum {string}
|
|
17084
|
-
*/
|
|
17085
|
-
provider?: "slack";
|
|
17086
|
-
/**
|
|
17087
|
-
* @description Creates an agent-controlled Slack thread: explicit outbound messages, mentioned replies forwarded to the session.
|
|
17088
|
-
* @enum {string}
|
|
17089
|
-
*/
|
|
17090
|
-
purpose: "agent";
|
|
17091
|
-
/**
|
|
17092
|
-
* @description Target type. "channel" posts the root message into a channel.
|
|
17093
|
-
* @default channel
|
|
17094
|
-
* @enum {string}
|
|
17095
|
-
*/
|
|
17096
|
-
channel_type?: "channel";
|
|
17097
|
-
/** @description Slack workspace/team ID. */
|
|
17098
|
-
team_id: string;
|
|
17099
|
-
/** @description Slack channel ID. */
|
|
17100
|
-
channel_id: string;
|
|
17101
|
-
/** @description Markdown root message for the Slack thread. Empirical converts it to Slack formatting. */
|
|
17102
|
-
markdown: string;
|
|
17103
|
-
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
17104
|
-
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
17105
|
-
};
|
|
17106
|
-
};
|
|
17107
|
-
};
|
|
17108
|
-
responses: {
|
|
17109
|
-
/** @description The newly created thread. */
|
|
17110
|
-
201: {
|
|
17111
|
-
headers: {
|
|
17112
|
-
[name: string]: unknown;
|
|
17113
|
-
};
|
|
17114
|
-
content: {
|
|
17115
|
-
"application/json": components["schemas"]["ChatSessionThreadResponse"];
|
|
17116
|
-
};
|
|
17117
|
-
};
|
|
17118
|
-
/** @description Invalid request or missing Slack link. */
|
|
17119
|
-
400: {
|
|
17120
|
-
headers: {
|
|
17121
|
-
[name: string]: unknown;
|
|
17122
|
-
};
|
|
17123
|
-
content: {
|
|
17124
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
16879
|
+
"application/json": components["schemas"]["ChatSessionStateResponse"];
|
|
17125
16880
|
};
|
|
17126
16881
|
};
|
|
17127
16882
|
/** @description Chat session not found. */
|
|
@@ -17133,126 +16888,6 @@ export interface operations {
|
|
|
17133
16888
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
17134
16889
|
};
|
|
17135
16890
|
};
|
|
17136
|
-
/** @description Thread already exists. */
|
|
17137
|
-
409: {
|
|
17138
|
-
headers: {
|
|
17139
|
-
[name: string]: unknown;
|
|
17140
|
-
};
|
|
17141
|
-
content: {
|
|
17142
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17143
|
-
};
|
|
17144
|
-
};
|
|
17145
|
-
/** @description Slack token is not configured. */
|
|
17146
|
-
424: {
|
|
17147
|
-
headers: {
|
|
17148
|
-
[name: string]: unknown;
|
|
17149
|
-
};
|
|
17150
|
-
content: {
|
|
17151
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17152
|
-
};
|
|
17153
|
-
};
|
|
17154
|
-
/** @description Failed to create the Slack thread. */
|
|
17155
|
-
502: {
|
|
17156
|
-
headers: {
|
|
17157
|
-
[name: string]: unknown;
|
|
17158
|
-
};
|
|
17159
|
-
content: {
|
|
17160
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17161
|
-
};
|
|
17162
|
-
};
|
|
17163
|
-
};
|
|
17164
|
-
};
|
|
17165
|
-
createChatSessionThreadMessage: {
|
|
17166
|
-
parameters: {
|
|
17167
|
-
query?: never;
|
|
17168
|
-
header?: {
|
|
17169
|
-
/** @description Stable caller-generated key for safely retrying this Slack post. Alternative to the body `idempotency_key` field. */
|
|
17170
|
-
"idempotency-key"?: string;
|
|
17171
|
-
};
|
|
17172
|
-
path: {
|
|
17173
|
-
/** @description Chat session ID. */
|
|
17174
|
-
id: number;
|
|
17175
|
-
/** @description Chat session thread ID. */
|
|
17176
|
-
thread_id: number;
|
|
17177
|
-
};
|
|
17178
|
-
cookie?: never;
|
|
17179
|
-
};
|
|
17180
|
-
requestBody?: {
|
|
17181
|
-
content: {
|
|
17182
|
-
"application/json": {
|
|
17183
|
-
/** @description Markdown message to post to the Slack thread. Empirical converts it to Slack formatting. */
|
|
17184
|
-
markdown: string;
|
|
17185
|
-
/** @description Actions the message intentionally offers. Omit this field for informational messages, including merged or closed PR updates. */
|
|
17186
|
-
supported_actions?: components["schemas"]["SlackSupportedAction"][];
|
|
17187
|
-
/** @description Stable caller-generated key for safely retrying this Slack post. May be sent here or as the `Idempotency-Key` request header; the body field wins when both are present. Exactly one is required. */
|
|
17188
|
-
idempotency_key?: string;
|
|
17189
|
-
};
|
|
17190
|
-
};
|
|
17191
|
-
};
|
|
17192
|
-
responses: {
|
|
17193
|
-
/** @description The previously sent message. */
|
|
17194
|
-
200: {
|
|
17195
|
-
headers: {
|
|
17196
|
-
[name: string]: unknown;
|
|
17197
|
-
};
|
|
17198
|
-
content: {
|
|
17199
|
-
"application/json": components["schemas"]["ChatSessionThreadMessageResponse"];
|
|
17200
|
-
};
|
|
17201
|
-
};
|
|
17202
|
-
/** @description The sent message. */
|
|
17203
|
-
201: {
|
|
17204
|
-
headers: {
|
|
17205
|
-
[name: string]: unknown;
|
|
17206
|
-
};
|
|
17207
|
-
content: {
|
|
17208
|
-
"application/json": components["schemas"]["ChatSessionThreadMessageResponse"];
|
|
17209
|
-
};
|
|
17210
|
-
};
|
|
17211
|
-
/** @description Thread does not accept agent messages, Slack sync is disabled for it, or the idempotency key is missing. */
|
|
17212
|
-
400: {
|
|
17213
|
-
headers: {
|
|
17214
|
-
[name: string]: unknown;
|
|
17215
|
-
};
|
|
17216
|
-
content: {
|
|
17217
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17218
|
-
};
|
|
17219
|
-
};
|
|
17220
|
-
/** @description Chat session thread not found. */
|
|
17221
|
-
404: {
|
|
17222
|
-
headers: {
|
|
17223
|
-
[name: string]: unknown;
|
|
17224
|
-
};
|
|
17225
|
-
content: {
|
|
17226
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17227
|
-
};
|
|
17228
|
-
};
|
|
17229
|
-
/** @description Idempotency conflict. */
|
|
17230
|
-
409: {
|
|
17231
|
-
headers: {
|
|
17232
|
-
[name: string]: unknown;
|
|
17233
|
-
};
|
|
17234
|
-
content: {
|
|
17235
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17236
|
-
};
|
|
17237
|
-
};
|
|
17238
|
-
/** @description Slack token is not configured. */
|
|
17239
|
-
424: {
|
|
17240
|
-
headers: {
|
|
17241
|
-
[name: string]: unknown;
|
|
17242
|
-
};
|
|
17243
|
-
content: {
|
|
17244
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17245
|
-
};
|
|
17246
|
-
};
|
|
17247
|
-
/** @description Failed to post Slack message. */
|
|
17248
|
-
502: {
|
|
17249
|
-
headers: {
|
|
17250
|
-
[name: string]: unknown;
|
|
17251
|
-
};
|
|
17252
|
-
content: {
|
|
17253
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17254
|
-
};
|
|
17255
|
-
};
|
|
17256
16891
|
};
|
|
17257
16892
|
};
|
|
17258
16893
|
listChatSessionTriggers: {
|
|
@@ -17743,32 +17378,12 @@ export interface operations {
|
|
|
17743
17378
|
[name: string]: unknown;
|
|
17744
17379
|
};
|
|
17745
17380
|
content: {
|
|
17746
|
-
"application/json": components["schemas"]["GsheetPlainError"];
|
|
17747
|
-
};
|
|
17748
|
-
};
|
|
17749
|
-
};
|
|
17750
|
-
};
|
|
17751
|
-
listPlaywrightVersions: {
|
|
17752
|
-
parameters: {
|
|
17753
|
-
query?: never;
|
|
17754
|
-
header?: never;
|
|
17755
|
-
path?: never;
|
|
17756
|
-
cookie?: never;
|
|
17757
|
-
};
|
|
17758
|
-
requestBody?: never;
|
|
17759
|
-
responses: {
|
|
17760
|
-
/** @description Supported Playwright versions and the default version. */
|
|
17761
|
-
200: {
|
|
17762
|
-
headers: {
|
|
17763
|
-
[name: string]: unknown;
|
|
17764
|
-
};
|
|
17765
|
-
content: {
|
|
17766
|
-
"application/json": components["schemas"]["PlaywrightVersionsResponse"];
|
|
17381
|
+
"application/json": components["schemas"]["GsheetPlainError"];
|
|
17767
17382
|
};
|
|
17768
17383
|
};
|
|
17769
17384
|
};
|
|
17770
17385
|
};
|
|
17771
|
-
|
|
17386
|
+
listPlaywrightVersions: {
|
|
17772
17387
|
parameters: {
|
|
17773
17388
|
query?: never;
|
|
17774
17389
|
header?: never;
|
|
@@ -17777,31 +17392,13 @@ export interface operations {
|
|
|
17777
17392
|
};
|
|
17778
17393
|
requestBody?: never;
|
|
17779
17394
|
responses: {
|
|
17780
|
-
/** @description
|
|
17395
|
+
/** @description Supported Playwright versions and the default version. */
|
|
17781
17396
|
200: {
|
|
17782
17397
|
headers: {
|
|
17783
17398
|
[name: string]: unknown;
|
|
17784
17399
|
};
|
|
17785
17400
|
content: {
|
|
17786
|
-
"application/json": components["schemas"]["
|
|
17787
|
-
};
|
|
17788
|
-
};
|
|
17789
|
-
/** @description Repository host is not supported. */
|
|
17790
|
-
400: {
|
|
17791
|
-
headers: {
|
|
17792
|
-
[name: string]: unknown;
|
|
17793
|
-
};
|
|
17794
|
-
content: {
|
|
17795
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17796
|
-
};
|
|
17797
|
-
};
|
|
17798
|
-
/** @description Not authorised to access the repository. */
|
|
17799
|
-
403: {
|
|
17800
|
-
headers: {
|
|
17801
|
-
[name: string]: unknown;
|
|
17802
|
-
};
|
|
17803
|
-
content: {
|
|
17804
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
17401
|
+
"application/json": components["schemas"]["PlaywrightVersionsResponse"];
|
|
17805
17402
|
};
|
|
17806
17403
|
};
|
|
17807
17404
|
};
|
|
@@ -18226,101 +17823,6 @@ export interface operations {
|
|
|
18226
17823
|
};
|
|
18227
17824
|
};
|
|
18228
17825
|
};
|
|
18229
|
-
deleteAlertRule: {
|
|
18230
|
-
parameters: {
|
|
18231
|
-
query?: never;
|
|
18232
|
-
header?: never;
|
|
18233
|
-
path: {
|
|
18234
|
-
/** @description Alert rule ID. */
|
|
18235
|
-
id: number;
|
|
18236
|
-
};
|
|
18237
|
-
cookie?: never;
|
|
18238
|
-
};
|
|
18239
|
-
requestBody?: never;
|
|
18240
|
-
responses: {
|
|
18241
|
-
/** @description The rule was deleted. */
|
|
18242
|
-
200: {
|
|
18243
|
-
headers: {
|
|
18244
|
-
[name: string]: unknown;
|
|
18245
|
-
};
|
|
18246
|
-
content: {
|
|
18247
|
-
"application/json": components["schemas"]["AlertRuleDeleteResponse"];
|
|
18248
|
-
};
|
|
18249
|
-
};
|
|
18250
|
-
/** @description Alert rule not found. */
|
|
18251
|
-
404: {
|
|
18252
|
-
headers: {
|
|
18253
|
-
[name: string]: unknown;
|
|
18254
|
-
};
|
|
18255
|
-
content: {
|
|
18256
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18257
|
-
};
|
|
18258
|
-
};
|
|
18259
|
-
/** @description Alerts reference this rule; it cannot be deleted. */
|
|
18260
|
-
409: {
|
|
18261
|
-
headers: {
|
|
18262
|
-
[name: string]: unknown;
|
|
18263
|
-
};
|
|
18264
|
-
content: {
|
|
18265
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18266
|
-
};
|
|
18267
|
-
};
|
|
18268
|
-
};
|
|
18269
|
-
};
|
|
18270
|
-
updateAlertRule: {
|
|
18271
|
-
parameters: {
|
|
18272
|
-
query?: never;
|
|
18273
|
-
header?: never;
|
|
18274
|
-
path: {
|
|
18275
|
-
/** @description Alert rule ID. */
|
|
18276
|
-
id: number;
|
|
18277
|
-
};
|
|
18278
|
-
cookie?: never;
|
|
18279
|
-
};
|
|
18280
|
-
requestBody?: {
|
|
18281
|
-
content: {
|
|
18282
|
-
"application/json": components["schemas"]["PatchAlertRuleRequest"];
|
|
18283
|
-
};
|
|
18284
|
-
};
|
|
18285
|
-
responses: {
|
|
18286
|
-
/** @description The updated alert rule. */
|
|
18287
|
-
200: {
|
|
18288
|
-
headers: {
|
|
18289
|
-
[name: string]: unknown;
|
|
18290
|
-
};
|
|
18291
|
-
content: {
|
|
18292
|
-
"application/json": components["schemas"]["AlertRuleResponse"];
|
|
18293
|
-
};
|
|
18294
|
-
};
|
|
18295
|
-
/** @description Invalid request. */
|
|
18296
|
-
400: {
|
|
18297
|
-
headers: {
|
|
18298
|
-
[name: string]: unknown;
|
|
18299
|
-
};
|
|
18300
|
-
content: {
|
|
18301
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18302
|
-
};
|
|
18303
|
-
};
|
|
18304
|
-
/** @description Alert rule not found. */
|
|
18305
|
-
404: {
|
|
18306
|
-
headers: {
|
|
18307
|
-
[name: string]: unknown;
|
|
18308
|
-
};
|
|
18309
|
-
content: {
|
|
18310
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18311
|
-
};
|
|
18312
|
-
};
|
|
18313
|
-
/** @description Another rule already holds this (project, environment). */
|
|
18314
|
-
409: {
|
|
18315
|
-
headers: {
|
|
18316
|
-
[name: string]: unknown;
|
|
18317
|
-
};
|
|
18318
|
-
content: {
|
|
18319
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
18320
|
-
};
|
|
18321
|
-
};
|
|
18322
|
-
};
|
|
18323
|
-
};
|
|
18324
17826
|
listChatSessions: {
|
|
18325
17827
|
parameters: {
|
|
18326
17828
|
query?: {
|
|
@@ -19055,6 +18557,7 @@ export interface operations {
|
|
|
19055
18557
|
/** @enum {string} */
|
|
19056
18558
|
send_action: "steer" | "follow_up" | "stop";
|
|
19057
18559
|
created_by?: string | null;
|
|
18560
|
+
rpc_command_id?: string;
|
|
19058
18561
|
};
|
|
19059
18562
|
};
|
|
19060
18563
|
};
|
|
@@ -19457,43 +18960,6 @@ export interface operations {
|
|
|
19457
18960
|
};
|
|
19458
18961
|
};
|
|
19459
18962
|
};
|
|
19460
|
-
getChatSessionState: {
|
|
19461
|
-
parameters: {
|
|
19462
|
-
query?: {
|
|
19463
|
-
/** @description Page number (1-indexed). Default 1. */
|
|
19464
|
-
page?: number;
|
|
19465
|
-
/** @description Entries per page (1-100). Default 50. */
|
|
19466
|
-
per_page?: number;
|
|
19467
|
-
};
|
|
19468
|
-
header?: never;
|
|
19469
|
-
path: {
|
|
19470
|
-
/** @description Chat session ID. */
|
|
19471
|
-
id: number;
|
|
19472
|
-
};
|
|
19473
|
-
cookie?: never;
|
|
19474
|
-
};
|
|
19475
|
-
requestBody?: never;
|
|
19476
|
-
responses: {
|
|
19477
|
-
/** @description A page of log entries (newest block first), plus user messages and sandbox state. */
|
|
19478
|
-
200: {
|
|
19479
|
-
headers: {
|
|
19480
|
-
[name: string]: unknown;
|
|
19481
|
-
};
|
|
19482
|
-
content: {
|
|
19483
|
-
"application/json": components["schemas"]["ChatSessionStateResponse"];
|
|
19484
|
-
};
|
|
19485
|
-
};
|
|
19486
|
-
/** @description Chat session not found. */
|
|
19487
|
-
404: {
|
|
19488
|
-
headers: {
|
|
19489
|
-
[name: string]: unknown;
|
|
19490
|
-
};
|
|
19491
|
-
content: {
|
|
19492
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
19493
|
-
};
|
|
19494
|
-
};
|
|
19495
|
-
};
|
|
19496
|
-
};
|
|
19497
18963
|
getChatSessionSnapshot: {
|
|
19498
18964
|
parameters: {
|
|
19499
18965
|
query?: never;
|
|
@@ -19837,10 +19303,7 @@ export interface operations {
|
|
|
19837
19303
|
};
|
|
19838
19304
|
listEnvironmentVariables: {
|
|
19839
19305
|
parameters: {
|
|
19840
|
-
query?:
|
|
19841
|
-
/** @description Resolve the project by repository name instead of the x-project-id header. */
|
|
19842
|
-
project_repo_name?: string;
|
|
19843
|
-
};
|
|
19306
|
+
query?: never;
|
|
19844
19307
|
header?: never;
|
|
19845
19308
|
path?: never;
|
|
19846
19309
|
cookie?: never;
|
|
@@ -19856,7 +19319,7 @@ export interface operations {
|
|
|
19856
19319
|
"application/json": components["schemas"]["EnvironmentVariableListResponse"];
|
|
19857
19320
|
};
|
|
19858
19321
|
};
|
|
19859
|
-
/** @description Invalid or missing project
|
|
19322
|
+
/** @description Invalid request or missing project scope. */
|
|
19860
19323
|
400: {
|
|
19861
19324
|
headers: {
|
|
19862
19325
|
[name: string]: unknown;
|
|
@@ -19886,8 +19349,6 @@ export interface operations {
|
|
|
19886
19349
|
requestBody?: {
|
|
19887
19350
|
content: {
|
|
19888
19351
|
"application/json": {
|
|
19889
|
-
/** @description ID of the project the variable belongs to. */
|
|
19890
|
-
project_id: number;
|
|
19891
19352
|
/** @description Variable name. */
|
|
19892
19353
|
name: string;
|
|
19893
19354
|
/** @description Optional human-readable description. */
|
|
@@ -22570,7 +22031,7 @@ export interface operations {
|
|
|
22570
22031
|
};
|
|
22571
22032
|
};
|
|
22572
22033
|
responses: {
|
|
22573
|
-
/** @description The created installation. */
|
|
22034
|
+
/** @description The created or reauthorized installation. */
|
|
22574
22035
|
200: {
|
|
22575
22036
|
headers: {
|
|
22576
22037
|
[name: string]: unknown;
|
|
@@ -22597,6 +22058,15 @@ export interface operations {
|
|
|
22597
22058
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
22598
22059
|
};
|
|
22599
22060
|
};
|
|
22061
|
+
/** @description The Jira site belongs to another organisation. */
|
|
22062
|
+
409: {
|
|
22063
|
+
headers: {
|
|
22064
|
+
[name: string]: unknown;
|
|
22065
|
+
};
|
|
22066
|
+
content: {
|
|
22067
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22068
|
+
};
|
|
22069
|
+
};
|
|
22600
22070
|
/** @description Failed to save the installation. */
|
|
22601
22071
|
500: {
|
|
22602
22072
|
headers: {
|
|
@@ -22683,6 +22153,15 @@ export interface operations {
|
|
|
22683
22153
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
22684
22154
|
};
|
|
22685
22155
|
};
|
|
22156
|
+
/** @description Jira reauthorization is required. */
|
|
22157
|
+
409: {
|
|
22158
|
+
headers: {
|
|
22159
|
+
[name: string]: unknown;
|
|
22160
|
+
};
|
|
22161
|
+
content: {
|
|
22162
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22163
|
+
};
|
|
22164
|
+
};
|
|
22686
22165
|
};
|
|
22687
22166
|
};
|
|
22688
22167
|
revokeJiraInstallation: {
|
|
@@ -22862,6 +22341,8 @@ export interface operations {
|
|
|
22862
22341
|
linear_organization_id: string;
|
|
22863
22342
|
/** @description OAuth access token for the Linear API. */
|
|
22864
22343
|
linear_access_token: string;
|
|
22344
|
+
/** @description OAuth refresh token for the Linear API. */
|
|
22345
|
+
linear_refresh_token?: string;
|
|
22865
22346
|
/**
|
|
22866
22347
|
* Format: date-time
|
|
22867
22348
|
* @description Expiry of the access token.
|
|
@@ -22881,35 +22362,13 @@ export interface operations {
|
|
|
22881
22362
|
id: string;
|
|
22882
22363
|
name: string;
|
|
22883
22364
|
key: string;
|
|
22884
|
-
description: string | null;
|
|
22885
|
-
states: {
|
|
22886
|
-
id: string;
|
|
22887
|
-
name: string;
|
|
22888
|
-
color: string;
|
|
22889
|
-
/** @enum {string} */
|
|
22890
|
-
type: "backlog" | "unstarted" | "started" | "completed" | "canceled";
|
|
22891
|
-
position: number;
|
|
22892
|
-
}[];
|
|
22893
|
-
labels: {
|
|
22894
|
-
id: string;
|
|
22895
|
-
name: string;
|
|
22896
|
-
description?: string;
|
|
22897
|
-
isGroup: boolean;
|
|
22898
|
-
color: string;
|
|
22899
|
-
/** Format: date-time */
|
|
22900
|
-
createdAt: string | null;
|
|
22901
|
-
/** Format: date-time */
|
|
22902
|
-
updatedAt: string | null;
|
|
22903
|
-
/** Format: date-time */
|
|
22904
|
-
archivedAt?: string | null;
|
|
22905
|
-
}[];
|
|
22906
22365
|
}[];
|
|
22907
22366
|
};
|
|
22908
22367
|
};
|
|
22909
22368
|
};
|
|
22910
22369
|
};
|
|
22911
22370
|
responses: {
|
|
22912
|
-
/** @description The created installation. */
|
|
22371
|
+
/** @description The created or reauthorized installation. */
|
|
22913
22372
|
200: {
|
|
22914
22373
|
headers: {
|
|
22915
22374
|
[name: string]: unknown;
|
|
@@ -24596,9 +24055,17 @@ export interface operations {
|
|
|
24596
24055
|
has_branching_enabled?: boolean;
|
|
24597
24056
|
default_branch?: string;
|
|
24598
24057
|
persistent_branches?: string[];
|
|
24599
|
-
/**
|
|
24058
|
+
/**
|
|
24059
|
+
* @deprecated
|
|
24060
|
+
* @description Read-only. Set `concurrency` on the trigger request or `scheduled_concurrency` on the environment instead.
|
|
24061
|
+
* @enum {string}
|
|
24062
|
+
*/
|
|
24600
24063
|
test_run_concurrency_limit?: "none" | "project" | "environment" | "branch_environment";
|
|
24601
|
-
/**
|
|
24064
|
+
/**
|
|
24065
|
+
* @deprecated
|
|
24066
|
+
* @description Read-only. Set `concurrency` on the trigger request or `scheduled_concurrency` on the environment instead.
|
|
24067
|
+
* @enum {string}
|
|
24068
|
+
*/
|
|
24602
24069
|
test_run_concurrency_behavior?: "cancel_previous" | "queue_new";
|
|
24603
24070
|
/** @enum {string} */
|
|
24604
24071
|
test_run_region?: "us-east-1" | "ap-south-1";
|
|
@@ -25273,6 +24740,35 @@ export interface operations {
|
|
|
25273
24740
|
};
|
|
25274
24741
|
};
|
|
25275
24742
|
};
|
|
24743
|
+
getProjectClone: {
|
|
24744
|
+
parameters: {
|
|
24745
|
+
query?: never;
|
|
24746
|
+
header?: never;
|
|
24747
|
+
path?: never;
|
|
24748
|
+
cookie?: never;
|
|
24749
|
+
};
|
|
24750
|
+
requestBody?: never;
|
|
24751
|
+
responses: {
|
|
24752
|
+
/** @description Clone URL for the project. */
|
|
24753
|
+
200: {
|
|
24754
|
+
headers: {
|
|
24755
|
+
[name: string]: unknown;
|
|
24756
|
+
};
|
|
24757
|
+
content: {
|
|
24758
|
+
"application/json": components["schemas"]["ProjectCloneResponse"];
|
|
24759
|
+
};
|
|
24760
|
+
};
|
|
24761
|
+
/** @description Repository host is not supported. */
|
|
24762
|
+
400: {
|
|
24763
|
+
headers: {
|
|
24764
|
+
[name: string]: unknown;
|
|
24765
|
+
};
|
|
24766
|
+
content: {
|
|
24767
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
24768
|
+
};
|
|
24769
|
+
};
|
|
24770
|
+
};
|
|
24771
|
+
};
|
|
25276
24772
|
getProjectGitToken: {
|
|
25277
24773
|
parameters: {
|
|
25278
24774
|
query?: never;
|
|
@@ -25708,8 +25204,6 @@ export interface operations {
|
|
|
25708
25204
|
page?: number;
|
|
25709
25205
|
/** @description Items per page. */
|
|
25710
25206
|
per_page?: number;
|
|
25711
|
-
/** @description Project to list requests for, when the `x-project-id` header is absent. */
|
|
25712
|
-
project_id?: string;
|
|
25713
25207
|
/** @description URL-encoded JSON array of generic filter conditions; malformed input is ignored. */
|
|
25714
25208
|
filters?: string;
|
|
25715
25209
|
};
|
|
@@ -25728,7 +25222,7 @@ export interface operations {
|
|
|
25728
25222
|
"application/json": components["schemas"]["RequestListResponse"];
|
|
25729
25223
|
};
|
|
25730
25224
|
};
|
|
25731
|
-
/** @description
|
|
25225
|
+
/** @description Invalid request or missing project scope. */
|
|
25732
25226
|
400: {
|
|
25733
25227
|
headers: {
|
|
25734
25228
|
[name: string]: unknown;
|
|
@@ -25771,10 +25265,6 @@ export interface operations {
|
|
|
25771
25265
|
* @enum {string}
|
|
25772
25266
|
*/
|
|
25773
25267
|
status?: "draft" | "open" | "in-review" | "closed" | "resolved";
|
|
25774
|
-
/** @description Project the request belongs to. */
|
|
25775
|
-
project_id?: number | string | unknown;
|
|
25776
|
-
/** @description Repository name to resolve the project, if `project_id` is absent. */
|
|
25777
|
-
project_repo_name?: string | null;
|
|
25778
25268
|
};
|
|
25779
25269
|
};
|
|
25780
25270
|
};
|
|
@@ -26293,6 +25783,15 @@ export interface operations {
|
|
|
26293
25783
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
26294
25784
|
};
|
|
26295
25785
|
};
|
|
25786
|
+
/** @description Run ledger unavailable; retry the event. */
|
|
25787
|
+
503: {
|
|
25788
|
+
headers: {
|
|
25789
|
+
[name: string]: unknown;
|
|
25790
|
+
};
|
|
25791
|
+
content: {
|
|
25792
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25793
|
+
};
|
|
25794
|
+
};
|
|
26296
25795
|
};
|
|
26297
25796
|
};
|
|
26298
25797
|
updateTestRunShardState: {
|
|
@@ -26452,6 +25951,47 @@ export interface operations {
|
|
|
26452
25951
|
};
|
|
26453
25952
|
};
|
|
26454
25953
|
};
|
|
25954
|
+
getUiLiveTestRun: {
|
|
25955
|
+
parameters: {
|
|
25956
|
+
query?: never;
|
|
25957
|
+
header?: never;
|
|
25958
|
+
path: {
|
|
25959
|
+
/** @description Test run database identifier. */
|
|
25960
|
+
id: number;
|
|
25961
|
+
};
|
|
25962
|
+
cookie?: never;
|
|
25963
|
+
};
|
|
25964
|
+
requestBody?: never;
|
|
25965
|
+
responses: {
|
|
25966
|
+
/** @description The mutable test-run snapshot. */
|
|
25967
|
+
200: {
|
|
25968
|
+
headers: {
|
|
25969
|
+
[name: string]: unknown;
|
|
25970
|
+
};
|
|
25971
|
+
content: {
|
|
25972
|
+
"application/json": components["schemas"]["UiLiveTestRunResponse"];
|
|
25973
|
+
};
|
|
25974
|
+
};
|
|
25975
|
+
/** @description Invalid cross-check header. */
|
|
25976
|
+
400: {
|
|
25977
|
+
headers: {
|
|
25978
|
+
[name: string]: unknown;
|
|
25979
|
+
};
|
|
25980
|
+
content: {
|
|
25981
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25982
|
+
};
|
|
25983
|
+
};
|
|
25984
|
+
/** @description Test run not found. */
|
|
25985
|
+
404: {
|
|
25986
|
+
headers: {
|
|
25987
|
+
[name: string]: unknown;
|
|
25988
|
+
};
|
|
25989
|
+
content: {
|
|
25990
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25991
|
+
};
|
|
25992
|
+
};
|
|
25993
|
+
};
|
|
25994
|
+
};
|
|
26455
25995
|
createUploadUrls: {
|
|
26456
25996
|
parameters: {
|
|
26457
25997
|
query?: never;
|