@deepraxis/sdk 0.1.1-dev.ec2a9a1 → 0.1.1-dev.edf8922

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.
@@ -1144,7 +1144,7 @@ export type OwnFileDeleteFileResponse = {
1144
1144
  };
1145
1145
  export type OwnFilePraxisCreateUpload = {
1146
1146
  /**
1147
- * Exact complete file length in bytes, from 1 through 2147483648 (2 GiB); the sum of completed parts must match.
1147
+ * Exact complete file length in bytes, from 1 through 21474836480 (20 GiB); the sum of completed parts must match.
1148
1148
  */
1149
1149
  bytes: number;
1150
1150
  /**
@@ -1195,7 +1195,7 @@ export type OwnFilePraxisUpload = {
1195
1195
  */
1196
1196
  created_at: number;
1197
1197
  /**
1198
- * Expiry time as Unix seconds; unfinished uploads expire after one hour.
1198
+ * Expiry time as Unix seconds; unfinished uploads expire after 7 days.
1199
1199
  */
1200
1200
  expires_at: number;
1201
1201
  /**
@@ -1207,13 +1207,38 @@ export type OwnFilePraxisUpload = {
1207
1207
  */
1208
1208
  purpose: 'user_data' | 'assistants' | 'vision';
1209
1209
  /**
1210
- * Upload state: pending accepts parts; completed has a file; cancelled was cancelled; expired exceeded its one-hour lifetime.
1210
+ * Upload state: pending accepts parts; completed has a file; cancelled was cancelled; expired exceeded its seven-day lifetime.
1211
1211
  */
1212
1212
  status: 'pending' | 'completed' | 'cancelled' | 'expired';
1213
1213
  /**
1214
1214
  * Present after complete. A file with status uploaded is still processing; poll files.retrieve until processed before use.
1215
1215
  */
1216
1216
  file?: OwnFileOpenAiFile | null;
1217
+ /**
1218
+ * Fixed part length in bytes for a fixed-size upload, or null for a general upload. Send exactly this many bytes per numbered part except for the final remainder.
1219
+ */
1220
+ part_size?: number | null;
1221
+ /**
1222
+ * Parts the upload already holds, in resume order: numbered parts by number, then a general upload's parts by arrival. Query GET /file/v1/uploads/{upload_id} after a break and resend only the numbers missing here.
1223
+ */
1224
+ received_parts?: Array<{
1225
+ /**
1226
+ * Fixed part number, or null for a part of a general upload.
1227
+ */
1228
+ part_number: number | null;
1229
+ /**
1230
+ * Part identifier to pass to complete for this content.
1231
+ */
1232
+ id: string;
1233
+ /**
1234
+ * Accepted length of this part in bytes.
1235
+ */
1236
+ bytes: number;
1237
+ /**
1238
+ * Part content digest prefixed sha256:.
1239
+ */
1240
+ sha256: string;
1241
+ }>;
1217
1242
  /**
1218
1243
  * Declared MIME type, verified during assembly.
1219
1244
  */
@@ -1274,7 +1299,7 @@ export type OwnFileSignedUploadRequest = {
1274
1299
  */
1275
1300
  filename: string;
1276
1301
  /**
1277
- * Exact local file size in bytes, from 1 through 2147483648 (2 GiB). Up to 104857600 bytes returns one PUT URL; larger files return numbered part URLs and a completion URL. Every PUT requires its exact signed Content-Length.
1302
+ * Exact local file size in bytes, from 1 through 21474836480 (20 GiB). Up to 104857600 bytes returns one PUT URL; larger files return numbered part URLs, a completion URL and a status URL. Every PUT requires its exact signed Content-Length.
1278
1303
  */
1279
1304
  bytes: number;
1280
1305
  /**
@@ -1286,7 +1311,7 @@ export type OwnFileSignedUploadRequest = {
1286
1311
  */
1287
1312
  purpose?: 'user_data' | 'assistants' | 'vision';
1288
1313
  /**
1289
- * Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or 3600 for multipart. All part URLs and the completion URL share one expiry. This does not set the resulting file's lifetime.
1314
+ * Lifetime in seconds, from 1 through 604800: defaults to 900 for single PUT or 604800 (7 days) for multipart. All part URLs, the status URL and the completion URL share one expiry. This does not set the resulting file's lifetime.
1290
1315
  */
1291
1316
  expires_in?: number;
1292
1317
  /**
@@ -1337,6 +1362,10 @@ export type OwnFileSignedUploadResponse = {
1337
1362
  * Bearer URL to POST without a body after every chunk is acknowledged. Returns 201 with the file object; missing chunks return 400 and successful completion replays return 410 CAPABILITY_USED.
1338
1363
  */
1339
1364
  complete_url: string;
1365
+ /**
1366
+ * Read-only bearer URL for GET that answers the same body as GET /file/v1/uploads/{upload_id}: status, part_size and the received_parts. Use it after a break to resend only the missing chunks; it needs no API key and every write on it is refused.
1367
+ */
1368
+ status_url: string;
1340
1369
  };
1341
1370
  /**
1342
1371
  * Problem document returned by the Meta method catalog on failure.
@@ -10553,7 +10582,7 @@ export type AutomationTrigger = {
10553
10582
  */
10554
10583
  end_at: string | null;
10555
10584
  /**
10556
- * Overlap policy when a firing is due while the previous run is still active: skip (default) skips it, allow starts it anyway.
10585
+ * Overlap policy when a firing arrives while the previous run is still active: skip skips it, allow starts it anyway. When omitted, a schedule trigger uses skip and a webhook trigger uses allow, because a skipped webhook call is not redelivered.
10557
10586
  */
10558
10587
  overlap: AutomationTriggerOverlap;
10559
10588
  /**
@@ -10673,7 +10702,7 @@ export type AutomationTriggerCreateResult = {
10673
10702
  */
10674
10703
  end_at: string | null;
10675
10704
  /**
10676
- * Overlap policy when a firing is due while the previous run is still active: skip (default) skips it, allow starts it anyway.
10705
+ * Overlap policy when a firing arrives while the previous run is still active: skip skips it, allow starts it anyway. When omitted, a schedule trigger uses skip and a webhook trigger uses allow, because a skipped webhook call is not redelivered.
10677
10706
  */
10678
10707
  overlap: AutomationTriggerOverlap;
10679
10708
  /**
@@ -13023,7 +13052,7 @@ export type CutExport = {
13023
13052
  audio: 'pending' | 'done';
13024
13053
  };
13025
13054
  /**
13026
- * Present when normalization was requested; contains requested targets and measured output levels.
13055
+ * Present when the export was normalized (the default, or an explicit target); contains the target and the measured output levels. Absent when loudness was null, and when the timeline is silent (nothing to normalize).
13027
13056
  */
13028
13057
  loudness?: {
13029
13058
  /**
@@ -13043,6 +13072,31 @@ export type CutExport = {
13043
13072
  */
13044
13073
  measured_true_peak_dbtp: number;
13045
13074
  };
13075
+ /**
13076
+ * Problems found in the timeline when the export was frozen. Every check is a warning and never blocks the export; read them before delivering, fix the timeline and export again when one is real. A check may be intentional (a fade from black, a deliberate placeholder) and then needs no action.
13077
+ */
13078
+ checks?: Array<{
13079
+ /**
13080
+ * BLACK_FIRST_FRAME: the first frame is black or empty. PLACEHOLDER_TEXT: a text or caption looks like unfinished placeholder text (TODO, XXX, ___). UPSCALED_SOURCE: a source is enlarged more than 1.5x and will look soft. CAPTION_TOO_SHORT: a caption is on screen too briefly to read. CAPTION_OUT_OF_SAFE_AREA: a caption or text box reaches into the frame edge where players crop or overlay controls.
13081
+ */
13082
+ code: 'BLACK_FIRST_FRAME' | 'PLACEHOLDER_TEXT' | 'UPSCALED_SOURCE' | 'CAPTION_TOO_SHORT' | 'CAPTION_OUT_OF_SAFE_AREA';
13083
+ /**
13084
+ * Always warning in this version.
13085
+ */
13086
+ severity: 'warning';
13087
+ /**
13088
+ * Timeline position in seconds the check refers to, when it has one.
13089
+ */
13090
+ at?: number;
13091
+ /**
13092
+ * Clip the check refers to, when it has one.
13093
+ */
13094
+ clip_id?: string;
13095
+ /**
13096
+ * What was found and how to fix it.
13097
+ */
13098
+ detail: string;
13099
+ }>;
13046
13100
  /**
13047
13101
  * Output media reference, available after the export reaches done.
13048
13102
  */
@@ -13116,7 +13170,7 @@ export type CutExportInput = {
13116
13170
  binding?: string;
13117
13171
  revision?: CutRevision;
13118
13172
  /**
13119
- * Optional loudness normalization target; normalization adds analysis and rendering work.
13173
+ * Loudness normalization target. Omitted, the export is normalized to -14 LUFS integrated and -1 dBTP true peak, the level short-video and streaming platforms play at; null renders without normalization. Normalization adds analysis and rendering work.
13120
13174
  */
13121
13175
  loudness?: {
13122
13176
  /**
@@ -13127,7 +13181,7 @@ export type CutExportInput = {
13127
13181
  * Maximum true peak in dBTP.
13128
13182
  */
13129
13183
  true_peak_dbtp: number;
13130
- };
13184
+ } | null;
13131
13185
  };
13132
13186
  /**
13133
13187
  * One page of organization-accessible exports.
@@ -13142,6 +13196,93 @@ export type CutExportPage = {
13142
13196
  */
13143
13197
  next_page_token?: string;
13144
13198
  };
13199
+ /**
13200
+ * A draft range render of one timeline interval, stored as a temporary file that expires and belongs to no media library.
13201
+ */
13202
+ export type CutDraftRender = {
13203
+ /**
13204
+ * Draft render id returned by create; use as render_id for retrieve.
13205
+ */
13206
+ id?: string;
13207
+ /**
13208
+ * Project whose timeline is rendered.
13209
+ */
13210
+ project_id?: string;
13211
+ /**
13212
+ * queued is accepted and not started; rendering is producing the interval; done means file_id and url are usable; failed means inspect error and, if the interval matters, submit it again. Only done yields a url.
13213
+ */
13214
+ status?: 'queued' | 'rendering' | 'done' | 'failed';
13215
+ /**
13216
+ * What was rendered, as chosen at creation; audio is an .m4a of the mix, video is a draft-quality .mp4.
13217
+ */
13218
+ kind?: 'audio' | 'video';
13219
+ /**
13220
+ * Start of the rendered interval in seconds on the project clock, inclusive.
13221
+ */
13222
+ from?: number;
13223
+ /**
13224
+ * End of the rendered interval in seconds on the project clock, exclusive.
13225
+ */
13226
+ to?: number;
13227
+ /**
13228
+ * Revision the interval was sliced from, frozen when the draft was created.
13229
+ */
13230
+ revision?: CutRevision;
13231
+ /**
13232
+ * Seconds of rendered material, present once the render finished; this is what the draft bills for.
13233
+ */
13234
+ duration?: number;
13235
+ /**
13236
+ * Temporary file holding the rendered bytes, present once status is done. It expires 24 hours after it was stored and is not a media asset, so it can be read but never referenced as library material.
13237
+ */
13238
+ file_id?: string;
13239
+ /**
13240
+ * Short-lived link for reading the finished draft, present only while status is done. It expires within minutes, so retrieve the render again rather than saving it.
13241
+ */
13242
+ url?: string;
13243
+ /**
13244
+ * Present when status is failed; nothing was stored.
13245
+ */
13246
+ error?: {
13247
+ /**
13248
+ * Stable error code, EXPORT_FAILED for a render that could not finish.
13249
+ */
13250
+ code: string;
13251
+ /**
13252
+ * Bounded cause of the failure, safe to read; provider URLs are stripped.
13253
+ */
13254
+ message: string;
13255
+ };
13256
+ /**
13257
+ * When the draft was accepted, as an RFC 3339 timestamp.
13258
+ */
13259
+ create_time?: string;
13260
+ /**
13261
+ * When the draft reached done or failed, as an RFC 3339 timestamp; absent while it is still running.
13262
+ */
13263
+ finish_time?: string;
13264
+ };
13265
+ /**
13266
+ * The interval of the timeline to render as a draft.
13267
+ */
13268
+ export type CutDraftRenderInput = {
13269
+ /**
13270
+ * audio renders the mixed soundtrack alone as an .m4a file for listening; video renders a draft-quality .mp4 with picture and sound for looking at. An audio draft is the cheaper of the two and is what a loudness or mix measurement asks for.
13271
+ */
13272
+ kind: 'audio' | 'video';
13273
+ /**
13274
+ * Start of the interval in seconds on the project clock, inclusive. Must be less than to.
13275
+ */
13276
+ from: number;
13277
+ /**
13278
+ * End of the interval in seconds on the project clock, exclusive. At most 120 seconds after from, and never beyond the timeline duration; a longer passage is requested as several ranges.
13279
+ */
13280
+ to: number;
13281
+ /**
13282
+ * Optional revision to render. Omitted renders the project's current revision; a revision that is no longer current is refused with REVISION_CONFLICT, so read the project state first when the interval must match an earlier edit.
13283
+ */
13284
+ revision?: CutRevision;
13285
+ };
13145
13286
  /**
13146
13287
  * One page of organization-accessible versions.
13147
13288
  */
@@ -13563,6 +13704,789 @@ export type DatabasePostgrestError = {
13563
13704
  details: string | null;
13564
13705
  hint: string | null;
13565
13706
  };
13707
+ /**
13708
+ * The test catalog discovered at one commit — what the discovery found and how it differs from the catalog published before it.
13709
+ */
13710
+ export type DevopsCatalogVersion = {
13711
+ /**
13712
+ * The project this catalog belongs to, from the project list or create answer.
13713
+ */
13714
+ project: string;
13715
+ /**
13716
+ * Full 40-character commit sha the discovery read; a catalog always describes exactly one commit, never a moving branch.
13717
+ */
13718
+ commit: string;
13719
+ /**
13720
+ * RFC 3339 UTC time the discovery finished and this version became readable.
13721
+ */
13722
+ publishTime: string;
13723
+ /**
13724
+ * Test frameworks the discovery found in this commit, in the order it found them.
13725
+ */
13726
+ frameworks: Array<'gherkin' | 'bun' | 'vitest' | 'jest' | 'pytest' | 'go' | 'playwright'>;
13727
+ /**
13728
+ * How many suites this catalog holds; a suite is one test file in one framework.
13729
+ */
13730
+ suiteCount: number;
13731
+ /**
13732
+ * How many cases this catalog holds; cases are the individual tests a plan selects from.
13733
+ */
13734
+ caseCount: number;
13735
+ /**
13736
+ * How many cases this catalog holds per test size, which is what a size-based selector matches against.
13737
+ */
13738
+ sizeCounts: {
13739
+ /**
13740
+ * Cases declared small — one process, no network, about a minute.
13741
+ */
13742
+ small?: number;
13743
+ /**
13744
+ * Cases declared medium — local services allowed, about five minutes.
13745
+ */
13746
+ medium?: number;
13747
+ /**
13748
+ * Cases declared large — external systems allowed, about fifteen minutes.
13749
+ */
13750
+ large?: number;
13751
+ };
13752
+ /**
13753
+ * How this catalog differs from the one published before it, which explains a moved case count.
13754
+ */
13755
+ diff: {
13756
+ /**
13757
+ * Cases present here and absent from the previous catalog.
13758
+ */
13759
+ added?: number;
13760
+ /**
13761
+ * Cases present in the previous catalog and absent here, because their code was deleted.
13762
+ */
13763
+ removed?: number;
13764
+ /**
13765
+ * Cases whose declaration changed — steps, tags, size or owners — while keeping their identity.
13766
+ */
13767
+ changed?: number;
13768
+ /**
13769
+ * Cases whose title changed but whose identity did not, so their history moved with them instead of starting over.
13770
+ */
13771
+ renamed?: number;
13772
+ };
13773
+ };
13774
+ export type DevopsDevOpsError = {
13775
+ /**
13776
+ * Failure details for a non-2xx answer; the operation's status and code description say what to do about it.
13777
+ */
13778
+ error: {
13779
+ /**
13780
+ * Machine-readable failure category, such as PROJECT_NOT_FOUND or PLAN_GATE_ENVIRONMENT_MISMATCH; the operation's error descriptions name the action each one calls for.
13781
+ */
13782
+ code: string;
13783
+ /**
13784
+ * Human-readable explanation naming the offending field or condition, so a retry can be corrected rather than repeated unchanged.
13785
+ */
13786
+ message: string;
13787
+ /**
13788
+ * Canonical problem kind for programmatic handling — validation, not_found, conflict, or one of the other problem-protocol kinds; stable across services.
13789
+ */
13790
+ kind?: string;
13791
+ /**
13792
+ * The action that resolves this failure — fix_request, retry_later, authenticate, contact_support or none; none means repeating the call cannot help.
13793
+ */
13794
+ recovery?: string;
13795
+ /**
13796
+ * Whether the identical request may be sent again; true means the condition was transient, so retry after a delay.
13797
+ */
13798
+ retryable?: boolean;
13799
+ };
13800
+ };
13801
+ /**
13802
+ * One page of suites, with the cursor that reaches the following page.
13803
+ */
13804
+ export type DevopsSuitePage = {
13805
+ /**
13806
+ * The suites on this page, in the project's catalog file order.
13807
+ */
13808
+ items: Array<DevopsSuite>;
13809
+ /**
13810
+ * Cursor for the next page; an empty string means this was the last page, which is the only signal a list is finished.
13811
+ */
13812
+ nextPageToken: string;
13813
+ };
13814
+ /**
13815
+ * One test file as the catalog discovered it, with the grouping metadata a case list is read through.
13816
+ */
13817
+ export type DevopsSuite = {
13818
+ /**
13819
+ * Suite identifier used to retrieve the suite or to look up the cases that belong to it.
13820
+ */
13821
+ id: string;
13822
+ /**
13823
+ * The resource type of this answer, always test_suite; use it to tell answers apart when several kinds are handled together.
13824
+ */
13825
+ object: 'test_suite';
13826
+ /**
13827
+ * RFC 3339 UTC time this suite was first discovered in any catalog of the project.
13828
+ */
13829
+ createTime: string;
13830
+ /**
13831
+ * RFC 3339 UTC time this suite's declaration last changed.
13832
+ */
13833
+ updateTime: string;
13834
+ /**
13835
+ * Canonical Console link for this suite, for putting a human-readable reference in a card or a message.
13836
+ */
13837
+ viewerUrl: string;
13838
+ /**
13839
+ * The project this suite belongs to, from the project list or create answer.
13840
+ */
13841
+ project: string;
13842
+ /**
13843
+ * The test framework that runs this suite, which decides how its cases are declared and run.
13844
+ */
13845
+ framework: 'gherkin' | 'bun' | 'vitest' | 'jest' | 'pytest' | 'go' | 'playwright';
13846
+ /**
13847
+ * The repository package the file lives in, such as services/devops, which is what a package-based selector matches.
13848
+ */
13849
+ package: string;
13850
+ /**
13851
+ * Path of the test file inside the repository, relative to its root; paired with the package it locates the file exactly.
13852
+ */
13853
+ file: string;
13854
+ /**
13855
+ * Title the suite declares — the Gherkin Feature title, or the file-level description other frameworks carry.
13856
+ */
13857
+ title: string;
13858
+ /**
13859
+ * The suite's declared test size, which decides its time budget and which selectors match it.
13860
+ */
13861
+ size: 'small' | 'medium' | 'large';
13862
+ /**
13863
+ * ISTQB purpose tags the suite declares; a purpose-based selector matches against these.
13864
+ */
13865
+ purposes: Array<'smoke' | 'regression' | 'acceptance' | 'contract' | 'performance'>;
13866
+ /**
13867
+ * Free-form tags the suite declares, matched by an anyTags or allTags selector.
13868
+ */
13869
+ tags: Array<string>;
13870
+ /**
13871
+ * How many cases this suite holds in this catalog version.
13872
+ */
13873
+ caseCount: number;
13874
+ /**
13875
+ * The commit whose catalog discovered this suite; read that catalog to see the counts it was part of.
13876
+ */
13877
+ catalogCommit: string;
13878
+ /**
13879
+ * True when the suite's file is no longer in the newest catalog; its cases and their history stay readable, and plans selecting them simply match nothing new.
13880
+ */
13881
+ archived: boolean;
13882
+ };
13883
+ /**
13884
+ * One page of test cases, with the cursor that reaches the following page.
13885
+ */
13886
+ export type DevopsTestCasePage = {
13887
+ /**
13888
+ * The cases on this page, in the project's catalog file order.
13889
+ */
13890
+ items: Array<DevopsTestCase>;
13891
+ /**
13892
+ * Cursor for the next page; an empty string means this was the last page, which is the only signal a list is finished.
13893
+ */
13894
+ nextPageToken: string;
13895
+ };
13896
+ /**
13897
+ * One test case with everything a triage needs — where it lives, how it is declared, and what its recorded history says about it.
13898
+ */
13899
+ export type DevopsTestCase = {
13900
+ /**
13901
+ * Fingerprint-derived case identifier that follows the case across a rename; use it for every later read or state change.
13902
+ */
13903
+ id: string;
13904
+ /**
13905
+ * The resource type of this answer, always test_case; use it to tell answers apart when several kinds are handled together.
13906
+ */
13907
+ object: 'test_case';
13908
+ /**
13909
+ * RFC 3339 UTC time this case was first discovered; it is not reset by a rename.
13910
+ */
13911
+ createTime: string;
13912
+ /**
13913
+ * RFC 3339 UTC time this case's declaration or state last changed.
13914
+ */
13915
+ updateTime: string;
13916
+ /**
13917
+ * Canonical Console link for this case, for putting a human-readable reference in a card or a message.
13918
+ */
13919
+ viewerUrl: string;
13920
+ /**
13921
+ * The project this case belongs to, from the project list or create answer.
13922
+ */
13923
+ project: string;
13924
+ /**
13925
+ * The suite that holds this case, retrievable with a suite read for its file and framework.
13926
+ */
13927
+ suite: string;
13928
+ /**
13929
+ * The case's current title. A rename changes this and keeps the id, so history recorded under the old title stays attached.
13930
+ */
13931
+ title: string;
13932
+ /**
13933
+ * The describe/context titles enclosing the case, outermost first, which is how the case reads inside its file.
13934
+ */
13935
+ suitePath: Array<string>;
13936
+ /**
13937
+ * Distinguishes cases that share a title in one file, such as a table-driven case per row; absent when the title is unique.
13938
+ */
13939
+ variant?: string;
13940
+ /**
13941
+ * Path of the file declaring the case, relative to the repository root.
13942
+ */
13943
+ file: string;
13944
+ /**
13945
+ * Line in that file where the case is declared, valid for the commit that discovered it.
13946
+ */
13947
+ line: number;
13948
+ /**
13949
+ * The case's declared test size, which decides its time budget and which selectors match it.
13950
+ */
13951
+ size: 'small' | 'medium' | 'large';
13952
+ /**
13953
+ * ISTQB purpose tags this case declares; a purpose-based selector matches against these.
13954
+ */
13955
+ purposes: Array<'smoke' | 'regression' | 'acceptance' | 'contract' | 'performance'>;
13956
+ /**
13957
+ * True when the case may run against a production environment; a plan selecting prodSafeOnly keeps only these.
13958
+ */
13959
+ prodSafe: boolean;
13960
+ /**
13961
+ * Free-form tags the case declares, matched by an anyTags or allTags selector.
13962
+ */
13963
+ tags: Array<string>;
13964
+ /**
13965
+ * Code owners the case declares for triage routing; empty when the file names none.
13966
+ */
13967
+ owners: Array<string>;
13968
+ /**
13969
+ * The case's declared steps as written, when the framework exposes them; absent for frameworks whose cases are code only.
13970
+ */
13971
+ steps?: Array<string>;
13972
+ /**
13973
+ * What recent results say about the case — flaky when it both passes and fails without a code change, broken when it has stopped passing.
13974
+ */
13975
+ health: 'unknown' | 'healthy' | 'flaky' | 'broken';
13976
+ /**
13977
+ * RFC 3339 UTC time the current health value was set; absent while health is unknown.
13978
+ */
13979
+ healthSince?: string;
13980
+ stats: DevopsCaseStats;
13981
+ state: DevopsCaseState;
13982
+ /**
13983
+ * True when the case may never be quarantined — a safety or security check whose failure must always count; a quarantine attempt on it is refused.
13984
+ */
13985
+ neverQuarantine: boolean;
13986
+ /**
13987
+ * Ids this case was known by before a rename, newest first; read with them to reconcile history recorded under an older title.
13988
+ */
13989
+ aliases: Array<string>;
13990
+ /**
13991
+ * The commit whose catalog first discovered this case; a rename does not move it, so it dates the case's real age.
13992
+ */
13993
+ firstSeenCommit: string;
13994
+ /**
13995
+ * The commit after which the case was no longer discovered; absent while the case is still in the newest catalog.
13996
+ */
13997
+ retiredCommit?: string;
13998
+ };
13999
+ /**
14000
+ * One page of test plans, with the cursor that reaches the following page.
14001
+ */
14002
+ export type DevopsPlanPage = {
14003
+ /**
14004
+ * The plans on this page, in creation order.
14005
+ */
14006
+ items: Array<DevopsPlan>;
14007
+ /**
14008
+ * Cursor for the next page; an empty string means this was the last page, which is the only signal a list is finished.
14009
+ */
14010
+ nextPageToken: string;
14011
+ };
14012
+ /**
14013
+ * The plan to create; environment is required exactly when the gate guards one.
14014
+ */
14015
+ export type DevopsPlanCreate = {
14016
+ /**
14017
+ * Short name for the plan, unique inside the project; a key already in use is refused rather than silently reused.
14018
+ */
14019
+ key: string;
14020
+ /**
14021
+ * Display title of the plan, shown wherever the plan is listed.
14022
+ */
14023
+ title: string;
14024
+ /**
14025
+ * Which stage of delivery this plan belongs to, which decides when it is expected to run.
14026
+ */
14027
+ stage: 'dev' | 'presubmit' | 'postsubmit' | 'nightly' | 'production';
14028
+ trigger: DevopsPlanTrigger;
14029
+ selector: DevopsCaseSelector;
14030
+ /**
14031
+ * The environment this plan runs against; required by a merge or promotion gate, and refused with PLAN_GATE_ENVIRONMENT_MISMATCH when it disagrees with the gate.
14032
+ */
14033
+ environment?: string;
14034
+ /**
14035
+ * Whether this plan's result blocks a stage; a merge or promotion gate must name its environment.
14036
+ */
14037
+ gate: 'merge' | 'promotion' | 'observation' | 'none';
14038
+ /**
14039
+ * How many times each selected case runs in one run; omit for once. More than one is how a flake is told apart from a real failure.
14040
+ */
14041
+ repeat?: number;
14042
+ /**
14043
+ * How many minutes a run of this plan may take before it is timed out; omit for the service's default.
14044
+ */
14045
+ timeoutMinutes?: number;
14046
+ };
14047
+ /**
14048
+ * One test plan — the standing decision about which cases a stage must run and whether their result blocks that stage.
14049
+ */
14050
+ export type DevopsPlan = {
14051
+ /**
14052
+ * Plan identifier used for later reads, updates and runs that name this plan.
14053
+ */
14054
+ id: string;
14055
+ /**
14056
+ * The resource type of this answer, always test_plan; use it to tell answers apart when several kinds are handled together.
14057
+ */
14058
+ object: 'test_plan';
14059
+ /**
14060
+ * RFC 3339 UTC time the plan was created.
14061
+ */
14062
+ createTime: string;
14063
+ /**
14064
+ * RFC 3339 UTC time the plan or its pause state last changed.
14065
+ */
14066
+ updateTime: string;
14067
+ /**
14068
+ * Canonical Console link for this plan, for putting a human-readable reference in a card or a message.
14069
+ */
14070
+ viewerUrl: string;
14071
+ /**
14072
+ * The project this plan belongs to, from the project list or create answer.
14073
+ */
14074
+ project: string;
14075
+ /**
14076
+ * Short human-chosen name unique inside the project, used to refer to the plan in conversation and in a run's record.
14077
+ */
14078
+ key: string;
14079
+ /**
14080
+ * Display title of the plan, shown wherever the plan is listed.
14081
+ */
14082
+ title: string;
14083
+ /**
14084
+ * Which stage of delivery this plan belongs to, which decides when it is expected to run and how long it may take.
14085
+ */
14086
+ stage: 'dev' | 'presubmit' | 'postsubmit' | 'nightly' | 'production';
14087
+ trigger: DevopsPlanTrigger;
14088
+ selector: DevopsCaseSelector;
14089
+ /**
14090
+ * The environment this plan runs against, required by a merge or promotion gate and absent for plans that need none.
14091
+ */
14092
+ environment: string;
14093
+ /**
14094
+ * Whether the plan's result blocks a stage. Merge blocks landing a change, promotion blocks carrying a release to an environment, observation only records, none is advisory.
14095
+ */
14096
+ gate: 'merge' | 'promotion' | 'observation' | 'none';
14097
+ /**
14098
+ * How many times each selected case runs in one run; more than one is how a flake is told apart from a real failure.
14099
+ */
14100
+ repeat: number;
14101
+ /**
14102
+ * How many minutes a run of this plan may take before it is timed out and its result recorded as timed out.
14103
+ */
14104
+ timeoutMinutes: number;
14105
+ /**
14106
+ * False stops this plan from being selected by its trigger; it is a quieter form of pause that carries no reason.
14107
+ */
14108
+ enabled: boolean;
14109
+ /**
14110
+ * Present while the plan is paused, carrying who paused it, why and until when; absent when the plan is running normally.
14111
+ */
14112
+ paused?: {
14113
+ /**
14114
+ * Why the plan was paused, as given by whoever paused it.
14115
+ */
14116
+ reason?: string;
14117
+ by?: DevopsActor;
14118
+ /**
14119
+ * RFC 3339 UTC time the plan resumes by itself; absent when it stays paused until resumed by hand.
14120
+ */
14121
+ until?: string;
14122
+ };
14123
+ /**
14124
+ * RFC 3339 UTC time the plan's trigger next fires it; absent for plans without a schedule.
14125
+ */
14126
+ nextRunTime?: string;
14127
+ };
14128
+ /**
14129
+ * A patch to a plan; only the fields present inside plan are changed.
14130
+ */
14131
+ export type DevopsPlanUpdate = {
14132
+ /**
14133
+ * The fields to change. Anything absent keeps its current value, so read the plan first if you need to know what you are leaving alone.
14134
+ */
14135
+ plan: {
14136
+ /**
14137
+ * New display title, shown wherever the plan is listed.
14138
+ */
14139
+ title?: string;
14140
+ trigger?: DevopsPlanTrigger;
14141
+ selector?: DevopsCaseSelector;
14142
+ /**
14143
+ * New gate; a merge or promotion gate needs the plan's environment to be set, or the update is refused.
14144
+ */
14145
+ gate?: 'merge' | 'promotion' | 'observation' | 'none';
14146
+ /**
14147
+ * New number of times each selected case runs in one run.
14148
+ */
14149
+ repeat?: number;
14150
+ /**
14151
+ * New number of minutes a run of this plan may take before it is timed out.
14152
+ */
14153
+ timeoutMinutes?: number;
14154
+ /**
14155
+ * False stops the plan from being selected by its trigger without pausing it; true makes it eligible again.
14156
+ */
14157
+ enabled?: boolean;
14158
+ };
14159
+ /**
14160
+ * Comma-separated names of the plan fields this patch intends to change, for example title,enabled. Omit it to apply every field present in plan; naming fields makes the intent explicit and keeps a concurrent edit from being overwritten by accident.
14161
+ */
14162
+ updateMask?: string;
14163
+ };
14164
+ /**
14165
+ * The answer to a plan deletion.
14166
+ */
14167
+ export type DevopsPlanDeleted = {
14168
+ /**
14169
+ * True once the plan no longer schedules runs; it is the only outcome of this call.
14170
+ */
14171
+ deleted: boolean;
14172
+ };
14173
+ /**
14174
+ * The pause to record on a plan.
14175
+ */
14176
+ export type DevopsPlanPause = {
14177
+ /**
14178
+ * Why the plan is being paused; it is stored on the plan and read by whoever finds it stopped.
14179
+ */
14180
+ reason: string;
14181
+ /**
14182
+ * RFC 3339 UTC time the plan resumes by itself; omit it to stay paused until someone resumes it.
14183
+ */
14184
+ until?: string;
14185
+ };
14186
+ /**
14187
+ * One page of test runs, with the cursor that reaches the following page.
14188
+ */
14189
+ export type DevopsRunPage = {
14190
+ /**
14191
+ * The runs on this page, newest first.
14192
+ */
14193
+ items: Array<DevopsRun>;
14194
+ /**
14195
+ * Cursor for the next page; an empty string means this was the last page, which is the only signal a list is finished.
14196
+ */
14197
+ nextPageToken: string;
14198
+ };
14199
+ /**
14200
+ * The run to create: which commit to test, and what decides the cases.
14201
+ */
14202
+ export type DevopsRunCreate = {
14203
+ ref: DevopsRunRef;
14204
+ /**
14205
+ * Plan whose selector this run uses; omit it when passing selector instead. Naming a plan records the run against that plan, which is what a gate reads.
14206
+ */
14207
+ plan?: string;
14208
+ /**
14209
+ * An ad-hoc selector for this run alone, used instead of a plan's; it is not saved as a plan, so a run you want to repeat should name a plan.
14210
+ */
14211
+ selector?: {
14212
+ /**
14213
+ * Keep only cases of these declared sizes; omit to allow every size.
14214
+ */
14215
+ sizes?: Array<'small' | 'medium' | 'large'>;
14216
+ /**
14217
+ * Keep only cases carrying at least one of these tags.
14218
+ */
14219
+ anyTags?: Array<string>;
14220
+ /**
14221
+ * Keep only cases in these repository packages.
14222
+ */
14223
+ packages?: Array<string>;
14224
+ /**
14225
+ * Run exactly these cases, named by id; the usual way to re-run a known failure.
14226
+ */
14227
+ cases?: Array<string>;
14228
+ };
14229
+ /**
14230
+ * Environment to run against; it decides whether production-only cases become selectable. Omit it for a run that needs no environment.
14231
+ */
14232
+ environment?: string;
14233
+ /**
14234
+ * How many times each selected case runs, which is how a flake is told apart from a real failure; omit for once.
14235
+ */
14236
+ repeat?: number;
14237
+ /**
14238
+ * How far the call waits before answering — queued returns at once, started waits for execution to begin, finished waits for a verdict and may take minutes.
14239
+ */
14240
+ waitUntil?: 'queued' | 'started' | 'finished';
14241
+ /**
14242
+ * Who carries the run out. cloud, the default, runs the selected cases in Praxis at the commit; external creates a run that waits for your own CI to upload a report with test-reports.
14243
+ */
14244
+ executor?: 'cloud' | 'external';
14245
+ /**
14246
+ * A key you choose to make creating this run idempotent: repeating the call with the same requestId returns the run it created instead of starting another, so a retry after a timeout is safe.
14247
+ */
14248
+ requestId?: string;
14249
+ };
14250
+ /**
14251
+ * One execution of tests against one commit: what it selected, how far it has got, and what it concluded.
14252
+ */
14253
+ export type DevopsRun = {
14254
+ /**
14255
+ * Run identifier used for later reads, cancellations and execution listings.
14256
+ */
14257
+ id: string;
14258
+ /**
14259
+ * The resource type of this answer, always test_run; use it to tell answers apart when several kinds are handled together.
14260
+ */
14261
+ object: 'test_run';
14262
+ /**
14263
+ * RFC 3339 UTC time the run was created, which is when its selection was fixed.
14264
+ */
14265
+ createTime: string;
14266
+ /**
14267
+ * RFC 3339 UTC time the run's state or counts last changed.
14268
+ */
14269
+ updateTime: string;
14270
+ /**
14271
+ * Canonical Console link for this run, for putting a human-readable reference in a card or a message.
14272
+ */
14273
+ viewerUrl: string;
14274
+ /**
14275
+ * The project this run belongs to, from the project list or create answer.
14276
+ */
14277
+ project: string;
14278
+ /**
14279
+ * The plan that selected this run's cases; absent for a run created with an ad-hoc selector.
14280
+ */
14281
+ plan: string;
14282
+ /**
14283
+ * What started this run, which is how a run is attributed back to the event that wanted it.
14284
+ */
14285
+ trigger: 'manual' | 'pull_request' | 'merge_group' | 'promotion' | 'schedule' | 'retry' | 'fix_attempt';
14286
+ ref: DevopsRunRef;
14287
+ /**
14288
+ * The environment the run executed against; absent when the run needed none. It decides whether production-only cases are selectable.
14289
+ */
14290
+ environment: string;
14291
+ /**
14292
+ * Where the cases actually ran. Cloud means Praxis provisioned the execution; external means a caller ran them and uploaded a report.
14293
+ */
14294
+ executor: 'cloud' | 'external';
14295
+ selection: DevopsSelection;
14296
+ /**
14297
+ * How many times each selected case ran in this run; more than one means a flake can be told apart from a real failure.
14298
+ */
14299
+ repeat: number;
14300
+ /**
14301
+ * How far the run has got, from being queued to being finished; finished is the only state where the result is final.
14302
+ */
14303
+ state: 'queued' | 'provisioning' | 'running' | 'reporting' | 'finished';
14304
+ /**
14305
+ * The verdict. Pending means no verdict yet, not success; cancelled and timed_out are outcomes of the run itself, not of the cases.
14306
+ */
14307
+ result: 'pending' | 'passed' | 'failed' | 'errored' | 'cancelled' | 'timed_out';
14308
+ counts: DevopsResultCounts;
14309
+ /**
14310
+ * The external tool that produced the results, present for runs whose results arrived as an uploaded report.
14311
+ */
14312
+ tool?: {
14313
+ /**
14314
+ * Name of the tool that ran the cases, as the uploader declared it.
14315
+ */
14316
+ name?: string;
14317
+ /**
14318
+ * Version of that tool, when the uploader declared one; absent otherwise.
14319
+ */
14320
+ version?: string;
14321
+ };
14322
+ /**
14323
+ * How many parallel pieces the run's cases were split into, which bounds how long the run takes.
14324
+ */
14325
+ shards: number;
14326
+ requestedBy: DevopsActor;
14327
+ /**
14328
+ * The earlier run this one re-runs cases from; absent unless the trigger is a retry.
14329
+ */
14330
+ retryOf?: string;
14331
+ /**
14332
+ * RFC 3339 UTC time execution actually began; absent while the run is still queued.
14333
+ */
14334
+ startTime?: string;
14335
+ /**
14336
+ * RFC 3339 UTC time the run stopped, whether it finished, failed, was cancelled or timed out; absent while it is still going.
14337
+ */
14338
+ endTime?: string;
14339
+ /**
14340
+ * Why the run was cancelled, as given by whoever cancelled it; present only for cancelled runs.
14341
+ */
14342
+ cancelReason?: string;
14343
+ /**
14344
+ * What the executor reported when the run errored; present only for errored runs, and it concerns the run, not the cases.
14345
+ */
14346
+ errorMessage?: string;
14347
+ /**
14348
+ * Present only when the read asked to expand failedExecutions; it lists this run's non-passed executions so a second call is not needed.
14349
+ */
14350
+ failedExecutions?: Array<DevopsExecution>;
14351
+ };
14352
+ /**
14353
+ * The cancellation to record on a run.
14354
+ */
14355
+ export type DevopsRunCancel = {
14356
+ /**
14357
+ * Why the run is being cancelled; it is stored on the run and is what a later reader finds instead of a result.
14358
+ */
14359
+ reason: string;
14360
+ };
14361
+ /**
14362
+ * One page of executions inside a run, with the cursor that reaches the following page.
14363
+ */
14364
+ export type DevopsExecutionPage = {
14365
+ /**
14366
+ * The executions on this page.
14367
+ */
14368
+ items: Array<DevopsExecution>;
14369
+ /**
14370
+ * Cursor for the next page; an empty string means this was the last page, which is the only signal a list is finished.
14371
+ */
14372
+ nextPageToken: string;
14373
+ };
14374
+ /**
14375
+ * One case's result inside one run, with every attempt it took, which is what tells a flake apart from a failure.
14376
+ */
14377
+ export type DevopsExecution = {
14378
+ /**
14379
+ * The run this execution belongs to, from the run list or create answer.
14380
+ */
14381
+ run: string;
14382
+ /**
14383
+ * The case that was executed, retrievable with a case read for its declaration and state.
14384
+ */
14385
+ case: string;
14386
+ /**
14387
+ * The case's title as it read when this run executed it, which may predate a later rename.
14388
+ */
14389
+ title: string;
14390
+ /**
14391
+ * The repository package the executed case lives in.
14392
+ */
14393
+ package: string;
14394
+ /**
14395
+ * Path of the file that declared the case, relative to the repository root.
14396
+ */
14397
+ file?: string;
14398
+ /**
14399
+ * How this execution ended. A skipped case neither passes nor fails the run.
14400
+ */
14401
+ status: 'passed' | 'failed' | 'skipped' | 'pending' | 'other' | 'timed_out' | 'cancelled';
14402
+ /**
14403
+ * True when the case failed and then passed on a retry inside the same run — the fact behind the run's flaky count.
14404
+ */
14405
+ flaky: boolean;
14406
+ /**
14407
+ * True when the case was quarantined at the time of the run, so its failure was recorded but did not fail the verdict.
14408
+ */
14409
+ quarantined: boolean;
14410
+ /**
14411
+ * How long the case took in milliseconds, summed over its attempts.
14412
+ */
14413
+ durationMs: number;
14414
+ /**
14415
+ * Every attempt this case took, in order; more than one is what a retry or a flake looks like.
14416
+ */
14417
+ attempts: Array<DevopsAttempt>;
14418
+ /**
14419
+ * The failure message the tool reported, as written; absent for executions that did not fail.
14420
+ */
14421
+ message?: string;
14422
+ /**
14423
+ * The step that failed, when the tool identifies one; absent for tools that report only a message.
14424
+ */
14425
+ failedStep?: string;
14426
+ /**
14427
+ * Stack trace or equivalent diagnostic text; absent when the tool reported none.
14428
+ */
14429
+ trace?: string;
14430
+ /**
14431
+ * Files recorded as evidence for this execution, such as screenshots or reports; empty when the tool attached none.
14432
+ */
14433
+ evidence: Array<DevopsEvidence>;
14434
+ /**
14435
+ * True when the executed case was not in the catalog at that commit, so a result exists for a case the project no longer knows; it is surfaced rather than dropped.
14436
+ */
14437
+ uncatalogued: boolean;
14438
+ };
14439
+ /**
14440
+ * An externally produced test report to record against a run.
14441
+ */
14442
+ export type DevopsReportUploadRequest = {
14443
+ /**
14444
+ * Your own identifier for this report. Uploading the same id again is idempotent and counts once, so a retry after a timeout is safe.
14445
+ */
14446
+ reportId: string;
14447
+ /**
14448
+ * Which report format the document is in; it decides how the document is parsed.
14449
+ */
14450
+ format: 'ctrf' | 'junit';
14451
+ ref: DevopsRunRef;
14452
+ /**
14453
+ * The report document itself, as text — JSON for ctrf, XML for junit. Send the file's contents unchanged; a malformed document is refused with REPORT_INVALID and records nothing.
14454
+ */
14455
+ report: string;
14456
+ };
14457
+ /**
14458
+ * The stored report, so the caller can confirm what was recorded and how much of it.
14459
+ */
14460
+ export type DevopsReportUpload = {
14461
+ /**
14462
+ * Identifier of the stored report, for reference when reconciling an upload with a run.
14463
+ */
14464
+ id: string;
14465
+ /**
14466
+ * The run this report was folded into, whose counts were recomputed from it.
14467
+ */
14468
+ run: string;
14469
+ /**
14470
+ * The report format that was parsed, echoed back so a caller mixing formats can confirm which one was recorded.
14471
+ */
14472
+ format: 'ctrf' | 'junit';
14473
+ /**
14474
+ * RFC 3339 UTC time the report was received; a repeat upload of the same reportId keeps the first time.
14475
+ */
14476
+ receivedTime: string;
14477
+ /**
14478
+ * How many executions this report carried, which is how a caller notices a report that folded in fewer results than expected.
14479
+ */
14480
+ executionCount: number;
14481
+ /**
14482
+ * How many cases this upload added to the catalog because the report named cases the catalog did not have yet. Zero on a repeat upload of the same reportId: the cases were catalogued by its first acceptance, and a case is never catalogued twice.
14483
+ */
14484
+ autoCataloged?: number;
14485
+ /**
14486
+ * The file holding this report's original bytes, which is how a caller fetches the document a run's results were computed from. Null only for a report stored before reports had files.
14487
+ */
14488
+ file?: string;
14489
+ };
13566
14490
  export type KnowledgeNativeVectorStore = {
13567
14491
  /**
13568
14492
  * Resource ID.
@@ -14432,6 +15356,10 @@ export type MediaAsset = {
14432
15356
  * Resource status; active identifies an asset that has not been deleted.
14433
15357
  */
14434
15358
  status: 'active';
15359
+ /**
15360
+ * True when the source header declares an alpha channel: a PNG color type 4 or 6 or a tRNS chunk, a WebP VP8X alpha flag or VP8L alpha bit, a WebM or MKV video track AlphaMode of 1, or a GIF transparent-color flag. False when a known container has no alpha channel. Omitted when the format is unknown, the header could not be parsed, or the asset was stored before this field existed; absence does not mean the source is opaque.
15361
+ */
15362
+ has_alpha?: boolean;
14435
15363
  /**
14436
15364
  * Search-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
14437
15365
  */
@@ -14920,6 +15848,453 @@ export type MediaGenerationCapabilities = {
14920
15848
  */
14921
15849
  candidate_retention_days: number;
14922
15850
  };
15851
+ /**
15852
+ * One page of type registrations; types are few enough that this face returns them in a single page.
15853
+ */
15854
+ export type OntologyTypeRegistrationPage = {
15855
+ /**
15856
+ * The registrations in force for this organization.
15857
+ */
15858
+ data: Array<OntologyTypeRegistration>;
15859
+ /**
15860
+ * Always null here; the field is present so every list on this face has the same shape.
15861
+ */
15862
+ next_cursor: string;
15863
+ };
15864
+ /**
15865
+ * One service's registered types for this organization, as shipped by that service and stored by the deploy gate.
15866
+ */
15867
+ export type OntologyTypeRegistration = {
15868
+ /**
15869
+ * Service that registered these types, for example file or ticket; it is the registrant a later change to a type is checked against.
15870
+ */
15871
+ owner: string;
15872
+ /**
15873
+ * Monotonic version of this owner's registration; a later registration must extend this one without removing or narrowing anything.
15874
+ */
15875
+ version: number;
15876
+ /**
15877
+ * Node types this owner registers.
15878
+ */
15879
+ nodes: Array<OntologyNodeType>;
15880
+ /**
15881
+ * Relation types this owner registers.
15882
+ */
15883
+ edges: Array<OntologyEdgeType>;
15884
+ };
15885
+ export type OntologyOntologyError = {
15886
+ /**
15887
+ * Failure details for a non-2xx response; choose a recovery action using the operation's status and code description.
15888
+ */
15889
+ error: {
15890
+ /**
15891
+ * Machine-readable failure category; see this operation's error responses for triggering conditions and recovery actions.
15892
+ */
15893
+ code: string;
15894
+ /**
15895
+ * Human-readable explanation of why the request failed; it names the offending field or condition and the action to take.
15896
+ */
15897
+ message: string;
15898
+ /**
15899
+ * Optional error-specific context, present when the failure names particular items; absent for failures that concern the request as a whole.
15900
+ */
15901
+ details?: {
15902
+ [key: string]: unknown;
15903
+ };
15904
+ };
15905
+ };
15906
+ /**
15907
+ * One registered type, with the registration it belongs to and whether it is a node or a relation type.
15908
+ */
15909
+ export type OntologyTypeLookup = {
15910
+ /**
15911
+ * Service that registered this type; a change to the type is checked against that registrant.
15912
+ */
15913
+ owner: string;
15914
+ /**
15915
+ * Version of the registration this type came from, so a caller can tell when a definition moved on.
15916
+ */
15917
+ version: number;
15918
+ /**
15919
+ * Whether the type describes an entity or a fact, which decides whether it is used when creating a node or a relation.
15920
+ */
15921
+ kind: 'node' | 'edge';
15922
+ /**
15923
+ * The full registered definition — the same object as the entry in its registration's nodes or edges array.
15924
+ */
15925
+ definition: {
15926
+ [key: string]: unknown;
15927
+ };
15928
+ };
15929
+ /**
15930
+ * One page of nodes; a restricted entry carries only id, type, name and restricted.
15931
+ */
15932
+ export type OntologyNodePage = {
15933
+ /**
15934
+ * The nodes on this page, ordered by node id.
15935
+ */
15936
+ data: Array<OntologyNode | OntologyRestrictedNode>;
15937
+ /**
15938
+ * Opaque cursor for the next page, or null when this is the last page; copy it into the next request's cursor unchanged.
15939
+ */
15940
+ next_cursor: string;
15941
+ };
15942
+ /**
15943
+ * The entity to record; type must be registered and ref must match that type's prefix.
15944
+ */
15945
+ export type OntologyCreateNodeInput = {
15946
+ /**
15947
+ * Registered node type name from types.list; an unregistered name is refused and nothing is written.
15948
+ */
15949
+ type: string;
15950
+ /**
15951
+ * Id of the mirrored record in the owning service, which must start with the type's ref_prefix; omit or null for a concept with no external record.
15952
+ */
15953
+ ref?: string;
15954
+ /**
15955
+ * Display name of the entity, at most 200 characters.
15956
+ */
15957
+ name: string;
15958
+ /**
15959
+ * Other names this entity is known by; they are matched by search alongside the name.
15960
+ */
15961
+ aliases?: Array<string>;
15962
+ /**
15963
+ * Profile of the entity, at most 500 characters; omit or null for none.
15964
+ */
15965
+ description?: string;
15966
+ /**
15967
+ * Member id whose content this is, restricting it to that member; omit or null to make it readable organization-wide.
15968
+ */
15969
+ owner?: string;
15970
+ };
15971
+ /**
15972
+ * One entity in the graph, with when it was recorded and last changed.
15973
+ */
15974
+ export type OntologyNode = {
15975
+ /**
15976
+ * Node id, used by relations, merges and later reads; treat it as opaque and do not parse it.
15977
+ */
15978
+ id: string;
15979
+ /**
15980
+ * Registered node type this entity was recorded as; it never changes after creation.
15981
+ */
15982
+ type: string;
15983
+ /**
15984
+ * Id of the mirrored record in the service that owns it, matching the type's ref_prefix; null for a concept with no external record.
15985
+ */
15986
+ ref?: string;
15987
+ /**
15988
+ * Display name of the entity, at most 200 characters.
15989
+ */
15990
+ name: string;
15991
+ /**
15992
+ * Other names this entity is known by; they are matched by search alongside the name.
15993
+ */
15994
+ aliases: Array<string>;
15995
+ /**
15996
+ * Profile of the entity, at most 500 characters; null when none was recorded.
15997
+ */
15998
+ description?: string;
15999
+ /**
16000
+ * Member id whose content this is; null means it is readable organization-wide. Another member's node comes back restricted.
16001
+ */
16002
+ owner: string;
16003
+ /**
16004
+ * When this node was merged into another, that survivor's id; reads of a merged node resolve to the survivor.
16005
+ */
16006
+ merged_into?: string;
16007
+ /**
16008
+ * System time when the node was first recorded, in ISO 8601 UTC.
16009
+ */
16010
+ created_at: string;
16011
+ /**
16012
+ * System time of the last change to this node's content, in ISO 8601 UTC.
16013
+ */
16014
+ updated_at: string;
16015
+ /**
16016
+ * System time the mirrored record was deleted, when that is known; kept so history stays answerable.
16017
+ */
16018
+ deleted_at?: string;
16019
+ };
16020
+ export type OntologyNodeWithRelations = OntologyNode & {
16021
+ /**
16022
+ * Relations on and around this node that the caller may read, ordered by relation id; present only when expand=relations was sent.
16023
+ */
16024
+ relations?: Array<OntologyRelation>;
16025
+ };
16026
+ /**
16027
+ * The fields to change; omitted fields keep their current values.
16028
+ */
16029
+ export type OntologyUpdateNodeInput = {
16030
+ /**
16031
+ * New display name, at most 200 characters; omit to keep the current name.
16032
+ */
16033
+ name?: string;
16034
+ /**
16035
+ * Replacement alias list; an empty array clears the aliases and omitting the field keeps them.
16036
+ */
16037
+ aliases?: Array<string>;
16038
+ /**
16039
+ * Replacement profile, at most 500 characters; an explicit null clears it and omitting the field keeps it.
16040
+ */
16041
+ description?: string;
16042
+ };
16043
+ /**
16044
+ * The survivor the merged node folds into.
16045
+ */
16046
+ export type OntologyMergeNodeInput = {
16047
+ /**
16048
+ * Node id that should survive, from nodes.list or search; the merged node's relations and aliases move to it.
16049
+ */
16050
+ into: string;
16051
+ };
16052
+ /**
16053
+ * One page of relations.
16054
+ */
16055
+ export type OntologyRelationPage = {
16056
+ /**
16057
+ * The relations on this page, ordered by relation id.
16058
+ */
16059
+ data: Array<OntologyRelation>;
16060
+ /**
16061
+ * Opaque cursor for the next page, or null when this is the last page; copy it into the next request's cursor unchanged.
16062
+ */
16063
+ next_cursor: string;
16064
+ };
16065
+ /**
16066
+ * The fact to record between two existing nodes of this organization.
16067
+ */
16068
+ export type OntologyCreateRelationInput = {
16069
+ /**
16070
+ * Registered relation type name from types.list; it must admit both endpoints or the write is refused.
16071
+ */
16072
+ type: string;
16073
+ /**
16074
+ * Node id the fact starts from, from nodes.list or nodes.create.
16075
+ */
16076
+ source: string;
16077
+ /**
16078
+ * Node id the fact points at, from nodes.list or nodes.create.
16079
+ */
16080
+ target: string;
16081
+ /**
16082
+ * The relationship in one sentence, at most 280 characters, written to read back on its own.
16083
+ */
16084
+ fact: string;
16085
+ /**
16086
+ * World time the fact became true, when the mirrored record dates it; omit to leave it undated.
16087
+ */
16088
+ valid_at?: string;
16089
+ /**
16090
+ * Member id whose content this fact is, restricting it to that member; omit or null for organization-wide.
16091
+ */
16092
+ owner?: string;
16093
+ };
16094
+ /**
16095
+ * One fact between two nodes, with two clocks — when it was true in the world and when it was recorded.
16096
+ */
16097
+ export type OntologyRelation = {
16098
+ /**
16099
+ * Relation id, used by invalidation and later reads; treat it as opaque and do not parse it.
16100
+ */
16101
+ id: string;
16102
+ /**
16103
+ * Registered relation type this fact was recorded as; it must admit both endpoints.
16104
+ */
16105
+ type: string;
16106
+ /**
16107
+ * Node id the fact starts from.
16108
+ */
16109
+ source: string;
16110
+ /**
16111
+ * Node id the fact points at.
16112
+ */
16113
+ target: string;
16114
+ /**
16115
+ * The relationship in one sentence, at most 280 characters, as it should be read back.
16116
+ */
16117
+ fact: string;
16118
+ /**
16119
+ * Where this fact was learned, oldest first; each entry names the scope it came from and an optional time range.
16120
+ */
16121
+ episodes?: Array<{
16122
+ /**
16123
+ * Scope the experience belonged to, normally a session id.
16124
+ */
16125
+ scope?: string;
16126
+ /**
16127
+ * Start of the period the experience covered, when known; omit for a single moment.
16128
+ */
16129
+ from?: string;
16130
+ /**
16131
+ * End of the period the experience covered, when known; omit for a single moment.
16132
+ */
16133
+ to?: string;
16134
+ }>;
16135
+ /**
16136
+ * Where the fact came from; the relation type must list this origin among the ones it accepts.
16137
+ */
16138
+ origin: 'platform' | 'stated' | 'observed' | 'inferred';
16139
+ /**
16140
+ * How strongly the fact is held, from 0 to 1; 1 is fully held and lower values fade faster.
16141
+ */
16142
+ confidence: number;
16143
+ /**
16144
+ * Member id whose content this fact is; null means it is readable organization-wide. Another member's relation reads as not found.
16145
+ */
16146
+ owner?: string;
16147
+ /**
16148
+ * World time the fact became true; null when it was never dated, in which case treat it as true since it was recorded.
16149
+ */
16150
+ valid_at?: string;
16151
+ /**
16152
+ * World time the fact stopped being true; null while it still holds. The relation is kept and reads at an earlier as_of.
16153
+ */
16154
+ invalid_at?: string;
16155
+ /**
16156
+ * System time the fact was recorded, in ISO 8601 UTC.
16157
+ */
16158
+ created_at: string;
16159
+ /**
16160
+ * System time the fact was judged no longer true, which trails invalid_at; null while it still holds.
16161
+ */
16162
+ expired_at?: string;
16163
+ /**
16164
+ * Relation id that replaced this one, when the invalidation named a successor; null when nothing replaced it.
16165
+ */
16166
+ superseded_by?: string;
16167
+ /**
16168
+ * System time the fact was archived out of spreading; null while it still spreads, and reads by time still reach it either way.
16169
+ */
16170
+ archived_at?: string;
16171
+ };
16172
+ /**
16173
+ * When the fact stopped being true, and optionally what replaced it.
16174
+ */
16175
+ export type OntologyInvalidateRelationInput = {
16176
+ /**
16177
+ * World time the fact stopped being true, in ISO 8601 UTC; reads at an earlier as_of still return the relation.
16178
+ */
16179
+ invalid_at: string;
16180
+ /**
16181
+ * Relation id that replaces this one, when a successor was recorded; omit or null when nothing replaced it.
16182
+ */
16183
+ superseded_by?: string;
16184
+ /**
16185
+ * Why it stopped being true, for people reading the history later; not enforced and safe to omit.
16186
+ */
16187
+ reason?: string;
16188
+ };
16189
+ /**
16190
+ * A batch of graph operations applied as one transaction; every operation succeeds or none is applied.
16191
+ */
16192
+ export type OntologyChangesetInput = {
16193
+ /**
16194
+ * World time the batch describes, in ISO 8601 UTC; operations without their own time are dated by it.
16195
+ */
16196
+ at: string;
16197
+ /**
16198
+ * Scope the batch came from, normally the session id it was observed in; it is stored with the operations for later reading.
16199
+ */
16200
+ scope?: string;
16201
+ /**
16202
+ * At most 500 operations, applied in order; each names its kind in op and the fields that kind requires.
16203
+ */
16204
+ ops: Array<OntologyChangesetOp>;
16205
+ };
16206
+ /**
16207
+ * What the batch did, including the ids it assigned and anything it refused.
16208
+ */
16209
+ export type OntologyChangesetResult = {
16210
+ /**
16211
+ * Number of operations that changed the graph; zero when the key had been seen before.
16212
+ */
16213
+ applied: number;
16214
+ /**
16215
+ * Map from each key used in the batch to the node or relation id it produced or matched.
16216
+ */
16217
+ ids: {
16218
+ [key: string]: string;
16219
+ };
16220
+ /**
16221
+ * Relations that already held the same meaning and were refreshed instead of duplicated.
16222
+ */
16223
+ refreshed: Array<string>;
16224
+ /**
16225
+ * Operations refused within the batch, each with its index and reason; empty when the batch applied whole.
16226
+ */
16227
+ rejected: Array<{
16228
+ /**
16229
+ * Zero-based position of the operation in the submitted ops array.
16230
+ */
16231
+ index?: number;
16232
+ /**
16233
+ * Failure category for this operation, such as ONTOLOGY_TYPE_UNKNOWN for an unregistered type.
16234
+ */
16235
+ code?: string;
16236
+ /**
16237
+ * Why this operation was refused, naming the offending field.
16238
+ */
16239
+ message?: string;
16240
+ }>;
16241
+ /**
16242
+ * True when the Idempotency-Key had been seen before, so nothing changed and the first result is returned.
16243
+ */
16244
+ replayed: boolean;
16245
+ };
16246
+ /**
16247
+ * The text to resolve, optionally narrowed to types and a result count.
16248
+ */
16249
+ export type OntologySearchInput = {
16250
+ /**
16251
+ * Text to find nodes for, matched against names, aliases, descriptions and relation facts; an empty string is refused.
16252
+ */
16253
+ text: string;
16254
+ /**
16255
+ * Registered node type names to search within; omit to search every type.
16256
+ */
16257
+ types?: Array<string>;
16258
+ /**
16259
+ * Restrict matches to facts recorded within a period; omit to search all time.
16260
+ */
16261
+ window?: {
16262
+ /**
16263
+ * Start of the period, inclusive, in ISO 8601 UTC; omit to leave the start open.
16264
+ */
16265
+ from?: string;
16266
+ /**
16267
+ * End of the period, exclusive, in ISO 8601 UTC; omit to leave the end open.
16268
+ */
16269
+ to?: string;
16270
+ };
16271
+ /**
16272
+ * Maximum candidate nodes to return, from 1 to 50; defaults to 20 when omitted.
16273
+ */
16274
+ limit?: number;
16275
+ };
16276
+ /**
16277
+ * Ranked candidate nodes for the searched text, best match first.
16278
+ */
16279
+ export type OntologySearchResult = {
16280
+ /**
16281
+ * The candidate nodes, strongest match first; an empty array means nothing matched.
16282
+ */
16283
+ hits: Array<{
16284
+ /**
16285
+ * Node id of the candidate; pass it to nodes.retrieve to confirm before writing with it.
16286
+ */
16287
+ node?: string;
16288
+ /**
16289
+ * Match strength from 0 to 1; compare candidates within one response rather than across queries.
16290
+ */
16291
+ score?: number;
16292
+ /**
16293
+ * Which field matched, so a weak fact match can be checked against the node itself.
16294
+ */
16295
+ matched?: 'name' | 'alias' | 'description' | 'fact';
16296
+ }>;
16297
+ };
14923
16298
  /**
14924
16299
  * Sandbox creation request. All system communication with the sandbox is always secured; the template's envd version must support secured access.
14925
16300
  */
@@ -25418,9 +26793,9 @@ export type CutExportOutput = {
25418
26793
  */
25419
26794
  fps?: number;
25420
26795
  /**
25421
- * draft favors faster review renders; high favors final delivery quality.
26796
+ * Compression of the encoded video, like Shotstack quality. medium is the default and balances render, upload and storage at about 70% of the bitrate of high. draft is about 40% of high, for review renders. high is for delivery that will be transcoded again or needs the most detail.
25422
26797
  */
25423
- quality?: 'draft' | 'high';
26798
+ quality?: 'draft' | 'medium' | 'high';
25424
26799
  };
25425
26800
  export type DatabaseField = {
25426
26801
  /**
@@ -25548,6 +26923,300 @@ export type DatabaseField = {
25548
26923
  multiple: boolean;
25549
26924
  };
25550
26925
  };
26926
+ /**
26927
+ * Rolling result counts for one case over a fixed window, recomputed rather than accumulated, so a fixed case's numbers recover on their own.
26928
+ */
26929
+ export type DevopsCaseStats = {
26930
+ /**
26931
+ * The trailing period these numbers cover; the counts are always relative to now, not to a catalog commit.
26932
+ */
26933
+ window: '7d' | '30d';
26934
+ /**
26935
+ * How many times the case ran in this window, counting every attempt of every run.
26936
+ */
26937
+ executions: number;
26938
+ /**
26939
+ * How many of those executions failed, including failures that later passed on retry.
26940
+ */
26941
+ failures: number;
26942
+ /**
26943
+ * How many executions failed and then passed on a retry inside the same run — the evidence behind a flaky health.
26944
+ */
26945
+ flakes: number;
26946
+ /**
26947
+ * Failures divided by executions in this window, from 0 to 1; 0 when the case did not run.
26948
+ */
26949
+ failureRate: number;
26950
+ /**
26951
+ * RFC 3339 UTC time of the most recent failure in this window; absent when the case did not fail.
26952
+ */
26953
+ lastFailureTime?: string;
26954
+ /**
26955
+ * How many distinct pull requests saw this case fail in this window, which is how much the failure is costing delivery.
26956
+ */
26957
+ impactedPullRequests: number;
26958
+ };
26959
+ /**
26960
+ * The case's current test state and the rule that put it there, so an exclusion is auditable rather than assumed.
26961
+ */
26962
+ export type DevopsCaseState = {
26963
+ /**
26964
+ * The state in force. Quarantined means the case still runs and still records its result, but its failure does not fail the run.
26965
+ */
26966
+ name: 'active' | 'quarantined' | 'disabled' | 'fixed';
26967
+ /**
26968
+ * RFC 3339 UTC time this state began, which is how long an exclusion has been in force.
26969
+ */
26970
+ since: string;
26971
+ /**
26972
+ * The rule that set the state — a person acting by hand, or an automatic rule such as a failure rate or an expiring quarantine.
26973
+ */
26974
+ policy: 'manual' | 'failure_rate' | 'branch_flake' | 'days_active' | 'fixed_quiet' | 'fix_attempt' | 'expired';
26975
+ actor: DevopsActor;
26976
+ /**
26977
+ * Why the state was set, as recorded; absent for automatic transitions that carry no note.
26978
+ */
26979
+ reason?: string;
26980
+ /**
26981
+ * The work item that owns this exclusion; a quarantine that outlives its ticket is reported as an expired exclusion.
26982
+ */
26983
+ ticket?: string;
26984
+ /**
26985
+ * RFC 3339 UTC time this state lapses and the case returns to active; absent when it stays until changed by hand.
26986
+ */
26987
+ expireTime?: string;
26988
+ /**
26989
+ * The repair attempt being watched, present only while the state came from a fix attempt.
26990
+ */
26991
+ fixAttempt?: {
26992
+ /**
26993
+ * The run that attempted the repair; read it to see whether the fix held.
26994
+ */
26995
+ run?: string;
26996
+ /**
26997
+ * The commit the repair attempt ran at, which is the code the grace period is judging.
26998
+ */
26999
+ commit?: string;
27000
+ /**
27001
+ * RFC 3339 UTC time the grace period ends and the attempt is judged.
27002
+ */
27003
+ graceUntil?: string;
27004
+ };
27005
+ };
27006
+ /**
27007
+ * What starts a run of this plan. Exactly one kind applies; the fields a kind needs are the ones it carries.
27008
+ */
27009
+ export type DevopsPlanTrigger = {
27010
+ /**
27011
+ * Which event starts the plan, which decides the other fields present and when the plan runs without anyone asking.
27012
+ */
27013
+ kind: 'manual' | 'pull_request' | 'merge_group' | 'promotion' | 'schedule';
27014
+ /**
27015
+ * The environment whose promotion starts the plan; present only for the promotion kind.
27016
+ */
27017
+ environment?: string;
27018
+ /**
27019
+ * Five-field cron expression for the schedule kind, evaluated in the declared time zone.
27020
+ */
27021
+ cron?: string;
27022
+ /**
27023
+ * IANA time zone the cron expression is read in, for example Asia/Shanghai; present only for the schedule kind.
27024
+ */
27025
+ timeZone?: string;
27026
+ };
27027
+ /**
27028
+ * Which cases a plan or run selects. Every member is optional and they combine as an intersection, so a selector with no member selects every case in the catalog.
27029
+ */
27030
+ export type DevopsCaseSelector = {
27031
+ /**
27032
+ * Keep only cases of these declared sizes; omit to allow every size.
27033
+ */
27034
+ sizes?: Array<'small' | 'medium' | 'large'>;
27035
+ /**
27036
+ * Keep only cases carrying at least one of these purpose tags; omit to allow every purpose.
27037
+ */
27038
+ purposes?: Array<'smoke' | 'regression' | 'acceptance' | 'contract' | 'performance'>;
27039
+ /**
27040
+ * Keep only cases from these test frameworks; omit to allow every framework.
27041
+ */
27042
+ frameworks?: Array<'gherkin' | 'bun' | 'vitest' | 'jest' | 'pytest' | 'go' | 'playwright'>;
27043
+ /**
27044
+ * Keep only cases carrying every one of these tags; use it to narrow to an area without naming each case.
27045
+ */
27046
+ allTags?: Array<string>;
27047
+ /**
27048
+ * Keep only cases carrying at least one of these tags; use it to widen across neighbouring areas.
27049
+ */
27050
+ anyTags?: Array<string>;
27051
+ /**
27052
+ * Keep only cases in these repository packages; the package is the directory the file lives in.
27053
+ */
27054
+ packages?: Array<string>;
27055
+ /**
27056
+ * Run exactly these cases, named by id; use it to re-run a known failure without widening to its whole area.
27057
+ */
27058
+ cases?: Array<string>;
27059
+ /**
27060
+ * True keeps only cases declared safe to run against a production environment; use it for a plan whose environment is production.
27061
+ */
27062
+ prodSafeOnly?: boolean;
27063
+ /**
27064
+ * Present to select only the cases a commit range can affect, the way a presubmit wants it.
27065
+ */
27066
+ affected?: {
27067
+ /**
27068
+ * The commit the change is measured against; the affected set is what changed between this commit and the run's own commit.
27069
+ */
27070
+ base?: string;
27071
+ };
27072
+ };
27073
+ /**
27074
+ * Who performed an action, so a state change or a run can be attributed rather than guessed at.
27075
+ */
27076
+ export type DevopsActor = {
27077
+ /**
27078
+ * What sort of actor this is, which decides how the id should be read.
27079
+ */
27080
+ kind: 'user' | 'agent' | 'system';
27081
+ /**
27082
+ * Identifier of the actor within its kind, such as a user id for a person.
27083
+ */
27084
+ id: string;
27085
+ /**
27086
+ * Display name for the actor at the time, so a record reads the way it did when it was written; absent when none was known.
27087
+ */
27088
+ label?: string;
27089
+ };
27090
+ /**
27091
+ * The exact revision a run tested. A commit is always named, because a run without one has nothing to report against.
27092
+ */
27093
+ export type DevopsRunRef = {
27094
+ /**
27095
+ * Branch the commit was reached through, for display and attribution; it does not pin the run, the commit does.
27096
+ */
27097
+ branch?: string;
27098
+ /**
27099
+ * Full 40-character commit sha the run tested, which is what its result is evidence about.
27100
+ */
27101
+ commit: string;
27102
+ /**
27103
+ * The proposed change whose testing started this run; absent for runs started by a schedule or by hand.
27104
+ */
27105
+ pullRequest?: string;
27106
+ /**
27107
+ * Commit at the head of the group being landed together, when the run tested a merged candidate rather than one change.
27108
+ */
27109
+ mergeGroupHead?: string;
27110
+ /**
27111
+ * The release this run is evidence about; absent unless the run belongs to a release.
27112
+ */
27113
+ release?: string;
27114
+ /**
27115
+ * The promotion this run belongs to; absent unless the run was started to guard or observe one.
27116
+ */
27117
+ promotion?: string;
27118
+ };
27119
+ /**
27120
+ * What the run decided to test, and why the set came out that size — the record that explains an unexpectedly small run.
27121
+ */
27122
+ export type DevopsSelection = {
27123
+ selector: DevopsCaseSelector;
27124
+ /**
27125
+ * How many cases the run selected; compare it with the catalog's case count when a run looks too small.
27126
+ */
27127
+ selectedCount: number;
27128
+ /**
27129
+ * Which rule produced this set — a plan's selector, an explicit list, or the affected set of a commit range.
27130
+ */
27131
+ reason: 'affected' | 'plan' | 'explicit';
27132
+ /**
27133
+ * What the affected selection reacted to — the changed packages, files or cases; present only when reason is affected.
27134
+ */
27135
+ affectedBy?: Array<string>;
27136
+ };
27137
+ /**
27138
+ * How the run's executions came out. Failed counts failures that decide the verdict, so a quarantined failure is reported separately rather than hidden.
27139
+ */
27140
+ export type DevopsResultCounts = {
27141
+ /**
27142
+ * Executions that passed, counting a case that passed on a retry as passed.
27143
+ */
27144
+ passed: number;
27145
+ /**
27146
+ * Executions that failed and counted against the run; quarantined failures are not included here.
27147
+ */
27148
+ failed: number;
27149
+ /**
27150
+ * Executions that failed and then passed on a retry inside this run.
27151
+ */
27152
+ flaky: number;
27153
+ /**
27154
+ * Selected executions the tool reported as skipped; they neither pass nor fail the run.
27155
+ */
27156
+ skipped: number;
27157
+ /**
27158
+ * Selected executions that have not reported yet, which is why a run may still change its result.
27159
+ */
27160
+ pending: number;
27161
+ /**
27162
+ * Executions reported under a status outside the known set, kept visible instead of being folded into passed or failed.
27163
+ */
27164
+ other: number;
27165
+ /**
27166
+ * Failures from quarantined cases; they are recorded but do not fail the run, so they explain a failed case that did not fail the verdict.
27167
+ */
27168
+ quarantinedFailures: number;
27169
+ };
27170
+ /**
27171
+ * One try at a case inside a run, so a retry is visible as its own result rather than hidden.
27172
+ */
27173
+ export type DevopsAttempt = {
27174
+ /**
27175
+ * Which try this was, counting from 1.
27176
+ */
27177
+ attempt: number;
27178
+ /**
27179
+ * How this try ended, using the same vocabulary as the execution it belongs to.
27180
+ */
27181
+ status: 'passed' | 'failed' | 'skipped' | 'pending' | 'other' | 'timed_out' | 'cancelled';
27182
+ /**
27183
+ * How long this try took in milliseconds.
27184
+ */
27185
+ durationMs: number;
27186
+ /**
27187
+ * The failure message for this try; absent when it did not fail.
27188
+ */
27189
+ message?: string;
27190
+ /**
27191
+ * Diagnostic text for this try, such as a stack trace; absent when none was reported.
27192
+ */
27193
+ trace?: string;
27194
+ /**
27195
+ * RFC 3339 UTC time this try began; absent when the tool reported no timing.
27196
+ */
27197
+ startTime?: string;
27198
+ };
27199
+ /**
27200
+ * One file recorded against an execution, such as a screenshot or a coverage report.
27201
+ */
27202
+ export type DevopsEvidence = {
27203
+ /**
27204
+ * File name as the producing tool wrote it, for display when listing evidence.
27205
+ */
27206
+ name: string;
27207
+ /**
27208
+ * Media type of the stored file, which decides whether it can be shown inline.
27209
+ */
27210
+ contentType: string;
27211
+ /**
27212
+ * Identifier of the stored file, used to fetch its contents through the file API.
27213
+ */
27214
+ fileId: string;
27215
+ /**
27216
+ * Size of the stored file in bytes.
27217
+ */
27218
+ size: number;
27219
+ };
25551
27220
  /**
25552
27221
  * Counts of files still attached to the store or batch, grouped by ingestion status.
25553
27222
  */
@@ -26076,7 +27745,7 @@ export type MediaChunkComplete = MediaCloudinaryResource & {
26076
27745
  done: true;
26077
27746
  };
26078
27747
  /**
26079
- * Per-task processing progress and its aggregate state for the asset. For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged. The duration limit is 10 minutes. A video proxy still above 95 MB after recompression, or a source exceeding the duration limit, is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.
27748
+ * Per-task processing progress and its aggregate state for the asset. For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.
26080
27749
  */
26081
27750
  export type MediaProcessing = {
26082
27751
  /**
@@ -26149,7 +27818,7 @@ export type MediaUnderstanding = {
26149
27818
  */
26150
27819
  asset_version: number;
26151
27820
  /**
26152
- * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step.
27821
+ * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step. loudness is the measured BS.1770-4 loudness of the audio (integrated loudness, loudness range, true and sample peak, a one-point-per-second series and the clipped sections); beats is the measured tempo, beat and bar grid with the sections of the music, recorded as not_applicable with a reason when the asset has no music; content is derived from those measurements and from the transcript into speech, music and silence percentages and sections. Their time values are seconds and their data is not model output.
26153
27822
  */
26154
27823
  kind: MediaUnderstandingKind;
26155
27824
  /**
@@ -26376,6 +28045,10 @@ export type MediaSearchAsset = {
26376
28045
  * Resource status; active identifies an asset that has not been deleted.
26377
28046
  */
26378
28047
  status: 'active';
28048
+ /**
28049
+ * True when the source header declares an alpha channel: a PNG color type 4 or 6 or a tRNS chunk, a WebP VP8X alpha flag or VP8L alpha bit, a WebM or MKV video track AlphaMode of 1, or a GIF transparent-color flag. False when a known container has no alpha channel. Omitted when the format is unknown, the header could not be parsed, or the asset was stored before this field existed; absence does not mean the source is opaque.
28050
+ */
28051
+ has_alpha?: boolean;
26379
28052
  /**
26380
28053
  * Search-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
26381
28054
  */
@@ -26553,6 +28226,170 @@ export type MediaFailureGroup = {
26553
28226
  */
26554
28227
  sample_asset_ids: Array<MediaAssetId>;
26555
28228
  };
28229
+ /**
28230
+ * A kind of entity the graph accepts, for example a file or a customer.
28231
+ */
28232
+ export type OntologyNodeType = {
28233
+ /**
28234
+ * Globally unique type name, used as a node's type when creating it; a dotted name marks a namespaced subtype.
28235
+ */
28236
+ name: string;
28237
+ /**
28238
+ * Required prefix of the external record id when a node of this type carries a ref, for example file_ for the file type; omit for types that are pure concepts.
28239
+ */
28240
+ ref_prefix?: string;
28241
+ /**
28242
+ * Type significance from 0 to 1, used when ranking how strongly reaching this kind of node matters.
28243
+ */
28244
+ weight: number;
28245
+ /**
28246
+ * Whether the graph may continue through a node of this type; false makes it a stopping point that is reached but never expanded.
28247
+ */
28248
+ passable: boolean;
28249
+ /**
28250
+ * What this type means in the registering service, used to choose the right type when writing.
28251
+ */
28252
+ description: string;
28253
+ };
28254
+ /**
28255
+ * A kind of fact the graph accepts between two nodes.
28256
+ */
28257
+ export type OntologyEdgeType = {
28258
+ /**
28259
+ * Globally unique relation type name, used as a relation's type when creating it.
28260
+ */
28261
+ name: string;
28262
+ /**
28263
+ * Node type names this relation may start from; the single entry * admits every type.
28264
+ */
28265
+ source: Array<string>;
28266
+ /**
28267
+ * Node type names this relation may point at; the single entry * admits every type.
28268
+ */
28269
+ target: Array<string>;
28270
+ /**
28271
+ * Whether the fact reads one way or the same in both directions, which decides how it renders on each endpoint.
28272
+ */
28273
+ direction: 'forward' | 'both';
28274
+ /**
28275
+ * Whether spreading may continue through this relation; false makes it a stopping point that is reached but never traversed.
28276
+ */
28277
+ passable: boolean;
28278
+ /**
28279
+ * Relation significance from 0 to 1, used when ranking how strongly reaching through this relation matters.
28280
+ */
28281
+ weight: number;
28282
+ /**
28283
+ * Whether a source may have at most one valid relation of this type at a time; true makes a new one supersede the old.
28284
+ */
28285
+ functional: boolean;
28286
+ /**
28287
+ * How long the relation stays strong while valid, from 0 to 1; 1 never fades and lower values decay faster. Omit for the default decay.
28288
+ */
28289
+ persistence?: number;
28290
+ /**
28291
+ * Origins a relation of this type may carry; each value names where the fact came from and they are checked when writing.
28292
+ */
28293
+ origins: Array<'platform' | 'stated' | 'observed' | 'inferred'>;
28294
+ /**
28295
+ * What this fact means in the registering service, used to choose the right type when writing.
28296
+ */
28297
+ description: string;
28298
+ };
28299
+ /**
28300
+ * A node the caller may reach but not read, because its content belongs to another member; its name confirms what was reached while the content stays withheld.
28301
+ */
28302
+ export type OntologyRestrictedNode = {
28303
+ /**
28304
+ * Node id, usable to relate this entity to others; treat it as opaque.
28305
+ */
28306
+ id: string;
28307
+ /**
28308
+ * Registered node type of the hidden entity, which is not itself restricted content.
28309
+ */
28310
+ type: string;
28311
+ /**
28312
+ * Display name of the hidden entity, shown so a caller can tell whether the reached node is the one it meant.
28313
+ */
28314
+ name: string;
28315
+ /**
28316
+ * Always true; its presence is how a caller tells a withheld node from a readable one.
28317
+ */
28318
+ restricted: boolean;
28319
+ };
28320
+ /**
28321
+ * One operation of a changeset, discriminated by op; it names new nodes and relations by caller-local keys reused within the same batch.
28322
+ */
28323
+ export type OntologyChangesetOp = {
28324
+ /**
28325
+ * Which operation to apply; the remaining required fields follow from this value.
28326
+ */
28327
+ op: 'upsert_node' | 'relate' | 'invalidate' | 'merge' | 'alias';
28328
+ /**
28329
+ * Caller-local name for the node or relation this operation creates, reused by later operations in the same batch; it is not an id.
28330
+ */
28331
+ key?: string;
28332
+ /**
28333
+ * Registered type name for upsert_node and relate; an unregistered name refuses the whole batch.
28334
+ */
28335
+ type?: string;
28336
+ /**
28337
+ * Mirrored record id for upsert_node, which must start with the type's ref_prefix; omit for a concept.
28338
+ */
28339
+ ref?: string;
28340
+ /**
28341
+ * Display name for upsert_node, at most 200 characters.
28342
+ */
28343
+ name?: string;
28344
+ /**
28345
+ * Start of a relate fact; a key from this batch or an existing node id.
28346
+ */
28347
+ source?: string;
28348
+ /**
28349
+ * End of a relate fact; a key from this batch or an existing node id.
28350
+ */
28351
+ target?: string;
28352
+ /**
28353
+ * The relationship in one sentence for relate, at most 280 characters.
28354
+ */
28355
+ fact?: string;
28356
+ /**
28357
+ * Where a relate fact came from; the relation type must accept this origin.
28358
+ */
28359
+ origin?: 'platform' | 'stated' | 'observed' | 'inferred';
28360
+ /**
28361
+ * Relation id an invalidate operation acts on, from relations.list or an earlier operation in this batch.
28362
+ */
28363
+ edge?: string;
28364
+ /**
28365
+ * World time an invalidate operation marks the fact as no longer true.
28366
+ */
28367
+ invalid_at?: string;
28368
+ /**
28369
+ * Relation id that replaces the invalidated one, when a successor was recorded; omit when nothing replaced it.
28370
+ */
28371
+ by?: string;
28372
+ /**
28373
+ * Why the operation was applied, kept for people reading the history; not enforced.
28374
+ */
28375
+ reason?: string;
28376
+ /**
28377
+ * Node id a merge operation folds away, resolving to the into node afterwards.
28378
+ */
28379
+ from?: string;
28380
+ /**
28381
+ * Node id a merge operation keeps, receiving the merged node's relations and aliases.
28382
+ */
28383
+ into?: string;
28384
+ /**
28385
+ * Node id an alias operation adds a name to.
28386
+ */
28387
+ node?: string;
28388
+ /**
28389
+ * The additional name an alias operation records for its node.
28390
+ */
28391
+ alias?: string;
28392
+ };
26556
28393
  /**
26557
28394
  * Auto-resume configuration for paused sandboxes.
26558
28395
  */
@@ -31068,9 +32905,9 @@ export type MediaTranscriptCorrection = {
31068
32905
  */
31069
32906
  export type MediaUnderstandingId = string;
31070
32907
  /**
31071
- * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step.
32908
+ * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step. loudness is the measured BS.1770-4 loudness of the audio (integrated loudness, loudness range, true and sample peak, a one-point-per-second series and the clipped sections); beats is the measured tempo, beat and bar grid with the sections of the music, recorded as not_applicable with a reason when the asset has no music; content is derived from those measurements and from the transcript into speech, music and silence percentages and sections. Their time values are seconds and their data is not model output.
31072
32909
  */
31073
- export type MediaUnderstandingKind = 'caption' | 'tags' | 'ocr' | 'transcript' | 'frame' | 'overview' | 'audio' | 'embedding';
32910
+ export type MediaUnderstandingKind = 'caption' | 'tags' | 'ocr' | 'transcript' | 'frame' | 'overview' | 'audio' | 'loudness' | 'beats' | 'content' | 'embedding';
31074
32911
  /**
31075
32912
  * Time range within the source media, expressed in milliseconds.
31076
32913
  */
@@ -33032,6 +34869,10 @@ export type MediaAssetWritable = {
33032
34869
  * Resource status; active identifies an asset that has not been deleted.
33033
34870
  */
33034
34871
  status: 'active';
34872
+ /**
34873
+ * True when the source header declares an alpha channel: a PNG color type 4 or 6 or a tRNS chunk, a WebP VP8X alpha flag or VP8L alpha bit, a WebM or MKV video track AlphaMode of 1, or a GIF transparent-color flag. False when a known container has no alpha channel. Omitted when the format is unknown, the header could not be parsed, or the asset was stored before this field existed; absence does not mean the source is opaque.
34874
+ */
34875
+ has_alpha?: boolean;
33035
34876
  /**
33036
34877
  * Search-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
33037
34878
  */
@@ -33425,7 +35266,7 @@ export type MediaChunkCompleteWritable = MediaCloudinaryResourceWritable & {
33425
35266
  done: true;
33426
35267
  };
33427
35268
  /**
33428
- * Per-task processing progress and its aggregate state for the asset. For understanding, Media generates proxies for video sources of 25 MB or more and audio-only sources of 100 MB or more; originals remain available unchanged. The duration limit is 10 minutes. A video proxy still above 95 MB after recompression, or a source exceeding the duration limit, is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.
35269
+ * Per-task processing progress and its aggregate state for the asset. For understanding, Media generates proxies for video sources of 25 MB or more or longer than 10 minutes, and for audio-only sources of 100 MB or more; originals remain available unchanged. Long videos are supported. When a video proxy is needed and is still above 95 MB after recompression, the source is reported as UNSUPPORTED with the limit in the failure message. Proxy preparation uses the organization’s metered sandbox resources.
33429
35270
  */
33430
35271
  export type MediaProcessingWritable = {
33431
35272
  state: MediaProcessingState;
@@ -33457,7 +35298,7 @@ export type MediaUnderstandingWritable = {
33457
35298
  */
33458
35299
  asset_version: number;
33459
35300
  /**
33460
- * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step.
35301
+ * Result kind: caption is a visual description, tags are recognized labels, ocr is text recognized in the image, transcript is speech text, and frame is a description of a video segment. audio describes sampled speech, music, ambient sound and silence; overview is a full-video summary with chapters, IAB categories and an unverified location; embedding reports a failed embedding step. loudness is the measured BS.1770-4 loudness of the audio (integrated loudness, loudness range, true and sample peak, a one-point-per-second series and the clipped sections); beats is the measured tempo, beat and bar grid with the sections of the music, recorded as not_applicable with a reason when the asset has no music; content is derived from those measurements and from the transcript into speech, music and silence percentages and sections. Their time values are seconds and their data is not model output.
33461
35302
  */
33462
35303
  kind: MediaUnderstandingKind;
33463
35304
  /**
@@ -33654,6 +35495,10 @@ export type MediaSearchAssetWritable = {
33654
35495
  * Resource status; active identifies an asset that has not been deleted.
33655
35496
  */
33656
35497
  status: 'active';
35498
+ /**
35499
+ * True when the source header declares an alpha channel: a PNG color type 4 or 6 or a tRNS chunk, a WebP VP8X alpha flag or VP8L alpha bit, a WebM or MKV video track AlphaMode of 1, or a GIF transparent-color flag. False when a known container has no alpha channel. Omitted when the format is unknown, the header could not be parsed, or the asset was stored before this field existed; absence does not mean the source is opaque.
35500
+ */
35501
+ has_alpha?: boolean;
33657
35502
  /**
33658
35503
  * Search-vector status: pending awaits vector generation or reprocessing; ready has searchable vectors; unavailable indicates disabled, unsupported or failed embedding. Existing vectors may still serve searches while reprocessing is pending.
33659
35504
  */
@@ -33787,6 +35632,66 @@ export type CutExportId = string;
33787
35632
  * Version identifier returned by its create or list operation; use the id, not a display name.
33788
35633
  */
33789
35634
  export type CutVersionId = string;
35635
+ /**
35636
+ * Identifies the project whose data you are reading, from the project list or create answer.
35637
+ */
35638
+ export type DevopsProjectPath = string;
35639
+ /**
35640
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
35641
+ */
35642
+ export type DevopsPageSize = number;
35643
+ /**
35644
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
35645
+ */
35646
+ export type DevopsPageToken = string;
35647
+ /**
35648
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
35649
+ */
35650
+ export type DevopsOrderBy = string;
35651
+ /**
35652
+ * The suite identifier returned by a suite list, not the file path it was discovered from.
35653
+ */
35654
+ export type DevopsSuiteId = string;
35655
+ /**
35656
+ * The case identifier returned by a case list, or an older id listed in that case's aliases.
35657
+ */
35658
+ export type DevopsCaseId = string;
35659
+ /**
35660
+ * The plan identifier returned by a plan list or create answer.
35661
+ */
35662
+ export type DevopsPlanId = string;
35663
+ /**
35664
+ * The run identifier returned by a run list or create answer.
35665
+ */
35666
+ export type DevopsRunId = string;
35667
+ /**
35668
+ * The run whose executions you are reading, from a run list or create answer.
35669
+ */
35670
+ export type DevopsRunPath = string;
35671
+ /**
35672
+ * The case to read inside that run, from the run's execution list or the project's case list.
35673
+ */
35674
+ export type DevopsCasePath = string;
35675
+ /**
35676
+ * A type name from types.list, with its dots preserved — a display label is not accepted.
35677
+ */
35678
+ export type OntologyTypeName = string;
35679
+ /**
35680
+ * Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100.
35681
+ */
35682
+ export type OntologyLimit = number;
35683
+ /**
35684
+ * Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.
35685
+ */
35686
+ export type OntologyCursor = string;
35687
+ /**
35688
+ * Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted.
35689
+ */
35690
+ export type OntologyNodeId = string;
35691
+ /**
35692
+ * Relation id returned by relations.list, relations.create or a changeset, in the form oed_ followed by 32 lowercase letters or digits; a node id is not accepted.
35693
+ */
35694
+ export type OntologyRelationId = string;
33790
35695
  /**
33791
35696
  * Cursor to start the list from
33792
35697
  */
@@ -37671,25 +39576,315 @@ export type ComputersDeleteErrors = {
37671
39576
  request_id: string;
37672
39577
  };
37673
39578
  };
37674
- export type ComputersDeleteError = ComputersDeleteErrors[keyof ComputersDeleteErrors];
37675
- export type ComputersDeleteResponses = {
39579
+ export type ComputersDeleteError = ComputersDeleteErrors[keyof ComputersDeleteErrors];
39580
+ export type ComputersDeleteResponses = {
39581
+ /**
39582
+ * Computer result
39583
+ */
39584
+ 200: {
39585
+ /**
39586
+ * Id of the deleted computer.
39587
+ */
39588
+ id: string;
39589
+ /**
39590
+ * Always `computer_deleted`. Confirms that a computer was deleted.
39591
+ */
39592
+ type: 'computer_deleted';
39593
+ };
39594
+ };
39595
+ export type ComputersDeleteResponse = ComputersDeleteResponses[keyof ComputersDeleteResponses];
39596
+ export type ComputersRetrieveData = {
39597
+ body?: never;
39598
+ path: {
39599
+ /**
39600
+ * Computer id (cmp_...), as returned by computers.create or computers.list.
39601
+ */
39602
+ computer_id: string;
39603
+ };
39604
+ query?: never;
39605
+ url: '/agent/v1/computers/{computer_id}';
39606
+ };
39607
+ export type ComputersRetrieveErrors = {
39608
+ /**
39609
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39610
+ */
39611
+ 400: {
39612
+ type: 'error';
39613
+ error: {
39614
+ /**
39615
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39616
+ */
39617
+ type: string;
39618
+ message: string;
39619
+ code: string;
39620
+ retryable: boolean;
39621
+ /**
39622
+ * How to recover, for computer failures.
39623
+ */
39624
+ hint?: string;
39625
+ };
39626
+ /**
39627
+ * Equals the X-Request-Id response header.
39628
+ */
39629
+ request_id: string;
39630
+ };
39631
+ /**
39632
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39633
+ */
39634
+ 401: {
39635
+ type: 'error';
39636
+ error: {
39637
+ /**
39638
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39639
+ */
39640
+ type: string;
39641
+ message: string;
39642
+ code: string;
39643
+ retryable: boolean;
39644
+ /**
39645
+ * How to recover, for computer failures.
39646
+ */
39647
+ hint?: string;
39648
+ };
39649
+ /**
39650
+ * Equals the X-Request-Id response header.
39651
+ */
39652
+ request_id: string;
39653
+ };
39654
+ /**
39655
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39656
+ */
39657
+ 403: {
39658
+ type: 'error';
39659
+ error: {
39660
+ /**
39661
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39662
+ */
39663
+ type: string;
39664
+ message: string;
39665
+ code: string;
39666
+ retryable: boolean;
39667
+ /**
39668
+ * How to recover, for computer failures.
39669
+ */
39670
+ hint?: string;
39671
+ };
39672
+ /**
39673
+ * Equals the X-Request-Id response header.
39674
+ */
39675
+ request_id: string;
39676
+ };
39677
+ /**
39678
+ * Computer or path not found; foreign computers are indistinguishable from absent computers.
39679
+ */
39680
+ 404: {
39681
+ type: 'error';
39682
+ error: {
39683
+ /**
39684
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39685
+ */
39686
+ type: string;
39687
+ message: string;
39688
+ code: string;
39689
+ retryable: boolean;
39690
+ /**
39691
+ * How to recover, for computer failures.
39692
+ */
39693
+ hint?: string;
39694
+ };
39695
+ /**
39696
+ * Equals the X-Request-Id response header.
39697
+ */
39698
+ request_id: string;
39699
+ };
39700
+ /**
39701
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39702
+ */
39703
+ 409: {
39704
+ type: 'error';
39705
+ error: {
39706
+ /**
39707
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39708
+ */
39709
+ type: string;
39710
+ message: string;
39711
+ code: string;
39712
+ retryable: boolean;
39713
+ /**
39714
+ * How to recover, for computer failures.
39715
+ */
39716
+ hint?: string;
39717
+ };
39718
+ /**
39719
+ * Equals the X-Request-Id response header.
39720
+ */
39721
+ request_id: string;
39722
+ };
39723
+ /**
39724
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39725
+ */
39726
+ 413: {
39727
+ type: 'error';
39728
+ error: {
39729
+ /**
39730
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39731
+ */
39732
+ type: string;
39733
+ message: string;
39734
+ code: string;
39735
+ retryable: boolean;
39736
+ /**
39737
+ * How to recover, for computer failures.
39738
+ */
39739
+ hint?: string;
39740
+ };
39741
+ /**
39742
+ * Equals the X-Request-Id response header.
39743
+ */
39744
+ request_id: string;
39745
+ };
39746
+ /**
39747
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39748
+ */
39749
+ 429: {
39750
+ type: 'error';
39751
+ error: {
39752
+ /**
39753
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39754
+ */
39755
+ type: string;
39756
+ message: string;
39757
+ code: string;
39758
+ retryable: boolean;
39759
+ /**
39760
+ * How to recover, for computer failures.
39761
+ */
39762
+ hint?: string;
39763
+ };
39764
+ /**
39765
+ * Equals the X-Request-Id response header.
39766
+ */
39767
+ request_id: string;
39768
+ };
39769
+ /**
39770
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39771
+ */
39772
+ 500: {
39773
+ type: 'error';
39774
+ error: {
39775
+ /**
39776
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39777
+ */
39778
+ type: string;
39779
+ message: string;
39780
+ code: string;
39781
+ retryable: boolean;
39782
+ /**
39783
+ * How to recover, for computer failures.
39784
+ */
39785
+ hint?: string;
39786
+ };
39787
+ /**
39788
+ * Equals the X-Request-Id response header.
39789
+ */
39790
+ request_id: string;
39791
+ };
39792
+ /**
39793
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
39794
+ */
39795
+ 503: {
39796
+ type: 'error';
39797
+ error: {
39798
+ /**
39799
+ * Anthropic error type, such as invalid_request_error or not_found_error.
39800
+ */
39801
+ type: string;
39802
+ message: string;
39803
+ code: string;
39804
+ retryable: boolean;
39805
+ /**
39806
+ * How to recover, for computer failures.
39807
+ */
39808
+ hint?: string;
39809
+ };
39810
+ /**
39811
+ * Equals the X-Request-Id response header.
39812
+ */
39813
+ request_id: string;
39814
+ };
39815
+ };
39816
+ export type ComputersRetrieveError = ComputersRetrieveErrors[keyof ComputersRetrieveErrors];
39817
+ export type ComputersRetrieveResponses = {
37676
39818
  /**
37677
39819
  * Computer result
37678
39820
  */
37679
39821
  200: {
37680
39822
  /**
37681
- * Id of the deleted computer.
39823
+ * Always `computer`. A computer.
39824
+ */
39825
+ type: 'computer';
39826
+ /**
39827
+ * Computer id (cmp_...), the computer_id of computer calls.
37682
39828
  */
37683
39829
  id: string;
37684
39830
  /**
37685
- * Always `computer_deleted`. Confirms that a computer was deleted.
39831
+ * Display name of the computer, 1 to 255 characters.
37686
39832
  */
37687
- type: 'computer_deleted';
39833
+ name: string;
39834
+ /**
39835
+ * Public id of the sandbox that backs the computer, usable with the sandbox API; null while none has been created.
39836
+ */
39837
+ sandbox_id: string | null;
39838
+ /**
39839
+ * not_started means the machine has not been created; first use provisions it. provisioned means a machine has been created, whether running or paused.
39840
+ */
39841
+ machine_state: 'not_started' | 'provisioned';
39842
+ /**
39843
+ * Environment recipe the computer was created with; null when none.
39844
+ */
39845
+ environment_id: string | null;
39846
+ /**
39847
+ * active computers can be used by new sessions; archived ones keep their files readable but cannot start new sessions.
39848
+ */
39849
+ status: 'active' | 'archived';
39850
+ /**
39851
+ * RFC 3339 time at which the computer was created.
39852
+ */
39853
+ created_at: string;
39854
+ /**
39855
+ * RFC 3339 time at which the computer was last modified.
39856
+ */
39857
+ updated_at: string;
39858
+ /**
39859
+ * RFC 3339 time at which the computer was archived; null while active.
39860
+ */
39861
+ archived_at: string | null;
39862
+ /**
39863
+ * How the computer is backed: a virtual file store or a real sandbox.
39864
+ */
39865
+ implementation: 'virtual' | 'sandbox';
39866
+ /**
39867
+ * Bytes stored on the computer.
39868
+ */
39869
+ storage_bytes: number;
39870
+ /**
39871
+ * Number of files stored on the computer.
39872
+ */
39873
+ file_count: number;
39874
+ /**
39875
+ * False when disk statistics are partial because the 20-second or 50,000-entry limit was reached. Tier-local directories are excluded.
39876
+ */
39877
+ stats_complete: boolean;
37688
39878
  };
37689
39879
  };
37690
- export type ComputersDeleteResponse = ComputersDeleteResponses[keyof ComputersDeleteResponses];
37691
- export type ComputersRetrieveData = {
37692
- body?: never;
39880
+ export type ComputersRetrieveResponse = ComputersRetrieveResponses[keyof ComputersRetrieveResponses];
39881
+ export type ComputersUpdateData = {
39882
+ body: {
39883
+ /**
39884
+ * Name of the entry or object.
39885
+ */
39886
+ name: string;
39887
+ };
37693
39888
  path: {
37694
39889
  /**
37695
39890
  * Computer id (cmp_...), as returned by computers.create or computers.list.
@@ -37699,7 +39894,7 @@ export type ComputersRetrieveData = {
37699
39894
  query?: never;
37700
39895
  url: '/agent/v1/computers/{computer_id}';
37701
39896
  };
37702
- export type ComputersRetrieveErrors = {
39897
+ export type ComputersUpdateErrors = {
37703
39898
  /**
37704
39899
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
37705
39900
  */
@@ -37908,8 +40103,8 @@ export type ComputersRetrieveErrors = {
37908
40103
  request_id: string;
37909
40104
  };
37910
40105
  };
37911
- export type ComputersRetrieveError = ComputersRetrieveErrors[keyof ComputersRetrieveErrors];
37912
- export type ComputersRetrieveResponses = {
40106
+ export type ComputersUpdateError = ComputersUpdateErrors[keyof ComputersUpdateErrors];
40107
+ export type ComputersUpdateResponses = {
37913
40108
  /**
37914
40109
  * Computer result
37915
40110
  */
@@ -37954,32 +40149,11 @@ export type ComputersRetrieveResponses = {
37954
40149
  * RFC 3339 time at which the computer was archived; null while active.
37955
40150
  */
37956
40151
  archived_at: string | null;
37957
- /**
37958
- * How the computer is backed: a virtual file store or a real sandbox.
37959
- */
37960
- implementation: 'virtual' | 'sandbox';
37961
- /**
37962
- * Bytes stored on the computer.
37963
- */
37964
- storage_bytes: number;
37965
- /**
37966
- * Number of files stored on the computer.
37967
- */
37968
- file_count: number;
37969
- /**
37970
- * False when disk statistics are partial because the 20-second or 50,000-entry limit was reached. Tier-local directories are excluded.
37971
- */
37972
- stats_complete: boolean;
37973
40152
  };
37974
40153
  };
37975
- export type ComputersRetrieveResponse = ComputersRetrieveResponses[keyof ComputersRetrieveResponses];
37976
- export type ComputersUpdateData = {
37977
- body: {
37978
- /**
37979
- * Name of the entry or object.
37980
- */
37981
- name: string;
37982
- };
40154
+ export type ComputersUpdateResponse = ComputersUpdateResponses[keyof ComputersUpdateResponses];
40155
+ export type ComputersArchiveData = {
40156
+ body?: never;
37983
40157
  path: {
37984
40158
  /**
37985
40159
  * Computer id (cmp_...), as returned by computers.create or computers.list.
@@ -37987,9 +40161,9 @@ export type ComputersUpdateData = {
37987
40161
  computer_id: string;
37988
40162
  };
37989
40163
  query?: never;
37990
- url: '/agent/v1/computers/{computer_id}';
40164
+ url: '/agent/v1/computers/{computer_id}/archive';
37991
40165
  };
37992
- export type ComputersUpdateErrors = {
40166
+ export type ComputersArchiveErrors = {
37993
40167
  /**
37994
40168
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
37995
40169
  */
@@ -38198,8 +40372,8 @@ export type ComputersUpdateErrors = {
38198
40372
  request_id: string;
38199
40373
  };
38200
40374
  };
38201
- export type ComputersUpdateError = ComputersUpdateErrors[keyof ComputersUpdateErrors];
38202
- export type ComputersUpdateResponses = {
40375
+ export type ComputersArchiveError = ComputersArchiveErrors[keyof ComputersArchiveErrors];
40376
+ export type ComputersArchiveResponses = {
38203
40377
  /**
38204
40378
  * Computer result
38205
40379
  */
@@ -38246,19 +40420,27 @@ export type ComputersUpdateResponses = {
38246
40420
  archived_at: string | null;
38247
40421
  };
38248
40422
  };
38249
- export type ComputersUpdateResponse = ComputersUpdateResponses[keyof ComputersUpdateResponses];
38250
- export type ComputersArchiveData = {
38251
- body?: never;
40423
+ export type ComputersArchiveResponse = ComputersArchiveResponses[keyof ComputersArchiveResponses];
40424
+ export type ComputersAttachmentsCreateData = {
40425
+ /**
40426
+ * Raw file content for the attachment named by the name query parameter.
40427
+ */
40428
+ body: Blob | File;
38252
40429
  path: {
38253
40430
  /**
38254
40431
  * Computer id (cmp_...), as returned by computers.create or computers.list.
38255
40432
  */
38256
40433
  computer_id: string;
38257
40434
  };
38258
- query?: never;
38259
- url: '/agent/v1/computers/{computer_id}/archive';
40435
+ query: {
40436
+ /**
40437
+ * Single filename, at most 255 UTF-8 bytes, excluding slash, dot segments and control characters.
40438
+ */
40439
+ name: string;
40440
+ };
40441
+ url: '/agent/v1/computers/{computer_id}/attachments';
38260
40442
  };
38261
- export type ComputersArchiveErrors = {
40443
+ export type ComputersAttachmentsCreateErrors = {
38262
40444
  /**
38263
40445
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
38264
40446
  */
@@ -38467,75 +40649,64 @@ export type ComputersArchiveErrors = {
38467
40649
  request_id: string;
38468
40650
  };
38469
40651
  };
38470
- export type ComputersArchiveError = ComputersArchiveErrors[keyof ComputersArchiveErrors];
38471
- export type ComputersArchiveResponses = {
40652
+ export type ComputersAttachmentsCreateError = ComputersAttachmentsCreateErrors[keyof ComputersAttachmentsCreateErrors];
40653
+ export type ComputersAttachmentsCreateResponses = {
38472
40654
  /**
38473
40655
  * Computer result
38474
40656
  */
38475
- 200: {
38476
- /**
38477
- * Always `computer`. A computer.
38478
- */
38479
- type: 'computer';
40657
+ 201: {
38480
40658
  /**
38481
- * Computer id (cmp_...), the computer_id of computer calls.
40659
+ * Absolute path of the entry on the computer.
38482
40660
  */
38483
- id: string;
40661
+ path: string;
38484
40662
  /**
38485
- * Display name of the computer, 1 to 255 characters.
40663
+ * Name of the entry or object.
38486
40664
  */
38487
40665
  name: string;
38488
40666
  /**
38489
- * Public id of the sandbox that backs the computer, usable with the sandbox API; null while none has been created.
38490
- */
38491
- sandbox_id: string | null;
38492
- /**
38493
- * not_started means the machine has not been created; first use provisions it. provisioned means a machine has been created, whether running or paused.
40667
+ * Kind of entry: a file, a directory or a symbolic link.
38494
40668
  */
38495
- machine_state: 'not_started' | 'provisioned';
40669
+ type: 'file' | 'dir' | 'symlink';
38496
40670
  /**
38497
- * Environment recipe the computer was created with; null when none.
40671
+ * Size in bytes.
38498
40672
  */
38499
- environment_id: string | null;
40673
+ size: number;
38500
40674
  /**
38501
- * active computers can be used by new sessions; archived ones keep their files readable but cannot start new sessions.
40675
+ * MIME type of the file.
38502
40676
  */
38503
- status: 'active' | 'archived';
40677
+ mime_type: string;
38504
40678
  /**
38505
- * RFC 3339 time at which the computer was created.
40679
+ * True when the entry cannot be modified through the API.
38506
40680
  */
38507
- created_at: string;
40681
+ read_only: boolean;
38508
40682
  /**
38509
- * RFC 3339 time at which the computer was last modified.
40683
+ * Content digest of the file; null when not computed.
38510
40684
  */
38511
- updated_at: string;
40685
+ digest?: string | null;
38512
40686
  /**
38513
- * RFC 3339 time at which the computer was archived; null while active.
40687
+ * RFC 3339 time at which the object was last modified.
38514
40688
  */
38515
- archived_at: string | null;
40689
+ updated_at: string | null;
38516
40690
  };
38517
40691
  };
38518
- export type ComputersArchiveResponse = ComputersArchiveResponses[keyof ComputersArchiveResponses];
38519
- export type ComputersAttachmentsCreateData = {
38520
- /**
38521
- * Raw file content for the attachment named by the name query parameter.
38522
- */
38523
- body: Blob | File;
40692
+ export type ComputersAttachmentsCreateResponse = ComputersAttachmentsCreateResponses[keyof ComputersAttachmentsCreateResponses];
40693
+ export type ComputersFilesListData = {
40694
+ body?: never;
38524
40695
  path: {
38525
40696
  /**
38526
40697
  * Computer id (cmp_...), as returned by computers.create or computers.list.
38527
40698
  */
38528
40699
  computer_id: string;
38529
40700
  };
38530
- query: {
40701
+ query?: {
38531
40702
  /**
38532
- * Single filename, at most 255 UTF-8 bytes, excluding slash, dot segments and control characters.
40703
+ * Directory on the computer to list; absolute path as returned in the path field of an earlier listing. Omit it to list from the computer's root.
38533
40704
  */
38534
- name: string;
40705
+ path?: string;
38535
40706
  };
38536
- url: '/agent/v1/computers/{computer_id}/attachments';
40707
+ url: '/agent/v1/computers/{computer_id}/files';
38537
40708
  };
38538
- export type ComputersAttachmentsCreateErrors = {
40709
+ export type ComputersFilesListErrors = {
38539
40710
  /**
38540
40711
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
38541
40712
  */
@@ -38744,64 +40915,87 @@ export type ComputersAttachmentsCreateErrors = {
38744
40915
  request_id: string;
38745
40916
  };
38746
40917
  };
38747
- export type ComputersAttachmentsCreateError = ComputersAttachmentsCreateErrors[keyof ComputersAttachmentsCreateErrors];
38748
- export type ComputersAttachmentsCreateResponses = {
40918
+ export type ComputersFilesListError = ComputersFilesListErrors[keyof ComputersFilesListErrors];
40919
+ export type ComputersFilesListResponses = {
38749
40920
  /**
38750
40921
  * Computer result
38751
40922
  */
38752
- 201: {
38753
- /**
38754
- * Absolute path of the entry on the computer.
38755
- */
38756
- path: string;
38757
- /**
38758
- * Name of the entry or object.
38759
- */
38760
- name: string;
38761
- /**
38762
- * Kind of entry: a file, a directory or a symbolic link.
38763
- */
38764
- type: 'file' | 'dir' | 'symlink';
40923
+ 200: {
38765
40924
  /**
38766
- * Size in bytes.
40925
+ * Items of this page, in the order requested by the call.
38767
40926
  */
38768
- size: number;
40927
+ data: Array<{
40928
+ /**
40929
+ * Absolute path of the entry on the computer.
40930
+ */
40931
+ path: string;
40932
+ /**
40933
+ * Name of the entry or object.
40934
+ */
40935
+ name: string;
40936
+ /**
40937
+ * Kind of entry: a file, a directory or a symbolic link.
40938
+ */
40939
+ type: 'file' | 'dir' | 'symlink';
40940
+ /**
40941
+ * Size in bytes.
40942
+ */
40943
+ size: number;
40944
+ /**
40945
+ * MIME type of the file.
40946
+ */
40947
+ mime_type: string;
40948
+ /**
40949
+ * True when the entry cannot be modified through the API.
40950
+ */
40951
+ read_only: boolean;
40952
+ /**
40953
+ * Content digest of the file; null when not computed.
40954
+ */
40955
+ digest?: string | null;
40956
+ /**
40957
+ * RFC 3339 time at which the object was last modified.
40958
+ */
40959
+ updated_at: string | null;
40960
+ }>;
38769
40961
  /**
38770
- * MIME type of the file.
40962
+ * Whether more items exist beyond this page.
38771
40963
  */
38772
- mime_type: string;
40964
+ has_more: false;
38773
40965
  /**
38774
- * True when the entry cannot be modified through the API.
40966
+ * Machine tier used to read this directory: light is the lightweight computer; heavy is the full computer.
38775
40967
  */
38776
- read_only: boolean;
40968
+ tier: 'light' | 'heavy';
40969
+ };
40970
+ };
40971
+ export type ComputersFilesListResponse = ComputersFilesListResponses[keyof ComputersFilesListResponses];
40972
+ export type ComputersFilesContentData = {
40973
+ body?: never;
40974
+ headers?: {
38777
40975
  /**
38778
- * Content digest of the file; null when not computed.
40976
+ * Quoted digest entity-tag; legacy unquoted digests are also accepted.
38779
40977
  */
38780
- digest?: string | null;
40978
+ 'If-None-Match'?: string;
38781
40979
  /**
38782
- * RFC 3339 time at which the object was last modified.
40980
+ * Single byte range, including open-ended and suffix ranges.
38783
40981
  */
38784
- updated_at: string | null;
40982
+ Range?: string;
38785
40983
  };
38786
- };
38787
- export type ComputersAttachmentsCreateResponse = ComputersAttachmentsCreateResponses[keyof ComputersAttachmentsCreateResponses];
38788
- export type ComputersFilesListData = {
38789
- body?: never;
38790
40984
  path: {
38791
40985
  /**
38792
40986
  * Computer id (cmp_...), as returned by computers.create or computers.list.
38793
40987
  */
38794
40988
  computer_id: string;
38795
40989
  };
38796
- query?: {
40990
+ query: {
38797
40991
  /**
38798
- * Directory on the computer to list; absolute path as returned in the path field of an earlier listing. Omit it to list from the computer's root.
40992
+ * Absolute path of the file whose content to download, as returned in the path field of computers.files.list.
38799
40993
  */
38800
- path?: string;
40994
+ path: string;
38801
40995
  };
38802
- url: '/agent/v1/computers/{computer_id}/files';
40996
+ url: '/agent/v1/computers/{computer_id}/files/content';
38803
40997
  };
38804
- export type ComputersFilesListErrors = {
40998
+ export type ComputersFilesContentErrors = {
38805
40999
  /**
38806
41000
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
38807
41001
  */
@@ -38897,7 +41091,30 @@ export type ComputersFilesListErrors = {
38897
41091
  /**
38898
41092
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
38899
41093
  */
38900
- 409: {
41094
+ 409: {
41095
+ type: 'error';
41096
+ error: {
41097
+ /**
41098
+ * Anthropic error type, such as invalid_request_error or not_found_error.
41099
+ */
41100
+ type: string;
41101
+ message: string;
41102
+ code: string;
41103
+ retryable: boolean;
41104
+ /**
41105
+ * How to recover, for computer failures.
41106
+ */
41107
+ hint?: string;
41108
+ };
41109
+ /**
41110
+ * Equals the X-Request-Id response header.
41111
+ */
41112
+ request_id: string;
41113
+ };
41114
+ /**
41115
+ * Platform error in the one /agent/v1 error body; computer failures add error.hint
41116
+ */
41117
+ 413: {
38901
41118
  type: 'error';
38902
41119
  error: {
38903
41120
  /**
@@ -38918,9 +41135,9 @@ export type ComputersFilesListErrors = {
38918
41135
  request_id: string;
38919
41136
  };
38920
41137
  /**
38921
- * Platform error in the one /agent/v1 error body; computer failures add error.hint
41138
+ * Range unavailable
38922
41139
  */
38923
- 413: {
41140
+ 416: {
38924
41141
  type: 'error';
38925
41142
  error: {
38926
41143
  /**
@@ -39010,71 +41227,24 @@ export type ComputersFilesListErrors = {
39010
41227
  request_id: string;
39011
41228
  };
39012
41229
  };
39013
- export type ComputersFilesListError = ComputersFilesListErrors[keyof ComputersFilesListErrors];
39014
- export type ComputersFilesListResponses = {
41230
+ export type ComputersFilesContentError = ComputersFilesContentErrors[keyof ComputersFilesContentErrors];
41231
+ export type ComputersFilesContentResponses = {
39015
41232
  /**
39016
- * Computer result
41233
+ * Raw file bytes (at most 16 MiB); Content-Type is inferred from the extension. ETag is present only when a digest is available. Larger files require the sandbox connection issued by connect.
39017
41234
  */
39018
- 200: {
39019
- /**
39020
- * Items of this page, in the order requested by the call.
39021
- */
39022
- data: Array<{
39023
- /**
39024
- * Absolute path of the entry on the computer.
39025
- */
39026
- path: string;
39027
- /**
39028
- * Name of the entry or object.
39029
- */
39030
- name: string;
39031
- /**
39032
- * Kind of entry: a file, a directory or a symbolic link.
39033
- */
39034
- type: 'file' | 'dir' | 'symlink';
39035
- /**
39036
- * Size in bytes.
39037
- */
39038
- size: number;
39039
- /**
39040
- * MIME type of the file.
39041
- */
39042
- mime_type: string;
39043
- /**
39044
- * True when the entry cannot be modified through the API.
39045
- */
39046
- read_only: boolean;
39047
- /**
39048
- * Content digest of the file; null when not computed.
39049
- */
39050
- digest?: string | null;
39051
- /**
39052
- * RFC 3339 time at which the object was last modified.
39053
- */
39054
- updated_at: string | null;
39055
- }>;
39056
- /**
39057
- * Whether more items exist beyond this page.
39058
- */
39059
- has_more: false;
39060
- /**
39061
- * Machine tier used to read this directory: light is the lightweight computer; heavy is the full computer.
39062
- */
39063
- tier: 'light' | 'heavy';
39064
- };
41235
+ 200: Blob | File;
41236
+ /**
41237
+ * Single byte range
41238
+ */
41239
+ 206: Blob | File;
39065
41240
  };
39066
- export type ComputersFilesListResponse = ComputersFilesListResponses[keyof ComputersFilesListResponses];
39067
- export type ComputersFilesContentData = {
39068
- body?: never;
39069
- headers?: {
39070
- /**
39071
- * Quoted digest entity-tag; legacy unquoted digests are also accepted.
39072
- */
39073
- 'If-None-Match'?: string;
41241
+ export type ComputersFilesContentResponse = ComputersFilesContentResponses[keyof ComputersFilesContentResponses];
41242
+ export type ComputersFilesConvertData = {
41243
+ body: {
39074
41244
  /**
39075
- * Single byte range, including open-ended and suffix ranges.
41245
+ * Name of the entry or object.
39076
41246
  */
39077
- Range?: string;
41247
+ name: string;
39078
41248
  };
39079
41249
  path: {
39080
41250
  /**
@@ -39082,15 +41252,10 @@ export type ComputersFilesContentData = {
39082
41252
  */
39083
41253
  computer_id: string;
39084
41254
  };
39085
- query: {
39086
- /**
39087
- * Absolute path of the file whose content to download, as returned in the path field of computers.files.list.
39088
- */
39089
- path: string;
39090
- };
39091
- url: '/agent/v1/computers/{computer_id}/files/content';
41255
+ query?: never;
41256
+ url: '/agent/v1/computers/{computer_id}/files/convert';
39092
41257
  };
39093
- export type ComputersFilesContentErrors = {
41258
+ export type ComputersFilesConvertErrors = {
39094
41259
  /**
39095
41260
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
39096
41261
  */
@@ -39229,29 +41394,6 @@ export type ComputersFilesContentErrors = {
39229
41394
  */
39230
41395
  request_id: string;
39231
41396
  };
39232
- /**
39233
- * Range unavailable
39234
- */
39235
- 416: {
39236
- type: 'error';
39237
- error: {
39238
- /**
39239
- * Anthropic error type, such as invalid_request_error or not_found_error.
39240
- */
39241
- type: string;
39242
- message: string;
39243
- code: string;
39244
- retryable: boolean;
39245
- /**
39246
- * How to recover, for computer failures.
39247
- */
39248
- hint?: string;
39249
- };
39250
- /**
39251
- * Equals the X-Request-Id response header.
39252
- */
39253
- request_id: string;
39254
- };
39255
41397
  /**
39256
41398
  * Platform error in the one /agent/v1 error body; computer failures add error.hint
39257
41399
  */
@@ -39322,18 +41464,55 @@ export type ComputersFilesContentErrors = {
39322
41464
  request_id: string;
39323
41465
  };
39324
41466
  };
39325
- export type ComputersFilesContentError = ComputersFilesContentErrors[keyof ComputersFilesContentErrors];
39326
- export type ComputersFilesContentResponses = {
39327
- /**
39328
- * Raw file bytes (at most 16 MiB); Content-Type is inferred from the extension. ETag is present only when a digest is available. Larger files require the sandbox connection issued by connect.
39329
- */
39330
- 200: Blob | File;
41467
+ export type ComputersFilesConvertError = ComputersFilesConvertErrors[keyof ComputersFilesConvertErrors];
41468
+ export type ComputersFilesConvertResponses = {
39331
41469
  /**
39332
- * Single byte range
41470
+ * Computer result
39333
41471
  */
39334
- 206: Blob | File;
41472
+ 200: {
41473
+ /**
41474
+ * Always `computer`. A computer.
41475
+ */
41476
+ type: 'computer';
41477
+ /**
41478
+ * Computer id (cmp_...), the computer_id of computer calls.
41479
+ */
41480
+ id: string;
41481
+ /**
41482
+ * Display name of the computer, 1 to 255 characters.
41483
+ */
41484
+ name: string;
41485
+ /**
41486
+ * Public id of the sandbox that backs the computer, usable with the sandbox API; null while none has been created.
41487
+ */
41488
+ sandbox_id: string | null;
41489
+ /**
41490
+ * not_started means the machine has not been created; first use provisions it. provisioned means a machine has been created, whether running or paused.
41491
+ */
41492
+ machine_state: 'not_started' | 'provisioned';
41493
+ /**
41494
+ * Environment recipe the computer was created with; null when none.
41495
+ */
41496
+ environment_id: string | null;
41497
+ /**
41498
+ * active computers can be used by new sessions; archived ones keep their files readable but cannot start new sessions.
41499
+ */
41500
+ status: 'active' | 'archived';
41501
+ /**
41502
+ * RFC 3339 time at which the computer was created.
41503
+ */
41504
+ created_at: string;
41505
+ /**
41506
+ * RFC 3339 time at which the computer was last modified.
41507
+ */
41508
+ updated_at: string;
41509
+ /**
41510
+ * RFC 3339 time at which the computer was archived; null while active.
41511
+ */
41512
+ archived_at: string | null;
41513
+ };
39335
41514
  };
39336
- export type ComputersFilesContentResponse = ComputersFilesContentResponses[keyof ComputersFilesContentResponses];
41515
+ export type ComputersFilesConvertResponse = ComputersFilesConvertResponses[keyof ComputersFilesConvertResponses];
39337
41516
  export type ConnectComputerData = {
39338
41517
  body?: {
39339
41518
  /**
@@ -44331,6 +46510,42 @@ export type FileCancelUploadResponses = {
44331
46510
  200: OwnFilePraxisUpload;
44332
46511
  };
44333
46512
  export type FileCancelUploadResponse = FileCancelUploadResponses[keyof FileCancelUploadResponses];
46513
+ export type FileRetrieveUploadData = {
46514
+ body?: never;
46515
+ path: {
46516
+ /**
46517
+ * Upload identifier returned by create on this face; the upload belongs to your organization.
46518
+ */
46519
+ upload_id: string;
46520
+ };
46521
+ query?: never;
46522
+ url: '/file/v1/uploads/{upload_id}';
46523
+ };
46524
+ export type FileRetrieveUploadErrors = {
46525
+ /**
46526
+ * INVALID_PARAMS: correct the upload_id before retrying.
46527
+ */
46528
+ 400: unknown;
46529
+ /**
46530
+ * UNAUTHENTICATED: supply a valid organization API key or signed-in session.
46531
+ */
46532
+ 401: unknown;
46533
+ /**
46534
+ * UPLOAD_NOT_FOUND: the upload is missing or belongs to another organization; create a new upload and send its parts.
46535
+ */
46536
+ 404: unknown;
46537
+ /**
46538
+ * UPLOAD_INVALID_STATE: the upload was cancelled or expired; create a new upload and send its parts again.
46539
+ */
46540
+ 409: unknown;
46541
+ };
46542
+ export type FileRetrieveUploadResponses = {
46543
+ /**
46544
+ * The upload state plus part_size and the received_parts list; complete once every part is present.
46545
+ */
46546
+ 200: OwnFilePraxisUpload;
46547
+ };
46548
+ export type FileRetrieveUploadResponse = FileRetrieveUploadResponses[keyof FileRetrieveUploadResponses];
44334
46549
  export type FileCreateSignedUploadData = {
44335
46550
  body: OwnFileSignedUploadRequest;
44336
46551
  path?: never;
@@ -65951,7 +68166,7 @@ export type AutomationTriggersCreateData = {
65951
68166
  */
65952
68167
  end_at?: string | null;
65953
68168
  /**
65954
- * skip (default) skips when a previous run is still active; allow permits overlapping runs.
68169
+ * skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow.
65955
68170
  */
65956
68171
  overlap?: 'skip' | 'allow';
65957
68172
  /**
@@ -66150,7 +68365,7 @@ export type AutomationTriggersPatchData = {
66150
68365
  */
66151
68366
  end_at?: string | null;
66152
68367
  /**
66153
- * skip (default) skips when a previous run is still active; allow permits overlapping runs.
68368
+ * skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow.
66154
68369
  */
66155
68370
  overlap?: 'skip' | 'allow';
66156
68371
  /**
@@ -70292,6 +72507,99 @@ export type CutCreateExportResponses = {
70292
72507
  202: CutExport;
70293
72508
  };
70294
72509
  export type CutCreateExportResponse = CutCreateExportResponses[keyof CutCreateExportResponses];
72510
+ export type CutCreateRenderData = {
72511
+ /**
72512
+ * The interval to render, on the project's own second-based clock. The interval is bounded so a draft stays a listening or viewing aid rather than a delivery; long passages are requested in several ranges.
72513
+ */
72514
+ body: CutDraftRenderInput;
72515
+ path: {
72516
+ /**
72517
+ * Project identifier returned by its create or list operation; use the id, not a display name.
72518
+ */
72519
+ project_id: string;
72520
+ };
72521
+ query?: never;
72522
+ url: '/cut/v1/projects/{project_id}/renders';
72523
+ };
72524
+ export type CutCreateRenderErrors = {
72525
+ /**
72526
+ * INVALID_PARAMS or BINDING_INVALID means a request field, identifier or library binding is invalid; correct the indicated input before retrying.
72527
+ */
72528
+ 400: CutCutError;
72529
+ /**
72530
+ * The API key is missing, invalid or has no organization; supply a valid organization API key before retrying.
72531
+ */
72532
+ 401: CutCutError;
72533
+ /**
72534
+ * PERMISSION_DENIED means the credential cannot perform this operation; use a key with the required Cut access in the owning organization.
72535
+ */
72536
+ 403: CutCutError;
72537
+ /**
72538
+ * PROJECT_NOT_FOUND, EXPORT_NOT_FOUND, VERSION_NOT_FOUND or LIBRARY_NOT_FOUND means the requested resource is missing, deleted or outside the organization; choose an accessible identifier from its list operation.
72539
+ */
72540
+ 404: CutCutError;
72541
+ /**
72542
+ * CUT_BUSY means too much work is queued for this project; let pending work complete before retrying.
72543
+ */
72544
+ 429: CutCutError;
72545
+ /**
72546
+ * INTERNAL means the request could not complete; inspect current project state before retrying a write to avoid duplicating a committed edit.
72547
+ */
72548
+ 500: CutCutError;
72549
+ /**
72550
+ * MEDIA_OFFLINE, MEDIA_UNAVAILABLE, MEDIA_IMPORT_FAILED or EXPORT_FAILED means required media or rendering could not complete; inspect source availability or the export error before retrying.
72551
+ */
72552
+ 503: CutCutError;
72553
+ };
72554
+ export type CutCreateRenderError = CutCreateRenderErrors[keyof CutCreateRenderErrors];
72555
+ export type CutCreateRenderResponses = {
72556
+ /**
72557
+ * Draft render accepted; poll renders.retrieve until status is done or failed.
72558
+ */
72559
+ 202: CutDraftRender;
72560
+ };
72561
+ export type CutCreateRenderResponse = CutCreateRenderResponses[keyof CutCreateRenderResponses];
72562
+ export type CutRetrieveRenderData = {
72563
+ body?: never;
72564
+ path: {
72565
+ /**
72566
+ * Draft render id (cutr_…) returned by projects.renders.create.
72567
+ */
72568
+ render_id: string;
72569
+ };
72570
+ query?: never;
72571
+ url: '/cut/v1/renders/{render_id}';
72572
+ };
72573
+ export type CutRetrieveRenderErrors = {
72574
+ /**
72575
+ * INVALID_PARAMS or BINDING_INVALID means a request field, identifier or library binding is invalid; correct the indicated input before retrying.
72576
+ */
72577
+ 400: CutCutError;
72578
+ /**
72579
+ * The API key is missing, invalid or has no organization; supply a valid organization API key before retrying.
72580
+ */
72581
+ 401: CutCutError;
72582
+ /**
72583
+ * PERMISSION_DENIED means the credential cannot perform this operation; use a key with the required Cut access in the owning organization.
72584
+ */
72585
+ 403: CutCutError;
72586
+ /**
72587
+ * PROJECT_NOT_FOUND, EXPORT_NOT_FOUND, VERSION_NOT_FOUND or LIBRARY_NOT_FOUND means the requested resource is missing, deleted or outside the organization; choose an accessible identifier from its list operation.
72588
+ */
72589
+ 404: CutCutError;
72590
+ /**
72591
+ * INTERNAL means the request could not complete; inspect current project state before retrying a write to avoid duplicating a committed edit.
72592
+ */
72593
+ 500: CutCutError;
72594
+ };
72595
+ export type CutRetrieveRenderError = CutRetrieveRenderErrors[keyof CutRetrieveRenderErrors];
72596
+ export type CutRetrieveRenderResponses = {
72597
+ /**
72598
+ * Draft render state; file_id and url are present only once status is done.
72599
+ */
72600
+ 200: CutDraftRender;
72601
+ };
72602
+ export type CutRetrieveRenderResponse = CutRetrieveRenderResponses[keyof CutRetrieveRenderResponses];
70295
72603
  export type CutRetrieveExportData = {
70296
72604
  body?: never;
70297
72605
  path: {
@@ -71613,6 +73921,886 @@ export type DatabaseInsertResponses = {
71613
73921
  201: Array<DatabaseRow | DatabaseProjectedRow>;
71614
73922
  };
71615
73923
  export type DatabaseInsertResponse = DatabaseInsertResponses[keyof DatabaseInsertResponses];
73924
+ export type DevopsTestCatalogGetData = {
73925
+ body?: never;
73926
+ path: {
73927
+ /**
73928
+ * Identifies the project whose data you are reading, from the project list or create answer.
73929
+ */
73930
+ project: string;
73931
+ };
73932
+ query?: {
73933
+ /**
73934
+ * Full 40-character commit sha whose catalog you want, from a project branch or commit read. Omit it to read the newest catalog published for the project.
73935
+ */
73936
+ commit?: string;
73937
+ };
73938
+ url: '/devops/v1/projects/{project}/test-catalog';
73939
+ };
73940
+ export type DevopsTestCatalogGetErrors = {
73941
+ /**
73942
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
73943
+ */
73944
+ 400: DevopsDevOpsError;
73945
+ /**
73946
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
73947
+ */
73948
+ 401: DevopsDevOpsError;
73949
+ /**
73950
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
73951
+ */
73952
+ 403: DevopsDevOpsError;
73953
+ /**
73954
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
73955
+ */
73956
+ 404: DevopsDevOpsError;
73957
+ /**
73958
+ * CATALOG_NOT_READY means discovery for that commit is still running, so the catalog is not final; read again in a moment. A catalog is never invented for a commit that has none.
73959
+ */
73960
+ 409: DevopsDevOpsError;
73961
+ /**
73962
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
73963
+ */
73964
+ 500: DevopsDevOpsError;
73965
+ };
73966
+ export type DevopsTestCatalogGetError = DevopsTestCatalogGetErrors[keyof DevopsTestCatalogGetErrors];
73967
+ export type DevopsTestCatalogGetResponses = {
73968
+ /**
73969
+ * The catalog version in force at that commit, with its counts and its diff against the previous published catalog.
73970
+ */
73971
+ 200: DevopsCatalogVersion;
73972
+ };
73973
+ export type DevopsTestCatalogGetResponse = DevopsTestCatalogGetResponses[keyof DevopsTestCatalogGetResponses];
73974
+ export type DevopsTestSuitesListData = {
73975
+ body?: never;
73976
+ path: {
73977
+ /**
73978
+ * Identifies the project whose data you are reading, from the project list or create answer.
73979
+ */
73980
+ project: string;
73981
+ };
73982
+ query?: {
73983
+ /**
73984
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
73985
+ */
73986
+ pageSize?: number;
73987
+ /**
73988
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
73989
+ */
73990
+ pageToken?: string;
73991
+ /**
73992
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
73993
+ */
73994
+ orderBy?: string;
73995
+ };
73996
+ url: '/devops/v1/projects/{project}/test-suites';
73997
+ };
73998
+ export type DevopsTestSuitesListErrors = {
73999
+ /**
74000
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74001
+ */
74002
+ 400: DevopsDevOpsError;
74003
+ /**
74004
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74005
+ */
74006
+ 401: DevopsDevOpsError;
74007
+ /**
74008
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74009
+ */
74010
+ 403: DevopsDevOpsError;
74011
+ /**
74012
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74013
+ */
74014
+ 404: DevopsDevOpsError;
74015
+ /**
74016
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74017
+ */
74018
+ 500: DevopsDevOpsError;
74019
+ };
74020
+ export type DevopsTestSuitesListError = DevopsTestSuitesListErrors[keyof DevopsTestSuitesListErrors];
74021
+ export type DevopsTestSuitesListResponses = {
74022
+ /**
74023
+ * One page of suites, newest catalog first; nextPageToken is the cursor for the following page and is empty on the last one.
74024
+ */
74025
+ 200: DevopsSuitePage;
74026
+ };
74027
+ export type DevopsTestSuitesListResponse = DevopsTestSuitesListResponses[keyof DevopsTestSuitesListResponses];
74028
+ export type DevopsTestSuitesGetData = {
74029
+ body?: never;
74030
+ path: {
74031
+ /**
74032
+ * The suite identifier returned by a suite list, not the file path it was discovered from.
74033
+ */
74034
+ id: string;
74035
+ };
74036
+ query?: never;
74037
+ url: '/devops/v1/test-suites/{id}';
74038
+ };
74039
+ export type DevopsTestSuitesGetErrors = {
74040
+ /**
74041
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74042
+ */
74043
+ 401: DevopsDevOpsError;
74044
+ /**
74045
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74046
+ */
74047
+ 403: DevopsDevOpsError;
74048
+ /**
74049
+ * SUITE_NOT_FOUND means no suite with that id exists in this organization; a suite id comes from a suite list, and one from another organization is never readable.
74050
+ */
74051
+ 404: DevopsDevOpsError;
74052
+ /**
74053
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74054
+ */
74055
+ 500: DevopsDevOpsError;
74056
+ };
74057
+ export type DevopsTestSuitesGetError = DevopsTestSuitesGetErrors[keyof DevopsTestSuitesGetErrors];
74058
+ export type DevopsTestSuitesGetResponses = {
74059
+ /**
74060
+ * The suite, with the catalog commit it was discovered at.
74061
+ */
74062
+ 200: DevopsSuite;
74063
+ };
74064
+ export type DevopsTestSuitesGetResponse = DevopsTestSuitesGetResponses[keyof DevopsTestSuitesGetResponses];
74065
+ export type DevopsTestCasesListData = {
74066
+ body?: never;
74067
+ path: {
74068
+ /**
74069
+ * Identifies the project whose data you are reading, from the project list or create answer.
74070
+ */
74071
+ project: string;
74072
+ };
74073
+ query?: {
74074
+ /**
74075
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
74076
+ */
74077
+ pageSize?: number;
74078
+ /**
74079
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
74080
+ */
74081
+ pageToken?: string;
74082
+ /**
74083
+ * AIP-160 equality filter over one declared field at a time, for example state=quarantined or health=broken. Fields a case list does not declare are refused with INVALID_ARGUMENT rather than ignored, so a typo never silently widens the result.
74084
+ */
74085
+ filter?: string;
74086
+ /**
74087
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
74088
+ */
74089
+ orderBy?: string;
74090
+ };
74091
+ url: '/devops/v1/projects/{project}/test-cases';
74092
+ };
74093
+ export type DevopsTestCasesListErrors = {
74094
+ /**
74095
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74096
+ */
74097
+ 400: DevopsDevOpsError;
74098
+ /**
74099
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74100
+ */
74101
+ 401: DevopsDevOpsError;
74102
+ /**
74103
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74104
+ */
74105
+ 403: DevopsDevOpsError;
74106
+ /**
74107
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74108
+ */
74109
+ 404: DevopsDevOpsError;
74110
+ /**
74111
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74112
+ */
74113
+ 500: DevopsDevOpsError;
74114
+ };
74115
+ export type DevopsTestCasesListError = DevopsTestCasesListErrors[keyof DevopsTestCasesListErrors];
74116
+ export type DevopsTestCasesListResponses = {
74117
+ /**
74118
+ * One page of cases in catalog file order; nextPageToken is empty when the page is the last.
74119
+ */
74120
+ 200: DevopsTestCasePage;
74121
+ };
74122
+ export type DevopsTestCasesListResponse = DevopsTestCasesListResponses[keyof DevopsTestCasesListResponses];
74123
+ export type DevopsTestCasesGetData = {
74124
+ body?: never;
74125
+ path: {
74126
+ /**
74127
+ * The case identifier returned by a case list, or an older id listed in that case's aliases.
74128
+ */
74129
+ id: string;
74130
+ };
74131
+ query?: never;
74132
+ url: '/devops/v1/test-cases/{id}';
74133
+ };
74134
+ export type DevopsTestCasesGetErrors = {
74135
+ /**
74136
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74137
+ */
74138
+ 401: DevopsDevOpsError;
74139
+ /**
74140
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74141
+ */
74142
+ 403: DevopsDevOpsError;
74143
+ /**
74144
+ * CASE_NOT_FOUND means no case with that id exists in this organization, or its id prefix is not a case id; list the project's cases and use an id from that answer.
74145
+ */
74146
+ 404: DevopsDevOpsError;
74147
+ /**
74148
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74149
+ */
74150
+ 500: DevopsDevOpsError;
74151
+ };
74152
+ export type DevopsTestCasesGetError = DevopsTestCasesGetErrors[keyof DevopsTestCasesGetErrors];
74153
+ export type DevopsTestCasesGetResponses = {
74154
+ /**
74155
+ * The case with its state, statistics and alias ids.
74156
+ */
74157
+ 200: DevopsTestCase;
74158
+ };
74159
+ export type DevopsTestCasesGetResponse = DevopsTestCasesGetResponses[keyof DevopsTestCasesGetResponses];
74160
+ export type DevopsTestPlansListData = {
74161
+ body?: never;
74162
+ path: {
74163
+ /**
74164
+ * Identifies the project whose data you are reading, from the project list or create answer.
74165
+ */
74166
+ project: string;
74167
+ };
74168
+ query?: {
74169
+ /**
74170
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
74171
+ */
74172
+ pageSize?: number;
74173
+ /**
74174
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
74175
+ */
74176
+ pageToken?: string;
74177
+ /**
74178
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
74179
+ */
74180
+ orderBy?: string;
74181
+ };
74182
+ url: '/devops/v1/projects/{project}/test-plans';
74183
+ };
74184
+ export type DevopsTestPlansListErrors = {
74185
+ /**
74186
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74187
+ */
74188
+ 400: DevopsDevOpsError;
74189
+ /**
74190
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74191
+ */
74192
+ 401: DevopsDevOpsError;
74193
+ /**
74194
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74195
+ */
74196
+ 403: DevopsDevOpsError;
74197
+ /**
74198
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74199
+ */
74200
+ 404: DevopsDevOpsError;
74201
+ /**
74202
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74203
+ */
74204
+ 500: DevopsDevOpsError;
74205
+ };
74206
+ export type DevopsTestPlansListError = DevopsTestPlansListErrors[keyof DevopsTestPlansListErrors];
74207
+ export type DevopsTestPlansListResponses = {
74208
+ /**
74209
+ * One page of plans in creation order; nextPageToken is empty on the last page.
74210
+ */
74211
+ 200: DevopsPlanPage;
74212
+ };
74213
+ export type DevopsTestPlansListResponse = DevopsTestPlansListResponses[keyof DevopsTestPlansListResponses];
74214
+ export type DevopsTestPlansCreateData = {
74215
+ /**
74216
+ * The plan to create; key, title, stage, trigger, selector and gate are required.
74217
+ */
74218
+ body: DevopsPlanCreate;
74219
+ path: {
74220
+ /**
74221
+ * Identifies the project whose data you are reading, from the project list or create answer.
74222
+ */
74223
+ project: string;
74224
+ };
74225
+ query?: never;
74226
+ url: '/devops/v1/projects/{project}/test-plans';
74227
+ };
74228
+ export type DevopsTestPlansCreateErrors = {
74229
+ /**
74230
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74231
+ */
74232
+ 400: DevopsDevOpsError;
74233
+ /**
74234
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74235
+ */
74236
+ 401: DevopsDevOpsError;
74237
+ /**
74238
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74239
+ */
74240
+ 403: DevopsDevOpsError;
74241
+ /**
74242
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74243
+ */
74244
+ 404: DevopsDevOpsError;
74245
+ /**
74246
+ * PLAN_GATE_ENVIRONMENT_MISMATCH means the gate needs an environment and none was named, or an environment was named for a gate that does not guard one; name the environment the gate protects, or clear the gate. Nothing was created.
74247
+ */
74248
+ 409: DevopsDevOpsError;
74249
+ /**
74250
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74251
+ */
74252
+ 500: DevopsDevOpsError;
74253
+ };
74254
+ export type DevopsTestPlansCreateError = DevopsTestPlansCreateErrors[keyof DevopsTestPlansCreateErrors];
74255
+ export type DevopsTestPlansCreateResponses = {
74256
+ /**
74257
+ * The created plan, already enabled, with its id for later runs and updates.
74258
+ */
74259
+ 200: DevopsPlan;
74260
+ };
74261
+ export type DevopsTestPlansCreateResponse = DevopsTestPlansCreateResponses[keyof DevopsTestPlansCreateResponses];
74262
+ export type DevopsTestPlansDeleteData = {
74263
+ body?: never;
74264
+ path: {
74265
+ /**
74266
+ * The plan identifier returned by a plan list or create answer.
74267
+ */
74268
+ id: string;
74269
+ };
74270
+ query?: never;
74271
+ url: '/devops/v1/test-plans/{id}';
74272
+ };
74273
+ export type DevopsTestPlansDeleteErrors = {
74274
+ /**
74275
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74276
+ */
74277
+ 401: DevopsDevOpsError;
74278
+ /**
74279
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74280
+ */
74281
+ 403: DevopsDevOpsError;
74282
+ /**
74283
+ * PLAN_NOT_FOUND means no plan with that id exists in this organization; list the project's plans and use an id from that answer.
74284
+ */
74285
+ 404: DevopsDevOpsError;
74286
+ /**
74287
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74288
+ */
74289
+ 500: DevopsDevOpsError;
74290
+ };
74291
+ export type DevopsTestPlansDeleteError = DevopsTestPlansDeleteErrors[keyof DevopsTestPlansDeleteErrors];
74292
+ export type DevopsTestPlansDeleteResponses = {
74293
+ /**
74294
+ * The deletion result; deleted true means the plan no longer schedules runs.
74295
+ */
74296
+ 200: DevopsPlanDeleted;
74297
+ };
74298
+ export type DevopsTestPlansDeleteResponse = DevopsTestPlansDeleteResponses[keyof DevopsTestPlansDeleteResponses];
74299
+ export type DevopsTestPlansGetData = {
74300
+ body?: never;
74301
+ path: {
74302
+ /**
74303
+ * The plan identifier returned by a plan list or create answer.
74304
+ */
74305
+ id: string;
74306
+ };
74307
+ query?: never;
74308
+ url: '/devops/v1/test-plans/{id}';
74309
+ };
74310
+ export type DevopsTestPlansGetErrors = {
74311
+ /**
74312
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74313
+ */
74314
+ 401: DevopsDevOpsError;
74315
+ /**
74316
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74317
+ */
74318
+ 403: DevopsDevOpsError;
74319
+ /**
74320
+ * PLAN_NOT_FOUND means no plan with that id exists in this organization; list the project's plans and use an id from that answer.
74321
+ */
74322
+ 404: DevopsDevOpsError;
74323
+ /**
74324
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74325
+ */
74326
+ 500: DevopsDevOpsError;
74327
+ };
74328
+ export type DevopsTestPlansGetError = DevopsTestPlansGetErrors[keyof DevopsTestPlansGetErrors];
74329
+ export type DevopsTestPlansGetResponses = {
74330
+ /**
74331
+ * The plan with its selector, trigger, gate and pause state.
74332
+ */
74333
+ 200: DevopsPlan;
74334
+ };
74335
+ export type DevopsTestPlansGetResponse = DevopsTestPlansGetResponses[keyof DevopsTestPlansGetResponses];
74336
+ export type DevopsTestPlansUpdateData = {
74337
+ /**
74338
+ * A patch whose plan object holds only the fields to change, plus an optional update mask naming them.
74339
+ */
74340
+ body: DevopsPlanUpdate;
74341
+ path: {
74342
+ /**
74343
+ * The plan identifier returned by a plan list or create answer.
74344
+ */
74345
+ id: string;
74346
+ };
74347
+ query?: never;
74348
+ url: '/devops/v1/test-plans/{id}';
74349
+ };
74350
+ export type DevopsTestPlansUpdateErrors = {
74351
+ /**
74352
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74353
+ */
74354
+ 400: DevopsDevOpsError;
74355
+ /**
74356
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74357
+ */
74358
+ 401: DevopsDevOpsError;
74359
+ /**
74360
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74361
+ */
74362
+ 403: DevopsDevOpsError;
74363
+ /**
74364
+ * PLAN_NOT_FOUND means no plan with that id exists in this organization; list the project's plans and use an id from that answer.
74365
+ */
74366
+ 404: DevopsDevOpsError;
74367
+ /**
74368
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74369
+ */
74370
+ 500: DevopsDevOpsError;
74371
+ };
74372
+ export type DevopsTestPlansUpdateError = DevopsTestPlansUpdateErrors[keyof DevopsTestPlansUpdateErrors];
74373
+ export type DevopsTestPlansUpdateResponses = {
74374
+ /**
74375
+ * The plan after the patch, with its update time advanced.
74376
+ */
74377
+ 200: DevopsPlan;
74378
+ };
74379
+ export type DevopsTestPlansUpdateResponse = DevopsTestPlansUpdateResponses[keyof DevopsTestPlansUpdateResponses];
74380
+ export type DevopsTestPlansPauseData = {
74381
+ /**
74382
+ * The reason to record, and optionally the time the plan resumes by itself.
74383
+ */
74384
+ body: DevopsPlanPause;
74385
+ path: {
74386
+ /**
74387
+ * The plan identifier returned by a plan list or create answer.
74388
+ */
74389
+ id: string;
74390
+ };
74391
+ query?: never;
74392
+ url: '/devops/v1/test-plans/{id}:pause';
74393
+ };
74394
+ export type DevopsTestPlansPauseErrors = {
74395
+ /**
74396
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74397
+ */
74398
+ 400: DevopsDevOpsError;
74399
+ /**
74400
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74401
+ */
74402
+ 401: DevopsDevOpsError;
74403
+ /**
74404
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74405
+ */
74406
+ 403: DevopsDevOpsError;
74407
+ /**
74408
+ * PLAN_NOT_FOUND means no plan with that id exists in this organization; list the project's plans and use an id from that answer.
74409
+ */
74410
+ 404: DevopsDevOpsError;
74411
+ /**
74412
+ * PLAN_PAUSED means the plan is already paused; read it for the reason and resume time in force instead of pausing it again.
74413
+ */
74414
+ 409: DevopsDevOpsError;
74415
+ /**
74416
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74417
+ */
74418
+ 500: DevopsDevOpsError;
74419
+ };
74420
+ export type DevopsTestPlansPauseError = DevopsTestPlansPauseErrors[keyof DevopsTestPlansPauseErrors];
74421
+ export type DevopsTestPlansPauseResponses = {
74422
+ /**
74423
+ * The plan now paused, carrying the reason and the optional resume time.
74424
+ */
74425
+ 200: DevopsPlan;
74426
+ };
74427
+ export type DevopsTestPlansPauseResponse = DevopsTestPlansPauseResponses[keyof DevopsTestPlansPauseResponses];
74428
+ export type DevopsTestPlansResumeData = {
74429
+ body?: never;
74430
+ path: {
74431
+ /**
74432
+ * The plan identifier returned by a plan list or create answer.
74433
+ */
74434
+ id: string;
74435
+ };
74436
+ query?: never;
74437
+ url: '/devops/v1/test-plans/{id}:resume';
74438
+ };
74439
+ export type DevopsTestPlansResumeErrors = {
74440
+ /**
74441
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74442
+ */
74443
+ 401: DevopsDevOpsError;
74444
+ /**
74445
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74446
+ */
74447
+ 403: DevopsDevOpsError;
74448
+ /**
74449
+ * PLAN_NOT_FOUND means no plan with that id exists in this organization; list the project's plans and use an id from that answer.
74450
+ */
74451
+ 404: DevopsDevOpsError;
74452
+ /**
74453
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74454
+ */
74455
+ 500: DevopsDevOpsError;
74456
+ };
74457
+ export type DevopsTestPlansResumeError = DevopsTestPlansResumeErrors[keyof DevopsTestPlansResumeErrors];
74458
+ export type DevopsTestPlansResumeResponses = {
74459
+ /**
74460
+ * The plan with its pause cleared.
74461
+ */
74462
+ 200: DevopsPlan;
74463
+ };
74464
+ export type DevopsTestPlansResumeResponse = DevopsTestPlansResumeResponses[keyof DevopsTestPlansResumeResponses];
74465
+ export type DevopsTestRunsListData = {
74466
+ body?: never;
74467
+ path: {
74468
+ /**
74469
+ * Identifies the project whose data you are reading, from the project list or create answer.
74470
+ */
74471
+ project: string;
74472
+ };
74473
+ query?: {
74474
+ /**
74475
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
74476
+ */
74477
+ pageSize?: number;
74478
+ /**
74479
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
74480
+ */
74481
+ pageToken?: string;
74482
+ /**
74483
+ * AIP-160 equality filter over one declared field, for example state=running or result=failed. An undeclared field is refused with INVALID_ARGUMENT; it is never ignored, so a mistyped filter cannot quietly return everything.
74484
+ */
74485
+ filter?: string;
74486
+ /**
74487
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
74488
+ */
74489
+ orderBy?: string;
74490
+ };
74491
+ url: '/devops/v1/projects/{project}/test-runs';
74492
+ };
74493
+ export type DevopsTestRunsListErrors = {
74494
+ /**
74495
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74496
+ */
74497
+ 400: DevopsDevOpsError;
74498
+ /**
74499
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74500
+ */
74501
+ 401: DevopsDevOpsError;
74502
+ /**
74503
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74504
+ */
74505
+ 403: DevopsDevOpsError;
74506
+ /**
74507
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74508
+ */
74509
+ 404: DevopsDevOpsError;
74510
+ /**
74511
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74512
+ */
74513
+ 500: DevopsDevOpsError;
74514
+ };
74515
+ export type DevopsTestRunsListError = DevopsTestRunsListErrors[keyof DevopsTestRunsListErrors];
74516
+ export type DevopsTestRunsListResponses = {
74517
+ /**
74518
+ * One page of runs, newest first; nextPageToken is empty on the last page.
74519
+ */
74520
+ 200: DevopsRunPage;
74521
+ };
74522
+ export type DevopsTestRunsListResponse = DevopsTestRunsListResponses[keyof DevopsTestRunsListResponses];
74523
+ export type DevopsTestRunsCreateData = {
74524
+ /**
74525
+ * The commit to test, plus the plan or selector that decides which cases run.
74526
+ */
74527
+ body: DevopsRunCreate;
74528
+ path: {
74529
+ /**
74530
+ * Identifies the project whose data you are reading, from the project list or create answer.
74531
+ */
74532
+ project: string;
74533
+ };
74534
+ query?: never;
74535
+ url: '/devops/v1/projects/{project}/test-runs';
74536
+ };
74537
+ export type DevopsTestRunsCreateErrors = {
74538
+ /**
74539
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74540
+ */
74541
+ 400: DevopsDevOpsError;
74542
+ /**
74543
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74544
+ */
74545
+ 401: DevopsDevOpsError;
74546
+ /**
74547
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74548
+ */
74549
+ 403: DevopsDevOpsError;
74550
+ /**
74551
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74552
+ */
74553
+ 404: DevopsDevOpsError;
74554
+ /**
74555
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74556
+ */
74557
+ 500: DevopsDevOpsError;
74558
+ };
74559
+ export type DevopsTestRunsCreateError = DevopsTestRunsCreateErrors[keyof DevopsTestRunsCreateErrors];
74560
+ export type DevopsTestRunsCreateResponses = {
74561
+ /**
74562
+ * The created run; its result is pending until executions are reported, unless waitUntil already waited for a verdict.
74563
+ */
74564
+ 200: DevopsRun;
74565
+ };
74566
+ export type DevopsTestRunsCreateResponse = DevopsTestRunsCreateResponses[keyof DevopsTestRunsCreateResponses];
74567
+ export type DevopsTestRunsGetData = {
74568
+ body?: never;
74569
+ path: {
74570
+ /**
74571
+ * The run identifier returned by a run list or create answer.
74572
+ */
74573
+ id: string;
74574
+ };
74575
+ query?: {
74576
+ /**
74577
+ * Repeatable field to expand inline. failedExecutions returns the non-passed executions with the run, which saves a second call when you only need to see what broke; omit it for the bare run.
74578
+ */
74579
+ expand?: Array<'failedExecutions'>;
74580
+ };
74581
+ url: '/devops/v1/test-runs/{id}';
74582
+ };
74583
+ export type DevopsTestRunsGetErrors = {
74584
+ /**
74585
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74586
+ */
74587
+ 400: DevopsDevOpsError;
74588
+ /**
74589
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74590
+ */
74591
+ 401: DevopsDevOpsError;
74592
+ /**
74593
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74594
+ */
74595
+ 403: DevopsDevOpsError;
74596
+ /**
74597
+ * RUN_NOT_FOUND means no run with that id exists in this organization; list the project's runs and use an id from that answer. A run belonging to another organization reads the same way.
74598
+ */
74599
+ 404: DevopsDevOpsError;
74600
+ /**
74601
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74602
+ */
74603
+ 500: DevopsDevOpsError;
74604
+ };
74605
+ export type DevopsTestRunsGetError = DevopsTestRunsGetErrors[keyof DevopsTestRunsGetErrors];
74606
+ export type DevopsTestRunsGetResponses = {
74607
+ /**
74608
+ * The run, with failedExecutions present only when that expand was requested.
74609
+ */
74610
+ 200: DevopsRun;
74611
+ };
74612
+ export type DevopsTestRunsGetResponse = DevopsTestRunsGetResponses[keyof DevopsTestRunsGetResponses];
74613
+ export type DevopsTestRunsCancelData = {
74614
+ /**
74615
+ * The reason to record on the run; it is required and is shown to later readers.
74616
+ */
74617
+ body: DevopsRunCancel;
74618
+ path: {
74619
+ /**
74620
+ * The run identifier returned by a run list or create answer.
74621
+ */
74622
+ id: string;
74623
+ };
74624
+ query?: never;
74625
+ url: '/devops/v1/test-runs/{id}:cancel';
74626
+ };
74627
+ export type DevopsTestRunsCancelErrors = {
74628
+ /**
74629
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74630
+ */
74631
+ 400: DevopsDevOpsError;
74632
+ /**
74633
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74634
+ */
74635
+ 401: DevopsDevOpsError;
74636
+ /**
74637
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74638
+ */
74639
+ 403: DevopsDevOpsError;
74640
+ /**
74641
+ * RUN_NOT_FOUND means no run with that id exists in this organization; list the project's runs and use an id from that answer. A run belonging to another organization reads the same way.
74642
+ */
74643
+ 404: DevopsDevOpsError;
74644
+ /**
74645
+ * RUN_ALREADY_FINISHED means the run already reached a verdict, so there is nothing to cancel; read its result and start a new run if the commit needs testing again.
74646
+ */
74647
+ 409: DevopsDevOpsError;
74648
+ /**
74649
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74650
+ */
74651
+ 500: DevopsDevOpsError;
74652
+ };
74653
+ export type DevopsTestRunsCancelError = DevopsTestRunsCancelErrors[keyof DevopsTestRunsCancelErrors];
74654
+ export type DevopsTestRunsCancelResponses = {
74655
+ /**
74656
+ * The run now cancelled, carrying the reason and its end time.
74657
+ */
74658
+ 200: DevopsRun;
74659
+ };
74660
+ export type DevopsTestRunsCancelResponse = DevopsTestRunsCancelResponses[keyof DevopsTestRunsCancelResponses];
74661
+ export type DevopsTestExecutionsListData = {
74662
+ body?: never;
74663
+ path: {
74664
+ /**
74665
+ * The run whose executions you are reading, from a run list or create answer.
74666
+ */
74667
+ run: string;
74668
+ };
74669
+ query?: {
74670
+ /**
74671
+ * How many items this page returns, 1 to 100; omitted uses 50. A larger value is capped at 100 rather than refused, and 0 falls back to the default, so a paging loop never fails on a size alone.
74672
+ */
74673
+ pageSize?: number;
74674
+ /**
74675
+ * The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.
74676
+ */
74677
+ pageToken?: string;
74678
+ /**
74679
+ * AIP-160 equality filter over one declared field, for example result=failed to read only a run's failures. Fields an execution list does not declare are refused with INVALID_ARGUMENT rather than ignored.
74680
+ */
74681
+ filter?: string;
74682
+ /**
74683
+ * Comma-separated fields to order by, each optionally suffixed with desc, for example createTime desc. Only the fields the resource declares are accepted; anything else is refused so an ordering typo cannot silently return a different order. Omitted uses the resource's own order.
74684
+ */
74685
+ orderBy?: string;
74686
+ };
74687
+ url: '/devops/v1/test-runs/{run}/executions';
74688
+ };
74689
+ export type DevopsTestExecutionsListErrors = {
74690
+ /**
74691
+ * INVALID_PARAMS or INVALID_ARGUMENT means a field, query value or identifier violates the documented format or range — an unknown enum value, a pageSize outside 1..100, an unsupported filter or orderBy field, or an id with the wrong prefix. Correct the named input; nothing was read or written.
74692
+ */
74693
+ 400: DevopsDevOpsError;
74694
+ /**
74695
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74696
+ */
74697
+ 401: DevopsDevOpsError;
74698
+ /**
74699
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74700
+ */
74701
+ 403: DevopsDevOpsError;
74702
+ /**
74703
+ * RUN_NOT_FOUND means no run with that id exists in this organization; list the project's runs and use an id from that answer. A run belonging to another organization reads the same way.
74704
+ */
74705
+ 404: DevopsDevOpsError;
74706
+ /**
74707
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74708
+ */
74709
+ 500: DevopsDevOpsError;
74710
+ };
74711
+ export type DevopsTestExecutionsListError = DevopsTestExecutionsListErrors[keyof DevopsTestExecutionsListErrors];
74712
+ export type DevopsTestExecutionsListResponses = {
74713
+ /**
74714
+ * One page of executions; nextPageToken is empty on the last page.
74715
+ */
74716
+ 200: DevopsExecutionPage;
74717
+ };
74718
+ export type DevopsTestExecutionsListResponse = DevopsTestExecutionsListResponses[keyof DevopsTestExecutionsListResponses];
74719
+ export type DevopsTestExecutionsGetData = {
74720
+ body?: never;
74721
+ path: {
74722
+ /**
74723
+ * The run whose executions you are reading, from a run list or create answer.
74724
+ */
74725
+ run: string;
74726
+ /**
74727
+ * The case to read inside that run, from the run's execution list or the project's case list.
74728
+ */
74729
+ case: string;
74730
+ };
74731
+ query?: never;
74732
+ url: '/devops/v1/test-runs/{run}/executions/{case}';
74733
+ };
74734
+ export type DevopsTestExecutionsGetErrors = {
74735
+ /**
74736
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74737
+ */
74738
+ 401: DevopsDevOpsError;
74739
+ /**
74740
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74741
+ */
74742
+ 403: DevopsDevOpsError;
74743
+ /**
74744
+ * NOT_FOUND means that case was not executed in that run — it was not selected, or the run had not reached it when it was cancelled. List the run's executions to see which cases it actually holds.
74745
+ */
74746
+ 404: DevopsDevOpsError;
74747
+ /**
74748
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74749
+ */
74750
+ 500: DevopsDevOpsError;
74751
+ };
74752
+ export type DevopsTestExecutionsGetError = DevopsTestExecutionsGetErrors[keyof DevopsTestExecutionsGetErrors];
74753
+ export type DevopsTestExecutionsGetResponses = {
74754
+ /**
74755
+ * The execution for that case in that run, with its attempts and evidence.
74756
+ */
74757
+ 200: DevopsExecution;
74758
+ };
74759
+ export type DevopsTestExecutionsGetResponse = DevopsTestExecutionsGetResponses[keyof DevopsTestExecutionsGetResponses];
74760
+ export type DevopsTestReportsUploadData = {
74761
+ /**
74762
+ * The report document, its format, the run it belongs to, and the caller's own report id.
74763
+ */
74764
+ body: DevopsReportUploadRequest;
74765
+ path: {
74766
+ /**
74767
+ * Identifies the project whose data you are reading, from the project list or create answer.
74768
+ */
74769
+ project: string;
74770
+ };
74771
+ query?: never;
74772
+ url: '/devops/v1/projects/{project}/test-reports';
74773
+ };
74774
+ export type DevopsTestReportsUploadErrors = {
74775
+ /**
74776
+ * REPORT_INVALID means the body is not a well-formed report of the declared format, or a required field is missing; nothing was recorded, so correct the document and upload it again.
74777
+ */
74778
+ 400: DevopsDevOpsError;
74779
+ /**
74780
+ * The API key is missing or invalid; send a valid Praxis API key in the Authorization header before retrying.
74781
+ */
74782
+ 401: DevopsDevOpsError;
74783
+ /**
74784
+ * The credential carries no organization, or that organization cannot reach this project; use a key belonging to the project's organization. No cross-organization read is possible.
74785
+ */
74786
+ 403: DevopsDevOpsError;
74787
+ /**
74788
+ * PROJECT_NOT_FOUND means no project with that id is visible to this organization; list the projects and use an id from that answer.
74789
+ */
74790
+ 404: DevopsDevOpsError;
74791
+ /**
74792
+ * INTERNAL means the service could not complete the request; retry once, and if it repeats report the request id. A read is safe to repeat; a write that failed this way should be re-read before it is sent again.
74793
+ */
74794
+ 500: DevopsDevOpsError;
74795
+ };
74796
+ export type DevopsTestReportsUploadError = DevopsTestReportsUploadErrors[keyof DevopsTestReportsUploadErrors];
74797
+ export type DevopsTestReportsUploadResponses = {
74798
+ /**
74799
+ * The stored report with how many executions it carried and when it was received.
74800
+ */
74801
+ 200: DevopsReportUpload;
74802
+ };
74803
+ export type DevopsTestReportsUploadResponse = DevopsTestReportsUploadResponses[keyof DevopsTestReportsUploadResponses];
71616
74804
  export type KnowledgeListVectorStoresData = {
71617
74805
  body?: never;
71618
74806
  path?: never;
@@ -74287,9 +77475,9 @@ export type MediaListUnderstandingsData = {
74287
77475
  */
74288
77476
  include_superseded?: boolean;
74289
77477
  /**
74290
- * Return one output kind: caption is a visual description, tags are generated labels, ocr is visible text, transcript is speech, frame is a video shot, overview is a video summary, audio is sampled audio understanding, and embedding reports a failed embedding step.
77478
+ * Return one output kind: caption is a visual description, tags are generated labels, ocr is visible text, transcript is speech, frame is a video shot, overview is a video summary, audio is sampled audio understanding, loudness is measured loudness, beats is the measured tempo and beat grid, content is the derived speech, music and silence split, and embedding reports a failed embedding step.
74291
77479
  */
74292
- kind?: 'caption' | 'tags' | 'ocr' | 'transcript' | 'frame' | 'overview' | 'audio' | 'embedding';
77480
+ kind?: 'caption' | 'tags' | 'ocr' | 'transcript' | 'frame' | 'overview' | 'audio' | 'loudness' | 'beats' | 'content' | 'embedding';
74293
77481
  /**
74294
77482
  * Cursor from the previous next_cursor.
74295
77483
  */
@@ -75311,7 +78499,7 @@ export type MediaListUnderstandingsByLibraryData = {
75311
78499
  */
75312
78500
  folder?: string;
75313
78501
  /**
75314
- * Comma-separated output kinds: caption, tags, ocr, frame, transcript, overview, audio, embedding. Omit or empty to include every kind.
78502
+ * Comma-separated output kinds: caption, tags, ocr, frame, transcript, overview, audio, loudness, beats, content, embedding. Omit or empty to include every kind.
75315
78503
  */
75316
78504
  kinds?: string;
75317
78505
  /**
@@ -75798,6 +78986,646 @@ export type MediaGetGenerationCapabilitiesResponses = {
75798
78986
  200: MediaGenerationCapabilities;
75799
78987
  };
75800
78988
  export type MediaGetGenerationCapabilitiesResponse = MediaGetGenerationCapabilitiesResponses[keyof MediaGetGenerationCapabilitiesResponses];
78989
+ export type OntologyListTypesData = {
78990
+ body?: never;
78991
+ path?: never;
78992
+ query?: never;
78993
+ url: '/ontology/v1/types';
78994
+ };
78995
+ export type OntologyListTypesErrors = {
78996
+ /**
78997
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
78998
+ */
78999
+ 401: OntologyOntologyError;
79000
+ /**
79001
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79002
+ */
79003
+ 403: OntologyOntologyError;
79004
+ /**
79005
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79006
+ */
79007
+ 500: OntologyOntologyError;
79008
+ };
79009
+ export type OntologyListTypesError = OntologyListTypesErrors[keyof OntologyListTypesErrors];
79010
+ export type OntologyListTypesResponses = {
79011
+ /**
79012
+ * Every registration in force for this organization, in registration order.
79013
+ */
79014
+ 200: OntologyTypeRegistrationPage;
79015
+ };
79016
+ export type OntologyListTypesResponse = OntologyListTypesResponses[keyof OntologyListTypesResponses];
79017
+ export type OntologyRegisterTypeData = {
79018
+ /**
79019
+ * The registration to add; the same shape one registrant ships as its ontology.types.json.
79020
+ */
79021
+ body: OntologyTypeRegistration;
79022
+ path?: never;
79023
+ query?: never;
79024
+ url: '/ontology/v1/types';
79025
+ };
79026
+ export type OntologyRegisterTypeErrors = {
79027
+ /**
79028
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79029
+ */
79030
+ 400: OntologyOntologyError;
79031
+ /**
79032
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79033
+ */
79034
+ 401: OntologyOntologyError;
79035
+ /**
79036
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79037
+ */
79038
+ 403: OntologyOntologyError;
79039
+ /**
79040
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79041
+ */
79042
+ 500: OntologyOntologyError;
79043
+ /**
79044
+ * NOT_IMPLEMENTED means runtime registration is not open; the deploy gate registers types. Nothing was written.
79045
+ */
79046
+ 501: OntologyOntologyError;
79047
+ };
79048
+ export type OntologyRegisterTypeError = OntologyRegisterTypeErrors[keyof OntologyRegisterTypeErrors];
79049
+ export type OntologyRetrieveTypeData = {
79050
+ body?: never;
79051
+ path: {
79052
+ /**
79053
+ * A type name from types.list, with its dots preserved — a display label is not accepted.
79054
+ */
79055
+ name: string;
79056
+ };
79057
+ query?: never;
79058
+ url: '/ontology/v1/types/{name}';
79059
+ };
79060
+ export type OntologyRetrieveTypeErrors = {
79061
+ /**
79062
+ * ONTOLOGY_TYPE_UNKNOWN means the named type is not registered for this organization; call types.list for the names in force before writing records of it.
79063
+ */
79064
+ 400: OntologyOntologyError;
79065
+ /**
79066
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79067
+ */
79068
+ 401: OntologyOntologyError;
79069
+ /**
79070
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79071
+ */
79072
+ 403: OntologyOntologyError;
79073
+ /**
79074
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79075
+ */
79076
+ 500: OntologyOntologyError;
79077
+ };
79078
+ export type OntologyRetrieveTypeError = OntologyRetrieveTypeErrors[keyof OntologyRetrieveTypeErrors];
79079
+ export type OntologyRetrieveTypeResponses = {
79080
+ /**
79081
+ * The registration that carries this type, with its kind and definition.
79082
+ */
79083
+ 200: OntologyTypeLookup;
79084
+ };
79085
+ export type OntologyRetrieveTypeResponse = OntologyRetrieveTypeResponses[keyof OntologyRetrieveTypeResponses];
79086
+ export type OntologyListNodesData = {
79087
+ body?: never;
79088
+ path?: never;
79089
+ query?: {
79090
+ /**
79091
+ * Repeat to filter to any of several registered node type names, for example type=file&type=ticket; omit to list every type.
79092
+ */
79093
+ type?: Array<string>;
79094
+ /**
79095
+ * Free text matched against node names, aliases and descriptions; omit to list without a text filter.
79096
+ */
79097
+ q?: string;
79098
+ /**
79099
+ * Filter to nodes owned by this member id, or omit to list nodes of every owner; organization-wide nodes carry no owner.
79100
+ */
79101
+ owner?: string;
79102
+ /**
79103
+ * ISO 8601 timestamp; return the graph as it was then, so a node recorded later is absent. Omit to read current state.
79104
+ */
79105
+ as_of?: string;
79106
+ /**
79107
+ * Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100.
79108
+ */
79109
+ limit?: number;
79110
+ /**
79111
+ * Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.
79112
+ */
79113
+ cursor?: string;
79114
+ };
79115
+ url: '/ontology/v1/nodes';
79116
+ };
79117
+ export type OntologyListNodesErrors = {
79118
+ /**
79119
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79120
+ */
79121
+ 400: OntologyOntologyError;
79122
+ /**
79123
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79124
+ */
79125
+ 401: OntologyOntologyError;
79126
+ /**
79127
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79128
+ */
79129
+ 403: OntologyOntologyError;
79130
+ /**
79131
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79132
+ */
79133
+ 500: OntologyOntologyError;
79134
+ };
79135
+ export type OntologyListNodesError = OntologyListNodesErrors[keyof OntologyListNodesErrors];
79136
+ export type OntologyListNodesResponses = {
79137
+ /**
79138
+ * One page of nodes, ordered by node id, with next_cursor null on the last page.
79139
+ */
79140
+ 200: OntologyNodePage;
79141
+ };
79142
+ export type OntologyListNodesResponse = OntologyListNodesResponses[keyof OntologyListNodesResponses];
79143
+ export type OntologyCreateNodeData = {
79144
+ /**
79145
+ * The entity to record; name, type and the optional identity of the mirrored record.
79146
+ */
79147
+ body: OntologyCreateNodeInput;
79148
+ headers: {
79149
+ /**
79150
+ * Unique key for this write, at most 255 characters; resend the same key to replay the first result instead of writing twice. A missing or blank key is refused 400.
79151
+ */
79152
+ 'Idempotency-Key': string;
79153
+ };
79154
+ path?: never;
79155
+ query?: never;
79156
+ url: '/ontology/v1/nodes';
79157
+ };
79158
+ export type OntologyCreateNodeErrors = {
79159
+ /**
79160
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79161
+ */
79162
+ 400: OntologyOntologyError;
79163
+ /**
79164
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79165
+ */
79166
+ 401: OntologyOntologyError;
79167
+ /**
79168
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79169
+ */
79170
+ 403: OntologyOntologyError;
79171
+ /**
79172
+ * ONTOLOGY_CONFLICT means the Idempotency-Key was already used with different content; reuse the original request for that key or send a new key for a different write.
79173
+ */
79174
+ 409: OntologyOntologyError;
79175
+ /**
79176
+ * ONTOLOGY_CAPACITY means this organization's graph is at its size budget; free space by invalidating facts that are no longer true before retrying.
79177
+ */
79178
+ 429: OntologyOntologyError;
79179
+ /**
79180
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79181
+ */
79182
+ 500: OntologyOntologyError;
79183
+ };
79184
+ export type OntologyCreateNodeError = OntologyCreateNodeErrors[keyof OntologyCreateNodeErrors];
79185
+ export type OntologyCreateNodeResponses = {
79186
+ /**
79187
+ * The recorded node, with the id later reads, updates and relations use.
79188
+ */
79189
+ 201: OntologyNode;
79190
+ };
79191
+ export type OntologyCreateNodeResponse = OntologyCreateNodeResponses[keyof OntologyCreateNodeResponses];
79192
+ export type OntologyRetrieveNodeData = {
79193
+ body?: never;
79194
+ path: {
79195
+ /**
79196
+ * Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted.
79197
+ */
79198
+ node_id: string;
79199
+ };
79200
+ query?: {
79201
+ /**
79202
+ * Set to relations to include the node's incoming and outgoing relations in the same response; omit for the node alone.
79203
+ */
79204
+ expand?: 'relations';
79205
+ /**
79206
+ * ISO 8601 timestamp; read the node and its relations as they were then, including relations invalidated since. Omit to read current state.
79207
+ */
79208
+ as_of?: string;
79209
+ };
79210
+ url: '/ontology/v1/nodes/{node_id}';
79211
+ };
79212
+ export type OntologyRetrieveNodeErrors = {
79213
+ /**
79214
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79215
+ */
79216
+ 400: OntologyOntologyError;
79217
+ /**
79218
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79219
+ */
79220
+ 401: OntologyOntologyError;
79221
+ /**
79222
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79223
+ */
79224
+ 403: OntologyOntologyError;
79225
+ /**
79226
+ * ONTOLOGY_NODE_NOT_FOUND means the node does not exist in this organization — never created, or owned by another organization; list nodes to find an id you can read.
79227
+ */
79228
+ 404: OntologyOntologyError;
79229
+ /**
79230
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79231
+ */
79232
+ 500: OntologyOntologyError;
79233
+ };
79234
+ export type OntologyRetrieveNodeError = OntologyRetrieveNodeErrors[keyof OntologyRetrieveNodeErrors];
79235
+ export type OntologyRetrieveNodeResponses = {
79236
+ /**
79237
+ * The node, plus a relations array when expand=relations was requested.
79238
+ */
79239
+ 200: OntologyNodeWithRelations;
79240
+ };
79241
+ export type OntologyRetrieveNodeResponse = OntologyRetrieveNodeResponses[keyof OntologyRetrieveNodeResponses];
79242
+ export type OntologyUpdateNodeData = {
79243
+ /**
79244
+ * The fields to change; at least one of name, aliases or description.
79245
+ */
79246
+ body: OntologyUpdateNodeInput;
79247
+ path: {
79248
+ /**
79249
+ * Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted.
79250
+ */
79251
+ node_id: string;
79252
+ };
79253
+ query?: never;
79254
+ url: '/ontology/v1/nodes/{node_id}';
79255
+ };
79256
+ export type OntologyUpdateNodeErrors = {
79257
+ /**
79258
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79259
+ */
79260
+ 400: OntologyOntologyError;
79261
+ /**
79262
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79263
+ */
79264
+ 401: OntologyOntologyError;
79265
+ /**
79266
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79267
+ */
79268
+ 403: OntologyOntologyError;
79269
+ /**
79270
+ * ONTOLOGY_NODE_NOT_FOUND means the node does not exist in this organization — never created, or owned by another organization; list nodes to find an id you can read.
79271
+ */
79272
+ 404: OntologyOntologyError;
79273
+ /**
79274
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79275
+ */
79276
+ 500: OntologyOntologyError;
79277
+ };
79278
+ export type OntologyUpdateNodeError = OntologyUpdateNodeErrors[keyof OntologyUpdateNodeErrors];
79279
+ export type OntologyUpdateNodeResponses = {
79280
+ /**
79281
+ * The node after the update, with its new updated_at.
79282
+ */
79283
+ 200: OntologyNode;
79284
+ };
79285
+ export type OntologyUpdateNodeResponse = OntologyUpdateNodeResponses[keyof OntologyUpdateNodeResponses];
79286
+ export type OntologyMergeNodeData = {
79287
+ /**
79288
+ * The node the merged one folds into.
79289
+ */
79290
+ body: OntologyMergeNodeInput;
79291
+ headers: {
79292
+ /**
79293
+ * Unique key for this merge, at most 255 characters; resend the same key to replay the first result instead of merging twice.
79294
+ */
79295
+ 'Idempotency-Key': string;
79296
+ };
79297
+ path: {
79298
+ /**
79299
+ * Node id returned by nodes.list, nodes.create or a changeset, in the form ond_ followed by 32 lowercase letters or digits; a name or an external record id is not accepted.
79300
+ */
79301
+ node_id: string;
79302
+ };
79303
+ query?: never;
79304
+ url: '/ontology/v1/nodes/{node_id}/merge';
79305
+ };
79306
+ export type OntologyMergeNodeErrors = {
79307
+ /**
79308
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79309
+ */
79310
+ 400: OntologyOntologyError;
79311
+ /**
79312
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79313
+ */
79314
+ 401: OntologyOntologyError;
79315
+ /**
79316
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79317
+ */
79318
+ 403: OntologyOntologyError;
79319
+ /**
79320
+ * ONTOLOGY_NODE_NOT_FOUND means the node does not exist in this organization — never created, or owned by another organization; list nodes to find an id you can read.
79321
+ */
79322
+ 404: OntologyOntologyError;
79323
+ /**
79324
+ * ONTOLOGY_CONFLICT means the Idempotency-Key was already used with different content; reuse the original request for that key or send a new key for a different write.
79325
+ */
79326
+ 409: OntologyOntologyError;
79327
+ /**
79328
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79329
+ */
79330
+ 500: OntologyOntologyError;
79331
+ };
79332
+ export type OntologyMergeNodeError = OntologyMergeNodeErrors[keyof OntologyMergeNodeErrors];
79333
+ export type OntologyMergeNodeResponses = {
79334
+ /**
79335
+ * The surviving node that the merged id now resolves to.
79336
+ */
79337
+ 200: OntologyNode;
79338
+ };
79339
+ export type OntologyMergeNodeResponse = OntologyMergeNodeResponses[keyof OntologyMergeNodeResponses];
79340
+ export type OntologyListRelationsData = {
79341
+ body?: never;
79342
+ path?: never;
79343
+ query?: {
79344
+ /**
79345
+ * A node id from nodes.list or nodes.create; returns the relations this node takes part in, narrowed by direction. Omit to list relations between every node.
79346
+ */
79347
+ node?: string;
79348
+ /**
79349
+ * Repeat to filter to any of several registered relation type names, for example type=references&type=serves; omit to list every type.
79350
+ */
79351
+ type?: Array<string>;
79352
+ /**
79353
+ * Which side of node to follow; out returns relations the node is the source of, in returns those it is the target of. Only meaningful together with node.
79354
+ */
79355
+ direction?: 'out' | 'in' | 'both';
79356
+ /**
79357
+ * ISO 8601 timestamp; read relations as they were then, so one recorded or invalidated later is judged by that time. Omit to read current state.
79358
+ */
79359
+ as_of?: string;
79360
+ /**
79361
+ * Set true to include relations whose invalid_at has passed, which is how a relation that stopped being true stays readable. Omit or false for currently valid relations only.
79362
+ */
79363
+ include_invalid?: boolean;
79364
+ /**
79365
+ * Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100.
79366
+ */
79367
+ limit?: number;
79368
+ /**
79369
+ * Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.
79370
+ */
79371
+ cursor?: string;
79372
+ };
79373
+ url: '/ontology/v1/relations';
79374
+ };
79375
+ export type OntologyListRelationsErrors = {
79376
+ /**
79377
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79378
+ */
79379
+ 400: OntologyOntologyError;
79380
+ /**
79381
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79382
+ */
79383
+ 401: OntologyOntologyError;
79384
+ /**
79385
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79386
+ */
79387
+ 403: OntologyOntologyError;
79388
+ /**
79389
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79390
+ */
79391
+ 500: OntologyOntologyError;
79392
+ };
79393
+ export type OntologyListRelationsError = OntologyListRelationsErrors[keyof OntologyListRelationsErrors];
79394
+ export type OntologyListRelationsResponses = {
79395
+ /**
79396
+ * One page of relations, ordered by relation id, with next_cursor null on the last page.
79397
+ */
79398
+ 200: OntologyRelationPage;
79399
+ };
79400
+ export type OntologyListRelationsResponse = OntologyListRelationsResponses[keyof OntologyListRelationsResponses];
79401
+ export type OntologyCreateRelationData = {
79402
+ /**
79403
+ * The fact to record, between two node ids from this organization's graph.
79404
+ */
79405
+ body: OntologyCreateRelationInput;
79406
+ headers: {
79407
+ /**
79408
+ * Unique key for this write, at most 255 characters; resend the same key to replay the first result instead of writing twice. A missing or blank key is refused 400.
79409
+ */
79410
+ 'Idempotency-Key': string;
79411
+ };
79412
+ path?: never;
79413
+ query?: never;
79414
+ url: '/ontology/v1/relations';
79415
+ };
79416
+ export type OntologyCreateRelationErrors = {
79417
+ /**
79418
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79419
+ */
79420
+ 400: OntologyOntologyError;
79421
+ /**
79422
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79423
+ */
79424
+ 401: OntologyOntologyError;
79425
+ /**
79426
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79427
+ */
79428
+ 403: OntologyOntologyError;
79429
+ /**
79430
+ * ONTOLOGY_CONFLICT means the Idempotency-Key was already used with different content; reuse the original request for that key or send a new key for a different write.
79431
+ */
79432
+ 409: OntologyOntologyError;
79433
+ /**
79434
+ * ONTOLOGY_CAPACITY means this organization's graph is at its size budget; free space by invalidating facts that are no longer true before retrying.
79435
+ */
79436
+ 429: OntologyOntologyError;
79437
+ /**
79438
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79439
+ */
79440
+ 500: OntologyOntologyError;
79441
+ };
79442
+ export type OntologyCreateRelationError = OntologyCreateRelationErrors[keyof OntologyCreateRelationErrors];
79443
+ export type OntologyCreateRelationResponses = {
79444
+ /**
79445
+ * The recorded relation, with the id later reads and invalidation use.
79446
+ */
79447
+ 201: OntologyRelation;
79448
+ };
79449
+ export type OntologyCreateRelationResponse = OntologyCreateRelationResponses[keyof OntologyCreateRelationResponses];
79450
+ export type OntologyRetrieveRelationData = {
79451
+ body?: never;
79452
+ path: {
79453
+ /**
79454
+ * Relation id returned by relations.list, relations.create or a changeset, in the form oed_ followed by 32 lowercase letters or digits; a node id is not accepted.
79455
+ */
79456
+ relation_id: string;
79457
+ };
79458
+ query?: never;
79459
+ url: '/ontology/v1/relations/{relation_id}';
79460
+ };
79461
+ export type OntologyRetrieveRelationErrors = {
79462
+ /**
79463
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79464
+ */
79465
+ 400: OntologyOntologyError;
79466
+ /**
79467
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79468
+ */
79469
+ 401: OntologyOntologyError;
79470
+ /**
79471
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79472
+ */
79473
+ 403: OntologyOntologyError;
79474
+ /**
79475
+ * ONTOLOGY_EDGE_NOT_FOUND means the relation does not exist in this organization, or its content belongs to another member; list relations for the ids you may read.
79476
+ */
79477
+ 404: OntologyOntologyError;
79478
+ /**
79479
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79480
+ */
79481
+ 500: OntologyOntologyError;
79482
+ };
79483
+ export type OntologyRetrieveRelationError = OntologyRetrieveRelationErrors[keyof OntologyRetrieveRelationErrors];
79484
+ export type OntologyRetrieveRelationResponses = {
79485
+ /**
79486
+ * The relation, including its fact, endpoints and both clocks.
79487
+ */
79488
+ 200: OntologyRelation;
79489
+ };
79490
+ export type OntologyRetrieveRelationResponse = OntologyRetrieveRelationResponses[keyof OntologyRetrieveRelationResponses];
79491
+ export type OntologyInvalidateRelationData = {
79492
+ /**
79493
+ * When the fact stopped being true, and optionally what replaced it and why.
79494
+ */
79495
+ body: OntologyInvalidateRelationInput;
79496
+ headers: {
79497
+ /**
79498
+ * Unique key for this invalidation, at most 255 characters; resend the same key to replay the first result instead of invalidating twice.
79499
+ */
79500
+ 'Idempotency-Key': string;
79501
+ };
79502
+ path: {
79503
+ /**
79504
+ * Relation id returned by relations.list, relations.create or a changeset, in the form oed_ followed by 32 lowercase letters or digits; a node id is not accepted.
79505
+ */
79506
+ relation_id: string;
79507
+ };
79508
+ query?: never;
79509
+ url: '/ontology/v1/relations/{relation_id}/invalidate';
79510
+ };
79511
+ export type OntologyInvalidateRelationErrors = {
79512
+ /**
79513
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79514
+ */
79515
+ 400: OntologyOntologyError;
79516
+ /**
79517
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79518
+ */
79519
+ 401: OntologyOntologyError;
79520
+ /**
79521
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79522
+ */
79523
+ 403: OntologyOntologyError;
79524
+ /**
79525
+ * ONTOLOGY_EDGE_NOT_FOUND means the relation does not exist in this organization, or its content belongs to another member; list relations for the ids you may read.
79526
+ */
79527
+ 404: OntologyOntologyError;
79528
+ /**
79529
+ * ONTOLOGY_CONFLICT means the Idempotency-Key was already used with different content; reuse the original request for that key or send a new key for a different write.
79530
+ */
79531
+ 409: OntologyOntologyError;
79532
+ /**
79533
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79534
+ */
79535
+ 500: OntologyOntologyError;
79536
+ };
79537
+ export type OntologyInvalidateRelationError = OntologyInvalidateRelationErrors[keyof OntologyInvalidateRelationErrors];
79538
+ export type OntologyInvalidateRelationResponses = {
79539
+ /**
79540
+ * The relation after invalidation, with invalid_at set to the given time.
79541
+ */
79542
+ 200: OntologyRelation;
79543
+ };
79544
+ export type OntologyInvalidateRelationResponse = OntologyInvalidateRelationResponses[keyof OntologyInvalidateRelationResponses];
79545
+ export type OntologyApplyChangesetData = {
79546
+ /**
79547
+ * The operations to apply together, with the world time they describe.
79548
+ */
79549
+ body: OntologyChangesetInput;
79550
+ headers: {
79551
+ /**
79552
+ * Unique key for this batch, at most 255 characters; resend the same key to replay the first result instead of writing the batch twice.
79553
+ */
79554
+ 'Idempotency-Key': string;
79555
+ };
79556
+ path?: never;
79557
+ query?: never;
79558
+ url: '/ontology/v1/changesets';
79559
+ };
79560
+ export type OntologyApplyChangesetErrors = {
79561
+ /**
79562
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79563
+ */
79564
+ 400: OntologyOntologyError;
79565
+ /**
79566
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79567
+ */
79568
+ 401: OntologyOntologyError;
79569
+ /**
79570
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79571
+ */
79572
+ 403: OntologyOntologyError;
79573
+ /**
79574
+ * ONTOLOGY_CONFLICT means the Idempotency-Key was already used with different content; reuse the original request for that key or send a new key for a different write.
79575
+ */
79576
+ 409: OntologyOntologyError;
79577
+ /**
79578
+ * ONTOLOGY_CAPACITY means this organization's graph is at its size budget; free space by invalidating facts that are no longer true before retrying.
79579
+ */
79580
+ 429: OntologyOntologyError;
79581
+ /**
79582
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79583
+ */
79584
+ 500: OntologyOntologyError;
79585
+ };
79586
+ export type OntologyApplyChangesetError = OntologyApplyChangesetErrors[keyof OntologyApplyChangesetErrors];
79587
+ export type OntologyApplyChangesetResponses = {
79588
+ /**
79589
+ * The applied count, the ids assigned to the batch's keys, and replayed true when the key had been seen before.
79590
+ */
79591
+ 200: OntologyChangesetResult;
79592
+ };
79593
+ export type OntologyApplyChangesetResponse = OntologyApplyChangesetResponses[keyof OntologyApplyChangesetResponses];
79594
+ export type OntologySearchData = {
79595
+ /**
79596
+ * The text to resolve, optionally narrowed to particular node types and a result count.
79597
+ */
79598
+ body: OntologySearchInput;
79599
+ path?: never;
79600
+ query?: never;
79601
+ url: '/ontology/v1/search';
79602
+ };
79603
+ export type OntologySearchErrors = {
79604
+ /**
79605
+ * INVALID_PARAMS means a field, query value, header or identifier violates the documented format or range — a missing Idempotency-Key, an unknown direction, a non-numeric limit. Correct the indicated input; the message names what was wrong.
79606
+ */
79607
+ 400: OntologyOntologyError;
79608
+ /**
79609
+ * The bearer API key is missing or invalid; provide a valid Praxis API key before retrying.
79610
+ */
79611
+ 401: OntologyOntologyError;
79612
+ /**
79613
+ * The API key lacks permission for this operation, or carries no organization; use a key with the required ontology access in the owning organization.
79614
+ */
79615
+ 403: OntologyOntologyError;
79616
+ /**
79617
+ * INTERNAL means the service could not complete the request; before retrying a write, read the graph back so a partially applied change is not sent twice.
79618
+ */
79619
+ 500: OntologyOntologyError;
79620
+ };
79621
+ export type OntologySearchError = OntologySearchErrors[keyof OntologySearchErrors];
79622
+ export type OntologySearchResponses = {
79623
+ /**
79624
+ * Ranked candidate nodes, best match first, with the field each one matched on.
79625
+ */
79626
+ 200: OntologySearchResult;
79627
+ };
79628
+ export type OntologySearchResponse = OntologySearchResponses[keyof OntologySearchResponses];
75801
79629
  export type GetSandboxV1SandboxesData = {
75802
79630
  body?: never;
75803
79631
  path?: never;