@empiricalrun/playwright-utils 0.60.3 → 0.61.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -211,6 +211,26 @@ export interface paths {
|
|
|
211
211
|
patch?: never;
|
|
212
212
|
trace?: never;
|
|
213
213
|
};
|
|
214
|
+
"/api/test-runs/{id}/linked-changes": {
|
|
215
|
+
parameters: {
|
|
216
|
+
query?: never;
|
|
217
|
+
header?: never;
|
|
218
|
+
path?: never;
|
|
219
|
+
cookie?: never;
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* ⚙️ 🧪 Get linked test changes for a run
|
|
223
|
+
* @description For a run triggered by an app pull request, evaluates the same-name test branch live on GitHub (the state behind the "Empirical linked test changes" check) and returns the latest check written for the PR. Addressed by the database id. Serves the dashboard UI.
|
|
224
|
+
*/
|
|
225
|
+
get: operations["getTestRunLinkedChanges"];
|
|
226
|
+
put?: never;
|
|
227
|
+
post?: never;
|
|
228
|
+
delete?: never;
|
|
229
|
+
options?: never;
|
|
230
|
+
head?: never;
|
|
231
|
+
patch?: never;
|
|
232
|
+
trace?: never;
|
|
233
|
+
};
|
|
214
234
|
"/api/test-runs/{id}/logs": {
|
|
215
235
|
parameters: {
|
|
216
236
|
query?: never;
|
|
@@ -1129,7 +1149,7 @@ export interface paths {
|
|
|
1129
1149
|
put?: never;
|
|
1130
1150
|
/**
|
|
1131
1151
|
* 🤖 Post a Slack message
|
|
1132
|
-
* @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.
|
|
1152
|
+
* @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-wide mentions (<!channel>, <!here>, <!everyone>) are rejected; tag a subteam or users instead. 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.
|
|
1133
1153
|
*/
|
|
1134
1154
|
post: operations["slackSendMessage"];
|
|
1135
1155
|
delete?: never;
|
|
@@ -1743,7 +1763,7 @@ export interface paths {
|
|
|
1743
1763
|
put?: never;
|
|
1744
1764
|
/**
|
|
1745
1765
|
* 🤖 Proxy a GitHub API request
|
|
1746
|
-
* @description Forwards an authenticated request to the GitHub API
|
|
1766
|
+
* @description Forwards an authenticated request to the GitHub API and returns the GitHub response verbatim. The request's project (bound token, or the `x-project-id`/`x-project-slug` header) picks the GitHub App: its own repo goes through the main App; another repo the project's org installed the reporter App on is read through the reporter App, and writes to it are rejected. Without a project, the main App is used. Merging a pull request with `merge_method` `squash` or `rebase` is rejected; only merge commits are allowed. Other writes to a project's default or protected branches are refused, as git-worker refuses the equivalent push. Project API keys are read-only. Sandbox-delegation principals are additionally constrained by per-session proxy rules.
|
|
1747
1767
|
*/
|
|
1748
1768
|
post: operations["githubProxy"];
|
|
1749
1769
|
delete?: never;
|
|
@@ -1945,6 +1965,66 @@ export interface paths {
|
|
|
1945
1965
|
patch: operations["updateApiKey"];
|
|
1946
1966
|
trace?: never;
|
|
1947
1967
|
};
|
|
1968
|
+
"/api/billing/month-summary": {
|
|
1969
|
+
parameters: {
|
|
1970
|
+
query?: never;
|
|
1971
|
+
header?: never;
|
|
1972
|
+
path?: never;
|
|
1973
|
+
cookie?: never;
|
|
1974
|
+
};
|
|
1975
|
+
/**
|
|
1976
|
+
* 🛡️ Get the org's usage and cost for a month
|
|
1977
|
+
* @description Org-wide usage across all of the scoped project's org projects, against the plan in effect: per-meter usage, overage so far, a month-end projection, and the usage limit.
|
|
1978
|
+
*/
|
|
1979
|
+
get: operations["getBillingMonthSummary"];
|
|
1980
|
+
put?: never;
|
|
1981
|
+
post?: never;
|
|
1982
|
+
delete?: never;
|
|
1983
|
+
options?: never;
|
|
1984
|
+
head?: never;
|
|
1985
|
+
patch?: never;
|
|
1986
|
+
trace?: never;
|
|
1987
|
+
};
|
|
1988
|
+
"/api/billing/usage-limit": {
|
|
1989
|
+
parameters: {
|
|
1990
|
+
query?: never;
|
|
1991
|
+
header?: never;
|
|
1992
|
+
path?: never;
|
|
1993
|
+
cookie?: never;
|
|
1994
|
+
};
|
|
1995
|
+
get?: never;
|
|
1996
|
+
/**
|
|
1997
|
+
* 🛡️ Set or remove the org's usage limit
|
|
1998
|
+
* @description Sets the most overage the org allows per usage month, in whole dollars as cents, or removes the limit with null. Takes effect right away: a limit at or below this month's overage pauses new work.
|
|
1999
|
+
*/
|
|
2000
|
+
put: operations["setUsageLimit"];
|
|
2001
|
+
post?: never;
|
|
2002
|
+
delete?: never;
|
|
2003
|
+
options?: never;
|
|
2004
|
+
head?: never;
|
|
2005
|
+
patch?: never;
|
|
2006
|
+
trace?: never;
|
|
2007
|
+
};
|
|
2008
|
+
"/api/billing/usage-limit/events": {
|
|
2009
|
+
parameters: {
|
|
2010
|
+
query?: never;
|
|
2011
|
+
header?: never;
|
|
2012
|
+
path?: never;
|
|
2013
|
+
cookie?: never;
|
|
2014
|
+
};
|
|
2015
|
+
/**
|
|
2016
|
+
* 🛡️ List the usage limit's history
|
|
2017
|
+
* @description Changes to the org's usage limit and the alerts and blocks it caused, newest first.
|
|
2018
|
+
*/
|
|
2019
|
+
get: operations["listUsageLimitEvents"];
|
|
2020
|
+
put?: never;
|
|
2021
|
+
post?: never;
|
|
2022
|
+
delete?: never;
|
|
2023
|
+
options?: never;
|
|
2024
|
+
head?: never;
|
|
2025
|
+
patch?: never;
|
|
2026
|
+
trace?: never;
|
|
2027
|
+
};
|
|
1948
2028
|
"/api/chat-sessions": {
|
|
1949
2029
|
parameters: {
|
|
1950
2030
|
query?: never;
|
|
@@ -2900,7 +2980,7 @@ export interface paths {
|
|
|
2900
2980
|
};
|
|
2901
2981
|
/**
|
|
2902
2982
|
* ⚙️ List reporter deliveries
|
|
2903
|
-
* @description Lists the check runs
|
|
2983
|
+
* @description Lists the check runs, PR comments and linked test changes checks the reporter App delivered for a project, newest first. Each row is the latest state of one check run (per test run), one PR comment (per PR + environment) or one linked test changes check (per app PR).
|
|
2904
2984
|
*/
|
|
2905
2985
|
get: operations["listReporterDeliveries"];
|
|
2906
2986
|
put?: never;
|
|
@@ -3015,6 +3095,26 @@ export interface paths {
|
|
|
3015
3095
|
patch?: never;
|
|
3016
3096
|
trace?: never;
|
|
3017
3097
|
};
|
|
3098
|
+
"/api/github/reporter-app/pull-request": {
|
|
3099
|
+
parameters: {
|
|
3100
|
+
query?: never;
|
|
3101
|
+
header?: never;
|
|
3102
|
+
path?: never;
|
|
3103
|
+
cookie?: never;
|
|
3104
|
+
};
|
|
3105
|
+
/**
|
|
3106
|
+
* ⚙️ Get a delivery's pull request
|
|
3107
|
+
* @description Reads an app PR live from GitHub through the project org's reporter App installation, and compares its current head with the commit a delivery was written on.
|
|
3108
|
+
*/
|
|
3109
|
+
get: operations["getReporterPullRequest"];
|
|
3110
|
+
put?: never;
|
|
3111
|
+
post?: never;
|
|
3112
|
+
delete?: never;
|
|
3113
|
+
options?: never;
|
|
3114
|
+
head?: never;
|
|
3115
|
+
patch?: never;
|
|
3116
|
+
trace?: never;
|
|
3117
|
+
};
|
|
3018
3118
|
"/api/github/tree": {
|
|
3019
3119
|
parameters: {
|
|
3020
3120
|
query?: never;
|
|
@@ -3331,6 +3431,26 @@ export interface paths {
|
|
|
3331
3431
|
patch?: never;
|
|
3332
3432
|
trace?: never;
|
|
3333
3433
|
};
|
|
3434
|
+
"/api/invoices/{id}/email-preview": {
|
|
3435
|
+
parameters: {
|
|
3436
|
+
query?: never;
|
|
3437
|
+
header?: never;
|
|
3438
|
+
path?: never;
|
|
3439
|
+
cookie?: never;
|
|
3440
|
+
};
|
|
3441
|
+
/**
|
|
3442
|
+
* 🛡️ Preview an invoice email
|
|
3443
|
+
* @description Renders the invoice email exactly as `POST /{id}/send` would send it, without sending anything.
|
|
3444
|
+
*/
|
|
3445
|
+
get: operations["previewInvoiceEmail"];
|
|
3446
|
+
put?: never;
|
|
3447
|
+
post?: never;
|
|
3448
|
+
delete?: never;
|
|
3449
|
+
options?: never;
|
|
3450
|
+
head?: never;
|
|
3451
|
+
patch?: never;
|
|
3452
|
+
trace?: never;
|
|
3453
|
+
};
|
|
3334
3454
|
"/api/invoices/{id}/generate": {
|
|
3335
3455
|
parameters: {
|
|
3336
3456
|
query?: never;
|
|
@@ -3422,7 +3542,7 @@ export interface paths {
|
|
|
3422
3542
|
put?: never;
|
|
3423
3543
|
/**
|
|
3424
3544
|
* 🛡️ Send an invoice
|
|
3425
|
-
* @description Emails the invoice PDF to the organisation's billing contacts and marks it as sent (unless `is_test_email` is set).
|
|
3545
|
+
* @description Emails the invoice PDF to the organisation's billing contacts and marks it as sent (unless `is_test_email` is set). On a real send, an unpaid INR invoice without a payment link gets a Razorpay-hosted payment link, stored on the invoice and included in the email.
|
|
3426
3546
|
*/
|
|
3427
3547
|
post: operations["sendInvoice"];
|
|
3428
3548
|
delete?: never;
|
|
@@ -4175,7 +4295,7 @@ export interface paths {
|
|
|
4175
4295
|
post?: never;
|
|
4176
4296
|
/**
|
|
4177
4297
|
* 🛡️ Remove a member from an organization
|
|
4178
|
-
* @description Removes the
|
|
4298
|
+
* @description Removes the user's membership in the organization; access ends on their next request. Restricted to org members and super admins.
|
|
4179
4299
|
*/
|
|
4180
4300
|
delete: operations["removeOrgMember"];
|
|
4181
4301
|
options?: never;
|
|
@@ -4214,7 +4334,7 @@ export interface paths {
|
|
|
4214
4334
|
put?: never;
|
|
4215
4335
|
/**
|
|
4216
4336
|
* ⚙️ Resolve org membership for a signed-in user
|
|
4217
|
-
* @description
|
|
4337
|
+
* @description Grants super-admin to staff emails; for users with no org yet, accepts pending invites for the email and matches org email domains. Returns the user's memberships and super-admin flag. System-to-system callers only.
|
|
4218
4338
|
*/
|
|
4219
4339
|
post: operations["resolveMembership"];
|
|
4220
4340
|
delete?: never;
|
|
@@ -4232,13 +4352,13 @@ export interface paths {
|
|
|
4232
4352
|
};
|
|
4233
4353
|
/**
|
|
4234
4354
|
* 🛡️ List plan assignments
|
|
4235
|
-
* @description Returns a paginated list of plan assignments, optionally filtered by organisation and
|
|
4355
|
+
* @description Returns a paginated list of plan assignments, optionally filtered by organisation and plan.
|
|
4236
4356
|
*/
|
|
4237
4357
|
get: operations["listPlanAssignments"];
|
|
4238
4358
|
put?: never;
|
|
4239
4359
|
/**
|
|
4240
4360
|
* 🛡️ Create a plan assignment
|
|
4241
|
-
* @description
|
|
4361
|
+
* @description Puts an existing organisation on a plan from `effective_from`.
|
|
4242
4362
|
*/
|
|
4243
4363
|
post: operations["createPlanAssignment"];
|
|
4244
4364
|
delete?: never;
|
|
@@ -4271,6 +4391,74 @@ export interface paths {
|
|
|
4271
4391
|
patch: operations["updatePlanAssignment"];
|
|
4272
4392
|
trace?: never;
|
|
4273
4393
|
};
|
|
4394
|
+
"/api/plan-assignments/org": {
|
|
4395
|
+
parameters: {
|
|
4396
|
+
query?: never;
|
|
4397
|
+
header?: never;
|
|
4398
|
+
path?: never;
|
|
4399
|
+
cookie?: never;
|
|
4400
|
+
};
|
|
4401
|
+
/**
|
|
4402
|
+
* 🛡️ Get the org's plan
|
|
4403
|
+
* @description Returns whether the scoped project's org is on a plan (now, or during `month`), and the plan's terms when it is a shared plan.
|
|
4404
|
+
*/
|
|
4405
|
+
get: operations["getOrgPlan"];
|
|
4406
|
+
put?: never;
|
|
4407
|
+
post?: never;
|
|
4408
|
+
delete?: never;
|
|
4409
|
+
options?: never;
|
|
4410
|
+
head?: never;
|
|
4411
|
+
patch?: never;
|
|
4412
|
+
trace?: never;
|
|
4413
|
+
};
|
|
4414
|
+
"/api/plans": {
|
|
4415
|
+
parameters: {
|
|
4416
|
+
query?: never;
|
|
4417
|
+
header?: never;
|
|
4418
|
+
path?: never;
|
|
4419
|
+
cookie?: never;
|
|
4420
|
+
};
|
|
4421
|
+
/**
|
|
4422
|
+
* 🛡️ List plans
|
|
4423
|
+
* @description Returns the shared plans with their meters, or one organisation's custom plans.
|
|
4424
|
+
*/
|
|
4425
|
+
get: operations["listPlans"];
|
|
4426
|
+
put?: never;
|
|
4427
|
+
/**
|
|
4428
|
+
* 🛡️ Create a shared plan
|
|
4429
|
+
* @description Creates a shared plan and its meters. Plans are immutable once created, apart from `status`: to change a price, create a new plan with a new key and retire the old one. Custom plans are created through order forms.
|
|
4430
|
+
*/
|
|
4431
|
+
post: operations["createPlan"];
|
|
4432
|
+
delete?: never;
|
|
4433
|
+
options?: never;
|
|
4434
|
+
head?: never;
|
|
4435
|
+
patch?: never;
|
|
4436
|
+
trace?: never;
|
|
4437
|
+
};
|
|
4438
|
+
"/api/plans/{id}": {
|
|
4439
|
+
parameters: {
|
|
4440
|
+
query?: never;
|
|
4441
|
+
header?: never;
|
|
4442
|
+
path?: never;
|
|
4443
|
+
cookie?: never;
|
|
4444
|
+
};
|
|
4445
|
+
/**
|
|
4446
|
+
* 🛡️ Get a plan
|
|
4447
|
+
* @description Retrieves a single plan with its meters.
|
|
4448
|
+
*/
|
|
4449
|
+
get: operations["getPlanById"];
|
|
4450
|
+
put?: never;
|
|
4451
|
+
post?: never;
|
|
4452
|
+
delete?: never;
|
|
4453
|
+
options?: never;
|
|
4454
|
+
head?: never;
|
|
4455
|
+
/**
|
|
4456
|
+
* 🛡️ Update a plan's status
|
|
4457
|
+
* @description Sets a plan's `status`. Plans are immutable apart from status: any other field is rejected. Retiring a plan does not touch existing assignments, which stay on it.
|
|
4458
|
+
*/
|
|
4459
|
+
patch: operations["updatePlan"];
|
|
4460
|
+
trace?: never;
|
|
4461
|
+
};
|
|
4274
4462
|
"/api/project-addons": {
|
|
4275
4463
|
parameters: {
|
|
4276
4464
|
query?: never;
|
|
@@ -4967,7 +5155,7 @@ export interface paths {
|
|
|
4967
5155
|
patch?: never;
|
|
4968
5156
|
trace?: never;
|
|
4969
5157
|
};
|
|
4970
|
-
"/api/
|
|
5158
|
+
"/api/runner-backends": {
|
|
4971
5159
|
parameters: {
|
|
4972
5160
|
query?: never;
|
|
4973
5161
|
header?: never;
|
|
@@ -4975,43 +5163,43 @@ export interface paths {
|
|
|
4975
5163
|
cookie?: never;
|
|
4976
5164
|
};
|
|
4977
5165
|
/**
|
|
4978
|
-
*
|
|
4979
|
-
* @description
|
|
5166
|
+
* 🛡️ 🧪 List runner backends
|
|
5167
|
+
* @description Lists customer-hosted runner backends, optionally for one org.
|
|
4980
5168
|
*/
|
|
4981
|
-
get: operations["
|
|
5169
|
+
get: operations["listRunnerBackends"];
|
|
4982
5170
|
put?: never;
|
|
4983
5171
|
/**
|
|
4984
|
-
*
|
|
4985
|
-
* @description
|
|
5172
|
+
* 🛡️ 🧪 Register a runner backend
|
|
5173
|
+
* @description Registers an installation as `pending` and returns the external ID its role must require. Run `verify` before linking projects.
|
|
4986
5174
|
*/
|
|
4987
|
-
post: operations["
|
|
5175
|
+
post: operations["createRunnerBackend"];
|
|
4988
5176
|
delete?: never;
|
|
4989
5177
|
options?: never;
|
|
4990
5178
|
head?: never;
|
|
4991
5179
|
patch?: never;
|
|
4992
5180
|
trace?: never;
|
|
4993
5181
|
};
|
|
4994
|
-
"/api/
|
|
5182
|
+
"/api/runner-backends/{id}": {
|
|
4995
5183
|
parameters: {
|
|
4996
5184
|
query?: never;
|
|
4997
5185
|
header?: never;
|
|
4998
5186
|
path?: never;
|
|
4999
5187
|
cookie?: never;
|
|
5000
5188
|
};
|
|
5001
|
-
get?: never;
|
|
5002
|
-
put?: never;
|
|
5003
5189
|
/**
|
|
5004
|
-
*
|
|
5005
|
-
* @description
|
|
5190
|
+
* 🛡️ 🧪 Get a runner backend
|
|
5191
|
+
* @description Returns one runner backend.
|
|
5006
5192
|
*/
|
|
5007
|
-
|
|
5193
|
+
get: operations["getRunnerBackend"];
|
|
5194
|
+
put?: never;
|
|
5195
|
+
post?: never;
|
|
5008
5196
|
delete?: never;
|
|
5009
5197
|
options?: never;
|
|
5010
5198
|
head?: never;
|
|
5011
5199
|
patch?: never;
|
|
5012
5200
|
trace?: never;
|
|
5013
5201
|
};
|
|
5014
|
-
"/api/
|
|
5202
|
+
"/api/runner-backends/{id}/disable": {
|
|
5015
5203
|
parameters: {
|
|
5016
5204
|
query?: never;
|
|
5017
5205
|
header?: never;
|
|
@@ -5021,17 +5209,17 @@ export interface paths {
|
|
|
5021
5209
|
get?: never;
|
|
5022
5210
|
put?: never;
|
|
5023
5211
|
/**
|
|
5024
|
-
*
|
|
5025
|
-
* @description
|
|
5212
|
+
* 🛡️ 🧪 Disable a runner backend
|
|
5213
|
+
* @description Stops new dispatches to the backend immediately: runs of linked projects fail with `dispatch_failed` until it is verified again or the projects are unlinked.
|
|
5026
5214
|
*/
|
|
5027
|
-
post: operations["
|
|
5215
|
+
post: operations["disableRunnerBackend"];
|
|
5028
5216
|
delete?: never;
|
|
5029
5217
|
options?: never;
|
|
5030
5218
|
head?: never;
|
|
5031
5219
|
patch?: never;
|
|
5032
5220
|
trace?: never;
|
|
5033
5221
|
};
|
|
5034
|
-
"/api/
|
|
5222
|
+
"/api/runner-backends/{id}/verify": {
|
|
5035
5223
|
parameters: {
|
|
5036
5224
|
query?: never;
|
|
5037
5225
|
header?: never;
|
|
@@ -5041,29 +5229,29 @@ export interface paths {
|
|
|
5041
5229
|
get?: never;
|
|
5042
5230
|
put?: never;
|
|
5043
5231
|
/**
|
|
5044
|
-
*
|
|
5045
|
-
* @description
|
|
5232
|
+
* 🛡️ 🧪 Verify a runner backend
|
|
5233
|
+
* @description Assumes the backend's role and makes one read-only call to each queue, the cluster and the log group. On success the backend becomes `active`; on failure its status is unchanged. A disabled backend is re-enabled only by a passing verify.
|
|
5046
5234
|
*/
|
|
5047
|
-
post: operations["
|
|
5235
|
+
post: operations["verifyRunnerBackend"];
|
|
5048
5236
|
delete?: never;
|
|
5049
5237
|
options?: never;
|
|
5050
5238
|
head?: never;
|
|
5051
5239
|
patch?: never;
|
|
5052
5240
|
trace?: never;
|
|
5053
5241
|
};
|
|
5054
|
-
"/api/
|
|
5242
|
+
"/api/runner-backends/project": {
|
|
5055
5243
|
parameters: {
|
|
5056
5244
|
query?: never;
|
|
5057
5245
|
header?: never;
|
|
5058
5246
|
path?: never;
|
|
5059
5247
|
cookie?: never;
|
|
5060
5248
|
};
|
|
5061
|
-
get?: never;
|
|
5062
5249
|
/**
|
|
5063
|
-
* ⚙️
|
|
5064
|
-
* @description
|
|
5250
|
+
* ⚙️ 🧪 Get the scoped project's runner backend
|
|
5251
|
+
* @description Returns the runner backend the scoped project is linked to, including its verification status, or null when the project runs on Empirical-hosted infrastructure.
|
|
5065
5252
|
*/
|
|
5066
|
-
|
|
5253
|
+
get: operations["getProjectRunnerBackend"];
|
|
5254
|
+
put?: never;
|
|
5067
5255
|
post?: never;
|
|
5068
5256
|
delete?: never;
|
|
5069
5257
|
options?: never;
|
|
@@ -5071,7 +5259,7 @@ export interface paths {
|
|
|
5071
5259
|
patch?: never;
|
|
5072
5260
|
trace?: never;
|
|
5073
5261
|
};
|
|
5074
|
-
"/api/
|
|
5262
|
+
"/api/runner-backends/project/verify": {
|
|
5075
5263
|
parameters: {
|
|
5076
5264
|
query?: never;
|
|
5077
5265
|
header?: never;
|
|
@@ -5081,17 +5269,17 @@ export interface paths {
|
|
|
5081
5269
|
get?: never;
|
|
5082
5270
|
put?: never;
|
|
5083
5271
|
/**
|
|
5084
|
-
* ⚙️
|
|
5085
|
-
* @description
|
|
5272
|
+
* ⚙️ 🧪 Re-check the scoped project's runner backend
|
|
5273
|
+
* @description Runs the same read-only checks as `verify` against the backend the scoped project is linked to and records the result, so a customer can confirm a fix to their role or stack. It never changes the backend's status: a disabled backend is re-enabled only by Empirical.
|
|
5086
5274
|
*/
|
|
5087
|
-
post: operations["
|
|
5275
|
+
post: operations["verifyProjectRunnerBackend"];
|
|
5088
5276
|
delete?: never;
|
|
5089
5277
|
options?: never;
|
|
5090
5278
|
head?: never;
|
|
5091
5279
|
patch?: never;
|
|
5092
5280
|
trace?: never;
|
|
5093
5281
|
};
|
|
5094
|
-
"/api/
|
|
5282
|
+
"/api/runner-backends/projects/{project_id}": {
|
|
5095
5283
|
parameters: {
|
|
5096
5284
|
query?: never;
|
|
5097
5285
|
header?: never;
|
|
@@ -5099,19 +5287,19 @@ export interface paths {
|
|
|
5099
5287
|
cookie?: never;
|
|
5100
5288
|
};
|
|
5101
5289
|
get?: never;
|
|
5102
|
-
put?: never;
|
|
5103
5290
|
/**
|
|
5104
|
-
*
|
|
5105
|
-
* @description
|
|
5291
|
+
* 🛡️ 🧪 Set a project's runner backend
|
|
5292
|
+
* @description Links a project to an active backend of its organisation, or back to Empirical-hosted with null. Applies to runs created afterwards; runs already created keep their backend.
|
|
5106
5293
|
*/
|
|
5107
|
-
|
|
5294
|
+
put: operations["setProjectRunnerBackend"];
|
|
5295
|
+
post?: never;
|
|
5108
5296
|
delete?: never;
|
|
5109
5297
|
options?: never;
|
|
5110
5298
|
head?: never;
|
|
5111
5299
|
patch?: never;
|
|
5112
5300
|
trace?: never;
|
|
5113
5301
|
};
|
|
5114
|
-
"/api/
|
|
5302
|
+
"/api/sandbox-snapshots": {
|
|
5115
5303
|
parameters: {
|
|
5116
5304
|
query?: never;
|
|
5117
5305
|
header?: never;
|
|
@@ -5119,39 +5307,43 @@ export interface paths {
|
|
|
5119
5307
|
cookie?: never;
|
|
5120
5308
|
};
|
|
5121
5309
|
/**
|
|
5122
|
-
*
|
|
5123
|
-
* @description Returns
|
|
5310
|
+
* ⚙️ List sandbox snapshots
|
|
5311
|
+
* @description Returns the most recent sandbox snapshots for the scoped project.
|
|
5124
5312
|
*/
|
|
5125
|
-
get: operations["
|
|
5313
|
+
get: operations["listSandboxSnapshots"];
|
|
5126
5314
|
put?: never;
|
|
5127
|
-
|
|
5315
|
+
/**
|
|
5316
|
+
* ⚙️ Create a sandbox snapshot
|
|
5317
|
+
* @description Enqueues a snapshot-create job for the scoped project and base template.
|
|
5318
|
+
*/
|
|
5319
|
+
post: operations["createSandboxSnapshot"];
|
|
5128
5320
|
delete?: never;
|
|
5129
5321
|
options?: never;
|
|
5130
5322
|
head?: never;
|
|
5131
5323
|
patch?: never;
|
|
5132
5324
|
trace?: never;
|
|
5133
5325
|
};
|
|
5134
|
-
"/api/
|
|
5326
|
+
"/api/sandbox-snapshots/rebuild": {
|
|
5135
5327
|
parameters: {
|
|
5136
5328
|
query?: never;
|
|
5137
5329
|
header?: never;
|
|
5138
5330
|
path?: never;
|
|
5139
5331
|
cookie?: never;
|
|
5140
5332
|
};
|
|
5333
|
+
get?: never;
|
|
5334
|
+
put?: never;
|
|
5141
5335
|
/**
|
|
5142
|
-
*
|
|
5143
|
-
* @description
|
|
5336
|
+
* ⚙️ Rebuild project sandbox snapshots
|
|
5337
|
+
* @description Enqueues snapshot-create jobs for every project that already has a snapshot for the given provider and base template. Only `e2b` is supported.
|
|
5144
5338
|
*/
|
|
5145
|
-
|
|
5146
|
-
put?: never;
|
|
5147
|
-
post?: never;
|
|
5339
|
+
post: operations["rebuildSandboxSnapshots"];
|
|
5148
5340
|
delete?: never;
|
|
5149
5341
|
options?: never;
|
|
5150
5342
|
head?: never;
|
|
5151
5343
|
patch?: never;
|
|
5152
5344
|
trace?: never;
|
|
5153
5345
|
};
|
|
5154
|
-
"/api/
|
|
5346
|
+
"/api/sandbox-snapshots/rebuild-by-template": {
|
|
5155
5347
|
parameters: {
|
|
5156
5348
|
query?: never;
|
|
5157
5349
|
header?: never;
|
|
@@ -5161,17 +5353,17 @@ export interface paths {
|
|
|
5161
5353
|
get?: never;
|
|
5162
5354
|
put?: never;
|
|
5163
5355
|
/**
|
|
5164
|
-
* ⚙️
|
|
5165
|
-
* @description
|
|
5356
|
+
* ⚙️ Rebuild sandbox snapshots by template
|
|
5357
|
+
* @description Enqueues snapshot-create jobs for every project that has an `e2b` snapshot for the given base template.
|
|
5166
5358
|
*/
|
|
5167
|
-
post: operations["
|
|
5359
|
+
post: operations["rebuildSandboxSnapshotsByTemplate"];
|
|
5168
5360
|
delete?: never;
|
|
5169
5361
|
options?: never;
|
|
5170
5362
|
head?: never;
|
|
5171
5363
|
patch?: never;
|
|
5172
5364
|
trace?: never;
|
|
5173
5365
|
};
|
|
5174
|
-
"/api/
|
|
5366
|
+
"/api/sandbox-snapshots/sources/upsert": {
|
|
5175
5367
|
parameters: {
|
|
5176
5368
|
query?: never;
|
|
5177
5369
|
header?: never;
|
|
@@ -5181,76 +5373,294 @@ export interface paths {
|
|
|
5181
5373
|
get?: never;
|
|
5182
5374
|
put?: never;
|
|
5183
5375
|
/**
|
|
5184
|
-
* ⚙️
|
|
5185
|
-
* @description
|
|
5376
|
+
* ⚙️ Upsert sandbox snapshot sources
|
|
5377
|
+
* @description Upserts one or more snapshot source rows; called by sandbox-template CI.
|
|
5186
5378
|
*/
|
|
5187
|
-
post: operations["
|
|
5379
|
+
post: operations["upsertSandboxSnapshotSources"];
|
|
5188
5380
|
delete?: never;
|
|
5189
5381
|
options?: never;
|
|
5190
5382
|
head?: never;
|
|
5191
5383
|
patch?: never;
|
|
5192
5384
|
trace?: never;
|
|
5193
5385
|
};
|
|
5194
|
-
"/api/
|
|
5386
|
+
"/api/system-messages": {
|
|
5195
5387
|
parameters: {
|
|
5196
5388
|
query?: never;
|
|
5197
5389
|
header?: never;
|
|
5198
5390
|
path?: never;
|
|
5199
5391
|
cookie?: never;
|
|
5200
5392
|
};
|
|
5201
|
-
/**
|
|
5202
|
-
|
|
5203
|
-
* @description Returns the GitHub accounts linked to the current user.
|
|
5204
|
-
*/
|
|
5205
|
-
get: operations["listMyGithubLinks"];
|
|
5393
|
+
/** 🛡️ 🧪 List system messages with delivery and ack counts */
|
|
5394
|
+
get: operations["listSystemMessages"];
|
|
5206
5395
|
put?: never;
|
|
5207
5396
|
/**
|
|
5208
|
-
*
|
|
5209
|
-
* @description
|
|
5210
|
-
*/
|
|
5211
|
-
post: operations["upsertGithubLink"];
|
|
5212
|
-
/**
|
|
5213
|
-
* ⚙️ Delete my GitHub link
|
|
5214
|
-
* @description Deletes a GitHub link owned by the current user.
|
|
5397
|
+
* 🛡️ 🧪 Broadcast a system message to manager sessions
|
|
5398
|
+
* @description Persists the message and delivers it to project manager sessions. With `project_ids`, every listed project gets a recipient row, and one without an open manager is recorded as failed. Without it, the message goes to every project with an open manager, and active projects without one are returned in `skipped_project_ids` (not persisted). Delivery is attempted before responding. Managers acknowledge through `POST /api/system-messages/{id}/ack`.
|
|
5215
5399
|
*/
|
|
5216
|
-
|
|
5400
|
+
post: operations["createSystemMessage"];
|
|
5401
|
+
delete?: never;
|
|
5217
5402
|
options?: never;
|
|
5218
5403
|
head?: never;
|
|
5219
5404
|
patch?: never;
|
|
5220
5405
|
trace?: never;
|
|
5221
5406
|
};
|
|
5222
|
-
"/api/
|
|
5407
|
+
"/api/system-messages/{id}": {
|
|
5223
5408
|
parameters: {
|
|
5224
5409
|
query?: never;
|
|
5225
5410
|
header?: never;
|
|
5226
5411
|
path?: never;
|
|
5227
5412
|
cookie?: never;
|
|
5228
5413
|
};
|
|
5229
|
-
|
|
5414
|
+
/** 🛡️ 🧪 Get a system message's per-project delivery and ack status */
|
|
5415
|
+
get: operations["getSystemMessage"];
|
|
5230
5416
|
put?: never;
|
|
5231
|
-
|
|
5232
|
-
* ⚙️ Join organizations from pending invites
|
|
5233
|
-
* @description Creates org memberships for the current user by accepting every pending invite addressed to their verified email.
|
|
5234
|
-
*/
|
|
5235
|
-
post: operations["createMyMemberships"];
|
|
5417
|
+
post?: never;
|
|
5236
5418
|
delete?: never;
|
|
5237
5419
|
options?: never;
|
|
5238
5420
|
head?: never;
|
|
5239
5421
|
patch?: never;
|
|
5240
5422
|
trace?: never;
|
|
5241
5423
|
};
|
|
5242
|
-
"/api/
|
|
5424
|
+
"/api/system-messages/{id}/ack": {
|
|
5243
5425
|
parameters: {
|
|
5244
5426
|
query?: never;
|
|
5245
5427
|
header?: never;
|
|
5246
5428
|
path?: never;
|
|
5247
5429
|
cookie?: never;
|
|
5248
5430
|
};
|
|
5431
|
+
get?: never;
|
|
5432
|
+
put?: never;
|
|
5249
5433
|
/**
|
|
5250
|
-
*
|
|
5251
|
-
* @description
|
|
5434
|
+
* 🧪 Acknowledge a system message from a manager session
|
|
5435
|
+
* @description Records the calling manager session's acknowledgement for its project. Any manager session of the project may ack, so a successor can answer a message its predecessor received. Re-acking overwrites the previous status and note.
|
|
5252
5436
|
*/
|
|
5253
|
-
|
|
5437
|
+
post: operations["ackSystemMessage"];
|
|
5438
|
+
delete?: never;
|
|
5439
|
+
options?: never;
|
|
5440
|
+
head?: never;
|
|
5441
|
+
patch?: never;
|
|
5442
|
+
trace?: never;
|
|
5443
|
+
};
|
|
5444
|
+
"/api/test-runs/events": {
|
|
5445
|
+
parameters: {
|
|
5446
|
+
query?: never;
|
|
5447
|
+
header?: never;
|
|
5448
|
+
path?: never;
|
|
5449
|
+
cookie?: never;
|
|
5450
|
+
};
|
|
5451
|
+
get?: never;
|
|
5452
|
+
/**
|
|
5453
|
+
* ⚙️ Ingest a test-case run-end event
|
|
5454
|
+
* @description Ingests a per-test-case run-end event from the Playwright reporter (EmpiricalReporter in packages/playwright-utils): processes retries, triggers the failure-diagnosis workflow, and updates realtime test-run counts. Port of the dashboard's PUT /api/test-runs/events.
|
|
5455
|
+
*/
|
|
5456
|
+
put: operations["ingestTestCaseRunEndEvent"];
|
|
5457
|
+
post?: never;
|
|
5458
|
+
delete?: never;
|
|
5459
|
+
options?: never;
|
|
5460
|
+
head?: never;
|
|
5461
|
+
patch?: never;
|
|
5462
|
+
trace?: never;
|
|
5463
|
+
};
|
|
5464
|
+
"/api/test-runs/shards": {
|
|
5465
|
+
parameters: {
|
|
5466
|
+
query?: never;
|
|
5467
|
+
header?: never;
|
|
5468
|
+
path?: never;
|
|
5469
|
+
cookie?: never;
|
|
5470
|
+
};
|
|
5471
|
+
get?: never;
|
|
5472
|
+
put?: never;
|
|
5473
|
+
/**
|
|
5474
|
+
* ⚙️ Update a shard's state
|
|
5475
|
+
* @description Records a shard state transition from the test-run worker: shard write plus terminal guard, parent start on first shard start, resume dispatch for interrupted shards, merge orchestration once all shards complete, and parent finalization plus report ingestion when the merge job ends.
|
|
5476
|
+
*/
|
|
5477
|
+
post: operations["updateTestRunShardState"];
|
|
5478
|
+
delete?: never;
|
|
5479
|
+
options?: never;
|
|
5480
|
+
head?: never;
|
|
5481
|
+
patch?: never;
|
|
5482
|
+
trace?: never;
|
|
5483
|
+
};
|
|
5484
|
+
"/api/twocaptcha/proxy": {
|
|
5485
|
+
parameters: {
|
|
5486
|
+
query?: never;
|
|
5487
|
+
header?: never;
|
|
5488
|
+
path?: never;
|
|
5489
|
+
cookie?: never;
|
|
5490
|
+
};
|
|
5491
|
+
get?: never;
|
|
5492
|
+
put?: never;
|
|
5493
|
+
/**
|
|
5494
|
+
* ⚙️ Proxy a 2Captcha request
|
|
5495
|
+
* @description Forwards a request to the 2Captcha API, injecting the configured `clientKey` into the payload.
|
|
5496
|
+
*/
|
|
5497
|
+
post: operations["proxyTwoCaptcha"];
|
|
5498
|
+
delete?: never;
|
|
5499
|
+
options?: never;
|
|
5500
|
+
head?: never;
|
|
5501
|
+
patch?: never;
|
|
5502
|
+
trace?: never;
|
|
5503
|
+
};
|
|
5504
|
+
"/api/ui/v1/test-runs/{id}": {
|
|
5505
|
+
parameters: {
|
|
5506
|
+
query?: never;
|
|
5507
|
+
header?: never;
|
|
5508
|
+
path?: never;
|
|
5509
|
+
cookie?: never;
|
|
5510
|
+
};
|
|
5511
|
+
/**
|
|
5512
|
+
* Get test run detail (UI)
|
|
5513
|
+
* @description Returns everything the test-run detail page renders in one call: the enriched run, the first page of its cases, the test cases those rows reference, and the resolved created-by / cancelled-by users.
|
|
5514
|
+
*/
|
|
5515
|
+
get: operations["getUiTestRunDetail"];
|
|
5516
|
+
put?: never;
|
|
5517
|
+
post?: never;
|
|
5518
|
+
delete?: never;
|
|
5519
|
+
options?: never;
|
|
5520
|
+
head?: never;
|
|
5521
|
+
patch?: never;
|
|
5522
|
+
trace?: never;
|
|
5523
|
+
};
|
|
5524
|
+
"/api/ui/v1/test-runs/{id}/live": {
|
|
5525
|
+
parameters: {
|
|
5526
|
+
query?: never;
|
|
5527
|
+
header?: never;
|
|
5528
|
+
path?: never;
|
|
5529
|
+
cookie?: never;
|
|
5530
|
+
};
|
|
5531
|
+
/**
|
|
5532
|
+
* Refresh a live test run (UI)
|
|
5533
|
+
* @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.
|
|
5534
|
+
*/
|
|
5535
|
+
get: operations["getUiLiveTestRun"];
|
|
5536
|
+
put?: never;
|
|
5537
|
+
post?: never;
|
|
5538
|
+
delete?: never;
|
|
5539
|
+
options?: never;
|
|
5540
|
+
head?: never;
|
|
5541
|
+
patch?: never;
|
|
5542
|
+
trace?: never;
|
|
5543
|
+
};
|
|
5544
|
+
"/api/upload": {
|
|
5545
|
+
parameters: {
|
|
5546
|
+
query?: never;
|
|
5547
|
+
header?: never;
|
|
5548
|
+
path?: never;
|
|
5549
|
+
cookie?: never;
|
|
5550
|
+
};
|
|
5551
|
+
get?: never;
|
|
5552
|
+
put?: never;
|
|
5553
|
+
/**
|
|
5554
|
+
* ⚙️ Create presigned upload URLs
|
|
5555
|
+
* @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.
|
|
5556
|
+
*/
|
|
5557
|
+
post: operations["createUploadUrls"];
|
|
5558
|
+
delete?: never;
|
|
5559
|
+
options?: never;
|
|
5560
|
+
head?: never;
|
|
5561
|
+
patch?: never;
|
|
5562
|
+
trace?: never;
|
|
5563
|
+
};
|
|
5564
|
+
"/api/upload/loom": {
|
|
5565
|
+
parameters: {
|
|
5566
|
+
query?: never;
|
|
5567
|
+
header?: never;
|
|
5568
|
+
path?: never;
|
|
5569
|
+
cookie?: never;
|
|
5570
|
+
};
|
|
5571
|
+
get?: never;
|
|
5572
|
+
put?: never;
|
|
5573
|
+
/**
|
|
5574
|
+
* ⚙️ Import a Loom video
|
|
5575
|
+
* @description Downloads a Loom share video and stores it in the dashboard uploads bucket, returning its public URL.
|
|
5576
|
+
*/
|
|
5577
|
+
post: operations["uploadLoomVideo"];
|
|
5578
|
+
delete?: never;
|
|
5579
|
+
options?: never;
|
|
5580
|
+
head?: never;
|
|
5581
|
+
patch?: never;
|
|
5582
|
+
trace?: never;
|
|
5583
|
+
};
|
|
5584
|
+
"/api/users/github-link": {
|
|
5585
|
+
parameters: {
|
|
5586
|
+
query?: never;
|
|
5587
|
+
header?: never;
|
|
5588
|
+
path?: never;
|
|
5589
|
+
cookie?: never;
|
|
5590
|
+
};
|
|
5591
|
+
/**
|
|
5592
|
+
* ⚙️ List my GitHub links
|
|
5593
|
+
* @description Returns the GitHub accounts linked to the current user.
|
|
5594
|
+
*/
|
|
5595
|
+
get: operations["listMyGithubLinks"];
|
|
5596
|
+
put?: never;
|
|
5597
|
+
/**
|
|
5598
|
+
* ⚙️ Upsert a GitHub link
|
|
5599
|
+
* @description Creates or updates the GitHub account link for the given user. Super-admin only.
|
|
5600
|
+
*/
|
|
5601
|
+
post: operations["upsertGithubLink"];
|
|
5602
|
+
/**
|
|
5603
|
+
* ⚙️ Delete my GitHub link
|
|
5604
|
+
* @description Deletes a GitHub link owned by the current user.
|
|
5605
|
+
*/
|
|
5606
|
+
delete: operations["deleteMyGithubLink"];
|
|
5607
|
+
options?: never;
|
|
5608
|
+
head?: never;
|
|
5609
|
+
patch?: never;
|
|
5610
|
+
trace?: never;
|
|
5611
|
+
};
|
|
5612
|
+
"/api/users/me": {
|
|
5613
|
+
parameters: {
|
|
5614
|
+
query?: never;
|
|
5615
|
+
header?: never;
|
|
5616
|
+
path?: never;
|
|
5617
|
+
cookie?: never;
|
|
5618
|
+
};
|
|
5619
|
+
/**
|
|
5620
|
+
* Get the current user
|
|
5621
|
+
* @description Returns the signed-in user's id, email, org memberships and super-admin flag as used for authorization.
|
|
5622
|
+
*/
|
|
5623
|
+
get: operations["getCurrentUser"];
|
|
5624
|
+
put?: never;
|
|
5625
|
+
post?: never;
|
|
5626
|
+
delete?: never;
|
|
5627
|
+
options?: never;
|
|
5628
|
+
head?: never;
|
|
5629
|
+
patch?: never;
|
|
5630
|
+
trace?: never;
|
|
5631
|
+
};
|
|
5632
|
+
"/api/users/me/memberships": {
|
|
5633
|
+
parameters: {
|
|
5634
|
+
query?: never;
|
|
5635
|
+
header?: never;
|
|
5636
|
+
path?: never;
|
|
5637
|
+
cookie?: never;
|
|
5638
|
+
};
|
|
5639
|
+
get?: never;
|
|
5640
|
+
put?: never;
|
|
5641
|
+
/**
|
|
5642
|
+
* ⚙️ Join organizations from pending invites
|
|
5643
|
+
* @description Creates org memberships for the current user by accepting every pending invite addressed to their verified email.
|
|
5644
|
+
*/
|
|
5645
|
+
post: operations["createMyMemberships"];
|
|
5646
|
+
delete?: never;
|
|
5647
|
+
options?: never;
|
|
5648
|
+
head?: never;
|
|
5649
|
+
patch?: never;
|
|
5650
|
+
trace?: never;
|
|
5651
|
+
};
|
|
5652
|
+
"/api/users/slack-link": {
|
|
5653
|
+
parameters: {
|
|
5654
|
+
query?: never;
|
|
5655
|
+
header?: never;
|
|
5656
|
+
path?: never;
|
|
5657
|
+
cookie?: never;
|
|
5658
|
+
};
|
|
5659
|
+
/**
|
|
5660
|
+
* ⚙️ List my Slack links
|
|
5661
|
+
* @description Returns the Slack accounts linked to the current user.
|
|
5662
|
+
*/
|
|
5663
|
+
get: operations["listMySlackLinks"];
|
|
5254
5664
|
put?: never;
|
|
5255
5665
|
post?: never;
|
|
5256
5666
|
/**
|
|
@@ -5695,8 +6105,8 @@ export interface components {
|
|
|
5695
6105
|
fx_rate: number | null;
|
|
5696
6106
|
/** @description Billing line kind (`tier` or `addon`). */
|
|
5697
6107
|
kind: string;
|
|
5698
|
-
/** @description
|
|
5699
|
-
|
|
6108
|
+
/** @description Plan this charge was billed from, if any. */
|
|
6109
|
+
plan_id: number | null;
|
|
5700
6110
|
/** @description Tier name, if applicable. */
|
|
5701
6111
|
tier: string | null;
|
|
5702
6112
|
/** @description Display label. */
|
|
@@ -5733,7 +6143,7 @@ export interface components {
|
|
|
5733
6143
|
/** @enum {string} */
|
|
5734
6144
|
kind?: "tier" | "addon";
|
|
5735
6145
|
project_id?: number | null;
|
|
5736
|
-
|
|
6146
|
+
plan_id?: number | null;
|
|
5737
6147
|
tier?: string | null;
|
|
5738
6148
|
label?: string | null;
|
|
5739
6149
|
base_price_cents: number;
|
|
@@ -5898,7 +6308,8 @@ export interface components {
|
|
|
5898
6308
|
label?: string | null;
|
|
5899
6309
|
base_price_cents: number;
|
|
5900
6310
|
meters?: {
|
|
5901
|
-
|
|
6311
|
+
/** @enum {string} */
|
|
6312
|
+
meter: "test_suite_size" | "ai_credits" | "test_minutes" | "test_run_duration";
|
|
5902
6313
|
included_qty?: number | null;
|
|
5903
6314
|
overage_price_cents?: number | null;
|
|
5904
6315
|
}[];
|
|
@@ -5924,7 +6335,8 @@ export interface components {
|
|
|
5924
6335
|
label?: string | null;
|
|
5925
6336
|
base_price_cents: number;
|
|
5926
6337
|
meters?: {
|
|
5927
|
-
|
|
6338
|
+
/** @enum {string} */
|
|
6339
|
+
meter: "test_suite_size" | "ai_credits" | "test_minutes" | "test_run_duration";
|
|
5928
6340
|
included_qty?: number | null;
|
|
5929
6341
|
overage_price_cents?: number | null;
|
|
5930
6342
|
}[];
|
|
@@ -5933,6 +6345,31 @@ export interface components {
|
|
|
5933
6345
|
OrderFormPdfUploadRequest: {
|
|
5934
6346
|
pdf_base64: string;
|
|
5935
6347
|
};
|
|
6348
|
+
OrgPlanResponse: {
|
|
6349
|
+
/** @description Response payload. */
|
|
6350
|
+
data: {
|
|
6351
|
+
/** @description Whether the org has a plan assignment in effect now. */
|
|
6352
|
+
has_plan: boolean;
|
|
6353
|
+
/** @description The shared plan in effect, or null when the org has no plan or is on a custom plan. */
|
|
6354
|
+
plan: {
|
|
6355
|
+
/** @description Plan name, e.g. `Managed`. */
|
|
6356
|
+
name: string;
|
|
6357
|
+
/** @description Currency of the prices below, e.g. `usd`. */
|
|
6358
|
+
currency: string;
|
|
6359
|
+
/** @description Monthly base price in cents of `currency`. */
|
|
6360
|
+
base_price_cents: number;
|
|
6361
|
+
/** @description Metered allowances and overage rates. */
|
|
6362
|
+
meters: {
|
|
6363
|
+
/** @description Meter key, e.g. `ai_credits` or `test_minutes`. */
|
|
6364
|
+
meter: string;
|
|
6365
|
+
/** @description Units included each month. */
|
|
6366
|
+
included_qty: number | null;
|
|
6367
|
+
/** @description Price per unit above the allowance, in cents of `currency`; may be fractional. */
|
|
6368
|
+
overage_price_cents: number | null;
|
|
6369
|
+
}[];
|
|
6370
|
+
} | null;
|
|
6371
|
+
};
|
|
6372
|
+
};
|
|
5936
6373
|
PlanAssignmentListResponse: {
|
|
5937
6374
|
/** @description The page of plan assignments. */
|
|
5938
6375
|
data: {
|
|
@@ -5945,18 +6382,14 @@ export interface components {
|
|
|
5945
6382
|
id: number;
|
|
5946
6383
|
/** @description Organisation this assignment belongs to. */
|
|
5947
6384
|
org_id: number;
|
|
5948
|
-
/** @description
|
|
5949
|
-
|
|
6385
|
+
/** @description Plan the organisation is on. */
|
|
6386
|
+
plan_id: number;
|
|
5950
6387
|
/** @description ISO-8601 timestamp the assignment starts. */
|
|
5951
6388
|
effective_from: string;
|
|
5952
6389
|
/** @description ISO-8601 timestamp the assignment ends, or null for open-ended. */
|
|
5953
6390
|
effective_to: string | null;
|
|
5954
6391
|
/** @description Origin: `order_form`, `derived_from_invoice`, or `manual`. */
|
|
5955
6392
|
source: string;
|
|
5956
|
-
/** @description Whether the assignment is pinned. */
|
|
5957
|
-
pinned: boolean;
|
|
5958
|
-
/** @description Arbitrary JSON overrides for the plan, or null. */
|
|
5959
|
-
custom_overrides?: unknown;
|
|
5960
6393
|
/** @description ISO-8601 creation timestamp. */
|
|
5961
6394
|
created_at: string;
|
|
5962
6395
|
/** @description ISO-8601 last-update timestamp. */
|
|
@@ -5975,8 +6408,8 @@ export interface components {
|
|
|
5975
6408
|
CreatePlanAssignmentRequest: {
|
|
5976
6409
|
/** @description Organisation this plan assignment belongs to. */
|
|
5977
6410
|
org_id: number;
|
|
5978
|
-
/** @description
|
|
5979
|
-
|
|
6411
|
+
/** @description Plan the organisation is on. */
|
|
6412
|
+
plan_id: number;
|
|
5980
6413
|
/**
|
|
5981
6414
|
* Format: date-time
|
|
5982
6415
|
* @description When the assignment starts being effective (timestamptz).
|
|
@@ -5992,16 +6425,12 @@ export interface components {
|
|
|
5992
6425
|
* @enum {string}
|
|
5993
6426
|
*/
|
|
5994
6427
|
source?: "order_form" | "derived_from_invoice" | "manual";
|
|
5995
|
-
/** @description Whether the assignment is pinned. Defaults false. */
|
|
5996
|
-
pinned?: boolean;
|
|
5997
|
-
/** @description Arbitrary JSON overrides for the plan. */
|
|
5998
|
-
custom_overrides?: unknown;
|
|
5999
6428
|
};
|
|
6000
6429
|
UpdatePlanAssignmentRequest: {
|
|
6001
6430
|
/** @description Organisation this plan assignment belongs to. */
|
|
6002
6431
|
org_id?: number;
|
|
6003
|
-
/** @description
|
|
6004
|
-
|
|
6432
|
+
/** @description Plan the organisation is on. */
|
|
6433
|
+
plan_id?: number;
|
|
6005
6434
|
/**
|
|
6006
6435
|
* Format: date-time
|
|
6007
6436
|
* @description When the assignment starts being effective (timestamptz).
|
|
@@ -6017,36 +6446,448 @@ export interface components {
|
|
|
6017
6446
|
* @enum {string}
|
|
6018
6447
|
*/
|
|
6019
6448
|
source?: "order_form" | "derived_from_invoice" | "manual";
|
|
6020
|
-
/** @description Whether the assignment is pinned. */
|
|
6021
|
-
pinned?: boolean;
|
|
6022
|
-
/** @description Arbitrary JSON overrides for the plan. */
|
|
6023
|
-
custom_overrides?: unknown;
|
|
6024
6449
|
};
|
|
6025
|
-
|
|
6450
|
+
PlanListResponse: {
|
|
6026
6451
|
/** @description Response payload. */
|
|
6027
6452
|
data: {
|
|
6028
|
-
|
|
6029
|
-
api_keys: components["schemas"]["TruncatedProjectApiKey"][];
|
|
6453
|
+
plans: components["schemas"]["Plan"][];
|
|
6030
6454
|
};
|
|
6031
6455
|
};
|
|
6032
|
-
|
|
6033
|
-
/** @description
|
|
6456
|
+
Plan: {
|
|
6457
|
+
/** @description Plan ID. */
|
|
6034
6458
|
id: number;
|
|
6035
|
-
/** @description
|
|
6036
|
-
|
|
6037
|
-
/** @description
|
|
6038
|
-
|
|
6039
|
-
/** @description
|
|
6040
|
-
|
|
6041
|
-
/** @description
|
|
6042
|
-
|
|
6043
|
-
/** @description
|
|
6044
|
-
|
|
6045
|
-
/** @description
|
|
6046
|
-
|
|
6047
|
-
/** @description
|
|
6048
|
-
|
|
6049
|
-
/** @description
|
|
6459
|
+
/** @description Organisation a custom plan belongs to; null for a shared plan. */
|
|
6460
|
+
org_id: number | null;
|
|
6461
|
+
/** @description Order form a custom plan comes from, if any. */
|
|
6462
|
+
order_form_id: number | null;
|
|
6463
|
+
/** @description `tier` or `addon`. */
|
|
6464
|
+
kind: string;
|
|
6465
|
+
/** @description Stable unique key of a shared plan, e.g. `managed`. */
|
|
6466
|
+
key: string | null;
|
|
6467
|
+
/** @description Display name, e.g. `Managed`, `Starter`. */
|
|
6468
|
+
name: string | null;
|
|
6469
|
+
/** @description Currency the plan is priced in, e.g. `usd`. */
|
|
6470
|
+
currency: string;
|
|
6471
|
+
/** @description Monthly base price in cents of `currency`. */
|
|
6472
|
+
base_price_cents: number;
|
|
6473
|
+
/** @description `active` or `retired`. Retired plans keep existing assignments. */
|
|
6474
|
+
status: string;
|
|
6475
|
+
/** @description ISO-8601 creation timestamp. */
|
|
6476
|
+
created_at: string;
|
|
6477
|
+
/** @description Metered allowances and overage rates. */
|
|
6478
|
+
meters: components["schemas"]["PlanMeter"][];
|
|
6479
|
+
};
|
|
6480
|
+
PlanMeter: {
|
|
6481
|
+
/** @description Plan meter ID. */
|
|
6482
|
+
id: number;
|
|
6483
|
+
/** @description Plan this meter belongs to. */
|
|
6484
|
+
plan_id: number;
|
|
6485
|
+
/** @description Meter key, e.g. `ai_credits` or `test_minutes`. */
|
|
6486
|
+
meter: string;
|
|
6487
|
+
/** @description Units included in the base price each month. */
|
|
6488
|
+
included_qty: number | null;
|
|
6489
|
+
/** @description Price per unit above the included quantity, in cents of the plan currency. May be fractional (0.5 = $0.005). Null means usage above the allowance is not billed. */
|
|
6490
|
+
overage_price_cents: number | null;
|
|
6491
|
+
/** @description Display order. */
|
|
6492
|
+
sort_order: number;
|
|
6493
|
+
};
|
|
6494
|
+
PlanResponse: {
|
|
6495
|
+
/** @description Response payload. */
|
|
6496
|
+
data: {
|
|
6497
|
+
plan: components["schemas"]["Plan"];
|
|
6498
|
+
};
|
|
6499
|
+
};
|
|
6500
|
+
CreatePlanRequest: {
|
|
6501
|
+
/** @description Stable unique key, e.g. `managed`. */
|
|
6502
|
+
key: string;
|
|
6503
|
+
/** @description Display name. */
|
|
6504
|
+
name: string;
|
|
6505
|
+
/**
|
|
6506
|
+
* @description Currency the plan is priced in. Defaults to `usd`.
|
|
6507
|
+
* @enum {string}
|
|
6508
|
+
*/
|
|
6509
|
+
currency?: "usd" | "inr" | "aed";
|
|
6510
|
+
/** @description Monthly base price in cents of `currency`. */
|
|
6511
|
+
base_price_cents: number;
|
|
6512
|
+
/**
|
|
6513
|
+
* @description Metered allowances, in display order.
|
|
6514
|
+
* @default []
|
|
6515
|
+
*/
|
|
6516
|
+
meters: {
|
|
6517
|
+
/**
|
|
6518
|
+
* @description Meter key from the meter registry. Its unit applies to both `included_qty` and `overage_price_cents`.
|
|
6519
|
+
* @enum {string}
|
|
6520
|
+
*/
|
|
6521
|
+
meter: "test_suite_size" | "ai_credits" | "test_minutes" | "test_run_duration";
|
|
6522
|
+
/** @description Units included each month. */
|
|
6523
|
+
included_qty?: number | null;
|
|
6524
|
+
/** @description Price per unit above the allowance, in cents; may be fractional. */
|
|
6525
|
+
overage_price_cents?: number | null;
|
|
6526
|
+
}[];
|
|
6527
|
+
};
|
|
6528
|
+
UpdatePlanRequest: {
|
|
6529
|
+
/**
|
|
6530
|
+
* @description `retired` hides the plan from new sales; existing assignments keep it.
|
|
6531
|
+
* @enum {string}
|
|
6532
|
+
*/
|
|
6533
|
+
status: "active" | "retired";
|
|
6534
|
+
};
|
|
6535
|
+
BillingMonthSummaryResponse: {
|
|
6536
|
+
/** @description Response payload. */
|
|
6537
|
+
data: {
|
|
6538
|
+
/** @description Usage month, YYYY-MM (UTC). */
|
|
6539
|
+
month: string;
|
|
6540
|
+
period_start: string;
|
|
6541
|
+
/** @description Exclusive (ISO 8601). */
|
|
6542
|
+
period_end: string;
|
|
6543
|
+
is_current_month: boolean;
|
|
6544
|
+
/** @description The shared plan in effect; null for no plan or a custom contract. */
|
|
6545
|
+
plan: {
|
|
6546
|
+
name: string;
|
|
6547
|
+
currency: string;
|
|
6548
|
+
base_price_cents: number;
|
|
6549
|
+
} | null;
|
|
6550
|
+
meters: components["schemas"]["BillingMeterSummary"][];
|
|
6551
|
+
projects: {
|
|
6552
|
+
project_id: number;
|
|
6553
|
+
name: string;
|
|
6554
|
+
slug: string;
|
|
6555
|
+
ai_credits: number;
|
|
6556
|
+
test_minutes: number;
|
|
6557
|
+
}[];
|
|
6558
|
+
overage_cents: number;
|
|
6559
|
+
projected_overage_cents: number | null;
|
|
6560
|
+
/** @description Overage of the previous usage month, as a guide when picking a limit. Current month only. */
|
|
6561
|
+
last_month_overage_cents: number | null;
|
|
6562
|
+
usage_limit: components["schemas"]["UsageLimit"];
|
|
6563
|
+
};
|
|
6564
|
+
};
|
|
6565
|
+
BillingMeterSummary: {
|
|
6566
|
+
/** @enum {string} */
|
|
6567
|
+
meter: "ai_credits" | "test_minutes";
|
|
6568
|
+
included_qty: number | null;
|
|
6569
|
+
overage_price_cents: number | null;
|
|
6570
|
+
/** @description Units used so far this month. */
|
|
6571
|
+
used: number;
|
|
6572
|
+
/** @description Projected units at month end (trailing 7-day pace); null when too early to project. */
|
|
6573
|
+
projected: number | null;
|
|
6574
|
+
overage_cents: number;
|
|
6575
|
+
projected_overage_cents: number | null;
|
|
6576
|
+
};
|
|
6577
|
+
UsageLimit: {
|
|
6578
|
+
/** @description Whether the org's plan supports a usage limit (catalog plans with overage pricing). */
|
|
6579
|
+
available: boolean;
|
|
6580
|
+
/** @description Most overage allowed per usage month, in cents of the plan currency. Null means no limit. */
|
|
6581
|
+
cap_cents: number | null;
|
|
6582
|
+
/**
|
|
6583
|
+
* @description `warning` at 80% of the limit (or, for a $0 limit, 80% of any allowance); `reached` when new work is paused.
|
|
6584
|
+
* @enum {string}
|
|
6585
|
+
*/
|
|
6586
|
+
status: "none" | "ok" | "warning" | "reached";
|
|
6587
|
+
/** @description When the limit was reached this month (ISO 8601). */
|
|
6588
|
+
reached_at: string | null;
|
|
6589
|
+
updated_at: string | null;
|
|
6590
|
+
/** @description Who made a change. */
|
|
6591
|
+
updated_by: {
|
|
6592
|
+
/** @description user | agent | api_key | system */
|
|
6593
|
+
kind: string;
|
|
6594
|
+
id: string | null;
|
|
6595
|
+
/** @description User name, when a user. */
|
|
6596
|
+
name: string | null;
|
|
6597
|
+
} | null;
|
|
6598
|
+
};
|
|
6599
|
+
UsageLimitResponse: {
|
|
6600
|
+
/** @description Response payload. */
|
|
6601
|
+
data: {
|
|
6602
|
+
/** @description Whether the org's plan supports a usage limit (catalog plans with overage pricing). */
|
|
6603
|
+
available: boolean;
|
|
6604
|
+
/** @description Most overage allowed per usage month, in cents of the plan currency. Null means no limit. */
|
|
6605
|
+
cap_cents: number | null;
|
|
6606
|
+
/**
|
|
6607
|
+
* @description `warning` at 80% of the limit (or, for a $0 limit, 80% of any allowance); `reached` when new work is paused.
|
|
6608
|
+
* @enum {string}
|
|
6609
|
+
*/
|
|
6610
|
+
status: "none" | "ok" | "warning" | "reached";
|
|
6611
|
+
/** @description When the limit was reached this month (ISO 8601). */
|
|
6612
|
+
reached_at: string | null;
|
|
6613
|
+
updated_at: string | null;
|
|
6614
|
+
/** @description Who made a change. */
|
|
6615
|
+
updated_by: {
|
|
6616
|
+
/** @description user | agent | api_key | system */
|
|
6617
|
+
kind: string;
|
|
6618
|
+
id: string | null;
|
|
6619
|
+
/** @description User name, when a user. */
|
|
6620
|
+
name: string | null;
|
|
6621
|
+
} | null;
|
|
6622
|
+
};
|
|
6623
|
+
};
|
|
6624
|
+
UsageLimitEventsResponse: {
|
|
6625
|
+
/** @description Response payload. */
|
|
6626
|
+
data: components["schemas"]["UsageLimitEvent"][];
|
|
6627
|
+
};
|
|
6628
|
+
UsageLimitEvent: {
|
|
6629
|
+
id: number;
|
|
6630
|
+
/** @description spend_cap.set | spend_cap.removed | spend_cap.alert_sent | spend_cap.reached | spend_cap.cleared */
|
|
6631
|
+
action: string;
|
|
6632
|
+
/** @description Who made a change. */
|
|
6633
|
+
actor: {
|
|
6634
|
+
/** @description user | agent | api_key | system */
|
|
6635
|
+
kind: string;
|
|
6636
|
+
id: string | null;
|
|
6637
|
+
/** @description User name, when a user. */
|
|
6638
|
+
name: string | null;
|
|
6639
|
+
};
|
|
6640
|
+
before?: unknown;
|
|
6641
|
+
after?: unknown;
|
|
6642
|
+
metadata?: unknown;
|
|
6643
|
+
created_at: string;
|
|
6644
|
+
};
|
|
6645
|
+
RunnerBackendListResponse: {
|
|
6646
|
+
/** @description Response payload. */
|
|
6647
|
+
data: {
|
|
6648
|
+
runner_backends: components["schemas"]["RunnerBackend"][];
|
|
6649
|
+
};
|
|
6650
|
+
};
|
|
6651
|
+
RunnerBackend: {
|
|
6652
|
+
/** @description Runner backend ID. */
|
|
6653
|
+
id: number;
|
|
6654
|
+
/** @description Organisation that owns the installation. */
|
|
6655
|
+
org_id: number;
|
|
6656
|
+
/** @description Human-readable name. */
|
|
6657
|
+
name: string;
|
|
6658
|
+
/** @description AWS account the installation runs in. */
|
|
6659
|
+
aws_account_id: string;
|
|
6660
|
+
/** @description AWS region of the installation. */
|
|
6661
|
+
region: string;
|
|
6662
|
+
/** @description Role api-worker assumes to drive the plane. */
|
|
6663
|
+
role_arn: string;
|
|
6664
|
+
/** @description External ID the role's trust policy must require. Give it only to this installation's owner. */
|
|
6665
|
+
external_id: string;
|
|
6666
|
+
/** @description ECS cluster name. */
|
|
6667
|
+
cluster_name: string;
|
|
6668
|
+
/** @description CloudWatch log group of the worker. */
|
|
6669
|
+
log_group_name: string;
|
|
6670
|
+
/** @description Worker container name. */
|
|
6671
|
+
container_name: string;
|
|
6672
|
+
/** @description Job queue URLs are `${queue_prefix}-${machineSize}`. */
|
|
6673
|
+
queue_prefix: string;
|
|
6674
|
+
/**
|
|
6675
|
+
* @description `pending` until verified; only `active` backends receive runs.
|
|
6676
|
+
* @enum {string}
|
|
6677
|
+
*/
|
|
6678
|
+
status: "pending" | "active" | "disabled";
|
|
6679
|
+
/** @description ISO-8601 time of the last successful verify. */
|
|
6680
|
+
last_verified_at: string | null;
|
|
6681
|
+
/** @description ISO-8601 time of the last verify, manual or scheduled, whatever its outcome. */
|
|
6682
|
+
last_checked_at: string | null;
|
|
6683
|
+
/** @description Outcome of the last verify; null if never run. */
|
|
6684
|
+
last_check_ok: boolean | null;
|
|
6685
|
+
/** @description Every check from the last verify. */
|
|
6686
|
+
last_check_results: components["schemas"]["RunnerBackendCheck"][] | null;
|
|
6687
|
+
/** @description ISO-8601 start of the current run of failed checks; null while passing. A failing check does not change `status`. */
|
|
6688
|
+
check_failing_since: string | null;
|
|
6689
|
+
/** @description ISO-8601 creation time. */
|
|
6690
|
+
created_at: string;
|
|
6691
|
+
/** @description ISO-8601 last-update time. */
|
|
6692
|
+
updated_at: string;
|
|
6693
|
+
};
|
|
6694
|
+
RunnerBackendCheck: {
|
|
6695
|
+
/** @description `assume_role`, `job_queue`, `scaler_trigger_queue`, `ecs_cluster`, `ecs_tasks` or `worker_logs`. */
|
|
6696
|
+
name: string;
|
|
6697
|
+
/** @description Whether the check passed. */
|
|
6698
|
+
ok: boolean;
|
|
6699
|
+
/** @description The resource checked, or the AWS error. */
|
|
6700
|
+
detail: string;
|
|
6701
|
+
};
|
|
6702
|
+
RunnerBackendResponse: {
|
|
6703
|
+
/** @description Response payload. */
|
|
6704
|
+
data: {
|
|
6705
|
+
runner_backend: components["schemas"]["RunnerBackend"];
|
|
6706
|
+
};
|
|
6707
|
+
};
|
|
6708
|
+
CreateRunnerBackendBody: {
|
|
6709
|
+
/** @description Owning organisation. */
|
|
6710
|
+
org_id: number;
|
|
6711
|
+
/** @description Human-readable name. */
|
|
6712
|
+
name: string;
|
|
6713
|
+
/** @description 12-digit AWS account ID. */
|
|
6714
|
+
aws_account_id: string;
|
|
6715
|
+
/** @description AWS region, e.g. `us-east-1`. */
|
|
6716
|
+
region: string;
|
|
6717
|
+
/** @description ARN of a role named `empirical-private-runner-*` in `aws_account_id`. */
|
|
6718
|
+
role_arn: string;
|
|
6719
|
+
/** @description ECS cluster name. */
|
|
6720
|
+
cluster_name: string;
|
|
6721
|
+
/** @description CloudWatch log group of the worker. */
|
|
6722
|
+
log_group_name: string;
|
|
6723
|
+
/** @description `https://sqs.<region>.amazonaws.com/<account>/<name>`; queues are `${queue_prefix}-${machineSize}`. */
|
|
6724
|
+
queue_prefix: string;
|
|
6725
|
+
/** @description Worker container name. Defaults to `test-run-worker`. */
|
|
6726
|
+
container_name?: string;
|
|
6727
|
+
/** @description Only for installations whose role already requires a fixed ID (Empirical's own dogfood). Generated otherwise. */
|
|
6728
|
+
external_id?: string;
|
|
6729
|
+
};
|
|
6730
|
+
ProjectRunnerBackendResponse: {
|
|
6731
|
+
/** @description Response payload. */
|
|
6732
|
+
data: {
|
|
6733
|
+
project_id: number;
|
|
6734
|
+
runner_backend_id: number | null;
|
|
6735
|
+
};
|
|
6736
|
+
};
|
|
6737
|
+
SetProjectRunnerBackendBody: {
|
|
6738
|
+
/** @description An active backend of the project's organisation, or null for Empirical-hosted. */
|
|
6739
|
+
runner_backend_id: number | null;
|
|
6740
|
+
};
|
|
6741
|
+
ProjectRunnerBackendDetailResponse: {
|
|
6742
|
+
/** @description Response payload. */
|
|
6743
|
+
data: {
|
|
6744
|
+
/** @description The backend the project's new runs are placed on, or null for Empirical-hosted. */
|
|
6745
|
+
runner_backend: {
|
|
6746
|
+
/** @description Runner backend ID. */
|
|
6747
|
+
id: number;
|
|
6748
|
+
/** @description Organisation that owns the installation. */
|
|
6749
|
+
org_id: number;
|
|
6750
|
+
/** @description Human-readable name. */
|
|
6751
|
+
name: string;
|
|
6752
|
+
/** @description AWS account the installation runs in. */
|
|
6753
|
+
aws_account_id: string;
|
|
6754
|
+
/** @description AWS region of the installation. */
|
|
6755
|
+
region: string;
|
|
6756
|
+
/** @description Role api-worker assumes to drive the plane. */
|
|
6757
|
+
role_arn: string;
|
|
6758
|
+
/** @description External ID the role's trust policy must require. Give it only to this installation's owner. */
|
|
6759
|
+
external_id: string;
|
|
6760
|
+
/** @description ECS cluster name. */
|
|
6761
|
+
cluster_name: string;
|
|
6762
|
+
/** @description CloudWatch log group of the worker. */
|
|
6763
|
+
log_group_name: string;
|
|
6764
|
+
/** @description Worker container name. */
|
|
6765
|
+
container_name: string;
|
|
6766
|
+
/** @description Job queue URLs are `${queue_prefix}-${machineSize}`. */
|
|
6767
|
+
queue_prefix: string;
|
|
6768
|
+
/**
|
|
6769
|
+
* @description `pending` until verified; only `active` backends receive runs.
|
|
6770
|
+
* @enum {string}
|
|
6771
|
+
*/
|
|
6772
|
+
status: "pending" | "active" | "disabled";
|
|
6773
|
+
/** @description ISO-8601 time of the last successful verify. */
|
|
6774
|
+
last_verified_at: string | null;
|
|
6775
|
+
/** @description ISO-8601 time of the last verify, manual or scheduled, whatever its outcome. */
|
|
6776
|
+
last_checked_at: string | null;
|
|
6777
|
+
/** @description Outcome of the last verify; null if never run. */
|
|
6778
|
+
last_check_ok: boolean | null;
|
|
6779
|
+
/** @description Every check from the last verify. */
|
|
6780
|
+
last_check_results: components["schemas"]["RunnerBackendCheck"][] | null;
|
|
6781
|
+
/** @description ISO-8601 start of the current run of failed checks; null while passing. A failing check does not change `status`. */
|
|
6782
|
+
check_failing_since: string | null;
|
|
6783
|
+
/** @description ISO-8601 creation time. */
|
|
6784
|
+
created_at: string;
|
|
6785
|
+
/** @description ISO-8601 last-update time. */
|
|
6786
|
+
updated_at: string;
|
|
6787
|
+
} | null;
|
|
6788
|
+
};
|
|
6789
|
+
};
|
|
6790
|
+
RunnerBackendVerifyResponse: {
|
|
6791
|
+
/** @description Response payload. */
|
|
6792
|
+
data: {
|
|
6793
|
+
/** @description True when every check passed. */
|
|
6794
|
+
verified: boolean;
|
|
6795
|
+
checks: components["schemas"]["RunnerBackendCheck"][];
|
|
6796
|
+
runner_backend: components["schemas"]["RunnerBackend"];
|
|
6797
|
+
};
|
|
6798
|
+
};
|
|
6799
|
+
CreateSystemMessageResponse: {
|
|
6800
|
+
data: {
|
|
6801
|
+
system_message: components["schemas"]["SystemMessage"];
|
|
6802
|
+
recipients: components["schemas"]["SystemMessageRecipient"][];
|
|
6803
|
+
skipped_project_ids: number[];
|
|
6804
|
+
};
|
|
6805
|
+
};
|
|
6806
|
+
SystemMessage: {
|
|
6807
|
+
id: number;
|
|
6808
|
+
body: string;
|
|
6809
|
+
created_by: string | null;
|
|
6810
|
+
created_at: string;
|
|
6811
|
+
};
|
|
6812
|
+
SystemMessageRecipient: {
|
|
6813
|
+
project_id: number;
|
|
6814
|
+
chat_session_id: number | null;
|
|
6815
|
+
/** @enum {string} */
|
|
6816
|
+
delivery_status: "pending" | "delivered" | "failed";
|
|
6817
|
+
delivery_error: string | null;
|
|
6818
|
+
delivered_at: string | null;
|
|
6819
|
+
/** @enum {string|null} */
|
|
6820
|
+
ack_status: "accepted" | "declined" | null;
|
|
6821
|
+
ack_note: string | null;
|
|
6822
|
+
acked_at: string | null;
|
|
6823
|
+
acked_by_chat_session_id: number | null;
|
|
6824
|
+
session_error: string | null;
|
|
6825
|
+
session_is_closed: boolean | null;
|
|
6826
|
+
};
|
|
6827
|
+
CreateSystemMessageRequest: {
|
|
6828
|
+
body: string;
|
|
6829
|
+
project_ids?: number[];
|
|
6830
|
+
};
|
|
6831
|
+
SystemMessageListResponse: {
|
|
6832
|
+
data: {
|
|
6833
|
+
system_messages: components["schemas"]["SystemMessageSummary"][];
|
|
6834
|
+
};
|
|
6835
|
+
};
|
|
6836
|
+
SystemMessageSummary: {
|
|
6837
|
+
id: number;
|
|
6838
|
+
body: string;
|
|
6839
|
+
created_by: string | null;
|
|
6840
|
+
created_at: string;
|
|
6841
|
+
recipients: number;
|
|
6842
|
+
delivered: number;
|
|
6843
|
+
failed: number;
|
|
6844
|
+
acked: number;
|
|
6845
|
+
};
|
|
6846
|
+
SystemMessageDetailResponse: {
|
|
6847
|
+
data: {
|
|
6848
|
+
system_message: components["schemas"]["SystemMessage"];
|
|
6849
|
+
recipients: components["schemas"]["SystemMessageRecipient"][];
|
|
6850
|
+
};
|
|
6851
|
+
};
|
|
6852
|
+
AckSystemMessageResponse: {
|
|
6853
|
+
data: {
|
|
6854
|
+
system_message_id: number;
|
|
6855
|
+
project_id: number;
|
|
6856
|
+
/** @enum {string} */
|
|
6857
|
+
ack_status: "accepted" | "declined";
|
|
6858
|
+
acked_at: string;
|
|
6859
|
+
};
|
|
6860
|
+
};
|
|
6861
|
+
AckSystemMessageRequest: {
|
|
6862
|
+
/** @enum {string} */
|
|
6863
|
+
status: "accepted" | "declined";
|
|
6864
|
+
note?: string;
|
|
6865
|
+
};
|
|
6866
|
+
ApiKeyListResponse: {
|
|
6867
|
+
/** @description Response payload. */
|
|
6868
|
+
data: {
|
|
6869
|
+
/** @description The project's API keys (secrets truncated). */
|
|
6870
|
+
api_keys: components["schemas"]["TruncatedProjectApiKey"][];
|
|
6871
|
+
};
|
|
6872
|
+
};
|
|
6873
|
+
TruncatedProjectApiKey: {
|
|
6874
|
+
/** @description API key ID. */
|
|
6875
|
+
id: number;
|
|
6876
|
+
/** @description Project the key belongs to. */
|
|
6877
|
+
project_id: number | null;
|
|
6878
|
+
/** @description Human-readable name for the key. */
|
|
6879
|
+
name: string;
|
|
6880
|
+
/** @description User ID of the creator, if known. */
|
|
6881
|
+
created_by: string | null;
|
|
6882
|
+
/** @description ISO 8601 creation timestamp. */
|
|
6883
|
+
created_at: string | null;
|
|
6884
|
+
/** @description ISO 8601 timestamp the key was last updated. */
|
|
6885
|
+
updated_at: string | null;
|
|
6886
|
+
/** @description User ID of the last updater, if known. */
|
|
6887
|
+
updated_by: string | null;
|
|
6888
|
+
/** @description ISO 8601 timestamp the key was last used. */
|
|
6889
|
+
last_used_at: string | null;
|
|
6890
|
+
/** @description Whether the key is disabled. */
|
|
6050
6891
|
is_disabled: boolean | null;
|
|
6051
6892
|
/** @description Whether the key is an internal service key. */
|
|
6052
6893
|
is_internal: boolean | null;
|
|
@@ -7047,8 +7888,10 @@ export interface components {
|
|
|
7047
7888
|
ResolveMembershipResponse: {
|
|
7048
7889
|
/** @description Response payload. */
|
|
7049
7890
|
data: {
|
|
7050
|
-
/** @description All org ids the user
|
|
7891
|
+
/** @description All org ids the user belongs to after resolution. */
|
|
7051
7892
|
org_ids: number[];
|
|
7893
|
+
/** @description Whether the user is a super admin. */
|
|
7894
|
+
is_super_admin: boolean;
|
|
7052
7895
|
};
|
|
7053
7896
|
};
|
|
7054
7897
|
ResolveMembershipRequest: {
|
|
@@ -7616,8 +8459,8 @@ export interface components {
|
|
|
7616
8459
|
effective_from: string;
|
|
7617
8460
|
/** @description ISO timestamp it was turned off; null while active. */
|
|
7618
8461
|
effective_to: string | null;
|
|
7619
|
-
/** @description
|
|
7620
|
-
|
|
8462
|
+
/** @description Add-on plan this period bills against, when a priced one exists. Null for add-ons that are free today. */
|
|
8463
|
+
plan_id: number | null;
|
|
7621
8464
|
created_by: string | null;
|
|
7622
8465
|
ended_by: string | null;
|
|
7623
8466
|
};
|
|
@@ -7633,8 +8476,8 @@ export interface components {
|
|
|
7633
8476
|
* @description Backdate the period to this ISO timestamp. Super admin only; defaults to now.
|
|
7634
8477
|
*/
|
|
7635
8478
|
effective_from?: string;
|
|
7636
|
-
/** @description
|
|
7637
|
-
|
|
8479
|
+
/** @description Add-on plan (kind='addon') this period bills against. Super admin only. */
|
|
8480
|
+
plan_id?: number;
|
|
7638
8481
|
};
|
|
7639
8482
|
StaticIpsResponse: {
|
|
7640
8483
|
/** @description Response payload. */
|
|
@@ -8693,8 +9536,14 @@ export interface components {
|
|
|
8693
9536
|
/** @description Response payload. */
|
|
8694
9537
|
data: {
|
|
8695
9538
|
chat_session: components["schemas"]["ChatSession"];
|
|
9539
|
+
subscription: components["schemas"]["ChatSessionCallerSubscription"];
|
|
8696
9540
|
};
|
|
8697
9541
|
};
|
|
9542
|
+
/** @description One-shot subscription that wakes the calling agent session when this session next waits for input; null when none was created. */
|
|
9543
|
+
ChatSessionCallerSubscription: {
|
|
9544
|
+
/** @description Subscription ID. */
|
|
9545
|
+
id: number;
|
|
9546
|
+
} | null;
|
|
8698
9547
|
ChatSessionDetailResponse: {
|
|
8699
9548
|
/** @description Response payload. */
|
|
8700
9549
|
data: {
|
|
@@ -8763,6 +9612,7 @@ export interface components {
|
|
|
8763
9612
|
/** @description Response payload. */
|
|
8764
9613
|
data: {
|
|
8765
9614
|
chat_session: components["schemas"]["ChatSession"];
|
|
9615
|
+
subscription: components["schemas"]["ChatSessionCallerSubscription"];
|
|
8766
9616
|
};
|
|
8767
9617
|
};
|
|
8768
9618
|
ChatSessionTimelineResponse: {
|
|
@@ -9138,6 +9988,7 @@ export interface components {
|
|
|
9138
9988
|
data: {
|
|
9139
9989
|
check_runs: components["schemas"]["GhReporterCheckRunDelivery"][];
|
|
9140
9990
|
pr_comments: components["schemas"]["GhReporterPrCommentDelivery"][];
|
|
9991
|
+
linked_changes: components["schemas"]["GhReporterLinkedChangesDelivery"][];
|
|
9141
9992
|
};
|
|
9142
9993
|
};
|
|
9143
9994
|
GhReporterCheckRunDelivery: {
|
|
@@ -9171,6 +10022,51 @@ export interface components {
|
|
|
9171
10022
|
created_at: string;
|
|
9172
10023
|
updated_at: string;
|
|
9173
10024
|
};
|
|
10025
|
+
GhReporterLinkedChangesDelivery: {
|
|
10026
|
+
id: number;
|
|
10027
|
+
/** @description The app PR's run the check links to (latest write). */
|
|
10028
|
+
test_run_id: number;
|
|
10029
|
+
repo_owner: string;
|
|
10030
|
+
repo_name: string;
|
|
10031
|
+
/** @description The app PR's head branch. */
|
|
10032
|
+
pr_head: string;
|
|
10033
|
+
pr_number: number | null;
|
|
10034
|
+
/** @description App commit the check was last written on. */
|
|
10035
|
+
head_sha: string;
|
|
10036
|
+
test_branch: string;
|
|
10037
|
+
/** @description Null when GitHub never accepted the check run. */
|
|
10038
|
+
check_run_id: number | null;
|
|
10039
|
+
check_run_url: string | null;
|
|
10040
|
+
/** @description Linked changes state, e.g. no_test_branch, pr_open, nothing_to_merge. */
|
|
10041
|
+
state: string | null;
|
|
10042
|
+
status: string | null;
|
|
10043
|
+
conclusion: string | null;
|
|
10044
|
+
title: string | null;
|
|
10045
|
+
/** @description Error from the most recent delivery attempt; cleared on success. */
|
|
10046
|
+
last_error: string | null;
|
|
10047
|
+
created_at: string;
|
|
10048
|
+
updated_at: string;
|
|
10049
|
+
};
|
|
10050
|
+
GhReporterPullRequestResponse: {
|
|
10051
|
+
/** @description Response payload. */
|
|
10052
|
+
data: {
|
|
10053
|
+
/** @description Null when no PR contains head_sha. */
|
|
10054
|
+
pull_request: {
|
|
10055
|
+
number: number;
|
|
10056
|
+
title: string;
|
|
10057
|
+
state: string;
|
|
10058
|
+
merged: boolean;
|
|
10059
|
+
head_ref: string;
|
|
10060
|
+
head_sha: string;
|
|
10061
|
+
html_url: string;
|
|
10062
|
+
updated_at: string;
|
|
10063
|
+
} | null;
|
|
10064
|
+
/** @description Whether head_sha is the PR's current head commit. */
|
|
10065
|
+
delivered_sha_is_head: boolean | null;
|
|
10066
|
+
/** @description Commits on the PR head after head_sha. Null when head_sha is not an ancestor of the head (e.g. after a force push) or not given. */
|
|
10067
|
+
commits_since_delivered: number | null;
|
|
10068
|
+
};
|
|
10069
|
+
};
|
|
9174
10070
|
GhReporterWebhookAck: {
|
|
9175
10071
|
/** @description Response payload. */
|
|
9176
10072
|
data: {
|
|
@@ -11047,6 +11943,54 @@ export interface components {
|
|
|
11047
11943
|
/** @description Log line text. */
|
|
11048
11944
|
message: string;
|
|
11049
11945
|
};
|
|
11946
|
+
TestRunLinkedChangesResponse: {
|
|
11947
|
+
/** @description Response payload. */
|
|
11948
|
+
data: {
|
|
11949
|
+
/** @description Null when the run was not triggered by an app PR. */
|
|
11950
|
+
linked_changes: {
|
|
11951
|
+
/** @description The app repository (owner/name) of the PR. */
|
|
11952
|
+
app_repo: string;
|
|
11953
|
+
app_pull_request: {
|
|
11954
|
+
number: number | null;
|
|
11955
|
+
head: string;
|
|
11956
|
+
base: string | null;
|
|
11957
|
+
};
|
|
11958
|
+
/** @description The test repository. */
|
|
11959
|
+
test_repo: string;
|
|
11960
|
+
/** @description Test branch linked to the app PR by name. */
|
|
11961
|
+
test_branch: string;
|
|
11962
|
+
default_branch: string;
|
|
11963
|
+
/** @enum {string} */
|
|
11964
|
+
state: "no_test_branch" | "nothing_to_merge" | "ahead_no_pr" | "pr_open" | "pr_open_not_mergeable" | "error";
|
|
11965
|
+
/** @enum {string} */
|
|
11966
|
+
status: "in_progress" | "completed";
|
|
11967
|
+
/** @enum {string|null} */
|
|
11968
|
+
conclusion: "success" | "failure" | "neutral" | null;
|
|
11969
|
+
title: string;
|
|
11970
|
+
ahead_by: number;
|
|
11971
|
+
/** @description Open test PR from the test branch, if any. */
|
|
11972
|
+
test_pull_request: {
|
|
11973
|
+
number: number;
|
|
11974
|
+
url: string;
|
|
11975
|
+
mergeable: boolean | null;
|
|
11976
|
+
} | null;
|
|
11977
|
+
/** @description Merged test PR, when the branch was deleted after merge. */
|
|
11978
|
+
merged_test_pull_request: {
|
|
11979
|
+
number: number;
|
|
11980
|
+
url: string;
|
|
11981
|
+
} | null;
|
|
11982
|
+
/** @description Latest GitHub check written for the app PR, from any of its runs. */
|
|
11983
|
+
check: {
|
|
11984
|
+
check_run_url: string | null;
|
|
11985
|
+
head_sha: string;
|
|
11986
|
+
test_run_id: number;
|
|
11987
|
+
state: string | null;
|
|
11988
|
+
last_error: string | null;
|
|
11989
|
+
updated_at: string;
|
|
11990
|
+
} | null;
|
|
11991
|
+
} | null;
|
|
11992
|
+
};
|
|
11993
|
+
};
|
|
11050
11994
|
GetTestRunTriageSessionResponse: {
|
|
11051
11995
|
/** @description Response payload. */
|
|
11052
11996
|
data: {
|
|
@@ -12419,6 +13363,19 @@ export interface components {
|
|
|
12419
13363
|
}[];
|
|
12420
13364
|
};
|
|
12421
13365
|
};
|
|
13366
|
+
CurrentUserResponse: {
|
|
13367
|
+
/** @description Response payload. */
|
|
13368
|
+
data: {
|
|
13369
|
+
/** @description User ID. */
|
|
13370
|
+
id: string;
|
|
13371
|
+
/** @description Email address on the session. */
|
|
13372
|
+
email: string | null;
|
|
13373
|
+
/** @description Organizations the user belongs to. */
|
|
13374
|
+
org_ids: number[];
|
|
13375
|
+
/** @description Whether the user can access every org. */
|
|
13376
|
+
is_super_admin: boolean;
|
|
13377
|
+
};
|
|
13378
|
+
};
|
|
12422
13379
|
UserDetailResponse: {
|
|
12423
13380
|
/** @description Response payload. */
|
|
12424
13381
|
data: {
|
|
@@ -13044,22 +14001,9 @@ export interface operations {
|
|
|
13044
14001
|
};
|
|
13045
14002
|
};
|
|
13046
14003
|
};
|
|
13047
|
-
|
|
14004
|
+
getTestRunLinkedChanges: {
|
|
13048
14005
|
parameters: {
|
|
13049
|
-
query?:
|
|
13050
|
-
/** @description Pagination token returned by a previous logs page. */
|
|
13051
|
-
nextToken?: string;
|
|
13052
|
-
/** @description Maximum number of log events to return. */
|
|
13053
|
-
limit?: number;
|
|
13054
|
-
/** @description Restrict logs to this shard's ECS task and trim to its execution window. */
|
|
13055
|
-
shardIndex?: number | null;
|
|
13056
|
-
/** @description Job type of the shard at shardIndex. merge_reports and run_setup share index 0; defaults to merge_reports for index 0 (legacy callers), run_test otherwise. */
|
|
13057
|
-
jobType?: "run_test" | "merge_reports" | "run_setup";
|
|
13058
|
-
/** @description Lower bound (epoch ms) for log events. */
|
|
13059
|
-
startTime?: number | null;
|
|
13060
|
-
/** @description Upper bound (epoch ms) for log events. */
|
|
13061
|
-
endTime?: number | null;
|
|
13062
|
-
};
|
|
14006
|
+
query?: never;
|
|
13063
14007
|
header?: never;
|
|
13064
14008
|
path: {
|
|
13065
14009
|
/** @description Test run database ID. */
|
|
@@ -13069,16 +14013,16 @@ export interface operations {
|
|
|
13069
14013
|
};
|
|
13070
14014
|
requestBody?: never;
|
|
13071
14015
|
responses: {
|
|
13072
|
-
/** @description The
|
|
14016
|
+
/** @description The run's linked test changes. */
|
|
13073
14017
|
200: {
|
|
13074
14018
|
headers: {
|
|
13075
14019
|
[name: string]: unknown;
|
|
13076
14020
|
};
|
|
13077
14021
|
content: {
|
|
13078
|
-
"application/json": components["schemas"]["
|
|
14022
|
+
"application/json": components["schemas"]["TestRunLinkedChangesResponse"];
|
|
13079
14023
|
};
|
|
13080
14024
|
};
|
|
13081
|
-
/** @description
|
|
14025
|
+
/** @description Invalid database test run ID. */
|
|
13082
14026
|
400: {
|
|
13083
14027
|
headers: {
|
|
13084
14028
|
[name: string]: unknown;
|
|
@@ -13098,9 +14042,63 @@ export interface operations {
|
|
|
13098
14042
|
};
|
|
13099
14043
|
};
|
|
13100
14044
|
};
|
|
13101
|
-
|
|
14045
|
+
getTestRunLogs: {
|
|
13102
14046
|
parameters: {
|
|
13103
|
-
query?:
|
|
14047
|
+
query?: {
|
|
14048
|
+
/** @description Pagination token returned by a previous logs page. */
|
|
14049
|
+
nextToken?: string;
|
|
14050
|
+
/** @description Maximum number of log events to return. */
|
|
14051
|
+
limit?: number;
|
|
14052
|
+
/** @description Restrict logs to this shard's ECS task and trim to its execution window. */
|
|
14053
|
+
shardIndex?: number | null;
|
|
14054
|
+
/** @description Job type of the shard at shardIndex. merge_reports and run_setup share index 0; defaults to merge_reports for index 0 (legacy callers), run_test otherwise. */
|
|
14055
|
+
jobType?: "run_test" | "merge_reports" | "run_setup";
|
|
14056
|
+
/** @description Lower bound (epoch ms) for log events. */
|
|
14057
|
+
startTime?: number | null;
|
|
14058
|
+
/** @description Upper bound (epoch ms) for log events. */
|
|
14059
|
+
endTime?: number | null;
|
|
14060
|
+
};
|
|
14061
|
+
header?: never;
|
|
14062
|
+
path: {
|
|
14063
|
+
/** @description Test run database ID. */
|
|
14064
|
+
id: number;
|
|
14065
|
+
};
|
|
14066
|
+
cookie?: never;
|
|
14067
|
+
};
|
|
14068
|
+
requestBody?: never;
|
|
14069
|
+
responses: {
|
|
14070
|
+
/** @description The task's log events. */
|
|
14071
|
+
200: {
|
|
14072
|
+
headers: {
|
|
14073
|
+
[name: string]: unknown;
|
|
14074
|
+
};
|
|
14075
|
+
content: {
|
|
14076
|
+
"application/json": components["schemas"]["TestRunLogsResponse"];
|
|
14077
|
+
};
|
|
14078
|
+
};
|
|
14079
|
+
/** @description ECS task ID not found. */
|
|
14080
|
+
400: {
|
|
14081
|
+
headers: {
|
|
14082
|
+
[name: string]: unknown;
|
|
14083
|
+
};
|
|
14084
|
+
content: {
|
|
14085
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14086
|
+
};
|
|
14087
|
+
};
|
|
14088
|
+
/** @description Test run not found. */
|
|
14089
|
+
404: {
|
|
14090
|
+
headers: {
|
|
14091
|
+
[name: string]: unknown;
|
|
14092
|
+
};
|
|
14093
|
+
content: {
|
|
14094
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
14095
|
+
};
|
|
14096
|
+
};
|
|
14097
|
+
};
|
|
14098
|
+
};
|
|
14099
|
+
getTestRunManifestTests: {
|
|
14100
|
+
parameters: {
|
|
14101
|
+
query?: never;
|
|
13104
14102
|
header?: never;
|
|
13105
14103
|
path: {
|
|
13106
14104
|
/** @description Test run database ID. */
|
|
@@ -17237,9 +18235,14 @@ export interface operations {
|
|
|
17237
18235
|
entity_type: string;
|
|
17238
18236
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17239
18237
|
entity_id: string | null;
|
|
17240
|
-
/** @description Optional payload
|
|
18238
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17241
18239
|
payload_filter: {
|
|
17242
|
-
[key: string]: string | number | boolean |
|
|
18240
|
+
[key: string]: string | number | boolean | {
|
|
18241
|
+
gt?: number;
|
|
18242
|
+
gte?: number;
|
|
18243
|
+
lt?: number;
|
|
18244
|
+
lte?: number;
|
|
18245
|
+
} | unknown;
|
|
17243
18246
|
};
|
|
17244
18247
|
message: string;
|
|
17245
18248
|
/**
|
|
@@ -17284,9 +18287,14 @@ export interface operations {
|
|
|
17284
18287
|
event_type: string;
|
|
17285
18288
|
/** @description Exact canonical entity id to match. Omit on create, or set null on update, to match every entity. */
|
|
17286
18289
|
entity_id?: string;
|
|
17287
|
-
/** @description Optional payload
|
|
18290
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17288
18291
|
payload_filter?: {
|
|
17289
|
-
[key: string]: string | number | boolean |
|
|
18292
|
+
[key: string]: string | number | boolean | {
|
|
18293
|
+
gt?: number;
|
|
18294
|
+
gte?: number;
|
|
18295
|
+
lt?: number;
|
|
18296
|
+
lte?: number;
|
|
18297
|
+
} | unknown;
|
|
17290
18298
|
};
|
|
17291
18299
|
/** @description Continuation instruction delivered to the session after the event matches. */
|
|
17292
18300
|
message: string;
|
|
@@ -17315,9 +18323,14 @@ export interface operations {
|
|
|
17315
18323
|
entity_type: string;
|
|
17316
18324
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17317
18325
|
entity_id: string | null;
|
|
17318
|
-
/** @description Optional payload
|
|
18326
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17319
18327
|
payload_filter: {
|
|
17320
|
-
[key: string]: string | number | boolean |
|
|
18328
|
+
[key: string]: string | number | boolean | {
|
|
18329
|
+
gt?: number;
|
|
18330
|
+
gte?: number;
|
|
18331
|
+
lt?: number;
|
|
18332
|
+
lte?: number;
|
|
18333
|
+
} | unknown;
|
|
17321
18334
|
};
|
|
17322
18335
|
message: string;
|
|
17323
18336
|
/**
|
|
@@ -17389,9 +18402,14 @@ export interface operations {
|
|
|
17389
18402
|
entity_type: string;
|
|
17390
18403
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17391
18404
|
entity_id: string | null;
|
|
17392
|
-
/** @description Optional payload
|
|
18405
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17393
18406
|
payload_filter: {
|
|
17394
|
-
[key: string]: string | number | boolean |
|
|
18407
|
+
[key: string]: string | number | boolean | {
|
|
18408
|
+
gt?: number;
|
|
18409
|
+
gte?: number;
|
|
18410
|
+
lt?: number;
|
|
18411
|
+
lte?: number;
|
|
18412
|
+
} | unknown;
|
|
17395
18413
|
};
|
|
17396
18414
|
message: string;
|
|
17397
18415
|
/**
|
|
@@ -17464,9 +18482,14 @@ export interface operations {
|
|
|
17464
18482
|
event_type?: string;
|
|
17465
18483
|
/** @description Exact canonical entity id to match. Omit on create, or set null on update, to match every entity. */
|
|
17466
18484
|
entity_id?: string | null;
|
|
17467
|
-
/** @description Optional payload
|
|
18485
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17468
18486
|
payload_filter?: {
|
|
17469
|
-
[key: string]: string | number | boolean |
|
|
18487
|
+
[key: string]: string | number | boolean | {
|
|
18488
|
+
gt?: number;
|
|
18489
|
+
gte?: number;
|
|
18490
|
+
lt?: number;
|
|
18491
|
+
lte?: number;
|
|
18492
|
+
} | unknown;
|
|
17470
18493
|
};
|
|
17471
18494
|
/** @description Continuation instruction delivered to the session after the event matches. */
|
|
17472
18495
|
message?: string;
|
|
@@ -17495,9 +18518,14 @@ export interface operations {
|
|
|
17495
18518
|
entity_type: string;
|
|
17496
18519
|
/** @description Exact entity id, or null when this trigger matches every entity. */
|
|
17497
18520
|
entity_id: string | null;
|
|
17498
|
-
/** @description Optional payload
|
|
18521
|
+
/** @description Optional payload filters. Keys must be allowed for the selected event in the canonical event catalog. A primitive value is an equality match, and enum-like fields only accept the values the event emits. Numeric fields also accept a comparison object such as {"gt": 2} or {"gte": 1, "lte": 5}; operators combine with AND and never match null. */
|
|
17499
18522
|
payload_filter: {
|
|
17500
|
-
[key: string]: string | number | boolean |
|
|
18523
|
+
[key: string]: string | number | boolean | {
|
|
18524
|
+
gt?: number;
|
|
18525
|
+
gte?: number;
|
|
18526
|
+
lt?: number;
|
|
18527
|
+
lte?: number;
|
|
18528
|
+
} | unknown;
|
|
17501
18529
|
};
|
|
17502
18530
|
message: string;
|
|
17503
18531
|
/**
|
|
@@ -17574,7 +18602,7 @@ export interface operations {
|
|
|
17574
18602
|
"application/json": components["schemas"]["GithubProxyError"];
|
|
17575
18603
|
};
|
|
17576
18604
|
};
|
|
17577
|
-
/** @description The
|
|
18605
|
+
/** @description The URL uses a numeric repository id, the request writes to a protected branch, a project API key attempted a write, or a sandbox proxy rule forbade the request. */
|
|
17578
18606
|
403: {
|
|
17579
18607
|
headers: {
|
|
17580
18608
|
[name: string]: unknown;
|
|
@@ -18142,6 +19170,134 @@ export interface operations {
|
|
|
18142
19170
|
};
|
|
18143
19171
|
};
|
|
18144
19172
|
};
|
|
19173
|
+
getBillingMonthSummary: {
|
|
19174
|
+
parameters: {
|
|
19175
|
+
query?: {
|
|
19176
|
+
/** @description Usage month (YYYY-MM, UTC). Defaults to the current month. */
|
|
19177
|
+
month?: string;
|
|
19178
|
+
};
|
|
19179
|
+
header?: never;
|
|
19180
|
+
path?: never;
|
|
19181
|
+
cookie?: never;
|
|
19182
|
+
};
|
|
19183
|
+
requestBody?: never;
|
|
19184
|
+
responses: {
|
|
19185
|
+
/** @description The month summary. */
|
|
19186
|
+
200: {
|
|
19187
|
+
headers: {
|
|
19188
|
+
[name: string]: unknown;
|
|
19189
|
+
};
|
|
19190
|
+
content: {
|
|
19191
|
+
"application/json": components["schemas"]["BillingMonthSummaryResponse"];
|
|
19192
|
+
};
|
|
19193
|
+
};
|
|
19194
|
+
/** @description Invalid month, or missing project scope. */
|
|
19195
|
+
400: {
|
|
19196
|
+
headers: {
|
|
19197
|
+
[name: string]: unknown;
|
|
19198
|
+
};
|
|
19199
|
+
content: {
|
|
19200
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19201
|
+
};
|
|
19202
|
+
};
|
|
19203
|
+
/** @description The project has no org. */
|
|
19204
|
+
404: {
|
|
19205
|
+
headers: {
|
|
19206
|
+
[name: string]: unknown;
|
|
19207
|
+
};
|
|
19208
|
+
content: {
|
|
19209
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19210
|
+
};
|
|
19211
|
+
};
|
|
19212
|
+
};
|
|
19213
|
+
};
|
|
19214
|
+
setUsageLimit: {
|
|
19215
|
+
parameters: {
|
|
19216
|
+
query?: never;
|
|
19217
|
+
header?: never;
|
|
19218
|
+
path?: never;
|
|
19219
|
+
cookie?: never;
|
|
19220
|
+
};
|
|
19221
|
+
requestBody?: {
|
|
19222
|
+
content: {
|
|
19223
|
+
"application/json": {
|
|
19224
|
+
/** @description Whole dollars, in cents; null removes it. */
|
|
19225
|
+
cap_cents: number | null;
|
|
19226
|
+
};
|
|
19227
|
+
};
|
|
19228
|
+
};
|
|
19229
|
+
responses: {
|
|
19230
|
+
/** @description The updated usage limit. */
|
|
19231
|
+
200: {
|
|
19232
|
+
headers: {
|
|
19233
|
+
[name: string]: unknown;
|
|
19234
|
+
};
|
|
19235
|
+
content: {
|
|
19236
|
+
"application/json": components["schemas"]["UsageLimitResponse"];
|
|
19237
|
+
};
|
|
19238
|
+
};
|
|
19239
|
+
/** @description Invalid body, or the plan doesn't support a limit. */
|
|
19240
|
+
400: {
|
|
19241
|
+
headers: {
|
|
19242
|
+
[name: string]: unknown;
|
|
19243
|
+
};
|
|
19244
|
+
content: {
|
|
19245
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19246
|
+
};
|
|
19247
|
+
};
|
|
19248
|
+
/** @description The project has no org. */
|
|
19249
|
+
404: {
|
|
19250
|
+
headers: {
|
|
19251
|
+
[name: string]: unknown;
|
|
19252
|
+
};
|
|
19253
|
+
content: {
|
|
19254
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19255
|
+
};
|
|
19256
|
+
};
|
|
19257
|
+
};
|
|
19258
|
+
};
|
|
19259
|
+
listUsageLimitEvents: {
|
|
19260
|
+
parameters: {
|
|
19261
|
+
query?: {
|
|
19262
|
+
per_page?: number;
|
|
19263
|
+
/** @description Return events older than this id (pagination cursor). */
|
|
19264
|
+
before_id?: number;
|
|
19265
|
+
};
|
|
19266
|
+
header?: never;
|
|
19267
|
+
path?: never;
|
|
19268
|
+
cookie?: never;
|
|
19269
|
+
};
|
|
19270
|
+
requestBody?: never;
|
|
19271
|
+
responses: {
|
|
19272
|
+
/** @description Usage limit events. */
|
|
19273
|
+
200: {
|
|
19274
|
+
headers: {
|
|
19275
|
+
[name: string]: unknown;
|
|
19276
|
+
};
|
|
19277
|
+
content: {
|
|
19278
|
+
"application/json": components["schemas"]["UsageLimitEventsResponse"];
|
|
19279
|
+
};
|
|
19280
|
+
};
|
|
19281
|
+
/** @description Invalid query, or missing project scope. */
|
|
19282
|
+
400: {
|
|
19283
|
+
headers: {
|
|
19284
|
+
[name: string]: unknown;
|
|
19285
|
+
};
|
|
19286
|
+
content: {
|
|
19287
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19288
|
+
};
|
|
19289
|
+
};
|
|
19290
|
+
/** @description The project has no org. */
|
|
19291
|
+
404: {
|
|
19292
|
+
headers: {
|
|
19293
|
+
[name: string]: unknown;
|
|
19294
|
+
};
|
|
19295
|
+
content: {
|
|
19296
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
19297
|
+
};
|
|
19298
|
+
};
|
|
19299
|
+
};
|
|
19300
|
+
};
|
|
18145
19301
|
listChatSessions: {
|
|
18146
19302
|
parameters: {
|
|
18147
19303
|
query?: {
|
|
@@ -18221,6 +19377,8 @@ export interface operations {
|
|
|
18221
19377
|
/** @description Deprecated. Sessions start on the project default branch; a different branch is added to `message` as an instruction to work from it. */
|
|
18222
19378
|
base_branch?: string | null;
|
|
18223
19379
|
created_by?: string | null;
|
|
19380
|
+
/** @description When the caller is an agent session, wake it the next time this session waits for input (one-shot). Defaults to true; pass false for a fire-and-forget message. Ignored for other callers. */
|
|
19381
|
+
subscribe?: boolean | null;
|
|
18224
19382
|
};
|
|
18225
19383
|
};
|
|
18226
19384
|
};
|
|
@@ -18784,7 +19942,9 @@ export interface operations {
|
|
|
18784
19942
|
entity_type: string;
|
|
18785
19943
|
entity_id: string | null;
|
|
18786
19944
|
payload_filter: {
|
|
18787
|
-
[key: string]: string | number | boolean |
|
|
19945
|
+
[key: string]: string | number | boolean | {
|
|
19946
|
+
[key: string]: number;
|
|
19947
|
+
} | unknown;
|
|
18788
19948
|
};
|
|
18789
19949
|
message: string;
|
|
18790
19950
|
/** @enum {string} */
|
|
@@ -18880,6 +20040,8 @@ export interface operations {
|
|
|
18880
20040
|
send_action: "steer" | "follow_up" | "stop";
|
|
18881
20041
|
created_by?: string | null;
|
|
18882
20042
|
rpc_command_id?: string;
|
|
20043
|
+
/** @description When the caller is an agent session, wake it the next time this session waits for input (one-shot). Defaults to true; pass false for a fire-and-forget message. Ignored for other callers. */
|
|
20044
|
+
subscribe?: boolean | null;
|
|
18883
20045
|
};
|
|
18884
20046
|
};
|
|
18885
20047
|
};
|
|
@@ -20008,15 +21170,6 @@ export interface operations {
|
|
|
20008
21170
|
"application/json": components["schemas"]["GithubBranchSearchResponse"];
|
|
20009
21171
|
};
|
|
20010
21172
|
};
|
|
20011
|
-
/** @description Repository access is blocked. */
|
|
20012
|
-
403: {
|
|
20013
|
-
headers: {
|
|
20014
|
-
[name: string]: unknown;
|
|
20015
|
-
};
|
|
20016
|
-
content: {
|
|
20017
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
20018
|
-
};
|
|
20019
|
-
};
|
|
20020
21173
|
/** @description Repository not found. */
|
|
20021
21174
|
404: {
|
|
20022
21175
|
headers: {
|
|
@@ -20608,7 +21761,7 @@ export interface operations {
|
|
|
20608
21761
|
};
|
|
20609
21762
|
requestBody?: never;
|
|
20610
21763
|
responses: {
|
|
20611
|
-
/** @description Reporter check runs and
|
|
21764
|
+
/** @description Reporter check runs, PR comments and linked test changes checks. */
|
|
20612
21765
|
200: {
|
|
20613
21766
|
headers: {
|
|
20614
21767
|
[name: string]: unknown;
|
|
@@ -20886,6 +22039,53 @@ export interface operations {
|
|
|
20886
22039
|
};
|
|
20887
22040
|
};
|
|
20888
22041
|
};
|
|
22042
|
+
getReporterPullRequest: {
|
|
22043
|
+
parameters: {
|
|
22044
|
+
query: {
|
|
22045
|
+
/** @description Project whose reporter App reads the PR. */
|
|
22046
|
+
project_id: number;
|
|
22047
|
+
repo_owner: string;
|
|
22048
|
+
repo_name: string;
|
|
22049
|
+
/** @description App PR number. When omitted, the PR is found by head_sha. */
|
|
22050
|
+
pr_number?: number;
|
|
22051
|
+
/** @description Commit the reporter delivered to. Compared against the PR's current head; also used to find the PR when pr_number is omitted. */
|
|
22052
|
+
head_sha?: string;
|
|
22053
|
+
};
|
|
22054
|
+
header?: never;
|
|
22055
|
+
path?: never;
|
|
22056
|
+
cookie?: never;
|
|
22057
|
+
};
|
|
22058
|
+
requestBody?: never;
|
|
22059
|
+
responses: {
|
|
22060
|
+
/** @description The PR's current state and head. */
|
|
22061
|
+
200: {
|
|
22062
|
+
headers: {
|
|
22063
|
+
[name: string]: unknown;
|
|
22064
|
+
};
|
|
22065
|
+
content: {
|
|
22066
|
+
"application/json": components["schemas"]["GhReporterPullRequestResponse"];
|
|
22067
|
+
};
|
|
22068
|
+
};
|
|
22069
|
+
/** @description Neither pr_number nor head_sha given. */
|
|
22070
|
+
400: {
|
|
22071
|
+
headers: {
|
|
22072
|
+
[name: string]: unknown;
|
|
22073
|
+
};
|
|
22074
|
+
content: {
|
|
22075
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22076
|
+
};
|
|
22077
|
+
};
|
|
22078
|
+
/** @description Project, installation or pull request not found. */
|
|
22079
|
+
404: {
|
|
22080
|
+
headers: {
|
|
22081
|
+
[name: string]: unknown;
|
|
22082
|
+
};
|
|
22083
|
+
content: {
|
|
22084
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22085
|
+
};
|
|
22086
|
+
};
|
|
22087
|
+
};
|
|
22088
|
+
};
|
|
20889
22089
|
getRepoTree: {
|
|
20890
22090
|
parameters: {
|
|
20891
22091
|
query: {
|
|
@@ -21712,6 +22912,70 @@ export interface operations {
|
|
|
21712
22912
|
};
|
|
21713
22913
|
};
|
|
21714
22914
|
};
|
|
22915
|
+
previewInvoiceEmail: {
|
|
22916
|
+
parameters: {
|
|
22917
|
+
query?: {
|
|
22918
|
+
/** @description When `true`, preview the test email (sent to the internal test recipient). Defaults to `false`. */
|
|
22919
|
+
is_test_email?: "true" | "false";
|
|
22920
|
+
};
|
|
22921
|
+
header?: never;
|
|
22922
|
+
path: {
|
|
22923
|
+
/** @description Invoice ID. */
|
|
22924
|
+
id: string;
|
|
22925
|
+
};
|
|
22926
|
+
cookie?: never;
|
|
22927
|
+
};
|
|
22928
|
+
requestBody?: never;
|
|
22929
|
+
responses: {
|
|
22930
|
+
/** @description The rendered email. */
|
|
22931
|
+
200: {
|
|
22932
|
+
headers: {
|
|
22933
|
+
[name: string]: unknown;
|
|
22934
|
+
};
|
|
22935
|
+
content: {
|
|
22936
|
+
"application/json": {
|
|
22937
|
+
/** @description Response payload. */
|
|
22938
|
+
data: {
|
|
22939
|
+
/** @description Sender address. */
|
|
22940
|
+
from: string;
|
|
22941
|
+
/** @description To recipients. */
|
|
22942
|
+
to: string[];
|
|
22943
|
+
/** @description CC recipients. */
|
|
22944
|
+
cc: string[];
|
|
22945
|
+
/** @description BCC recipients. */
|
|
22946
|
+
bcc: string[];
|
|
22947
|
+
/** @description Reply-To addresses. */
|
|
22948
|
+
reply_to: string[];
|
|
22949
|
+
/** @description Email subject. */
|
|
22950
|
+
subject: string;
|
|
22951
|
+
/** @description Rendered email body HTML. */
|
|
22952
|
+
html: string;
|
|
22953
|
+
/** @description Attached PDF filename, or null when the invoice has no PDF. */
|
|
22954
|
+
attachment_filename: string | null;
|
|
22955
|
+
};
|
|
22956
|
+
};
|
|
22957
|
+
};
|
|
22958
|
+
};
|
|
22959
|
+
/** @description Invalid invoice ID or organisation not found. */
|
|
22960
|
+
400: {
|
|
22961
|
+
headers: {
|
|
22962
|
+
[name: string]: unknown;
|
|
22963
|
+
};
|
|
22964
|
+
content: {
|
|
22965
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22966
|
+
};
|
|
22967
|
+
};
|
|
22968
|
+
/** @description Invoice not found. */
|
|
22969
|
+
404: {
|
|
22970
|
+
headers: {
|
|
22971
|
+
[name: string]: unknown;
|
|
22972
|
+
};
|
|
22973
|
+
content: {
|
|
22974
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
22975
|
+
};
|
|
22976
|
+
};
|
|
22977
|
+
};
|
|
22978
|
+
};
|
|
21715
22979
|
generateInvoicePdf: {
|
|
21716
22980
|
parameters: {
|
|
21717
22981
|
query?: never;
|
|
@@ -23877,7 +25141,7 @@ export interface operations {
|
|
|
23877
25141
|
};
|
|
23878
25142
|
};
|
|
23879
25143
|
responses: {
|
|
23880
|
-
/** @description
|
|
25144
|
+
/** @description The user's memberships and super-admin flag after resolution. */
|
|
23881
25145
|
200: {
|
|
23882
25146
|
headers: {
|
|
23883
25147
|
[name: string]: unknown;
|
|
@@ -23906,8 +25170,8 @@ export interface operations {
|
|
|
23906
25170
|
per_page?: number;
|
|
23907
25171
|
/** @description Filter to assignments for this organisation. */
|
|
23908
25172
|
org_id?: number | null;
|
|
23909
|
-
/** @description Filter to assignments for this
|
|
23910
|
-
|
|
25173
|
+
/** @description Filter to assignments for this plan. */
|
|
25174
|
+
plan_id?: number | null;
|
|
23911
25175
|
};
|
|
23912
25176
|
header?: never;
|
|
23913
25177
|
path?: never;
|
|
@@ -23957,7 +25221,7 @@ export interface operations {
|
|
|
23957
25221
|
"application/json": components["schemas"]["PlanAssignmentResponse"];
|
|
23958
25222
|
};
|
|
23959
25223
|
};
|
|
23960
|
-
/** @description Validation failed or the organisation does not exist. */
|
|
25224
|
+
/** @description Validation failed, or the organisation or plan does not exist. */
|
|
23961
25225
|
400: {
|
|
23962
25226
|
headers: {
|
|
23963
25227
|
[name: string]: unknown;
|
|
@@ -24054,9 +25318,192 @@ export interface operations {
|
|
|
24054
25318
|
};
|
|
24055
25319
|
};
|
|
24056
25320
|
};
|
|
24057
|
-
|
|
25321
|
+
getOrgPlan: {
|
|
24058
25322
|
parameters: {
|
|
24059
|
-
query?:
|
|
25323
|
+
query?: {
|
|
25324
|
+
/** @description Usage month (YYYY-MM, UTC). Returns the plan in effect at the end of that month, or now for the current month. Defaults to now. */
|
|
25325
|
+
month?: string;
|
|
25326
|
+
};
|
|
25327
|
+
header?: never;
|
|
25328
|
+
path?: never;
|
|
25329
|
+
cookie?: never;
|
|
25330
|
+
};
|
|
25331
|
+
requestBody?: never;
|
|
25332
|
+
responses: {
|
|
25333
|
+
/** @description The org's plan status. */
|
|
25334
|
+
200: {
|
|
25335
|
+
headers: {
|
|
25336
|
+
[name: string]: unknown;
|
|
25337
|
+
};
|
|
25338
|
+
content: {
|
|
25339
|
+
"application/json": components["schemas"]["OrgPlanResponse"];
|
|
25340
|
+
};
|
|
25341
|
+
};
|
|
25342
|
+
/** @description Invalid month, or missing project scope. */
|
|
25343
|
+
400: {
|
|
25344
|
+
headers: {
|
|
25345
|
+
[name: string]: unknown;
|
|
25346
|
+
};
|
|
25347
|
+
content: {
|
|
25348
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25349
|
+
};
|
|
25350
|
+
};
|
|
25351
|
+
};
|
|
25352
|
+
};
|
|
25353
|
+
listPlans: {
|
|
25354
|
+
parameters: {
|
|
25355
|
+
query?: {
|
|
25356
|
+
/** @description List this organisation's custom plans instead of the shared plans. */
|
|
25357
|
+
org_id?: number | null;
|
|
25358
|
+
};
|
|
25359
|
+
header?: never;
|
|
25360
|
+
path?: never;
|
|
25361
|
+
cookie?: never;
|
|
25362
|
+
};
|
|
25363
|
+
requestBody?: never;
|
|
25364
|
+
responses: {
|
|
25365
|
+
/** @description The plans. */
|
|
25366
|
+
200: {
|
|
25367
|
+
headers: {
|
|
25368
|
+
[name: string]: unknown;
|
|
25369
|
+
};
|
|
25370
|
+
content: {
|
|
25371
|
+
"application/json": components["schemas"]["PlanListResponse"];
|
|
25372
|
+
};
|
|
25373
|
+
};
|
|
25374
|
+
};
|
|
25375
|
+
};
|
|
25376
|
+
createPlan: {
|
|
25377
|
+
parameters: {
|
|
25378
|
+
query?: never;
|
|
25379
|
+
header?: never;
|
|
25380
|
+
path?: never;
|
|
25381
|
+
cookie?: never;
|
|
25382
|
+
};
|
|
25383
|
+
requestBody?: {
|
|
25384
|
+
content: {
|
|
25385
|
+
"application/json": components["schemas"]["CreatePlanRequest"];
|
|
25386
|
+
};
|
|
25387
|
+
};
|
|
25388
|
+
responses: {
|
|
25389
|
+
/** @description The created plan. */
|
|
25390
|
+
200: {
|
|
25391
|
+
headers: {
|
|
25392
|
+
[name: string]: unknown;
|
|
25393
|
+
};
|
|
25394
|
+
content: {
|
|
25395
|
+
"application/json": components["schemas"]["PlanResponse"];
|
|
25396
|
+
};
|
|
25397
|
+
};
|
|
25398
|
+
/** @description Validation failed. */
|
|
25399
|
+
400: {
|
|
25400
|
+
headers: {
|
|
25401
|
+
[name: string]: unknown;
|
|
25402
|
+
};
|
|
25403
|
+
content: {
|
|
25404
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25405
|
+
};
|
|
25406
|
+
};
|
|
25407
|
+
/** @description A plan with this key already exists. */
|
|
25408
|
+
409: {
|
|
25409
|
+
headers: {
|
|
25410
|
+
[name: string]: unknown;
|
|
25411
|
+
};
|
|
25412
|
+
content: {
|
|
25413
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25414
|
+
};
|
|
25415
|
+
};
|
|
25416
|
+
};
|
|
25417
|
+
};
|
|
25418
|
+
getPlanById: {
|
|
25419
|
+
parameters: {
|
|
25420
|
+
query?: never;
|
|
25421
|
+
header?: never;
|
|
25422
|
+
path: {
|
|
25423
|
+
/** @description Plan ID. */
|
|
25424
|
+
id: number;
|
|
25425
|
+
};
|
|
25426
|
+
cookie?: never;
|
|
25427
|
+
};
|
|
25428
|
+
requestBody?: never;
|
|
25429
|
+
responses: {
|
|
25430
|
+
/** @description The plan. */
|
|
25431
|
+
200: {
|
|
25432
|
+
headers: {
|
|
25433
|
+
[name: string]: unknown;
|
|
25434
|
+
};
|
|
25435
|
+
content: {
|
|
25436
|
+
"application/json": components["schemas"]["PlanResponse"];
|
|
25437
|
+
};
|
|
25438
|
+
};
|
|
25439
|
+
/** @description Invalid plan id. */
|
|
25440
|
+
400: {
|
|
25441
|
+
headers: {
|
|
25442
|
+
[name: string]: unknown;
|
|
25443
|
+
};
|
|
25444
|
+
content: {
|
|
25445
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25446
|
+
};
|
|
25447
|
+
};
|
|
25448
|
+
/** @description Plan not found. */
|
|
25449
|
+
404: {
|
|
25450
|
+
headers: {
|
|
25451
|
+
[name: string]: unknown;
|
|
25452
|
+
};
|
|
25453
|
+
content: {
|
|
25454
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25455
|
+
};
|
|
25456
|
+
};
|
|
25457
|
+
};
|
|
25458
|
+
};
|
|
25459
|
+
updatePlan: {
|
|
25460
|
+
parameters: {
|
|
25461
|
+
query?: never;
|
|
25462
|
+
header?: never;
|
|
25463
|
+
path: {
|
|
25464
|
+
/** @description Plan ID. */
|
|
25465
|
+
id: number;
|
|
25466
|
+
};
|
|
25467
|
+
cookie?: never;
|
|
25468
|
+
};
|
|
25469
|
+
requestBody?: {
|
|
25470
|
+
content: {
|
|
25471
|
+
"application/json": components["schemas"]["UpdatePlanRequest"];
|
|
25472
|
+
};
|
|
25473
|
+
};
|
|
25474
|
+
responses: {
|
|
25475
|
+
/** @description The updated plan. */
|
|
25476
|
+
200: {
|
|
25477
|
+
headers: {
|
|
25478
|
+
[name: string]: unknown;
|
|
25479
|
+
};
|
|
25480
|
+
content: {
|
|
25481
|
+
"application/json": components["schemas"]["PlanResponse"];
|
|
25482
|
+
};
|
|
25483
|
+
};
|
|
25484
|
+
/** @description Validation failed. */
|
|
25485
|
+
400: {
|
|
25486
|
+
headers: {
|
|
25487
|
+
[name: string]: unknown;
|
|
25488
|
+
};
|
|
25489
|
+
content: {
|
|
25490
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25491
|
+
};
|
|
25492
|
+
};
|
|
25493
|
+
/** @description Plan not found. */
|
|
25494
|
+
404: {
|
|
25495
|
+
headers: {
|
|
25496
|
+
[name: string]: unknown;
|
|
25497
|
+
};
|
|
25498
|
+
content: {
|
|
25499
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25500
|
+
};
|
|
25501
|
+
};
|
|
25502
|
+
};
|
|
25503
|
+
};
|
|
25504
|
+
listProjectAddons: {
|
|
25505
|
+
parameters: {
|
|
25506
|
+
query?: never;
|
|
24060
25507
|
header?: never;
|
|
24061
25508
|
path?: never;
|
|
24062
25509
|
cookie?: never;
|
|
@@ -24176,7 +25623,7 @@ export interface operations {
|
|
|
24176
25623
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
24177
25624
|
};
|
|
24178
25625
|
};
|
|
24179
|
-
/** @description effective_from /
|
|
25626
|
+
/** @description effective_from / plan_id require super admin. */
|
|
24180
25627
|
403: {
|
|
24181
25628
|
headers: {
|
|
24182
25629
|
[name: string]: unknown;
|
|
@@ -25686,35 +27133,353 @@ export interface operations {
|
|
|
25686
27133
|
};
|
|
25687
27134
|
};
|
|
25688
27135
|
responses: {
|
|
25689
|
-
/** @description The created request and session. */
|
|
25690
|
-
201: {
|
|
27136
|
+
/** @description The created request and session. */
|
|
27137
|
+
201: {
|
|
27138
|
+
headers: {
|
|
27139
|
+
[name: string]: unknown;
|
|
27140
|
+
};
|
|
27141
|
+
content: {
|
|
27142
|
+
"application/json": components["schemas"]["CreateRequestResponse"];
|
|
27143
|
+
};
|
|
27144
|
+
};
|
|
27145
|
+
/** @description Missing required fields or invalid input. */
|
|
27146
|
+
400: {
|
|
27147
|
+
headers: {
|
|
27148
|
+
[name: string]: unknown;
|
|
27149
|
+
};
|
|
27150
|
+
content: {
|
|
27151
|
+
"application/json": components["schemas"]["CreateRequestError"];
|
|
27152
|
+
};
|
|
27153
|
+
};
|
|
27154
|
+
/** @description Project not found or inaccessible. */
|
|
27155
|
+
404: {
|
|
27156
|
+
headers: {
|
|
27157
|
+
[name: string]: unknown;
|
|
27158
|
+
};
|
|
27159
|
+
content: {
|
|
27160
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27161
|
+
};
|
|
27162
|
+
};
|
|
27163
|
+
/** @description Failed to create request. */
|
|
27164
|
+
500: {
|
|
27165
|
+
headers: {
|
|
27166
|
+
[name: string]: unknown;
|
|
27167
|
+
};
|
|
27168
|
+
content: {
|
|
27169
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27170
|
+
};
|
|
27171
|
+
};
|
|
27172
|
+
};
|
|
27173
|
+
};
|
|
27174
|
+
getRequest: {
|
|
27175
|
+
parameters: {
|
|
27176
|
+
query?: never;
|
|
27177
|
+
header?: never;
|
|
27178
|
+
path: {
|
|
27179
|
+
/** @description Request ID. */
|
|
27180
|
+
id: number;
|
|
27181
|
+
};
|
|
27182
|
+
cookie?: never;
|
|
27183
|
+
};
|
|
27184
|
+
requestBody?: never;
|
|
27185
|
+
responses: {
|
|
27186
|
+
/** @description The request. */
|
|
27187
|
+
200: {
|
|
27188
|
+
headers: {
|
|
27189
|
+
[name: string]: unknown;
|
|
27190
|
+
};
|
|
27191
|
+
content: {
|
|
27192
|
+
"application/json": components["schemas"]["RequestResponse"];
|
|
27193
|
+
};
|
|
27194
|
+
};
|
|
27195
|
+
/** @description Invalid request ID. */
|
|
27196
|
+
400: {
|
|
27197
|
+
headers: {
|
|
27198
|
+
[name: string]: unknown;
|
|
27199
|
+
};
|
|
27200
|
+
content: {
|
|
27201
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27202
|
+
};
|
|
27203
|
+
};
|
|
27204
|
+
/** @description Request not found. */
|
|
27205
|
+
404: {
|
|
27206
|
+
headers: {
|
|
27207
|
+
[name: string]: unknown;
|
|
27208
|
+
};
|
|
27209
|
+
content: {
|
|
27210
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27211
|
+
};
|
|
27212
|
+
};
|
|
27213
|
+
};
|
|
27214
|
+
};
|
|
27215
|
+
deleteRequest: {
|
|
27216
|
+
parameters: {
|
|
27217
|
+
query?: never;
|
|
27218
|
+
header?: never;
|
|
27219
|
+
path: {
|
|
27220
|
+
/** @description Request ID. */
|
|
27221
|
+
id: number;
|
|
27222
|
+
};
|
|
27223
|
+
cookie?: never;
|
|
27224
|
+
};
|
|
27225
|
+
requestBody?: never;
|
|
27226
|
+
responses: {
|
|
27227
|
+
/** @description The deleted request ID. */
|
|
27228
|
+
200: {
|
|
27229
|
+
headers: {
|
|
27230
|
+
[name: string]: unknown;
|
|
27231
|
+
};
|
|
27232
|
+
content: {
|
|
27233
|
+
"application/json": components["schemas"]["DeletedRequestResponse"];
|
|
27234
|
+
};
|
|
27235
|
+
};
|
|
27236
|
+
/** @description Invalid request ID. */
|
|
27237
|
+
400: {
|
|
27238
|
+
headers: {
|
|
27239
|
+
[name: string]: unknown;
|
|
27240
|
+
};
|
|
27241
|
+
content: {
|
|
27242
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27243
|
+
};
|
|
27244
|
+
};
|
|
27245
|
+
/** @description Request not found or not deleted. */
|
|
27246
|
+
404: {
|
|
27247
|
+
headers: {
|
|
27248
|
+
[name: string]: unknown;
|
|
27249
|
+
};
|
|
27250
|
+
content: {
|
|
27251
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27252
|
+
};
|
|
27253
|
+
};
|
|
27254
|
+
};
|
|
27255
|
+
};
|
|
27256
|
+
updateRequest: {
|
|
27257
|
+
parameters: {
|
|
27258
|
+
query?: never;
|
|
27259
|
+
header?: never;
|
|
27260
|
+
path: {
|
|
27261
|
+
/** @description Request ID. */
|
|
27262
|
+
id: number;
|
|
27263
|
+
};
|
|
27264
|
+
cookie?: never;
|
|
27265
|
+
};
|
|
27266
|
+
requestBody?: {
|
|
27267
|
+
content: {
|
|
27268
|
+
"application/json": {
|
|
27269
|
+
/** @description New request title. */
|
|
27270
|
+
title?: string;
|
|
27271
|
+
/** @description New request description. */
|
|
27272
|
+
description?: string;
|
|
27273
|
+
/**
|
|
27274
|
+
* @description New request status.
|
|
27275
|
+
* @enum {string}
|
|
27276
|
+
*/
|
|
27277
|
+
status?: "draft" | "open" | "in-review" | "closed" | "resolved";
|
|
27278
|
+
};
|
|
27279
|
+
};
|
|
27280
|
+
};
|
|
27281
|
+
responses: {
|
|
27282
|
+
/** @description The updated request. */
|
|
27283
|
+
200: {
|
|
27284
|
+
headers: {
|
|
27285
|
+
[name: string]: unknown;
|
|
27286
|
+
};
|
|
27287
|
+
content: {
|
|
27288
|
+
"application/json": components["schemas"]["UpdatedRequestResponse"];
|
|
27289
|
+
};
|
|
27290
|
+
};
|
|
27291
|
+
/** @description No fields to update or invalid input. */
|
|
27292
|
+
400: {
|
|
27293
|
+
headers: {
|
|
27294
|
+
[name: string]: unknown;
|
|
27295
|
+
};
|
|
27296
|
+
content: {
|
|
27297
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27298
|
+
};
|
|
27299
|
+
};
|
|
27300
|
+
/** @description Request not found or not updated. */
|
|
27301
|
+
404: {
|
|
27302
|
+
headers: {
|
|
27303
|
+
[name: string]: unknown;
|
|
27304
|
+
};
|
|
27305
|
+
content: {
|
|
27306
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27307
|
+
};
|
|
27308
|
+
};
|
|
27309
|
+
};
|
|
27310
|
+
};
|
|
27311
|
+
listRequestChatSessions: {
|
|
27312
|
+
parameters: {
|
|
27313
|
+
query?: never;
|
|
27314
|
+
header?: never;
|
|
27315
|
+
path: {
|
|
27316
|
+
/** @description Request ID. */
|
|
27317
|
+
id: number;
|
|
27318
|
+
};
|
|
27319
|
+
cookie?: never;
|
|
27320
|
+
};
|
|
27321
|
+
requestBody?: never;
|
|
27322
|
+
responses: {
|
|
27323
|
+
/** @description Chat sessions for the request (or an empty-state message). */
|
|
27324
|
+
200: {
|
|
27325
|
+
headers: {
|
|
27326
|
+
[name: string]: unknown;
|
|
27327
|
+
};
|
|
27328
|
+
content: {
|
|
27329
|
+
"application/json": components["schemas"]["RequestChatSessionsResponse"];
|
|
27330
|
+
};
|
|
27331
|
+
};
|
|
27332
|
+
/** @description Invalid request ID. */
|
|
27333
|
+
400: {
|
|
27334
|
+
headers: {
|
|
27335
|
+
[name: string]: unknown;
|
|
27336
|
+
};
|
|
27337
|
+
content: {
|
|
27338
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27339
|
+
};
|
|
27340
|
+
};
|
|
27341
|
+
/** @description Request not found. */
|
|
27342
|
+
404: {
|
|
27343
|
+
headers: {
|
|
27344
|
+
[name: string]: unknown;
|
|
27345
|
+
};
|
|
27346
|
+
content: {
|
|
27347
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27348
|
+
};
|
|
27349
|
+
};
|
|
27350
|
+
};
|
|
27351
|
+
};
|
|
27352
|
+
createRequestChatSession: {
|
|
27353
|
+
parameters: {
|
|
27354
|
+
query?: never;
|
|
27355
|
+
header?: never;
|
|
27356
|
+
path: {
|
|
27357
|
+
/** @description Request ID. */
|
|
27358
|
+
id: number;
|
|
27359
|
+
};
|
|
27360
|
+
cookie?: never;
|
|
27361
|
+
};
|
|
27362
|
+
requestBody?: {
|
|
27363
|
+
content: {
|
|
27364
|
+
"application/json": {
|
|
27365
|
+
/** @description Project the chat session belongs to. */
|
|
27366
|
+
project_id?: number | string | unknown;
|
|
27367
|
+
/** @description First message to send to the agent. */
|
|
27368
|
+
initial_prompt?: string | null;
|
|
27369
|
+
/** @description Model to use for the chat session. */
|
|
27370
|
+
model?: string | null;
|
|
27371
|
+
};
|
|
27372
|
+
};
|
|
27373
|
+
};
|
|
27374
|
+
responses: {
|
|
27375
|
+
/** @description The created chat session. */
|
|
27376
|
+
200: {
|
|
27377
|
+
headers: {
|
|
27378
|
+
[name: string]: unknown;
|
|
27379
|
+
};
|
|
27380
|
+
content: {
|
|
27381
|
+
"application/json": components["schemas"]["RequestSessionResponse"];
|
|
27382
|
+
};
|
|
27383
|
+
};
|
|
27384
|
+
/** @description Missing acting user or project_id, or invalid input. */
|
|
27385
|
+
400: {
|
|
27386
|
+
headers: {
|
|
27387
|
+
[name: string]: unknown;
|
|
27388
|
+
};
|
|
27389
|
+
content: {
|
|
27390
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27391
|
+
};
|
|
27392
|
+
};
|
|
27393
|
+
/** @description Project not found or inaccessible. */
|
|
27394
|
+
404: {
|
|
27395
|
+
headers: {
|
|
27396
|
+
[name: string]: unknown;
|
|
27397
|
+
};
|
|
27398
|
+
content: {
|
|
27399
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27400
|
+
};
|
|
27401
|
+
};
|
|
27402
|
+
};
|
|
27403
|
+
};
|
|
27404
|
+
listRunnerBackends: {
|
|
27405
|
+
parameters: {
|
|
27406
|
+
query?: {
|
|
27407
|
+
/** @description Only this organisation's backends. */
|
|
27408
|
+
org_id?: number | null;
|
|
27409
|
+
};
|
|
27410
|
+
header?: never;
|
|
27411
|
+
path?: never;
|
|
27412
|
+
cookie?: never;
|
|
27413
|
+
};
|
|
27414
|
+
requestBody?: never;
|
|
27415
|
+
responses: {
|
|
27416
|
+
/** @description The runner backends. */
|
|
27417
|
+
200: {
|
|
27418
|
+
headers: {
|
|
27419
|
+
[name: string]: unknown;
|
|
27420
|
+
};
|
|
27421
|
+
content: {
|
|
27422
|
+
"application/json": components["schemas"]["RunnerBackendListResponse"];
|
|
27423
|
+
};
|
|
27424
|
+
};
|
|
27425
|
+
};
|
|
27426
|
+
};
|
|
27427
|
+
createRunnerBackend: {
|
|
27428
|
+
parameters: {
|
|
27429
|
+
query?: never;
|
|
27430
|
+
header?: never;
|
|
27431
|
+
path?: never;
|
|
27432
|
+
cookie?: never;
|
|
27433
|
+
};
|
|
27434
|
+
requestBody?: {
|
|
27435
|
+
content: {
|
|
27436
|
+
"application/json": components["schemas"]["CreateRunnerBackendBody"];
|
|
27437
|
+
};
|
|
27438
|
+
};
|
|
27439
|
+
responses: {
|
|
27440
|
+
/** @description The registered backend. */
|
|
27441
|
+
200: {
|
|
25691
27442
|
headers: {
|
|
25692
27443
|
[name: string]: unknown;
|
|
25693
27444
|
};
|
|
25694
27445
|
content: {
|
|
25695
|
-
"application/json": components["schemas"]["
|
|
27446
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
25696
27447
|
};
|
|
25697
27448
|
};
|
|
25698
|
-
/** @description
|
|
27449
|
+
/** @description Invalid registration. */
|
|
25699
27450
|
400: {
|
|
25700
27451
|
headers: {
|
|
25701
27452
|
[name: string]: unknown;
|
|
25702
27453
|
};
|
|
25703
27454
|
content: {
|
|
25704
|
-
"application/json": components["schemas"]["
|
|
27455
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
25705
27456
|
};
|
|
25706
27457
|
};
|
|
25707
|
-
|
|
25708
|
-
|
|
27458
|
+
};
|
|
27459
|
+
};
|
|
27460
|
+
getRunnerBackend: {
|
|
27461
|
+
parameters: {
|
|
27462
|
+
query?: never;
|
|
27463
|
+
header?: never;
|
|
27464
|
+
path: {
|
|
27465
|
+
/** @description Runner backend ID. */
|
|
27466
|
+
id: number | null;
|
|
27467
|
+
};
|
|
27468
|
+
cookie?: never;
|
|
27469
|
+
};
|
|
27470
|
+
requestBody?: never;
|
|
27471
|
+
responses: {
|
|
27472
|
+
/** @description The runner backend. */
|
|
27473
|
+
200: {
|
|
25709
27474
|
headers: {
|
|
25710
27475
|
[name: string]: unknown;
|
|
25711
27476
|
};
|
|
25712
27477
|
content: {
|
|
25713
|
-
"application/json": components["schemas"]["
|
|
27478
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
25714
27479
|
};
|
|
25715
27480
|
};
|
|
25716
|
-
/** @description
|
|
25717
|
-
|
|
27481
|
+
/** @description Runner backend not found. */
|
|
27482
|
+
404: {
|
|
25718
27483
|
headers: {
|
|
25719
27484
|
[name: string]: unknown;
|
|
25720
27485
|
};
|
|
@@ -25724,37 +27489,28 @@ export interface operations {
|
|
|
25724
27489
|
};
|
|
25725
27490
|
};
|
|
25726
27491
|
};
|
|
25727
|
-
|
|
27492
|
+
disableRunnerBackend: {
|
|
25728
27493
|
parameters: {
|
|
25729
27494
|
query?: never;
|
|
25730
27495
|
header?: never;
|
|
25731
27496
|
path: {
|
|
25732
|
-
/** @description
|
|
25733
|
-
id: number;
|
|
27497
|
+
/** @description Runner backend ID. */
|
|
27498
|
+
id: number | null;
|
|
25734
27499
|
};
|
|
25735
27500
|
cookie?: never;
|
|
25736
27501
|
};
|
|
25737
27502
|
requestBody?: never;
|
|
25738
27503
|
responses: {
|
|
25739
|
-
/** @description The
|
|
27504
|
+
/** @description The disabled backend. */
|
|
25740
27505
|
200: {
|
|
25741
27506
|
headers: {
|
|
25742
27507
|
[name: string]: unknown;
|
|
25743
27508
|
};
|
|
25744
27509
|
content: {
|
|
25745
|
-
"application/json": components["schemas"]["
|
|
25746
|
-
};
|
|
25747
|
-
};
|
|
25748
|
-
/** @description Invalid request ID. */
|
|
25749
|
-
400: {
|
|
25750
|
-
headers: {
|
|
25751
|
-
[name: string]: unknown;
|
|
25752
|
-
};
|
|
25753
|
-
content: {
|
|
25754
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
27510
|
+
"application/json": components["schemas"]["RunnerBackendResponse"];
|
|
25755
27511
|
};
|
|
25756
27512
|
};
|
|
25757
|
-
/** @description
|
|
27513
|
+
/** @description Runner backend not found. */
|
|
25758
27514
|
404: {
|
|
25759
27515
|
headers: {
|
|
25760
27516
|
[name: string]: unknown;
|
|
@@ -25765,37 +27521,28 @@ export interface operations {
|
|
|
25765
27521
|
};
|
|
25766
27522
|
};
|
|
25767
27523
|
};
|
|
25768
|
-
|
|
27524
|
+
verifyRunnerBackend: {
|
|
25769
27525
|
parameters: {
|
|
25770
27526
|
query?: never;
|
|
25771
27527
|
header?: never;
|
|
25772
27528
|
path: {
|
|
25773
|
-
/** @description
|
|
25774
|
-
id: number;
|
|
27529
|
+
/** @description Runner backend ID. */
|
|
27530
|
+
id: number | null;
|
|
25775
27531
|
};
|
|
25776
27532
|
cookie?: never;
|
|
25777
27533
|
};
|
|
25778
27534
|
requestBody?: never;
|
|
25779
27535
|
responses: {
|
|
25780
|
-
/** @description
|
|
27536
|
+
/** @description Every check, and the backend after them. */
|
|
25781
27537
|
200: {
|
|
25782
27538
|
headers: {
|
|
25783
27539
|
[name: string]: unknown;
|
|
25784
27540
|
};
|
|
25785
27541
|
content: {
|
|
25786
|
-
"application/json": components["schemas"]["
|
|
25787
|
-
};
|
|
25788
|
-
};
|
|
25789
|
-
/** @description Invalid request ID. */
|
|
25790
|
-
400: {
|
|
25791
|
-
headers: {
|
|
25792
|
-
[name: string]: unknown;
|
|
25793
|
-
};
|
|
25794
|
-
content: {
|
|
25795
|
-
"application/json": components["schemas"]["ErrorResponse"];
|
|
27542
|
+
"application/json": components["schemas"]["RunnerBackendVerifyResponse"];
|
|
25796
27543
|
};
|
|
25797
27544
|
};
|
|
25798
|
-
/** @description
|
|
27545
|
+
/** @description Runner backend not found. */
|
|
25799
27546
|
404: {
|
|
25800
27547
|
headers: {
|
|
25801
27548
|
[name: string]: unknown;
|
|
@@ -25806,42 +27553,25 @@ export interface operations {
|
|
|
25806
27553
|
};
|
|
25807
27554
|
};
|
|
25808
27555
|
};
|
|
25809
|
-
|
|
27556
|
+
getProjectRunnerBackend: {
|
|
25810
27557
|
parameters: {
|
|
25811
27558
|
query?: never;
|
|
25812
27559
|
header?: never;
|
|
25813
|
-
path
|
|
25814
|
-
/** @description Request ID. */
|
|
25815
|
-
id: number;
|
|
25816
|
-
};
|
|
27560
|
+
path?: never;
|
|
25817
27561
|
cookie?: never;
|
|
25818
27562
|
};
|
|
25819
|
-
requestBody?:
|
|
25820
|
-
content: {
|
|
25821
|
-
"application/json": {
|
|
25822
|
-
/** @description New request title. */
|
|
25823
|
-
title?: string;
|
|
25824
|
-
/** @description New request description. */
|
|
25825
|
-
description?: string;
|
|
25826
|
-
/**
|
|
25827
|
-
* @description New request status.
|
|
25828
|
-
* @enum {string}
|
|
25829
|
-
*/
|
|
25830
|
-
status?: "draft" | "open" | "in-review" | "closed" | "resolved";
|
|
25831
|
-
};
|
|
25832
|
-
};
|
|
25833
|
-
};
|
|
27563
|
+
requestBody?: never;
|
|
25834
27564
|
responses: {
|
|
25835
|
-
/** @description The
|
|
27565
|
+
/** @description The project's runner backend, or null. */
|
|
25836
27566
|
200: {
|
|
25837
27567
|
headers: {
|
|
25838
27568
|
[name: string]: unknown;
|
|
25839
27569
|
};
|
|
25840
27570
|
content: {
|
|
25841
|
-
"application/json": components["schemas"]["
|
|
27571
|
+
"application/json": components["schemas"]["ProjectRunnerBackendDetailResponse"];
|
|
25842
27572
|
};
|
|
25843
27573
|
};
|
|
25844
|
-
/** @description
|
|
27574
|
+
/** @description Missing or invalid project scope. */
|
|
25845
27575
|
400: {
|
|
25846
27576
|
headers: {
|
|
25847
27577
|
[name: string]: unknown;
|
|
@@ -25850,7 +27580,7 @@ export interface operations {
|
|
|
25850
27580
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
25851
27581
|
};
|
|
25852
27582
|
};
|
|
25853
|
-
/** @description
|
|
27583
|
+
/** @description Project not found or not accessible. */
|
|
25854
27584
|
404: {
|
|
25855
27585
|
headers: {
|
|
25856
27586
|
[name: string]: unknown;
|
|
@@ -25861,28 +27591,25 @@ export interface operations {
|
|
|
25861
27591
|
};
|
|
25862
27592
|
};
|
|
25863
27593
|
};
|
|
25864
|
-
|
|
27594
|
+
verifyProjectRunnerBackend: {
|
|
25865
27595
|
parameters: {
|
|
25866
27596
|
query?: never;
|
|
25867
27597
|
header?: never;
|
|
25868
|
-
path
|
|
25869
|
-
/** @description Request ID. */
|
|
25870
|
-
id: number;
|
|
25871
|
-
};
|
|
27598
|
+
path?: never;
|
|
25872
27599
|
cookie?: never;
|
|
25873
27600
|
};
|
|
25874
27601
|
requestBody?: never;
|
|
25875
27602
|
responses: {
|
|
25876
|
-
/** @description
|
|
27603
|
+
/** @description Every check, and the backend after them. */
|
|
25877
27604
|
200: {
|
|
25878
27605
|
headers: {
|
|
25879
27606
|
[name: string]: unknown;
|
|
25880
27607
|
};
|
|
25881
27608
|
content: {
|
|
25882
|
-
"application/json": components["schemas"]["
|
|
27609
|
+
"application/json": components["schemas"]["RunnerBackendVerifyResponse"];
|
|
25883
27610
|
};
|
|
25884
27611
|
};
|
|
25885
|
-
/** @description
|
|
27612
|
+
/** @description Missing or invalid project scope. */
|
|
25886
27613
|
400: {
|
|
25887
27614
|
headers: {
|
|
25888
27615
|
[name: string]: unknown;
|
|
@@ -25891,7 +27618,7 @@ export interface operations {
|
|
|
25891
27618
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
25892
27619
|
};
|
|
25893
27620
|
};
|
|
25894
|
-
/** @description
|
|
27621
|
+
/** @description Project not found, or it runs on Empirical-hosted. */
|
|
25895
27622
|
404: {
|
|
25896
27623
|
headers: {
|
|
25897
27624
|
[name: string]: unknown;
|
|
@@ -25900,41 +27627,43 @@ export interface operations {
|
|
|
25900
27627
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
25901
27628
|
};
|
|
25902
27629
|
};
|
|
27630
|
+
/** @description The runner backend is disabled. */
|
|
27631
|
+
409: {
|
|
27632
|
+
headers: {
|
|
27633
|
+
[name: string]: unknown;
|
|
27634
|
+
};
|
|
27635
|
+
content: {
|
|
27636
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27637
|
+
};
|
|
27638
|
+
};
|
|
25903
27639
|
};
|
|
25904
27640
|
};
|
|
25905
|
-
|
|
27641
|
+
setProjectRunnerBackend: {
|
|
25906
27642
|
parameters: {
|
|
25907
27643
|
query?: never;
|
|
25908
27644
|
header?: never;
|
|
25909
27645
|
path: {
|
|
25910
|
-
/** @description
|
|
25911
|
-
|
|
27646
|
+
/** @description Project ID. */
|
|
27647
|
+
project_id: number | null;
|
|
25912
27648
|
};
|
|
25913
27649
|
cookie?: never;
|
|
25914
27650
|
};
|
|
25915
27651
|
requestBody?: {
|
|
25916
27652
|
content: {
|
|
25917
|
-
"application/json":
|
|
25918
|
-
/** @description Project the chat session belongs to. */
|
|
25919
|
-
project_id?: number | string | unknown;
|
|
25920
|
-
/** @description First message to send to the agent. */
|
|
25921
|
-
initial_prompt?: string | null;
|
|
25922
|
-
/** @description Model to use for the chat session. */
|
|
25923
|
-
model?: string | null;
|
|
25924
|
-
};
|
|
27653
|
+
"application/json": components["schemas"]["SetProjectRunnerBackendBody"];
|
|
25925
27654
|
};
|
|
25926
27655
|
};
|
|
25927
27656
|
responses: {
|
|
25928
|
-
/** @description The
|
|
27657
|
+
/** @description The project's backend. */
|
|
25929
27658
|
200: {
|
|
25930
27659
|
headers: {
|
|
25931
27660
|
[name: string]: unknown;
|
|
25932
27661
|
};
|
|
25933
27662
|
content: {
|
|
25934
|
-
"application/json": components["schemas"]["
|
|
27663
|
+
"application/json": components["schemas"]["ProjectRunnerBackendResponse"];
|
|
25935
27664
|
};
|
|
25936
27665
|
};
|
|
25937
|
-
/** @description
|
|
27666
|
+
/** @description The backend belongs to another org or is not active. */
|
|
25938
27667
|
400: {
|
|
25939
27668
|
headers: {
|
|
25940
27669
|
[name: string]: unknown;
|
|
@@ -25943,7 +27672,7 @@ export interface operations {
|
|
|
25943
27672
|
"application/json": components["schemas"]["ErrorResponse"];
|
|
25944
27673
|
};
|
|
25945
27674
|
};
|
|
25946
|
-
/** @description Project not found
|
|
27675
|
+
/** @description Project or runner backend not found. */
|
|
25947
27676
|
404: {
|
|
25948
27677
|
headers: {
|
|
25949
27678
|
[name: string]: unknown;
|
|
@@ -26160,6 +27889,145 @@ export interface operations {
|
|
|
26160
27889
|
};
|
|
26161
27890
|
};
|
|
26162
27891
|
};
|
|
27892
|
+
listSystemMessages: {
|
|
27893
|
+
parameters: {
|
|
27894
|
+
query?: {
|
|
27895
|
+
limit?: number;
|
|
27896
|
+
};
|
|
27897
|
+
header?: never;
|
|
27898
|
+
path?: never;
|
|
27899
|
+
cookie?: never;
|
|
27900
|
+
};
|
|
27901
|
+
requestBody?: never;
|
|
27902
|
+
responses: {
|
|
27903
|
+
/** @description Recent system messages, newest first. */
|
|
27904
|
+
200: {
|
|
27905
|
+
headers: {
|
|
27906
|
+
[name: string]: unknown;
|
|
27907
|
+
};
|
|
27908
|
+
content: {
|
|
27909
|
+
"application/json": components["schemas"]["SystemMessageListResponse"];
|
|
27910
|
+
};
|
|
27911
|
+
};
|
|
27912
|
+
};
|
|
27913
|
+
};
|
|
27914
|
+
createSystemMessage: {
|
|
27915
|
+
parameters: {
|
|
27916
|
+
query?: never;
|
|
27917
|
+
header?: never;
|
|
27918
|
+
path?: never;
|
|
27919
|
+
cookie?: never;
|
|
27920
|
+
};
|
|
27921
|
+
requestBody?: {
|
|
27922
|
+
content: {
|
|
27923
|
+
"application/json": components["schemas"]["CreateSystemMessageRequest"];
|
|
27924
|
+
};
|
|
27925
|
+
};
|
|
27926
|
+
responses: {
|
|
27927
|
+
/** @description The message and its per-project delivery. */
|
|
27928
|
+
200: {
|
|
27929
|
+
headers: {
|
|
27930
|
+
[name: string]: unknown;
|
|
27931
|
+
};
|
|
27932
|
+
content: {
|
|
27933
|
+
"application/json": components["schemas"]["CreateSystemMessageResponse"];
|
|
27934
|
+
};
|
|
27935
|
+
};
|
|
27936
|
+
/** @description A listed project does not exist. */
|
|
27937
|
+
400: {
|
|
27938
|
+
headers: {
|
|
27939
|
+
[name: string]: unknown;
|
|
27940
|
+
};
|
|
27941
|
+
content: {
|
|
27942
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27943
|
+
};
|
|
27944
|
+
};
|
|
27945
|
+
/** @description Broadcast requested but no project has an open manager session. */
|
|
27946
|
+
422: {
|
|
27947
|
+
headers: {
|
|
27948
|
+
[name: string]: unknown;
|
|
27949
|
+
};
|
|
27950
|
+
content: {
|
|
27951
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27952
|
+
};
|
|
27953
|
+
};
|
|
27954
|
+
};
|
|
27955
|
+
};
|
|
27956
|
+
getSystemMessage: {
|
|
27957
|
+
parameters: {
|
|
27958
|
+
query?: never;
|
|
27959
|
+
header?: never;
|
|
27960
|
+
path: {
|
|
27961
|
+
id: number;
|
|
27962
|
+
};
|
|
27963
|
+
cookie?: never;
|
|
27964
|
+
};
|
|
27965
|
+
requestBody?: never;
|
|
27966
|
+
responses: {
|
|
27967
|
+
/** @description The message and its per-project status. */
|
|
27968
|
+
200: {
|
|
27969
|
+
headers: {
|
|
27970
|
+
[name: string]: unknown;
|
|
27971
|
+
};
|
|
27972
|
+
content: {
|
|
27973
|
+
"application/json": components["schemas"]["SystemMessageDetailResponse"];
|
|
27974
|
+
};
|
|
27975
|
+
};
|
|
27976
|
+
/** @description System message not found. */
|
|
27977
|
+
404: {
|
|
27978
|
+
headers: {
|
|
27979
|
+
[name: string]: unknown;
|
|
27980
|
+
};
|
|
27981
|
+
content: {
|
|
27982
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
27983
|
+
};
|
|
27984
|
+
};
|
|
27985
|
+
};
|
|
27986
|
+
};
|
|
27987
|
+
ackSystemMessage: {
|
|
27988
|
+
parameters: {
|
|
27989
|
+
query?: never;
|
|
27990
|
+
header?: never;
|
|
27991
|
+
path: {
|
|
27992
|
+
id: number;
|
|
27993
|
+
};
|
|
27994
|
+
cookie?: never;
|
|
27995
|
+
};
|
|
27996
|
+
requestBody?: {
|
|
27997
|
+
content: {
|
|
27998
|
+
"application/json": components["schemas"]["AckSystemMessageRequest"];
|
|
27999
|
+
};
|
|
28000
|
+
};
|
|
28001
|
+
responses: {
|
|
28002
|
+
/** @description The recorded acknowledgement. */
|
|
28003
|
+
200: {
|
|
28004
|
+
headers: {
|
|
28005
|
+
[name: string]: unknown;
|
|
28006
|
+
};
|
|
28007
|
+
content: {
|
|
28008
|
+
"application/json": components["schemas"]["AckSystemMessageResponse"];
|
|
28009
|
+
};
|
|
28010
|
+
};
|
|
28011
|
+
/** @description Caller is not a manager chat session. */
|
|
28012
|
+
403: {
|
|
28013
|
+
headers: {
|
|
28014
|
+
[name: string]: unknown;
|
|
28015
|
+
};
|
|
28016
|
+
content: {
|
|
28017
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
28018
|
+
};
|
|
28019
|
+
};
|
|
28020
|
+
/** @description System message was not sent to this project. */
|
|
28021
|
+
404: {
|
|
28022
|
+
headers: {
|
|
28023
|
+
[name: string]: unknown;
|
|
28024
|
+
};
|
|
28025
|
+
content: {
|
|
28026
|
+
"application/json": components["schemas"]["ErrorResponse"];
|
|
28027
|
+
};
|
|
28028
|
+
};
|
|
28029
|
+
};
|
|
28030
|
+
};
|
|
26163
28031
|
ingestTestCaseRunEndEvent: {
|
|
26164
28032
|
parameters: {
|
|
26165
28033
|
query?: never;
|
|
@@ -26624,6 +28492,26 @@ export interface operations {
|
|
|
26624
28492
|
};
|
|
26625
28493
|
};
|
|
26626
28494
|
};
|
|
28495
|
+
getCurrentUser: {
|
|
28496
|
+
parameters: {
|
|
28497
|
+
query?: never;
|
|
28498
|
+
header?: never;
|
|
28499
|
+
path?: never;
|
|
28500
|
+
cookie?: never;
|
|
28501
|
+
};
|
|
28502
|
+
requestBody?: never;
|
|
28503
|
+
responses: {
|
|
28504
|
+
/** @description The current user. */
|
|
28505
|
+
200: {
|
|
28506
|
+
headers: {
|
|
28507
|
+
[name: string]: unknown;
|
|
28508
|
+
};
|
|
28509
|
+
content: {
|
|
28510
|
+
"application/json": components["schemas"]["CurrentUserResponse"];
|
|
28511
|
+
};
|
|
28512
|
+
};
|
|
28513
|
+
};
|
|
28514
|
+
};
|
|
26627
28515
|
createMyMemberships: {
|
|
26628
28516
|
parameters: {
|
|
26629
28517
|
query?: never;
|