@empiricalrun/playwright-utils 0.64.0 → 0.65.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.
@@ -3018,26 +3018,6 @@ export interface paths {
3018
3018
  patch?: never;
3019
3019
  trace?: never;
3020
3020
  };
3021
- "/api/chat-sessions/{id}/timeline": {
3022
- parameters: {
3023
- query?: never;
3024
- header?: never;
3025
- path?: never;
3026
- cookie?: never;
3027
- };
3028
- /**
3029
- * ⚙️ Get a session's timeline
3030
- * @description Returns the chronological timeline events for a chat session.
3031
- */
3032
- get: operations["getChatSessionTimeline"];
3033
- put?: never;
3034
- post?: never;
3035
- delete?: never;
3036
- options?: never;
3037
- head?: never;
3038
- patch?: never;
3039
- trace?: never;
3040
- };
3041
3021
  "/api/chat-sessions/{id}/transcript": {
3042
3022
  parameters: {
3043
3023
  query?: never;
@@ -5539,7 +5519,7 @@ export interface paths {
5539
5519
  };
5540
5520
  /**
5541
5521
  * ⚙️ Check test repository settings
5542
- * @description Checks the project's GitHub repository (or a repo transfer destination) against the settings Empirical needs: merge commits only, app access, matching default branch, and no rulesets blocking Empirical's branches.
5522
+ * @description Checks the project's GitHub repository (or a repo transfer destination) against the settings Empirical needs: merge commits only, app access, and a matching default branch. Also reports the rulesets and classic protection on the default branch.
5543
5523
  */
5544
5524
  get: operations["checkProjectRepoSettings"];
5545
5525
  put?: never;
@@ -5550,26 +5530,6 @@ export interface paths {
5550
5530
  patch?: never;
5551
5531
  trace?: never;
5552
5532
  };
5553
- "/api/projects/{id}/repo-settings-check/fix": {
5554
- parameters: {
5555
- query?: never;
5556
- header?: never;
5557
- path?: never;
5558
- cookie?: never;
5559
- };
5560
- get?: never;
5561
- put?: never;
5562
- /**
5563
- * 🛡️ Fix test repository merge settings
5564
- * @description For repositories owned by empirical-run only: turns on merge commits and turns off squash and rebase merging, then returns the re-checked result. Rulesets are reported, never changed.
5565
- */
5566
- post: operations["fixProjectRepoSettings"];
5567
- delete?: never;
5568
- options?: never;
5569
- head?: never;
5570
- patch?: never;
5571
- trace?: never;
5572
- };
5573
5533
  "/api/projects/{id}/test-cases-sync/trigger": {
5574
5534
  parameters: {
5575
5535
  query?: never;
@@ -5798,6 +5758,26 @@ export interface paths {
5798
5758
  patch?: never;
5799
5759
  trace?: never;
5800
5760
  };
5761
+ "/api/projects/npm-snapshot-urls": {
5762
+ parameters: {
5763
+ query?: never;
5764
+ header?: never;
5765
+ path?: never;
5766
+ cookie?: never;
5767
+ };
5768
+ get?: never;
5769
+ put?: never;
5770
+ /**
5771
+ * 🧪 Presign node_modules snapshot URLs
5772
+ * @description Returns presigned S3 URLs for the scoped project's node_modules tarball for a lockfile hash. Sandboxes restore from them at boot and upload after an npm ci on a miss.
5773
+ */
5774
+ post: operations["getProjectNpmSnapshotUrls"];
5775
+ delete?: never;
5776
+ options?: never;
5777
+ head?: never;
5778
+ patch?: never;
5779
+ trace?: never;
5780
+ };
5801
5781
  "/api/projects/static-ip-proxy-token": {
5802
5782
  parameters: {
5803
5783
  query?: never;
@@ -6086,90 +6066,6 @@ export interface paths {
6086
6066
  patch?: never;
6087
6067
  trace?: never;
6088
6068
  };
6089
- "/api/sandbox-snapshots": {
6090
- parameters: {
6091
- query?: never;
6092
- header?: never;
6093
- path?: never;
6094
- cookie?: never;
6095
- };
6096
- /**
6097
- * ⚙️ List sandbox snapshots
6098
- * @description Returns the most recent sandbox snapshots for the scoped project.
6099
- */
6100
- get: operations["listSandboxSnapshots"];
6101
- put?: never;
6102
- /**
6103
- * ⚙️ Create a sandbox snapshot
6104
- * @description Enqueues a snapshot-create job for the scoped project and base template.
6105
- */
6106
- post: operations["createSandboxSnapshot"];
6107
- delete?: never;
6108
- options?: never;
6109
- head?: never;
6110
- patch?: never;
6111
- trace?: never;
6112
- };
6113
- "/api/sandbox-snapshots/projects/{project_id}": {
6114
- parameters: {
6115
- query?: never;
6116
- header?: never;
6117
- path?: never;
6118
- cookie?: never;
6119
- };
6120
- /**
6121
- * ⚙️ List a project's sandbox snapshots
6122
- * @description Returns the most recent sandbox snapshots for a project; used by sandbox-template CI to wait for a rebuild.
6123
- */
6124
- get: operations["listProjectSandboxSnapshots"];
6125
- put?: never;
6126
- post?: never;
6127
- delete?: never;
6128
- options?: never;
6129
- head?: never;
6130
- patch?: never;
6131
- trace?: never;
6132
- };
6133
- "/api/sandbox-snapshots/rebuild": {
6134
- parameters: {
6135
- query?: never;
6136
- header?: never;
6137
- path?: never;
6138
- cookie?: never;
6139
- };
6140
- get?: never;
6141
- put?: never;
6142
- /**
6143
- * ⚙️ Rebuild project sandbox snapshots
6144
- * @description Enqueues snapshot-create jobs for every project that already has a snapshot for the given provider and base template. Only `e2b` is supported.
6145
- */
6146
- post: operations["rebuildSandboxSnapshots"];
6147
- delete?: never;
6148
- options?: never;
6149
- head?: never;
6150
- patch?: never;
6151
- trace?: never;
6152
- };
6153
- "/api/sandbox-snapshots/rebuild-by-template": {
6154
- parameters: {
6155
- query?: never;
6156
- header?: never;
6157
- path?: never;
6158
- cookie?: never;
6159
- };
6160
- get?: never;
6161
- put?: never;
6162
- /**
6163
- * ⚙️ Rebuild sandbox snapshots by template
6164
- * @description Enqueues snapshot-create jobs for every project that has an `e2b` snapshot for the given base template.
6165
- */
6166
- post: operations["rebuildSandboxSnapshotsByTemplate"];
6167
- delete?: never;
6168
- options?: never;
6169
- head?: never;
6170
- patch?: never;
6171
- trace?: never;
6172
- };
6173
6069
  "/api/sandbox-snapshots/sources/upsert": {
6174
6070
  parameters: {
6175
6071
  query?: never;
@@ -6272,6 +6168,26 @@ export interface paths {
6272
6168
  patch?: never;
6273
6169
  trace?: never;
6274
6170
  };
6171
+ "/api/test-reports/upload-urls": {
6172
+ parameters: {
6173
+ query?: never;
6174
+ header?: never;
6175
+ path?: never;
6176
+ cookie?: never;
6177
+ };
6178
+ get?: never;
6179
+ put?: never;
6180
+ /**
6181
+ * ⚙️ 🧪 Create report upload URLs
6182
+ * @description Returns presigned PUT URLs for files of a Playwright report under the project's report folder `<repo_name>/<run_id>/`.
6183
+ */
6184
+ post: operations["createTestReportUploadUrls"];
6185
+ delete?: never;
6186
+ options?: never;
6187
+ head?: never;
6188
+ patch?: never;
6189
+ trace?: never;
6190
+ };
6275
6191
  "/api/test-runs/events": {
6276
6192
  parameters: {
6277
6193
  query?: never;
@@ -6677,7 +6593,7 @@ export interface components {
6677
6593
  ActivityDay: {
6678
6594
  /** @description Local date, YYYY-MM-DD. */
6679
6595
  date: string;
6680
- /** @description Every test run of the day, summarized. */
6596
+ /** @description Every test run created that day, summarized by its latest state. */
6681
6597
  test_runs: {
6682
6598
  count: number;
6683
6599
  outcomes: {
@@ -6689,12 +6605,12 @@ export interface components {
6689
6605
  cancelled: number;
6690
6606
  ended: number;
6691
6607
  };
6692
- /** @description The latest run's time. */
6608
+ /** @description When the day's newest run was created. */
6693
6609
  occurred_at: string;
6694
- /** @description The earliest run's time. */
6610
+ /** @description When the day's oldest run was created. */
6695
6611
  since: string;
6696
6612
  locations: {
6697
- branch: string;
6613
+ environment_id: number | null;
6698
6614
  environment: string | null;
6699
6615
  count: number;
6700
6616
  outcomes: {
@@ -6709,6 +6625,8 @@ export interface components {
6709
6625
  }[];
6710
6626
  } | null;
6711
6627
  items: components["schemas"]["ActivityItem"][];
6628
+ /** @description Items past the per-day limit, not listed in `items`. */
6629
+ more_items: number;
6712
6630
  };
6713
6631
  ActivityItem: {
6714
6632
  id: string;
@@ -7029,7 +6947,7 @@ export interface components {
7029
6947
  */
7030
6948
  reporter_type: "github_check";
7031
6949
  /**
7032
- * @description `available`: the GitHub Reporter app is installed with the permission this reporter needs. `not_installed`: no install for the organization. `install_requested`: an install is waiting for a GitHub owner's approval. `missing_permission`: installed, but without the permission this reporter needs (`checks` for check runs, `pull_requests` for PR comments).
6950
+ * @description `available`: the GitHub Reporter app is installed with the permission this reporter needs. `not_installed`: no install for the organization. `install_requested`: an install is waiting for a GitHub owner's approval. `missing_permission`: installed, but without the permission this reporter needs (`checks` for check runs and the linked test changes check, `pull_requests` for PR comments).
7033
6951
  * @enum {string}
7034
6952
  */
7035
6953
  status: "available" | "not_installed" | "install_requested" | "missing_permission";
@@ -7042,7 +6960,20 @@ export interface components {
7042
6960
  */
7043
6961
  reporter_type: "github_pr_comment";
7044
6962
  /**
7045
- * @description `available`: the GitHub Reporter app is installed with the permission this reporter needs. `not_installed`: no install for the organization. `install_requested`: an install is waiting for a GitHub owner's approval. `missing_permission`: installed, but without the permission this reporter needs (`checks` for check runs, `pull_requests` for PR comments).
6963
+ * @description `available`: the GitHub Reporter app is installed with the permission this reporter needs. `not_installed`: no install for the organization. `install_requested`: an install is waiting for a GitHub owner's approval. `missing_permission`: installed, but without the permission this reporter needs (`checks` for check runs and the linked test changes check, `pull_requests` for PR comments).
6964
+ * @enum {string}
6965
+ */
6966
+ status: "available" | "not_installed" | "install_requested" | "missing_permission";
6967
+ /** @description Repositories (`owner/name`) the install covers. The reporter posts only for runs whose `build.repo` is one of these. */
6968
+ repositories: string[];
6969
+ } | {
6970
+ /**
6971
+ * @description Tracks the test branch of the app pull request a run was triggered for, and keeps the linked test changes check on that pull request up to date.
6972
+ * @enum {string}
6973
+ */
6974
+ reporter_type: "github_linked_changes";
6975
+ /**
6976
+ * @description `available`: the GitHub Reporter app is installed with the permission this reporter needs. `not_installed`: no install for the organization. `install_requested`: an install is waiting for a GitHub owner's approval. `missing_permission`: installed, but without the permission this reporter needs (`checks` for check runs and the linked test changes check, `pull_requests` for PR comments).
7046
6977
  * @enum {string}
7047
6978
  */
7048
6979
  status: "available" | "not_installed" | "install_requested" | "missing_permission";
@@ -7546,38 +7477,6 @@ export interface components {
7546
7477
  ChatSessionSubagentsResponse: {
7547
7478
  data: components["schemas"]["ChatSessionSubagents"];
7548
7479
  };
7549
- ChatSessionTimelineEvent: {
7550
- /** @description Timeline event ID. */
7551
- id: number;
7552
- /** @description Owning chat session ID. */
7553
- chat_session_id: number;
7554
- /**
7555
- * @description Timeline event type.
7556
- * @enum {string}
7557
- */
7558
- event_type: "pr.opened" | "pr.merged" | "pr.closed" | "chat_session.closed" | "branch.created";
7559
- /** @description Related pull request number, if any. */
7560
- pr_number: number | null;
7561
- /** @description User who triggered the event. */
7562
- created_by: string | null;
7563
- /** @description Event timestamp (ISO). */
7564
- created_at: string;
7565
- /** @description Resolved Supabase details for the triggerer. */
7566
- created_by_user_detail?: {
7567
- /** @description Supabase user ID. */
7568
- id: string;
7569
- /** @description User email. */
7570
- email: string;
7571
- /** @description Display name. */
7572
- name: string;
7573
- /** @description Avatar URL. */
7574
- picture: string;
7575
- } | null;
7576
- };
7577
- ChatSessionTimelineResponse: {
7578
- /** @description Response payload. */
7579
- data: components["schemas"]["ChatSessionTimelineEvent"][];
7580
- };
7581
7480
  ChatSessionTranscriptResponse: {
7582
7481
  data: components["schemas"]["SessionTranscript"];
7583
7482
  };
@@ -7755,9 +7654,9 @@ export interface components {
7755
7654
  team_id: string;
7756
7655
  };
7757
7656
  CreateAlarmRequest: {
7758
- /** @description The note to deliver back into this session when the alarm fires. Write it to your future self: what to resume and any context you'd otherwise lose. */
7657
+ /** @description Why the alarm fires, in at most 200 characters, e.g. "check run 152810 finished". It is set once and cannot be edited. Keep state and rules out of it. */
7759
7658
  message: string;
7760
- /** @description How far from now to fire, as a duration string with units m/h/d — e.g. "15m", "2h", "1d", or compound "1h30m". Min 5m, max 72h (3 days). */
7659
+ /** @description Whole minutes, hours or days (m/h/d), e.g. "15m", "2h", "1d" or "1h30m", between 5m and 72h. Seconds are not supported: use "5m", not "90s" or "300s". */
7761
7660
  delay: string;
7762
7661
  };
7763
7662
  CreateApiKeyRequest: {
@@ -7869,6 +7768,12 @@ export interface components {
7869
7768
  * @enum {string}
7870
7769
  */
7871
7770
  reporter_type: "github_pr_comment";
7771
+ } | {
7772
+ /**
7773
+ * @description Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.
7774
+ * @enum {string}
7775
+ */
7776
+ reporter_type: "github_linked_changes";
7872
7777
  } | {
7873
7778
  /**
7874
7779
  * @description Emails a report when the run ends to every user whose email domain is one of the organization's email domains.
@@ -8119,13 +8024,6 @@ export interface components {
8119
8024
  /** @description Channel names to subscribe to, e.g. `chat-sessions-project-<id>-<env>`, `test-run-<id>-<env>` or `user-<user uuid>-<env>`. */
8120
8025
  channels: string[];
8121
8026
  };
8122
- CreateSandboxSnapshotRequest: {
8123
- /**
8124
- * @description Base template to snapshot for the project.
8125
- * @enum {string}
8126
- */
8127
- base_template: "pi-sandbox";
8128
- };
8129
8027
  CreateSlackThreadEntityLinkRequest: {
8130
8028
  /**
8131
8029
  * @description Entity type to link.
@@ -8199,6 +8097,34 @@ export interface components {
8199
8097
  task: components["schemas"]["Task"];
8200
8098
  };
8201
8099
  };
8100
+ CreateTestReportUploadUrlsRequest: {
8101
+ /** @description Report run ID (the folder under the project). */
8102
+ run_id: string;
8103
+ files: {
8104
+ /** @description Path inside the run's report folder, e.g. `data/abc.png`. */
8105
+ path: string;
8106
+ /**
8107
+ * @description MIME type the upload sends as `Content-Type`.
8108
+ * @default application/octet-stream
8109
+ */
8110
+ content_type: string;
8111
+ /**
8112
+ * @description Storage class. When set, the upload must send the same `x-amz-storage-class` header.
8113
+ * @enum {string}
8114
+ */
8115
+ storage_class?: "STANDARD" | "STANDARD_IA";
8116
+ }[];
8117
+ };
8118
+ CreateTestReportUploadUrlsResponse: {
8119
+ /** @description Response payload. */
8120
+ data: {
8121
+ files: {
8122
+ path: string;
8123
+ /** @description Presigned PUT URL, valid for 1 hour. */
8124
+ upload_url: string;
8125
+ }[];
8126
+ };
8127
+ };
8202
8128
  CreateTestRunResponse: {
8203
8129
  data: {
8204
8130
  trigger: {
@@ -8977,6 +8903,12 @@ export interface components {
8977
8903
  * @enum {string}
8978
8904
  */
8979
8905
  reporter_type: "github_pr_comment";
8906
+ } | {
8907
+ /**
8908
+ * @description Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.
8909
+ * @enum {string}
8910
+ */
8911
+ reporter_type: "github_linked_changes";
8980
8912
  } | {
8981
8913
  /**
8982
8914
  * @description Emails a report when the run ends to every user whose email domain is one of the organization's email domains.
@@ -12055,6 +11987,21 @@ export interface components {
12055
11987
  created: boolean;
12056
11988
  };
12057
11989
  };
11990
+ ProjectNpmSnapshotUrlsBody: {
11991
+ /** @description Hex SHA-256 of the repo's package-lock.json. */
11992
+ lockfile_sha256: string;
11993
+ /** @description `<platform>-abi<node ABI>` of the sandbox, e.g. `linux-abi127`. */
11994
+ runtime: string;
11995
+ };
11996
+ ProjectNpmSnapshotUrlsResponse: {
11997
+ /** @description Response payload. */
11998
+ data: {
11999
+ /** @description Presigned GETs to try in order. Per bucket, nearest to the sandboxes first: the tarball test runs share across projects, then this project's own. */
12000
+ restore_urls: string[];
12001
+ /** @description Presigned PUT for this project's tarball in the bucket nearest the sandboxes. */
12002
+ upload_url: string;
12003
+ };
12004
+ };
12058
12005
  ProjectOrgResponse: {
12059
12006
  /** @description Response payload. */
12060
12007
  data: {
@@ -12236,6 +12183,24 @@ export interface components {
12236
12183
  project: components["schemas"]["Project"];
12237
12184
  };
12238
12185
  };
12186
+ ProtectionRuleset: {
12187
+ id: number;
12188
+ name: string;
12189
+ /** @description Where the ruleset is defined: `Repository`, `Organization` or `Enterprise`. */
12190
+ source_type: string | null;
12191
+ /** @description The repository, organization or enterprise defining it. */
12192
+ source: string | null;
12193
+ html_url: string;
12194
+ /**
12195
+ * @description Whether the Empirical GitHub App is on the ruleset's bypass list, and in which mode. `unknown` when GitHub did not say.
12196
+ * @enum {string}
12197
+ */
12198
+ bypass: "always" | "pull_requests_only" | "never" | "exempt" | "unknown";
12199
+ /** @description Rules that hold back pull requests Empirical merges into the default branch, e.g. "Requires 1 approval": approvals, status checks, required workflows and scans, restricted updates, linear history, signed commits and commit patterns. */
12200
+ rules: string[];
12201
+ /** @description Rules that do not affect how Empirical merges, e.g. "Blocks force pushes". */
12202
+ other_rules: string[];
12203
+ };
12239
12204
  PutRunManifestRequest: {
12240
12205
  /** @description Structured scheduled tests. */
12241
12206
  tests: {
@@ -12276,28 +12241,6 @@ export interface components {
12276
12241
  /** @description Reason the realtime service is unavailable. */
12277
12242
  error: string;
12278
12243
  };
12279
- RebuildSandboxSnapshotsByTemplateRequest: {
12280
- /**
12281
- * @description Base template whose snapshots to rebuild.
12282
- * @enum {string}
12283
- */
12284
- base_template: "pi-sandbox";
12285
- };
12286
- RebuildSandboxSnapshotsRequest: {
12287
- /**
12288
- * @description Sandbox provider. Only `e2b` is supported.
12289
- * @default e2b
12290
- * @enum {string}
12291
- */
12292
- provider: "e2b" | "docker" | "vercel";
12293
- /**
12294
- * @description Base template whose snapshots to rebuild.
12295
- * @enum {string}
12296
- */
12297
- base_template: "pi-sandbox";
12298
- /** @description Only rebuild these projects. Projects without a snapshot for the template are skipped. */
12299
- project_ids?: number[];
12300
- };
12301
12244
  RecentBranch: {
12302
12245
  /** @description Branch name. */
12303
12246
  name: string;
@@ -12403,18 +12346,18 @@ export interface components {
12403
12346
  /** @description Stable check id. */
12404
12347
  id: string;
12405
12348
  /**
12406
- * @description `error`: Empirical breaks without it. `warning`: recommended. `info`: for awareness.
12349
+ * @description `error`: Empirical breaks without it. `warning`: recommended.
12407
12350
  * @enum {string}
12408
12351
  */
12409
- level: "error" | "warning" | "info";
12352
+ level: "error" | "warning";
12410
12353
  /**
12411
- * @description `unknown` when GitHub didn't let the Empirical app read what the check needs.
12354
+ * @description `unknown` when GitHub did not let the Empirical app read what the check needs.
12412
12355
  * @enum {string}
12413
12356
  */
12414
12357
  status: "pass" | "fail" | "unknown";
12415
12358
  /** @description What was found, e.g. "Squash merging is on". Worded the same way whether the check passes or fails. */
12416
12359
  title: string;
12417
- /** @description Why it matters, or what couldn't be read. */
12360
+ /** @description Why it matters, or what could not be read. */
12418
12361
  detail: string;
12419
12362
  /** @description Where to change it in GitHub, in plain language. */
12420
12363
  fix_hint: string | null;
@@ -12428,8 +12371,36 @@ export interface components {
12428
12371
  html_url: string;
12429
12372
  };
12430
12373
  checks: components["schemas"]["RepoSettingsCheck"][];
12431
- /** @description True when the repo is owned by empirical-run and its merge settings need fixing; `POST …/fix` then applies them. */
12432
- can_auto_fix: boolean;
12374
+ /** @description Null when the repository could not be read. */
12375
+ default_branch_protection: {
12376
+ branch: string;
12377
+ rulesets: {
12378
+ /** @enum {string} */
12379
+ kind: "ok";
12380
+ items: components["schemas"]["ProtectionRuleset"][];
12381
+ } | {
12382
+ /** @enum {string} */
12383
+ kind: "unavailable";
12384
+ } | {
12385
+ /** @enum {string} */
12386
+ kind: "error";
12387
+ message: string;
12388
+ };
12389
+ classic: {
12390
+ /** @enum {string} */
12391
+ kind: "ok";
12392
+ rules: string[];
12393
+ } | {
12394
+ /** @enum {string} */
12395
+ kind: "none";
12396
+ } | {
12397
+ /** @enum {string} */
12398
+ kind: "unavailable";
12399
+ } | {
12400
+ /** @enum {string} */
12401
+ kind: "unreadable";
12402
+ };
12403
+ } | null;
12433
12404
  };
12434
12405
  };
12435
12406
  RepoTransfer: {
@@ -12606,6 +12577,12 @@ export interface components {
12606
12577
  * @enum {string}
12607
12578
  */
12608
12579
  reporter_type: "github_pr_comment";
12580
+ } | {
12581
+ /**
12582
+ * @description Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.
12583
+ * @enum {string}
12584
+ */
12585
+ reporter_type: "github_linked_changes";
12609
12586
  } | {
12610
12587
  /**
12611
12588
  * @description Emails a report when the run ends to every user whose email domain is one of the organization's email domains.
@@ -12954,37 +12931,14 @@ export interface components {
12954
12931
  created_at: string;
12955
12932
  /** @description ISO 8601 last-update timestamp. */
12956
12933
  updated_at: string;
12957
- };
12958
- SandboxSnapshotListResponse: {
12959
- /** @description Response payload. */
12960
- data: {
12961
- /** @description Snapshots for the project, newest first. */
12962
- snapshots: components["schemas"]["SandboxSnapshot"][];
12963
- };
12964
- };
12965
- SandboxSnapshotRebuildResponse: {
12966
- /** @description Response payload. */
12967
- data: {
12968
- /** @description Whether rebuilds were enqueued. */
12969
- triggered: boolean;
12970
- /** @description Number of projects scheduled for rebuild. */
12971
- project_count: number;
12972
- };
12973
- };
12934
+ } | null;
12974
12935
  SandboxSnapshotSourcesUpsertResponse: {
12975
12936
  /** @description Response payload. */
12976
12937
  data: {
12977
12938
  /** @description Number of sources upserted. */
12978
12939
  source_count: number;
12979
12940
  /** @description The upserted snapshot source rows. */
12980
- sources: (components["schemas"]["SandboxSnapshot"] & unknown)[];
12981
- };
12982
- };
12983
- SandboxSnapshotTriggeredResponse: {
12984
- /** @description Response payload. */
12985
- data: {
12986
- /** @description Whether snapshot creation was enqueued. */
12987
- triggered: boolean;
12941
+ sources: components["schemas"]["SandboxSnapshot"][];
12988
12942
  };
12989
12943
  };
12990
12944
  ScheduleSnoozeExpiryRequest: {
@@ -13101,6 +13055,16 @@ export interface components {
13101
13055
  data: {
13102
13056
  text: string;
13103
13057
  };
13058
+ } | {
13059
+ id: string;
13060
+ /** @enum {string} */
13061
+ kind: "thought";
13062
+ timestamp: string;
13063
+ seqFrom?: number;
13064
+ seqTo?: number;
13065
+ data: {
13066
+ texts: string[];
13067
+ };
13104
13068
  } | {
13105
13069
  id: string;
13106
13070
  /** @enum {string} */
@@ -13130,6 +13094,23 @@ export interface components {
13130
13094
  toolCallId: string;
13131
13095
  name: string;
13132
13096
  argsSummary: string;
13097
+ label: string;
13098
+ durationMs: number | null;
13099
+ changedLines?: {
13100
+ added: number;
13101
+ removed: number;
13102
+ };
13103
+ commitHash?: string;
13104
+ background?: {
13105
+ jobId: string;
13106
+ end?: {
13107
+ jobId: string;
13108
+ exitCode: number | null;
13109
+ signal: string | null;
13110
+ timedOut: boolean;
13111
+ durationMs: number;
13112
+ };
13113
+ };
13133
13114
  failed: boolean;
13134
13115
  running: boolean;
13135
13116
  };
@@ -13234,7 +13215,7 @@ export interface components {
13234
13215
  /** @enum {string} */
13235
13216
  kind: "event_subscription";
13236
13217
  delivery: {
13237
- instruction: string;
13218
+ instruction?: string;
13238
13219
  event: {
13239
13220
  id: string;
13240
13221
  type: string;
@@ -15431,6 +15412,12 @@ export interface components {
15431
15412
  * @enum {string}
15432
15413
  */
15433
15414
  reporter_type: "github_pr_comment";
15415
+ } | {
15416
+ /**
15417
+ * @description Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.
15418
+ * @enum {string}
15419
+ */
15420
+ reporter_type: "github_linked_changes";
15434
15421
  } | {
15435
15422
  /**
15436
15423
  * @description Emails a report when the run ends to every user whose email domain is one of the organization's email domains.
@@ -15693,6 +15680,12 @@ export interface components {
15693
15680
  * @enum {string}
15694
15681
  */
15695
15682
  reporter_type: "github_pr_comment";
15683
+ } | {
15684
+ /**
15685
+ * @description Tracks the test branch named after the head branch of the app pull request the run was triggered for (`trigger.event` `pull_request`), and keeps the `Empirical linked test changes` check on that pull request up to date: it passes when the test branch has nothing left to merge and fails while it has unmerged commits. The pull request's latest run decides whether it is tracked. Does nothing for runs not triggered by a pull request. Needs `build` with a repository the GitHub Reporter app is installed on.
15686
+ * @enum {string}
15687
+ */
15688
+ reporter_type: "github_linked_changes";
15696
15689
  } | {
15697
15690
  /**
15698
15691
  * @description Emails a report when the run ends to every user whose email domain is one of the organization's email domains.
@@ -16214,6 +16207,10 @@ export interface operations {
16214
16207
  branch?: string;
16215
16208
  /** @description Restrict to runs created in the last N days. */
16216
16209
  interval_in_days?: number;
16210
+ /** @description Restrict to runs created at or after this time. */
16211
+ created_after?: string;
16212
+ /** @description Restrict to runs created before this time. */
16213
+ created_before?: string;
16217
16214
  /** @description Filter by run state (e.g. `queued`, `ended`). */
16218
16215
  state?: string;
16219
16216
  /** @description Filter by overall run result. */
@@ -21467,11 +21464,15 @@ export interface operations {
21467
21464
  timing: {
21468
21465
  /** @enum {string} */
21469
21466
  type: "once";
21470
- /** Format: date-time */
21467
+ /**
21468
+ * Format: date-time
21469
+ * @description ISO 8601 UTC time at least 5m in the future.
21470
+ */
21471
21471
  run_at: string;
21472
21472
  } | {
21473
21473
  /** @enum {string} */
21474
21474
  type: "cron";
21475
+ /** @description Five-field UTC cron expression, e.g. "0 *\/4 * * *". Runs must be at least 5m apart. */
21475
21476
  cron: string;
21476
21477
  /** Format: date-time */
21477
21478
  ends_at?: string;
@@ -21508,20 +21509,25 @@ export interface operations {
21508
21509
  requestBody?: {
21509
21510
  content: {
21510
21511
  "application/json": {
21512
+ /** @description Why the alarm fires, in at most 200 characters, e.g. "check run 152810 finished". It is set once and cannot be edited. Keep state and rules out of it. */
21511
21513
  message: string;
21512
21514
  timing: {
21513
21515
  /** @enum {string} */
21514
21516
  type: "delay";
21515
- /** @description Relative delay using m/h/d units, such as "15m", "2h", or "1d". Min 5m, max 72h. */
21517
+ /** @description Whole minutes, hours or days (m/h/d), e.g. "15m", "2h", "1d" or "1h30m", between 5m and 72h. Seconds are not supported: use "5m", not "90s" or "300s". */
21516
21518
  delay: string;
21517
21519
  } | {
21518
21520
  /** @enum {string} */
21519
21521
  type: "once";
21520
- /** Format: date-time */
21522
+ /**
21523
+ * Format: date-time
21524
+ * @description ISO 8601 UTC time at least 5m in the future.
21525
+ */
21521
21526
  run_at: string;
21522
21527
  } | {
21523
21528
  /** @enum {string} */
21524
21529
  type: "cron";
21530
+ /** @description Five-field UTC cron expression, e.g. "0 *\/4 * * *". Runs must be at least 5m apart. */
21525
21531
  cron: string;
21526
21532
  /** Format: date-time */
21527
21533
  ends_at?: string;
@@ -21548,11 +21554,15 @@ export interface operations {
21548
21554
  timing: {
21549
21555
  /** @enum {string} */
21550
21556
  type: "once";
21551
- /** Format: date-time */
21557
+ /**
21558
+ * Format: date-time
21559
+ * @description ISO 8601 UTC time at least 5m in the future.
21560
+ */
21552
21561
  run_at: string;
21553
21562
  } | {
21554
21563
  /** @enum {string} */
21555
21564
  type: "cron";
21565
+ /** @description Five-field UTC cron expression, e.g. "0 *\/4 * * *". Runs must be at least 5m apart. */
21556
21566
  cron: string;
21557
21567
  /** Format: date-time */
21558
21568
  ends_at?: string;
@@ -21638,15 +21648,19 @@ export interface operations {
21638
21648
  requestBody?: {
21639
21649
  content: {
21640
21650
  "application/json": {
21641
- message?: string;
21642
- timing?: {
21651
+ /** @description New schedule. The message is fixed at creation; delete the alarm and create a new one to change it. */
21652
+ timing: {
21643
21653
  /** @enum {string} */
21644
21654
  type: "once";
21645
- /** Format: date-time */
21655
+ /**
21656
+ * Format: date-time
21657
+ * @description ISO 8601 UTC time at least 5m in the future.
21658
+ */
21646
21659
  run_at: string;
21647
21660
  } | {
21648
21661
  /** @enum {string} */
21649
21662
  type: "cron";
21663
+ /** @description Five-field UTC cron expression, e.g. "0 *\/4 * * *". Runs must be at least 5m apart. */
21650
21664
  cron: string;
21651
21665
  /** Format: date-time */
21652
21666
  ends_at?: string;
@@ -21673,11 +21687,15 @@ export interface operations {
21673
21687
  timing: {
21674
21688
  /** @enum {string} */
21675
21689
  type: "once";
21676
- /** Format: date-time */
21690
+ /**
21691
+ * Format: date-time
21692
+ * @description ISO 8601 UTC time at least 5m in the future.
21693
+ */
21677
21694
  run_at: string;
21678
21695
  } | {
21679
21696
  /** @enum {string} */
21680
21697
  type: "cron";
21698
+ /** @description Five-field UTC cron expression, e.g. "0 *\/4 * * *". Runs must be at least 5m apart. */
21681
21699
  cron: string;
21682
21700
  /** Format: date-time */
21683
21701
  ends_at?: string;
@@ -21785,7 +21803,6 @@ export interface operations {
21785
21803
  lte?: number;
21786
21804
  }) | null;
21787
21805
  };
21788
- message: string;
21789
21806
  /**
21790
21807
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
21791
21808
  * @enum {string}
@@ -21837,8 +21854,6 @@ export interface operations {
21837
21854
  lte?: number;
21838
21855
  }) | null;
21839
21856
  };
21840
- /** @description Continuation instruction delivered to the session after the event matches. */
21841
- message: string;
21842
21857
  /**
21843
21858
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
21844
21859
  * @enum {string}
@@ -21873,7 +21888,6 @@ export interface operations {
21873
21888
  lte?: number;
21874
21889
  }) | null;
21875
21890
  };
21876
- message: string;
21877
21891
  /**
21878
21892
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
21879
21893
  * @enum {string}
@@ -21952,7 +21966,6 @@ export interface operations {
21952
21966
  lte?: number;
21953
21967
  }) | null;
21954
21968
  };
21955
- message: string;
21956
21969
  /**
21957
21970
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
21958
21971
  * @enum {string}
@@ -22032,8 +22045,6 @@ export interface operations {
22032
22045
  lte?: number;
22033
22046
  }) | null;
22034
22047
  };
22035
- /** @description Continuation instruction delivered to the session after the event matches. */
22036
- message?: string;
22037
22048
  /**
22038
22049
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
22039
22050
  * @enum {string}
@@ -22068,7 +22079,6 @@ export interface operations {
22068
22079
  lte?: number;
22069
22080
  }) | null;
22070
22081
  };
22071
- message: string;
22072
22082
  /**
22073
22083
  * @description Whether the trigger is consumed after one successful delivery or remains active. Recurring triggers require a wildcard entity match.
22074
22084
  * @enum {string}
@@ -24335,7 +24345,7 @@ export interface operations {
24335
24345
  [key: string]: number;
24336
24346
  }) | null;
24337
24347
  };
24338
- message: string;
24348
+ message?: string;
24339
24349
  /** @enum {string} */
24340
24350
  cardinality: "one_shot" | "recurring";
24341
24351
  }[];
@@ -24906,38 +24916,6 @@ export interface operations {
24906
24916
  };
24907
24917
  };
24908
24918
  };
24909
- getChatSessionTimeline: {
24910
- parameters: {
24911
- query?: never;
24912
- header?: never;
24913
- path: {
24914
- /** @description Chat session ID. */
24915
- id: number;
24916
- };
24917
- cookie?: never;
24918
- };
24919
- requestBody?: never;
24920
- responses: {
24921
- /** @description The session timeline. */
24922
- 200: {
24923
- headers: {
24924
- [name: string]: unknown;
24925
- };
24926
- content: {
24927
- "application/json": components["schemas"]["ChatSessionTimelineResponse"];
24928
- };
24929
- };
24930
- /** @description Chat session not found. */
24931
- 404: {
24932
- headers: {
24933
- [name: string]: unknown;
24934
- };
24935
- content: {
24936
- "application/json": components["schemas"]["ErrorResponse"];
24937
- };
24938
- };
24939
- };
24940
- };
24941
24919
  getChatSessionTranscript: {
24942
24920
  parameters: {
24943
24921
  query?: never;
@@ -27132,7 +27110,7 @@ export interface operations {
27132
27110
  "application/json": components["schemas"]["SandboxAuthRefreshError"];
27133
27111
  };
27134
27112
  };
27135
- /** @description The session is revoked or expired. */
27113
+ /** @description The session is revoked, expired, or not tied to a chat session. */
27136
27114
  403: {
27137
27115
  headers: {
27138
27116
  [name: string]: unknown;
@@ -31375,7 +31353,7 @@ export interface operations {
31375
31353
  checkProjectRepoSettings: {
31376
31354
  parameters: {
31377
31355
  query?: {
31378
- /** @description Check this GitHub owner's repo instead of the project's (e.g. a repo transfer destination). Requires `repo_name`; can't be `empirical-run`. */
31356
+ /** @description Check this GitHub owner's repo instead of the project's (e.g. a repo transfer destination). Requires `repo_name`; cannot be `empirical-run`. */
31379
31357
  repo_owner?: string;
31380
31358
  /** @description Repository name to check, with `repo_owner`. */
31381
31359
  repo_name?: string;
@@ -31427,65 +31405,6 @@ export interface operations {
31427
31405
  };
31428
31406
  };
31429
31407
  };
31430
- fixProjectRepoSettings: {
31431
- parameters: {
31432
- query?: never;
31433
- header?: never;
31434
- path: {
31435
- /** @description Project ID. */
31436
- id: number;
31437
- };
31438
- cookie?: never;
31439
- };
31440
- requestBody?: never;
31441
- responses: {
31442
- /** @description Re-checked results. */
31443
- 200: {
31444
- headers: {
31445
- [name: string]: unknown;
31446
- };
31447
- content: {
31448
- "application/json": components["schemas"]["RepoSettingsCheckResponse"];
31449
- };
31450
- };
31451
- /** @description Project has no GitHub repository. */
31452
- 400: {
31453
- headers: {
31454
- [name: string]: unknown;
31455
- };
31456
- content: {
31457
- "application/json": components["schemas"]["ErrorResponse"];
31458
- };
31459
- };
31460
- /** @description Repository isn't owned by empirical-run. */
31461
- 403: {
31462
- headers: {
31463
- [name: string]: unknown;
31464
- };
31465
- content: {
31466
- "application/json": components["schemas"]["ErrorResponse"];
31467
- };
31468
- };
31469
- /** @description Project not found. */
31470
- 404: {
31471
- headers: {
31472
- [name: string]: unknown;
31473
- };
31474
- content: {
31475
- "application/json": components["schemas"]["ErrorResponse"];
31476
- };
31477
- };
31478
- /** @description GitHub request failed. */
31479
- 502: {
31480
- headers: {
31481
- [name: string]: unknown;
31482
- };
31483
- content: {
31484
- "application/json": components["schemas"]["ErrorResponse"];
31485
- };
31486
- };
31487
- };
31488
- };
31489
31408
  triggerProjectTestCasesSync: {
31490
31409
  parameters: {
31491
31410
  query?: never;
@@ -32030,6 +31949,39 @@ export interface operations {
32030
31949
  };
32031
31950
  };
32032
31951
  };
31952
+ getProjectNpmSnapshotUrls: {
31953
+ parameters: {
31954
+ query?: never;
31955
+ header?: never;
31956
+ path?: never;
31957
+ cookie?: never;
31958
+ };
31959
+ requestBody?: {
31960
+ content: {
31961
+ "application/json": components["schemas"]["ProjectNpmSnapshotUrlsBody"];
31962
+ };
31963
+ };
31964
+ responses: {
31965
+ /** @description Presigned snapshot URLs. */
31966
+ 200: {
31967
+ headers: {
31968
+ [name: string]: unknown;
31969
+ };
31970
+ content: {
31971
+ "application/json": components["schemas"]["ProjectNpmSnapshotUrlsResponse"];
31972
+ };
31973
+ };
31974
+ /** @description The project has no npm snapshot storage. */
31975
+ 404: {
31976
+ headers: {
31977
+ [name: string]: unknown;
31978
+ };
31979
+ content: {
31980
+ "application/json": components["schemas"]["ErrorResponse"];
31981
+ };
31982
+ };
31983
+ };
31984
+ };
32033
31985
  getProjectStaticIpProxyToken: {
32034
31986
  parameters: {
32035
31987
  query?: never;
@@ -32777,202 +32729,6 @@ export interface operations {
32777
32729
  };
32778
32730
  };
32779
32731
  };
32780
- listSandboxSnapshots: {
32781
- parameters: {
32782
- query?: never;
32783
- header?: never;
32784
- path?: never;
32785
- cookie?: never;
32786
- };
32787
- requestBody?: never;
32788
- responses: {
32789
- /** @description The project's sandbox snapshots. */
32790
- 200: {
32791
- headers: {
32792
- [name: string]: unknown;
32793
- };
32794
- content: {
32795
- "application/json": components["schemas"]["SandboxSnapshotListResponse"];
32796
- };
32797
- };
32798
- /** @description Invalid project scope. */
32799
- 400: {
32800
- headers: {
32801
- [name: string]: unknown;
32802
- };
32803
- content: {
32804
- "application/json": components["schemas"]["ErrorResponse"];
32805
- };
32806
- };
32807
- /** @description Project not found. */
32808
- 404: {
32809
- headers: {
32810
- [name: string]: unknown;
32811
- };
32812
- content: {
32813
- "application/json": components["schemas"]["ErrorResponse"];
32814
- };
32815
- };
32816
- };
32817
- };
32818
- createSandboxSnapshot: {
32819
- parameters: {
32820
- query?: never;
32821
- header?: never;
32822
- path?: never;
32823
- cookie?: never;
32824
- };
32825
- requestBody?: {
32826
- content: {
32827
- "application/json": components["schemas"]["CreateSandboxSnapshotRequest"];
32828
- };
32829
- };
32830
- responses: {
32831
- /** @description Snapshot creation enqueued. */
32832
- 200: {
32833
- headers: {
32834
- [name: string]: unknown;
32835
- };
32836
- content: {
32837
- "application/json": components["schemas"]["SandboxSnapshotTriggeredResponse"];
32838
- };
32839
- };
32840
- /** @description Invalid request. */
32841
- 400: {
32842
- headers: {
32843
- [name: string]: unknown;
32844
- };
32845
- content: {
32846
- "application/json": components["schemas"]["ErrorResponse"];
32847
- };
32848
- };
32849
- /** @description Project not found. */
32850
- 404: {
32851
- headers: {
32852
- [name: string]: unknown;
32853
- };
32854
- content: {
32855
- "application/json": components["schemas"]["ErrorResponse"];
32856
- };
32857
- };
32858
- /** @description The jobs queue is not configured. */
32859
- 500: {
32860
- headers: {
32861
- [name: string]: unknown;
32862
- };
32863
- content: {
32864
- "application/json": components["schemas"]["ErrorResponse"];
32865
- };
32866
- };
32867
- };
32868
- };
32869
- listProjectSandboxSnapshots: {
32870
- parameters: {
32871
- query?: never;
32872
- header?: never;
32873
- path: {
32874
- /** @description Project ID (positive integer). */
32875
- project_id: string;
32876
- };
32877
- cookie?: never;
32878
- };
32879
- requestBody?: never;
32880
- responses: {
32881
- /** @description The project's sandbox snapshots. */
32882
- 200: {
32883
- headers: {
32884
- [name: string]: unknown;
32885
- };
32886
- content: {
32887
- "application/json": components["schemas"]["SandboxSnapshotListResponse"];
32888
- };
32889
- };
32890
- };
32891
- };
32892
- rebuildSandboxSnapshots: {
32893
- parameters: {
32894
- query?: never;
32895
- header?: never;
32896
- path?: never;
32897
- cookie?: never;
32898
- };
32899
- requestBody?: {
32900
- content: {
32901
- "application/json": components["schemas"]["RebuildSandboxSnapshotsRequest"];
32902
- };
32903
- };
32904
- responses: {
32905
- /** @description Rebuilds enqueued. */
32906
- 200: {
32907
- headers: {
32908
- [name: string]: unknown;
32909
- };
32910
- content: {
32911
- "application/json": components["schemas"]["SandboxSnapshotRebuildResponse"];
32912
- };
32913
- };
32914
- /** @description Unsupported provider or invalid request. */
32915
- 400: {
32916
- headers: {
32917
- [name: string]: unknown;
32918
- };
32919
- content: {
32920
- "application/json": components["schemas"]["ErrorResponse"];
32921
- };
32922
- };
32923
- /** @description The jobs queue is not configured. */
32924
- 500: {
32925
- headers: {
32926
- [name: string]: unknown;
32927
- };
32928
- content: {
32929
- "application/json": components["schemas"]["ErrorResponse"];
32930
- };
32931
- };
32932
- };
32933
- };
32934
- rebuildSandboxSnapshotsByTemplate: {
32935
- parameters: {
32936
- query?: never;
32937
- header?: never;
32938
- path?: never;
32939
- cookie?: never;
32940
- };
32941
- requestBody?: {
32942
- content: {
32943
- "application/json": components["schemas"]["RebuildSandboxSnapshotsByTemplateRequest"];
32944
- };
32945
- };
32946
- responses: {
32947
- /** @description Rebuilds enqueued. */
32948
- 200: {
32949
- headers: {
32950
- [name: string]: unknown;
32951
- };
32952
- content: {
32953
- "application/json": components["schemas"]["SandboxSnapshotRebuildResponse"];
32954
- };
32955
- };
32956
- /** @description Invalid request. */
32957
- 400: {
32958
- headers: {
32959
- [name: string]: unknown;
32960
- };
32961
- content: {
32962
- "application/json": components["schemas"]["ErrorResponse"];
32963
- };
32964
- };
32965
- /** @description The jobs queue is not configured. */
32966
- 500: {
32967
- headers: {
32968
- [name: string]: unknown;
32969
- };
32970
- content: {
32971
- "application/json": components["schemas"]["ErrorResponse"];
32972
- };
32973
- };
32974
- };
32975
- };
32976
32732
  upsertSandboxSnapshotSources: {
32977
32733
  parameters: {
32978
32734
  query?: never;
@@ -33238,6 +32994,39 @@ export interface operations {
33238
32994
  };
33239
32995
  };
33240
32996
  };
32997
+ createTestReportUploadUrls: {
32998
+ parameters: {
32999
+ query?: never;
33000
+ header?: never;
33001
+ path?: never;
33002
+ cookie?: never;
33003
+ };
33004
+ requestBody?: {
33005
+ content: {
33006
+ "application/json": components["schemas"]["CreateTestReportUploadUrlsRequest"];
33007
+ };
33008
+ };
33009
+ responses: {
33010
+ /** @description Upload URLs, in request order. */
33011
+ 200: {
33012
+ headers: {
33013
+ [name: string]: unknown;
33014
+ };
33015
+ content: {
33016
+ "application/json": components["schemas"]["CreateTestReportUploadUrlsResponse"];
33017
+ };
33018
+ };
33019
+ /** @description Invalid request. */
33020
+ 400: {
33021
+ headers: {
33022
+ [name: string]: unknown;
33023
+ };
33024
+ content: {
33025
+ "application/json": components["schemas"]["ErrorResponse"];
33026
+ };
33027
+ };
33028
+ };
33029
+ };
33241
33030
  ingestTestCaseRunEndEvent: {
33242
33031
  parameters: {
33243
33032
  query?: never;