@deepraxis/sdk 0.1.1-dev.ea9c801 → 0.1.1-dev.eaacee7

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.
@@ -107,7 +107,7 @@ export declare const operations: readonly [{
107
107
  readonly type: "array";
108
108
  readonly itemType: "object";
109
109
  readonly required: false;
110
- readonly description: "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; general and personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search or browser. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time.";
110
+ readonly description: "Platform resources and services this service agent's codemode may reach, as one list of typed bindings. Only kind=service accepts a nonempty list; general and personal agents return 400. There are two kinds. A resource binding names one resource with id and access: database (id db_..., read_only or read_write), vector_store (id vs_..., read_only or read_write), file (id file- plus 24 letters or digits, as the File API returns it; read_only), media_library (any id without ':' or whitespace, read_only or read_write), model (a model catalog id, invoke), workflow and script (id <namespace>/<name>, invoke). A service binding opens a whole service and carries only enabled: search, browser, ticket, crm, canvas or cut. There is no binding by default; enabling one opens every public method of that service. At most 20 bindings per type, no repeated type and id, and each service type at most once. A session is authorized by the agent version it runs: newly added bindings apply only to new sessions, and a version saved with apply=false changes no access until it is applied. Applying a version that disables, removes or downgrades a binding revokes it immediately in running sessions on older versions. A resource that is not bound returns 404, a service that is not opened returns 403, and a write to a resource bound read_only returns 403 BINDING_READ_ONLY. Unknown types, fields on the wrong kind (id, access or instructions on a service binding), wrong access and malformed ids return 400. The former databases, vector_stores and files fields are removed and return 400. Omit on create for no bindings. Saving checks added or changed database, vector_store, media_library and file bindings in the organization: unknown or deleted ids return 400. If an owner is unavailable or takes more than 3 seconds, saving succeeds with verified=false for the affected bindings. Unchanged bindings keep their previous verification result and are not rechecked. workflow and script ids are not verified at save time.";
111
111
  }, {
112
112
  readonly name: "kind";
113
113
  readonly type: "string";
@@ -938,6 +938,30 @@ export declare const operations: readonly [{
938
938
  readonly required: true;
939
939
  readonly description: "Absolute path of the file whose content to download, as returned in the path field of computers.files.list.";
940
940
  }];
941
+ }, {
942
+ readonly resource: "agent.computers.files.convert";
943
+ readonly method: "create";
944
+ readonly summary: "Convert a Computer Document to PDF";
945
+ readonly description: "Convert an Office document (docx, doc, ppt, pptx, rtf, odt; up to 16 MiB) to PDF inside a platform-owned ephemeral document sandbox, whatever machine family the computer itself runs on. Returns base64 PDF bytes.\n\nPraxis extension: the preview conversion endpoint. The browser never parses an untrusted document — LibreOffice runs only inside an ephemeral document-family sandbox and the converter instance is killed after use. The file stays tenant-owned; non-convertible types answer EXTENSION_NOT_CONVERTIBLE and a failed conversion answers CONVERSION_FAILED.";
946
+ readonly http: "POST";
947
+ readonly path: "/agent/v1/computers/{computer_id}/files/convert";
948
+ readonly streaming: "no";
949
+ readonly pagination: false;
950
+ readonly pathParams: readonly [{
951
+ readonly name: "computer_id";
952
+ readonly sdkName: "computer_id";
953
+ readonly description: "Computer id (cmp_...), as returned by computers.create or computers.list.";
954
+ }];
955
+ readonly query: readonly [];
956
+ readonly body: {
957
+ readonly required: true;
958
+ readonly fields: readonly [{
959
+ readonly name: "name";
960
+ readonly type: "string";
961
+ readonly required: true;
962
+ readonly description: "Name of the entry or object.";
963
+ }];
964
+ };
941
965
  }, {
942
966
  readonly resource: "agent.computers.leases";
943
967
  readonly method: "delete";
@@ -4845,7 +4869,7 @@ export declare const operations: readonly [{
4845
4869
  readonly type: "string";
4846
4870
  readonly enum: readonly ["skip", "allow"];
4847
4871
  readonly required: false;
4848
- readonly description: "skip (default) skips when a previous run is still active; allow permits overlapping runs.";
4872
+ readonly description: "skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow.";
4849
4873
  }, {
4850
4874
  readonly name: "catchup_window_seconds";
4851
4875
  readonly type: "integer";
@@ -4986,7 +5010,7 @@ export declare const operations: readonly [{
4986
5010
  readonly type: "string";
4987
5011
  readonly enum: readonly ["skip", "allow"];
4988
5012
  readonly required: false;
4989
- readonly description: "skip (default) skips when a previous run is still active; allow permits overlapping runs.";
5013
+ readonly description: "skip skips while a previous run is still active; allow permits overlapping runs. When omitted, schedule triggers use skip and webhook triggers use allow.";
4990
5014
  }, {
4991
5015
  readonly name: "catchup_window_seconds";
4992
5016
  readonly type: "integer";
@@ -7935,7 +7959,7 @@ export declare const operations: readonly [{
7935
7959
  readonly resource: "cut.projects.analysis";
7936
7960
  readonly method: "create";
7937
7961
  readonly summary: "Analyze project media";
7938
- readonly description: "Request silence, filler-word or scene analysis for selected bound assets before editing. Omit media to select project sources; ranges returned in segments use source seconds. A pending result is not completion: use retry_after_sec before checking again, and inspect failed or unsupported asset results before deciding which edits are possible.";
7962
+ readonly description: "Request silence, filler-word or scene analysis for selected bound assets before editing. Omit media to select project sources; ranges returned in segments use source seconds. A pending result is not completion: use retry_after_sec before checking again, and inspect failed or unsupported asset results before deciding which edits are possible. Silence measures transcript-based speech pauses, not music or loudness. A completed transcript without words returns ready with empty segments and reason no_speech; no completed transcript returns unsupported with reason no_transcript. A failed transcription remains failed.";
7939
7963
  readonly http: "POST";
7940
7964
  readonly path: "/cut/v1/projects/{project_id}/analysis";
7941
7965
  readonly streaming: "no";
@@ -8074,6 +8098,16 @@ export declare const operations: readonly [{
8074
8098
  readonly body: {
8075
8099
  readonly required: true;
8076
8100
  readonly fields: readonly [{
8101
+ readonly name: "folder";
8102
+ readonly type: "string";
8103
+ readonly required: false;
8104
+ readonly description: "Optional destination path within the bound media library; omitted uses its default folder.";
8105
+ }, {
8106
+ readonly name: "name";
8107
+ readonly type: "string";
8108
+ readonly required: false;
8109
+ readonly description: "Nonempty display name, frozen with the export. Path separators and control characters become hyphens; limited to 200 characters. Omitted uses project name and timestamp.";
8110
+ }, {
8077
8111
  readonly name: "output";
8078
8112
  readonly type: "object";
8079
8113
  readonly required: false;
@@ -8088,13 +8122,18 @@ export declare const operations: readonly [{
8088
8122
  readonly type: "integer";
8089
8123
  readonly required: false;
8090
8124
  readonly description: "Committed project revision from retrieve, state, timeline or execute; increases after each successful write.";
8125
+ }, {
8126
+ readonly name: "loudness";
8127
+ readonly type: "object";
8128
+ readonly required: false;
8129
+ readonly description: "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.";
8091
8130
  }];
8092
8131
  };
8093
8132
  }, {
8094
8133
  readonly resource: "cut.projects.frames";
8095
8134
  readonly method: "list";
8096
8135
  readonly summary: "Render preview frames";
8097
- readonly description: "Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Request at most eight times. Each returned url is an inline PNG data URL (data:image/png;base64,...), not a hosted HTTP image link. Decode its base64 payload to save the image. Codemode returns at most four images per call, so request at most four times when reviewing there.";
8136
+ readonly description: "Review the visual result at one or more project times without creating an export. Pass comma-separated seconds in at, such as 12,15.5; scale changes preview size and revision selects a committed project revision. Request at most eight times. Each returned url is an inline PNG data URL (data:image/png;base64,...), not a hosted HTTP image link. The default scale is 0.25; use 0.5 for subtitle layout inspection (1080×1920 renders at 540×960). The maximum is 0.5; values above it return INVALID_PARAMS. Actual width and height are returned per frame. PNGs above 2 MiB or responses above 4 MiB return RESPONSE_TOO_LARGE without silently lowering resolution. The response always includes warnings; FRAME_UNAVAILABLE means a source preview could not be obtained and an offline tile was drawn. Its message identifies a timeout, delivery capacity limit, or unavailable source and contains no source URL. Decode each image's base64 payload to save it. Codemode returns at most four images per call, so request at most four times when reviewing there.";
8098
8137
  readonly http: "GET";
8099
8138
  readonly path: "/cut/v1/projects/{project_id}/frames";
8100
8139
  readonly streaming: "no";
@@ -8113,7 +8152,7 @@ export declare const operations: readonly [{
8113
8152
  readonly name: "scale";
8114
8153
  readonly type: "number";
8115
8154
  readonly required: false;
8116
- readonly description: "Positive image size multiplier; 0.5 renders at half the project dimensions.";
8155
+ readonly description: "Image size multiplier, default 0.25, greater than zero and at most 0.5. Larger values return INVALID_PARAMS; pixel-area limits may reduce actual dimensions, reported as width and height.";
8117
8156
  }, {
8118
8157
  readonly name: "revision";
8119
8158
  readonly type: "integer";
@@ -8154,6 +8193,46 @@ export declare const operations: readonly [{
8154
8193
  readonly description: "Optional human-readable display name for the new media asset.";
8155
8194
  }];
8156
8195
  };
8196
+ }, {
8197
+ readonly resource: "cut.projects.renders";
8198
+ readonly method: "create";
8199
+ readonly summary: "Create draft range render";
8200
+ readonly description: "Render one interval of the timeline so you can hear or look at how that passage comes out, without publishing anything to a media library. Choose kind audio for the mixed soundtrack as an .m4a file, or kind video for a draft-quality .mp4 with picture and sound. from and to are seconds on the project clock and must satisfy 0 <= from < to, to <= the timeline duration, and to - from <= 120; a longer passage is requested in several 分段请求 ranges and joined by the caller. The result is a temporary file (purpose user_data) that expires 24 hours after it is stored and is never imported into a library, so it is not a deliverable and carries no cut-export tag. HTTP 202 only accepts the job; poll praxis.cut.renders.retrieve using the returned id until status is done or failed, then read url while it lasts. A draft also bills like a draft export, by rendered seconds. Each project runs at most 2 draft renders at a time, a budget separate from its exports; a third answers HTTP 429 CUT_BUSY and the same call succeeds once one finishes.";
8201
+ readonly http: "POST";
8202
+ readonly path: "/cut/v1/projects/{project_id}/renders";
8203
+ readonly streaming: "no";
8204
+ readonly pagination: false;
8205
+ readonly pathParams: readonly [{
8206
+ readonly name: "project_id";
8207
+ readonly sdkName: "project_id";
8208
+ readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8209
+ }];
8210
+ readonly query: readonly [];
8211
+ readonly body: {
8212
+ readonly required: true;
8213
+ readonly fields: readonly [{
8214
+ readonly name: "kind";
8215
+ readonly type: "string";
8216
+ readonly enum: readonly ["audio", "video"];
8217
+ readonly required: true;
8218
+ readonly description: "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.";
8219
+ }, {
8220
+ readonly name: "from";
8221
+ readonly type: "number";
8222
+ readonly required: true;
8223
+ readonly description: "Start of the interval in seconds on the project clock, inclusive. Must be less than to.";
8224
+ }, {
8225
+ readonly name: "to";
8226
+ readonly type: "number";
8227
+ readonly required: true;
8228
+ readonly description: "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.";
8229
+ }, {
8230
+ readonly name: "revision";
8231
+ readonly type: "integer";
8232
+ readonly required: false;
8233
+ readonly description: "Committed project revision from retrieve, state, timeline or execute; increases after each successful write.";
8234
+ }];
8235
+ };
8157
8236
  }, {
8158
8237
  readonly resource: "cut.projects";
8159
8238
  readonly method: "retrieveState";
@@ -8268,7 +8347,7 @@ export declare const operations: readonly [{
8268
8347
  readonly resource: "cut.projects";
8269
8348
  readonly method: "execute";
8270
8349
  readonly summary: "Execute editing script";
8271
- readonly description: "Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project: `const t = AddTrack(\"video\"); Insert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3}); Print(t);`\n\n### Script function reference\n\nFunctions are synchronous globals; do not import them. `project` is the current project ID. TrackId and ClipId are strings returned by AddTrack and Insert or read from GetTimeline. Reads see earlier writes in the same script.\n\n```ts\nGetTimeline(o?: { from?: number; to?: number; tracks?: TrackId[] }): TimelineView;\nGetItem(id: ClipId): ItemView;\nFindItems<T>(visit: (item: ItemView, ctx: { track: TrackView; index: number }) => T | undefined): T[];\nGetMedia(ref: MediaRef): MediaInfo;\nGetTranscript(ref: MediaRef, o?: { from?: number; to?: number }): Word[];\nGetAnalysis(ref: MediaRef, kind: AnalysisKind): Segment[];\nInsert(track: TrackId, item: ItemInit, o?: { ripple?: boolean }): ClipId;\nUpdate(id: ClipId, patch: ItemPatchView): void;\nDelete(id: ClipId, o?: { ripple?: boolean }): void;\nSplit(id: ClipId, at: number): ClipId;\nTrim(id: ClipId, edge: \"in\" | \"out\", delta: number, o?: { ripple?: boolean }): void;\nMove(id: ClipId, start: number, track?: TrackId): void;\nRippleDeleteRange(from: number, to: number, tracks?: TrackId[]): void;\nAddTrack(kind: \"video\" | \"audio\" | \"caption\", init?: { name?: string }, index?: number): TrackId;\nUpdateTrack(id: TrackId, patch: TrackPatch): void;\nDeleteTrack(id: TrackId): void;\nSetSettings(patch: Partial<ProjectSettingsView>): void;\nAddCaptionsFromTranscript(track: TrackId, source: ClipId, o?: { style?: Partial<CaptionStyle>; maxChars?: number }): ClipId[];\nSetMarker(at: number, label: string): string;\nPrint(...values: unknown[]): void;\nPreview(at: number[]): void;\n```\n\n| Functions | Behavior and arguments |\n| --- | --- |\n| GetTimeline, GetItem | Read compact item views: id, track, type, start, end, length, optional media, sourceIn/sourceOut, text and offline reason. GetTimeline returns duration and tracks (id, kind, name, index, locked, items); from/to and tracks narrow the read. |\n| FindItems | Visit items with their track and index; return undefined to omit an item, any other value to collect it. |\n| GetMedia | Read metadata for `{libraryId, assetId}` in a bound library: kind, dimensions, fps, hasAudio and durationUs when available. durationUs is microseconds. |\n| GetTranscript, GetAnalysis | Read available transcript words or silence/filler/scenes segments. Transcript filter from/to is seconds; returned word and segment from/to values are source microseconds (divide by 1,000,000 for editing). Words contain text and optional speaker/filler; segments may include label/confidence. Request analysis first if unavailable. |\n| Insert, Update, Delete | Insert returns the new clip ID; Update changes supplied fields; Delete removes the clip. Optional ripple on Insert/Delete closes or opens space on the track. |\n| Split, Trim, Move | Split at a timeline position and return the new right-hand clip ID. Trim changes the in or out edge by delta seconds. Move sets the timeline start and optionally a new track. |\n| RippleDeleteRange | Delete a timeline interval and close its gap on the specified tracks, or all unlocked tracks when omitted. |\n| AddTrack, UpdateTrack, DeleteTrack | Add video/audio/caption tracks; index selects layer order (0 is top). TrackPatch supports name, locked, hidden, muted, gainDb and style as appropriate to track kind. |\n| SetSettings | Supply any of width/height (pixels), fps (frames per second), background (color). |\n| AddCaptionsFromTranscript | Create captions from an audio/video clip's kept words. Optional maxChars is 1–1000, default 16; style updates the caption track. Returns caption IDs. |\n| SetMarker | Add a label at a timeline time and return its ID. |\n| Print, Preview | Print appends text to prints. Preview requests up to eight times total per execute and puts images in the result's frames. Each url is an inline PNG data URL, not an HTTP image link. Decode the base64 payload to save an image. Codemode returns at most four images per call; request at most four times there. |\n\n#### Insert fields (ItemInit)\n\nEvery item requires `type` and `start`. Times used for editing are seconds and snap to the project frame rate: start, length, sourceIn, fadeIn/fadeOut, transition length, keyframe at, reveal delay/stagger/duration. Keyframe and reveal times are relative to the clip start. Video/audio may omit length to use the remaining source duration; other types require length.\n\n| type | Required fields beyond type/start | Optional fields |\n| --- | --- | --- |\n| video | media | length, sourceIn, volumeDb, transform, fit, animate, transitionIn, transitionOut |\n| image | media, length | transform, fit, animate, transitionIn, transitionOut |\n| text | text, length | style, transform, reveal, animate, transitionIn, transitionOut |\n| color | color, length | transform, fill, animate, transitionIn, transitionOut |\n| shape | shape, length, width, height, fill | radius, stroke, transform, animate, transitionIn, transitionOut |\n| audio | media | length, sourceIn, volumeDb, fadeIn, fadeOut, transitionIn, transitionOut |\n| caption | text, length | — |\n\nVideo tracks accept video/image/text/color/shape; audio and caption tracks accept their corresponding type. Media is `{libraryId: string, assetId: string}` from a bound library. sourceIn defaults to 0, volumeDb to 0 dB, audio fades to 0 seconds. fit defaults to contain: contain fits the whole image, cover fills and crops, fill stretches, none keeps native dimensions.\n\n| Field | Value |\n| --- | --- |\n| transform | Partial `{x, y, scale, rotation, opacity, crop, blur}`. x/y are normalized canvas center coordinates (default 0.5); scale 1 is fitted size; rotation is degrees (default 0); opacity is 0–1 (default 1). crop is `{top,right,bottom,left}`. blur is 0–100 pixels at 1080-pixel frame height. |\n| style | Partial `{fontFamily, fontSize, fontWeight, color, stroke, background, align, maxWidth}`. fontFamily: Geist or Noto Sans SC (default); fontSize defaults to 48; fontWeight: 400 (default), 500 or 700; color defaults to #FFFFFF; align: left, center (default), right; maxWidth is a fraction of canvas width (default 0.9). stroke is `{color,width}`. Caption style additionally supports position (top/middle/bottom), margin (0–0.4 of canvas height), highlightColor and maxLines: 2. |\n| animate | An object keyed by x, y, scale, rotation, opacity or blur. Each value is an array of `{at: number, value: number, ease?: Ease}` sorted by at with distinct frame-snapped times. Values hold before the first and after the last keyframe, overriding the static transform. |\n| Ease | linear, in, out, inOut, `{bezier: [x1,y1,x2,y2]}` or `{spring: {stiffness, damping, mass?}}`. Easing shapes the segment arriving at that keyframe; springs may overshoot. |\n| reveal | `{by, delay?: number, stagger: number, duration: number, from: {y?, opacity?, scale?, blur?}, ease?: Ease}`. by selects char, word or line. Unit k starts at delay + k * stagger and takes duration seconds to reach its resting state; from.y is a fraction of font size. |\n| fill | A color string (#RRGGBB or #RRGGBBAA), `{linear: {angle, stops: [{at,color}, ...]}}` or `{radial: {stops: [{at,color}, ...]}}`. Stop positions are 0–1; angle is degrees, 0 left to right. On color clips, fill replaces color when supplied. |\n| shape, width, height, radius, stroke | shape is rect or ellipse. width/height are fractions of canvas width/height before scaling. radius rounds rect corners in pixels at 1080-pixel frame height. stroke is `{color: string, width: number}`. |\n| transitionIn, transitionOut | `{kind, length: number}` at the clip's beginning/end. length is seconds. fade changes opacity; dissolve blends; push_left/push_right move horizontally; wipe_left reveals horizontally. |\n\n#### Update fields (ItemPatchView)\n\nAll fields are optional; use only fields relevant to the item's type. Supported fields: start, length, sourceIn, volumeDb, transform, fit, text, style, color, fadeIn, fadeOut, animate, reveal, fill, stroke, shape, width, height, radius, transitionIn, transitionOut. Values and units match Insert. Set animate, reveal, fill, stroke, transitionIn or transitionOut to null to remove that effect; omitting a field preserves it. For example: `Update(id, {volumeDb: -12})` or `Update(id, {transitionIn: null})`.\n\n#### Script names versus HTTP response names\n\nUse camelCase inside scripts, including nested objects. HTTP request/response JSON outside script source uses snake_case. Map media.library_id → media.libraryId, media.asset_id → media.assetId, source_in → sourceIn, volume_db → volumeDb, fade_in/fade_out → fadeIn/fadeOut, transition_in/transition_out → transitionIn/transitionOut, font_family/font_size/font_weight/max_width → fontFamily/fontSize/fontWeight/maxWidth, gain_db → gainDb, highlight_color/max_lines → highlightColor/maxLines. Fields such as animate, reveal, fill, stroke, at and length retain their spelling. GetTimeline/GetItem already return camelCase compact views; the expanded retrieveTimeline HTTP response is not an Insert object.\n\nUnrecognized script fields fail with OPS_REJECTED and rejection code UNKNOWN_FIELD; snake_case mistakes suggest the corresponding camelCase name. The error message lists each rejection's #opIndex, code and reason. Correct the named fields and retry the saved edit; do not assume an ignored field applied an effect.\n";
8350
+ readonly description: "Edit the current timeline atomically using synchronous JavaScript source. Read state or timeline first, then pass its revision as expected_revision to detect concurrent changes. Unlike Shotstack, execute applies script edits to a persistent project in one transaction. Provide script or a saved edit_id with literal edits, never both; failures roll back writes. A revision conflict while preparing the response may follow a committed edit: retrieve state before retrying. Minimal script after creating a project: `const t = AddTrack(\"video\"); Insert(t, {type: \"color\", color: \"#123456\", start: 0, length: 3}); Print(t);`\n\n<!-- cut-reference:start -->\n### Script function, field and error reference\n\nEvery script function, clip field and error code has its own section, read one at a time:\n\n```\ncodemode.describe(\"praxis.cut.script.<Name>\") // one function: signature, arguments, return, errors, example\ncodemode.describe(\"praxis.cut.fields.<name>\") // one field: type, unit, range, default, where writable\ncodemode.describe(\"praxis.cut.errors.<CODE>\") // one code: meaning, causes, fix\ncodemode.describe(\"praxis.cut.script\") // names, one page at a time\n```\n\nPublished at https://docs.deepraxis.com/docs/developers/cut/script-reference with one anchor per entry. Names below omit the `praxis.cut.<kind>.` prefix.\n\n#### Script functions (script)\n\n- `GetTimeline` — Duration, tracks, joins; clips are under `items`.\n- `GetItem` — One clip's compact view, by id.\n- `FindItems` — Visit every clip with its track; collect results.\n- `GetMedia` — Media metadata; `durationUs` is microseconds.\n- `GetTranscript` — Transcript words in source microseconds.\n- `GetAnalysis` — Silence, filler or scene segments.\n- `ListTransitions` — Join transition kinds and parameters.\n- `ListEffects` — Visual-effect catalog and parameters.\n- `ListAnimations` — Animation presets by phase and target.\n- `ListFonts` — Font families, weights and scripts.\n- `ListTextStyles` — Text style presets for `style.preset`.\n- `ListTextTemplates` — Multi-layer templates and their slots.\n- `Insert` — Add a clip; a track never overlaps itself.\n- `Append` — Add a clip at the end of a track.\n- `Update` — Change named fields; the rest stay.\n- `SetSpeed` — Change rate, keeping source or duration.\n- `Delete` — Remove a clip. There is no `Remove`.\n- `Join` — Overlap clips; followers shift, track shortens.\n- `UpdateJoin` — Change a join's length or effect.\n- `DeleteJoin` — Remove a join; restore the butt cut.\n- `Split` — Cut a clip in two at a time.\n- `Trim` — Move one clip edge by seconds.\n- `Move` — Set a clip's start or track.\n- `RippleDeleteRange` — Cut a time range and close the gap.\n- `AddTrack` — Add a video, audio or caption track.\n- `UpdateTrack` — Change a track's name, lock, gain or role.\n- `DeleteTrack` — Remove a track and its clips.\n- `SetSettings` — Change canvas, frame rate or background.\n- `AddCaptionsFromTranscript` — Captions from a clip's kept words.\n- `InsertTemplate` — Insert a template and fill its slots.\n- `AlignCaptions` — Rebuild captions from text punctuation.\n- `ImportCaptions` — Import SRT or WebVTT onto captions.\n- `ExportCaptions` — Export captions as SRT or WebVTT.\n- `SetMarker` — Label a timeline position.\n- `Print` — Append values to the result's `prints`.\n- `Preview` — Up to 8 frames as inline PNG data URLs.\n\n#### Fields (fields)\n\n- `type` — Clip kind; decides which fields apply.\n- `start` — Clip start in seconds; snaps to frames.\n- `length` — Duration; optional for video and audio.\n- `media` — Source `{ libraryId, assetId }`.\n- `sourceIn` — First source second kept; default 0.\n- `sourceOut` — Exclusive source end; read-only.\n- `text` — Text of a text or caption clip.\n- `color` — Solid colour of a color clip.\n- `shape` — Shape clip kind: `rect` or `ellipse`.\n- `width` — Shape width, a fraction of canvas width.\n- `height` — Shape height, a fraction of canvas height.\n- `radius` — Rect corner rounding, in 1080-height px.\n- `fill` — Shape or text paint: colour or gradient.\n- `stroke` — Shape outline: colour and width.\n- `transform` — Position, scale, rotation, opacity, crop, blur.\n- `fit` — contain, cover, fill or none.\n- `blend` — Layer blend mode; null clears.\n- `style` — Text styling: font, fill, strokes, glow, position.\n- `style.position` — top, middle or bottom; omit it, never null.\n- `playback` — Rate, direction, audio policy, or freeze.\n- `volumeDb` — Audio level in dB; 0 is source level.\n- `gain` — Keyframed audio level in dB.\n- `fadeIn` — Fade-in seconds at the clip's start.\n- `fadeOut` — Fade-out seconds at the clip's end.\n- `duck` — Lower this clip while another track plays.\n- `animate` — Transform keyframes; `at` is clip-relative seconds.\n- `reveal` — Per-character, word or line reveal timing.\n- `animation` — Preset slots `{ in, out, loop }`; null clears.\n- `effects` — Effect stack, at most 8; null clears.\n- `transitionIn` — Entrance effect: kind plus seconds.\n- `transitionOut` — Exit effect: kind plus seconds.\n- `mask` — Shape, path or track matte.\n- `words` — Caption words with clip-local times.\n\n#### Error codes (errors)\n\n- `JOIN_CONFLICT` — A join is invalid or blocks this edit.\n- `INVALID_TRANSITION` — Bad transition kind, parameter or length.\n- `INVALID_STYLE` — A style value is out of range.\n- `INVALID_MASK` — A mask definition is malformed.\n- `MASK_IN_USE` — The edit would break a live mask.\n- `TOO_MANY_MASKS` — At most 16 masks per project.\n- `RATE_OUT_OF_RANGE` — A rate is outside 0.25-4.\n- `UNSUPPORTED_PLAYBACK` — Reverse without an explicit mute.\n- `INVALID_PLAYBACK` — A playback object is partial or malformed.\n- `UNKNOWN_FONT` — The family is not in `ListFonts()`.\n- `UNKNOWN_FIELD` — The field name is not accepted here.\n- `UNKNOWN_TEXT_STYLE` — `style.preset` is not in the catalog.\n- `TEXT_STYLE_TARGET_MISMATCH` — Preset on the wrong clip type.\n- `CAPTION_ALIGN_LOW_CONFIDENCE` — Alignment confidence too low; nothing changed.\n- `OVERLAP` — Two clips on one track would share time.\n- `OUT_OF_SOURCE` — The clip would read past its source.\n- `LOCKED_TRACK` — The edit targets a locked track.\n- `UNBOUND_LIBRARY` — The library is not bound to the project.\n- `TRACK_KIND_MISMATCH` — The clip type does not fit the track.\n- `NOT_FOUND` — The named id is not in this project.\n- `TOO_SHORT` — The result would be under one frame.\n- `INVALID_DUCK` — Bad `duck` level or a missing track.\n- `UNKNOWN_ANIMATION` — The preset is not in `ListAnimations()`.\n- `INVALID_ANIMATION_PARAM` — Bad slot, parameter or keyframe limit.\n- `ANIMATION_TOO_LONG` — In plus out exceed the clip length.\n- `ANIMATION_TARGET_MISMATCH` — The preset does not match the clip type.\n- `ANIMATION_PHASE_MISMATCH` — The preset is in the wrong slot.\n- `UNKNOWN_EFFECT` — The effect is not in `ListEffects()`.\n- `INVALID_EFFECT_PARAM` — Bad effect parameter or keyframe.\n- `TOO_MANY_EFFECTS` — More than 8 effects on one clip.\n- `PROJECT_NOT_FOUND` — No visible project has this id.\n- `EXPORT_NOT_FOUND` — No such export in this project.\n- `VERSION_NOT_FOUND` — No saved version has this revision.\n- `LIBRARY_NOT_FOUND` — The library is missing or invisible.\n- `BINDING_INVALID` — The binding request is malformed.\n- `BINDING_IN_USE` — Clips still use this library's assets.\n- `NOTHING_TO_UNDO` — No earlier revision to return to.\n- `NOTHING_TO_REDO` — No undone revision is waiting.\n- `UNDO_CONFLICT` — The revision to undo is no longer head.\n- `REVISION_CONFLICT` — The project moved; your revision is stale.\n- `CUT_BUSY` — The project is busy; retry.\n- `INVALID_CAPTION_FILE` — The subtitle file is malformed or too big.\n- `SCRIPT_ERROR` — The script threw or did not parse.\n- `SCRIPT_LIMIT` — An execute budget was exceeded.\n- `OPS_REJECTED` — An op failed; the whole edit rolled back.\n- `EDIT_EXPIRED` — The saved edit id is over ten minutes old.\n- `MEDIA_OFFLINE` — The asset cannot be fetched right now.\n- `MEDIA_UNAVAILABLE` — The asset is not usable for rendering.\n- `MEDIA_IMPORT_FAILED` — Importing media failed.\n- `FRAME_OUT_OF_RANGE` — The preview time is outside the project.\n- `PROJECT_TOO_LARGE` — The project exceeds the size limit.\n- `RESPONSE_TOO_LARGE` — The response would exceed its budget.\n- `EXPORT_FAILED` — The render failed; read `error.cause`.\n- `INVALID_PARAMS` — The request is malformed.\n- `PERMISSION_DENIED` — This credential may not do that here.\n- `NOT_IMPLEMENTED` — Not available on this platform yet.\n- `INTERNAL` — Unexpected failure; retry with the request id.\n<!-- cut-reference:end -->\n";
8272
8351
  readonly http: "POST";
8273
8352
  readonly path: "/cut/v1/projects/{project_id}:execute";
8274
8353
  readonly streaming: "no";
@@ -8319,6 +8398,21 @@ export declare const operations: readonly [{
8319
8398
  readonly description: "Project identifier returned by its create or list operation; use the id, not a display name.";
8320
8399
  }];
8321
8400
  readonly query: readonly [];
8401
+ }, {
8402
+ readonly resource: "cut.renders";
8403
+ readonly method: "retrieve";
8404
+ readonly summary: "Retrieve draft range render";
8405
+ readonly description: "Poll a draft render id returned by projects.renders.create to see whether the interval is ready, then read url while it lasts. queued and rendering are in progress; done provides file_id and a short-lived url for the rendered .m4a or .mp4; failed provides error. Only done yields a url, and the file behind it disappears 24 hours after it was stored, so retrieve again when the link has expired.";
8406
+ readonly http: "GET";
8407
+ readonly path: "/cut/v1/renders/{render_id}";
8408
+ readonly streaming: "no";
8409
+ readonly pagination: false;
8410
+ readonly pathParams: readonly [{
8411
+ readonly name: "render_id";
8412
+ readonly sdkName: "render_id";
8413
+ readonly description: "Draft render id (cutr_…) returned by projects.renders.create.";
8414
+ }];
8415
+ readonly query: readonly [];
8322
8416
  }, {
8323
8417
  readonly resource: "cut.versions";
8324
8418
  readonly method: "restore";
@@ -9119,654 +9213,921 @@ export declare const operations: readonly [{
9119
9213
  }];
9120
9214
  };
9121
9215
  }, {
9122
- readonly resource: "file.files";
9216
+ readonly resource: "devops.projects.testCases";
9123
9217
  readonly method: "list";
9124
- readonly summary: "List files";
9125
- readonly description: "List live files owned by your tenant, optionally filtered by purpose or session scope_id. Results default to descending creation order with a limit of 10000. Page using after or before with a file ID from the list; these cursors are mutually exclusive. Deleted and expired files are excluded.";
9218
+ readonly summary: "List test cases";
9219
+ readonly description: "List a project's cases with their health, state and recent statistics, so you can decide which ones a plan must run and which are quarantined. This is the read a test dashboard is built on; filter it to narrow by state or health instead of paging through everything. A case's id is a fingerprint of its own title and path, so it survives a rename — read aliases when reconciling history recorded under an older title.";
9126
9220
  readonly http: "GET";
9127
- readonly path: "/file/v1/files";
9221
+ readonly path: "/devops/v1/projects/{project}/test-cases";
9128
9222
  readonly streaming: "no";
9129
9223
  readonly pagination: false;
9130
- readonly pathParams: readonly [];
9224
+ readonly pathParams: readonly [{
9225
+ readonly name: "project";
9226
+ readonly sdkName: "project";
9227
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9228
+ }];
9131
9229
  readonly query: readonly [{
9132
- readonly name: "purpose";
9133
- readonly type: "string";
9230
+ readonly name: "pageSize";
9231
+ readonly type: "integer";
9134
9232
  readonly required: false;
9135
- readonly description: "Only return files with the given purpose.";
9233
+ readonly description: "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.";
9136
9234
  }, {
9137
- readonly name: "limit";
9138
- readonly type: "integer";
9235
+ readonly name: "pageToken";
9236
+ readonly type: "string";
9139
9237
  readonly required: false;
9140
- readonly description: "A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.\n";
9238
+ readonly description: "The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.";
9141
9239
  }, {
9142
- readonly name: "order";
9240
+ readonly name: "filter";
9143
9241
  readonly type: "string";
9144
- readonly enum: readonly ["asc", "desc"];
9145
9242
  readonly required: false;
9146
- readonly description: "Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.\n";
9243
+ readonly description: "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.";
9147
9244
  }, {
9148
- readonly name: "after";
9245
+ readonly name: "orderBy";
9149
9246
  readonly type: "string";
9150
9247
  readonly required: false;
9151
- readonly description: "File ID cursor for the next page; mutually exclusive with before. Use an ID from the current listing.";
9248
+ readonly description: "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.";
9249
+ }];
9250
+ }, {
9251
+ readonly resource: "devops.projects";
9252
+ readonly method: "retrieveTestCatalog";
9253
+ readonly summary: "Read a commit's test catalog";
9254
+ readonly description: "Read the catalog version discovered at one commit — how many suites and cases it holds, which frameworks they come from, and how the commit changed them. Call this first: it tells you which suites, cases and sizes exist before you list them or select them into a plan, and the reported diff explains why a case count moved. A commit whose discovery has not finished answers CATALOG_NOT_READY, which means \"not yet\", not \"no tests\"; wait and read again. Omit commit to read the newest catalog published for the project.";
9255
+ readonly http: "GET";
9256
+ readonly path: "/devops/v1/projects/{project}/test-catalog";
9257
+ readonly streaming: "no";
9258
+ readonly pagination: false;
9259
+ readonly pathParams: readonly [{
9260
+ readonly name: "project";
9261
+ readonly sdkName: "project";
9262
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9263
+ }];
9264
+ readonly query: readonly [{
9265
+ readonly name: "commit";
9266
+ readonly type: "string";
9267
+ readonly required: false;
9268
+ readonly description: "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.";
9269
+ }];
9270
+ }, {
9271
+ readonly resource: "devops.projects.testPlans";
9272
+ readonly method: "list";
9273
+ readonly summary: "List test plans";
9274
+ readonly description: "List the project's plans — what each one selects, which stage and gate it belongs to, and when it runs next. Read this before creating a plan, so a new plan extends what exists instead of duplicating a selector an existing plan already covers.";
9275
+ readonly http: "GET";
9276
+ readonly path: "/devops/v1/projects/{project}/test-plans";
9277
+ readonly streaming: "no";
9278
+ readonly pagination: false;
9279
+ readonly pathParams: readonly [{
9280
+ readonly name: "project";
9281
+ readonly sdkName: "project";
9282
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9283
+ }];
9284
+ readonly query: readonly [{
9285
+ readonly name: "pageSize";
9286
+ readonly type: "integer";
9287
+ readonly required: false;
9288
+ readonly description: "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.";
9152
9289
  }, {
9153
- readonly name: "scope_id";
9290
+ readonly name: "pageToken";
9154
9291
  readonly type: "string";
9155
9292
  readonly required: false;
9156
- readonly description: "Session whose output files to list. Accepts sesn_ or ags_ followed by 1 to 251 letters, digits, underscores or hyphens. An existing session with no outputs returns an empty list; a nonexistent or inaccessible session returns 404.";
9293
+ readonly description: "The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.";
9157
9294
  }, {
9158
- readonly name: "before";
9295
+ readonly name: "orderBy";
9159
9296
  readonly type: "string";
9160
9297
  readonly required: false;
9161
- readonly description: "File ID cursor for the preceding page; mutually exclusive with after. Use an ID from the current listing.";
9298
+ readonly description: "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.";
9162
9299
  }];
9163
9300
  }, {
9164
- readonly resource: "file.files";
9301
+ readonly resource: "devops.projects.testPlans";
9165
9302
  readonly method: "create";
9166
- readonly summary: "Upload file";
9167
- readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 100000000 bytes, and only user_data, assistants and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. Use Uploads for larger files. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–7776000). Without expiry, the file persists until deleted.";
9303
+ readonly summary: "Create a test plan";
9304
+ readonly description: "Create a plan that decides which cases a stage must run. The plan's key is unique inside the project and is what a later run names; the selector chooses cases by size, purpose, tag, package or explicit ids, and the trigger says when the plan fires by itself. A merge or promotion gate must name the environment it guards, and a plan with a gate but no environment is refused with PLAN_GATE_ENVIRONMENT_MISMATCH rather than created and silently ignored. A plan has no revision history: update it with a patch.";
9168
9305
  readonly http: "POST";
9169
- readonly path: "/file/v1/files";
9306
+ readonly path: "/devops/v1/projects/{project}/test-plans";
9170
9307
  readonly streaming: "no";
9171
9308
  readonly pagination: false;
9172
- readonly multipart: true;
9173
- readonly pathParams: readonly [];
9309
+ readonly pathParams: readonly [{
9310
+ readonly name: "project";
9311
+ readonly sdkName: "project";
9312
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9313
+ }];
9174
9314
  readonly query: readonly [];
9175
9315
  readonly body: {
9176
9316
  readonly required: true;
9177
9317
  readonly fields: readonly [{
9178
- readonly name: "file";
9318
+ readonly name: "key";
9179
9319
  readonly type: "string";
9180
9320
  readonly required: true;
9181
- readonly description: "File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 100000000 bytes; its content determines the MIME type.";
9321
+ readonly description: "Short name for the plan, unique inside the project; a key already in use is refused rather than silently reused.";
9182
9322
  }, {
9183
- readonly name: "purpose";
9323
+ readonly name: "title";
9184
9324
  readonly type: "string";
9185
- readonly enum: readonly ["user_data", "assistants", "vision"];
9186
9325
  readonly required: true;
9187
- readonly description: "Purpose label stored with the file: user_data, assistants or vision. The label is stored and returned unchanged; assistants follows the same rules as user_data. The vision purpose accepts only PNG, JPEG, GIF and WebP images. Conversation image references require user_data.";
9326
+ readonly description: "Display title of the plan, shown wherever the plan is listed.";
9188
9327
  }, {
9189
- readonly name: "expires_after";
9328
+ readonly name: "stage";
9329
+ readonly type: "string";
9330
+ readonly enum: readonly ["dev", "presubmit", "postsubmit", "nightly", "production"];
9331
+ readonly required: true;
9332
+ readonly description: "Which stage of delivery this plan belongs to, which decides when it is expected to run.";
9333
+ }, {
9334
+ readonly name: "trigger";
9335
+ readonly type: "object";
9336
+ readonly required: true;
9337
+ readonly description: "What starts a run of this plan. Exactly one kind applies; the fields a kind needs are the ones it carries.";
9338
+ }, {
9339
+ readonly name: "selector";
9190
9340
  readonly type: "object";
9341
+ readonly required: true;
9342
+ readonly description: "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.";
9343
+ }, {
9344
+ readonly name: "environment";
9345
+ readonly type: "string";
9191
9346
  readonly required: false;
9192
- readonly description: "Optional expiry relative to created_at. Files without an expiry persist until deleted.";
9347
+ readonly description: "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.";
9348
+ }, {
9349
+ readonly name: "gate";
9350
+ readonly type: "string";
9351
+ readonly enum: readonly ["merge", "promotion", "observation", "none"];
9352
+ readonly required: true;
9353
+ readonly description: "Whether this plan's result blocks a stage; a merge or promotion gate must name its environment.";
9354
+ }, {
9355
+ readonly name: "repeat";
9356
+ readonly type: "integer";
9357
+ readonly required: false;
9358
+ readonly description: "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.";
9359
+ }, {
9360
+ readonly name: "timeoutMinutes";
9361
+ readonly type: "integer";
9362
+ readonly required: false;
9363
+ readonly description: "How many minutes a run of this plan may take before it is timed out; omit for the service's default.";
9193
9364
  }];
9194
9365
  };
9195
9366
  }, {
9196
- readonly resource: "file.files";
9197
- readonly method: "delete";
9198
- readonly summary: "Delete file";
9199
- readonly description: "Delete a tenant-owned file. New metadata/content reads return not found. Already-authorized downloads may finish.";
9200
- readonly http: "DELETE";
9201
- readonly path: "/file/v1/files/{file_id}";
9202
- readonly streaming: "no";
9203
- readonly pagination: false;
9204
- readonly pathParams: readonly [{
9205
- readonly name: "file_id";
9206
- readonly sdkName: "file_id";
9207
- readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9208
- }];
9209
- readonly query: readonly [];
9210
- }, {
9211
- readonly resource: "file.files";
9212
- readonly method: "retrieve";
9213
- readonly summary: "Retrieve file";
9214
- readonly description: "Retrieve metadata for a live file owned by your tenant. Use its file- ID from upload or list. Missing, deleted, expired and other-tenant files return 404; use the content endpoint to download the bytes.";
9215
- readonly http: "GET";
9216
- readonly path: "/file/v1/files/{file_id}";
9217
- readonly streaming: "no";
9218
- readonly pagination: false;
9219
- readonly pathParams: readonly [{
9220
- readonly name: "file_id";
9221
- readonly sdkName: "file_id";
9222
- readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9223
- }];
9224
- readonly query: readonly [];
9225
- }, {
9226
- readonly resource: "file.files";
9227
- readonly method: "retrieveContent";
9228
- readonly summary: "Retrieve file content";
9229
- readonly description: "Download the original bytes of a live file owned by your tenant. Supply its file- ID from upload or list. A single byte Range can return a partial response; a range outside the file returns 416. Missing, deleted, expired and other-tenant files return 404.";
9230
- readonly http: "GET";
9231
- readonly path: "/file/v1/files/{file_id}/content";
9232
- readonly streaming: "no";
9233
- readonly pagination: false;
9234
- readonly pathParams: readonly [{
9235
- readonly name: "file_id";
9236
- readonly sdkName: "file_id";
9237
- readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9238
- }];
9239
- readonly query: readonly [];
9240
- }, {
9241
- readonly resource: "file.files.contentLinks";
9242
- readonly method: "revoke";
9243
- readonly summary: "Revoke a file content link";
9244
- readonly description: "Stop a previously issued content link from reading a file. Obtain the link with files.contentUrl.create. Use file_id from file creation or listing and the token path component from a content URL (/c/<token>), not the complete URL. The caller must own the file and have write access; a read-only binding is refused. Revocation propagates through the capability deny list within 15 minutes; the file and other links remain available. Only current IAM capability tokens can be revoked; legacy content links expire at the migration deadline. Example body: {\"token\":\"<token from /c/>\"}.";
9367
+ readonly resource: "devops.projects.testReports";
9368
+ readonly method: "create";
9369
+ readonly summary: "Upload an external test report";
9370
+ readonly description: "Record the results of a run executed outside Praxis by uploading a CTRF or JUnit report. Nothing has to exist first: a first upload from CI creates the run it reports on (executor external) and catalogues the cases the report names, so there is no setup call before the first result. When the report already belongs to a run, pass ref and the upload joins it; the run's counts and verdict are recomputed from the report. Uploading the same reportId again is idempotent and counts once, so a retry after a timeout is safe — and a reported case is catalogued once, however many reports carry it. The report's bytes are kept as a file (the file field of the answer) rather than in the results database, so the original document stays retrievable.";
9245
9371
  readonly http: "POST";
9246
- readonly path: "/file/v1/files/{file_id}/content_links:revoke";
9372
+ readonly path: "/devops/v1/projects/{project}/test-reports";
9247
9373
  readonly streaming: "no";
9248
9374
  readonly pagination: false;
9249
9375
  readonly pathParams: readonly [{
9250
- readonly name: "file_id";
9251
- readonly sdkName: "file_id";
9252
- readonly description: "Tenant-owned file identifier returned by file creation or listing; the token must name this same file.";
9376
+ readonly name: "project";
9377
+ readonly sdkName: "project";
9378
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9253
9379
  }];
9254
9380
  readonly query: readonly [];
9255
9381
  readonly body: {
9256
9382
  readonly required: true;
9257
9383
  readonly fields: readonly [{
9258
- readonly name: "token";
9384
+ readonly name: "reportId";
9259
9385
  readonly type: "string";
9260
9386
  readonly required: true;
9261
- readonly description: "Signed token taken from the /c/ path component of a previously issued file content URL, without the host or /c/ prefix.";
9387
+ readonly description: "Your own identifier for this report. Uploading the same id again is idempotent and counts once, so a retry after a timeout is safe.";
9388
+ }, {
9389
+ readonly name: "format";
9390
+ readonly type: "string";
9391
+ readonly enum: readonly ["ctrf", "junit"];
9392
+ readonly required: true;
9393
+ readonly description: "Which report format the document is in; it decides how the document is parsed.";
9394
+ }, {
9395
+ readonly name: "ref";
9396
+ readonly type: "object";
9397
+ readonly required: true;
9398
+ readonly description: "The exact revision a run tested. A commit is always named, because a run without one has nothing to report against.";
9399
+ }, {
9400
+ readonly name: "report";
9401
+ readonly type: "string";
9402
+ readonly required: true;
9403
+ readonly description: "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.";
9262
9404
  }];
9263
9405
  };
9264
9406
  }, {
9265
- readonly resource: "file.files.contentUrl";
9266
- readonly method: "create";
9267
- readonly summary: "Create a download URL";
9268
- readonly description: "Download a file's bytes to a local disk from a coding agent without sending them through the model. Use file_id from file creation or listing, then run curl -fsSL -o <filename> '<url>' locally with the returned URL; GET needs no Authorization header. The link is reusable until expiry and supports a single byte Range (for example Range: bytes=0-9 returns 206). Revoke it with files.contentLinks.revoke, passing the token after /c/ in the URL. Expired, revoked, invalid or cross-organization URLs return 404. Lifetime defaults to 900 seconds and is at most 604800 seconds. Issuance requires the same credential and file-read access as files.retrieveContent; a processing file returns 409 FILE_NOT_READY, so poll files.retrieve until active before retrying. A missing, expired or other-organization file returns 404. Each issuance creates a new link. OpenAI Files has no signed download URL; this follows S3 presigned GET semantics. Example body: {\"ttl_seconds\":3600}.";
9269
- readonly http: "POST";
9270
- readonly path: "/file/v1/files/{file_id}/content_url";
9407
+ readonly resource: "devops.projects.testRuns";
9408
+ readonly method: "list";
9409
+ readonly summary: "List test runs";
9410
+ readonly description: "List the project's runs newest first, with each run's state, result and counts. Use it to find the run id whose executions you want to read, or to see whether a commit's tests have finished. A run whose result is pending has not reached a verdict yet — read it again rather than treating it as passed. Filter by state or result to watch only the runs still in flight.";
9411
+ readonly http: "GET";
9412
+ readonly path: "/devops/v1/projects/{project}/test-runs";
9271
9413
  readonly streaming: "no";
9272
9414
  readonly pagination: false;
9273
9415
  readonly pathParams: readonly [{
9274
- readonly name: "file_id";
9275
- readonly sdkName: "file_id";
9276
- readonly description: "Tenant-owned live file identifier from file creation or listing; the file must be active to issue a download URL.";
9416
+ readonly name: "project";
9417
+ readonly sdkName: "project";
9418
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9277
9419
  }];
9278
- readonly query: readonly [];
9279
- readonly body: {
9420
+ readonly query: readonly [{
9421
+ readonly name: "pageSize";
9422
+ readonly type: "integer";
9280
9423
  readonly required: false;
9281
- readonly fields: readonly [{
9282
- readonly name: "ttl_seconds";
9283
- readonly type: "integer";
9284
- readonly required: false;
9285
- readonly description: "Download link lifetime in seconds, from 1 through 604800; omitted means 900. This does not change the file's own expiry.";
9286
- }];
9287
- };
9424
+ readonly description: "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.";
9425
+ }, {
9426
+ readonly name: "pageToken";
9427
+ readonly type: "string";
9428
+ readonly required: false;
9429
+ readonly description: "The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.";
9430
+ }, {
9431
+ readonly name: "filter";
9432
+ readonly type: "string";
9433
+ readonly required: false;
9434
+ readonly description: "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.";
9435
+ }, {
9436
+ readonly name: "orderBy";
9437
+ readonly type: "string";
9438
+ readonly required: false;
9439
+ readonly description: "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.";
9440
+ }];
9288
9441
  }, {
9289
- readonly resource: "file.uploads";
9442
+ readonly resource: "devops.projects.testRuns";
9290
9443
  readonly method: "create";
9291
- readonly summary: "Create an upload";
9292
- readonly description: "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 2 GiB (2147483648 bytes) and only user_data, assistants and vision purposes. Add parts of at most 64000000 bytes and complete within one hour. Optional part_size enables fixed-size, retryable parts. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.";
9444
+ readonly summary: "Create a test run";
9445
+ readonly description: "Start a run of the project's tests at one commit. Name a plan to use its selector, or pass a selector directly for this run alone; the ref says which commit to test and is required, because a run without a commit has nothing to report against. waitUntil decides how far the call waits before answering — queued returns as soon as the run exists, finished waits for a verdict and may take minutes. A retry of an earlier run is a new run: pass its commit and selector, and read the earlier run to compare.";
9293
9446
  readonly http: "POST";
9294
- readonly path: "/file/v1/uploads";
9447
+ readonly path: "/devops/v1/projects/{project}/test-runs";
9295
9448
  readonly streaming: "no";
9296
9449
  readonly pagination: false;
9297
- readonly pathParams: readonly [];
9450
+ readonly pathParams: readonly [{
9451
+ readonly name: "project";
9452
+ readonly sdkName: "project";
9453
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9454
+ }];
9298
9455
  readonly query: readonly [];
9299
9456
  readonly body: {
9300
9457
  readonly required: true;
9301
9458
  readonly fields: readonly [{
9302
- readonly name: "bytes";
9303
- readonly type: "integer";
9459
+ readonly name: "ref";
9460
+ readonly type: "object";
9304
9461
  readonly required: true;
9305
- readonly description: "Exact complete file length in bytes, from 1 through 2147483648 (2 GiB); the sum of completed parts must match.";
9462
+ readonly description: "The exact revision a run tested. A commit is always named, because a run without one has nothing to report against.";
9306
9463
  }, {
9307
- readonly name: "filename";
9464
+ readonly name: "plan";
9308
9465
  readonly type: "string";
9309
- readonly required: true;
9310
- readonly description: "Filename for the resulting file, at most 255 UTF-8 bytes.";
9466
+ readonly required: false;
9467
+ readonly description: "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.";
9311
9468
  }, {
9312
- readonly name: "mime_type";
9469
+ readonly name: "selector";
9470
+ readonly type: "object";
9471
+ readonly required: false;
9472
+ readonly description: "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.";
9473
+ }, {
9474
+ readonly name: "environment";
9313
9475
  readonly type: "string";
9314
- readonly required: true;
9315
- readonly description: "Declared MIME type; validated against the assembled content.";
9476
+ readonly required: false;
9477
+ readonly description: "Environment to run against; it decides whether production-only cases become selectable. Omit it for a run that needs no environment.";
9316
9478
  }, {
9317
- readonly name: "purpose";
9479
+ readonly name: "repeat";
9480
+ readonly type: "integer";
9481
+ readonly required: false;
9482
+ readonly description: "How many times each selected case runs, which is how a flake is told apart from a real failure; omit for once.";
9483
+ }, {
9484
+ readonly name: "waitUntil";
9318
9485
  readonly type: "string";
9319
- readonly enum: readonly ["user_data", "assistants", "vision"];
9320
- readonly required: true;
9321
- readonly description: "Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.";
9486
+ readonly enum: readonly ["queued", "started", "finished"];
9487
+ readonly required: false;
9488
+ readonly description: "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.";
9322
9489
  }, {
9323
- readonly name: "expires_after";
9324
- readonly type: "object";
9490
+ readonly name: "executor";
9491
+ readonly type: "string";
9492
+ readonly enum: readonly ["cloud", "external"];
9325
9493
  readonly required: false;
9326
- readonly description: "Optional expiry policy for the resulting file; omission retains the file until deletion.";
9494
+ readonly description: "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.";
9327
9495
  }, {
9328
- readonly name: "part_size";
9329
- readonly type: "integer";
9496
+ readonly name: "requestId";
9497
+ readonly type: "string";
9330
9498
  readonly required: false;
9331
- readonly description: "Optional fixed part size in bytes, 5242880–64000000. Requires part_number on every part; retries of identical bytes at the same number return the same part. Omit to use arbitrary-sized parts.";
9499
+ readonly description: "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.";
9332
9500
  }];
9333
9501
  };
9334
9502
  }, {
9335
- readonly resource: "file.uploads";
9336
- readonly method: "createSigned";
9337
- readonly summary: "Create a one-time upload URL";
9338
- readonly description: "Upload a local file of up to 2 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes), PUT each chunk to its numbered parts[].url in any order, then POST complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 3600 for multipart, at most 604800; all multipart URLs share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {\"filename\":\"photo.png\",\"bytes\":2048,\"content_type\":\"image/png\"}.";
9339
- readonly http: "POST";
9340
- readonly path: "/file/v1/uploads/signed";
9503
+ readonly resource: "devops.projects.testSuites";
9504
+ readonly method: "list";
9505
+ readonly summary: "List test suites";
9506
+ readonly description: "List the suites the project's newest catalog discovered — one suite per test file and framework pair, with its size, purposes and question count. Use it to find the suite id a case belongs to, or to see which files make up an area before selecting cases from them. Suites come from the catalog, so a file added in code appears only after its commit's catalog is published. Archived suites are returned too; they carry archived true and no case is ever silently dropped from the list.";
9507
+ readonly http: "GET";
9508
+ readonly path: "/devops/v1/projects/{project}/test-suites";
9341
9509
  readonly streaming: "no";
9342
9510
  readonly pagination: false;
9343
- readonly pathParams: readonly [];
9511
+ readonly pathParams: readonly [{
9512
+ readonly name: "project";
9513
+ readonly sdkName: "project";
9514
+ readonly description: "Identifies the project whose data you are reading, from the project list or create answer.";
9515
+ }];
9516
+ readonly query: readonly [{
9517
+ readonly name: "pageSize";
9518
+ readonly type: "integer";
9519
+ readonly required: false;
9520
+ readonly description: "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.";
9521
+ }, {
9522
+ readonly name: "pageToken";
9523
+ readonly type: "string";
9524
+ readonly required: false;
9525
+ readonly description: "The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.";
9526
+ }, {
9527
+ readonly name: "orderBy";
9528
+ readonly type: "string";
9529
+ readonly required: false;
9530
+ readonly description: "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.";
9531
+ }];
9532
+ }, {
9533
+ readonly resource: "devops.testCases";
9534
+ readonly method: "retrieve";
9535
+ readonly summary: "Retrieve a test case";
9536
+ readonly description: "Read one case in full — its steps, tags, declared owners, current state with the policy and ticket behind it, and its rolling 7 or 30 day statistics. Use it before quarantining or fixing a case, to see what the state already is and why. A case that was renamed is reachable by both its current fingerprint id and the ids listed in aliases.";
9537
+ readonly http: "GET";
9538
+ readonly path: "/devops/v1/test-cases/{id}";
9539
+ readonly streaming: "no";
9540
+ readonly pagination: false;
9541
+ readonly pathParams: readonly [{
9542
+ readonly name: "id";
9543
+ readonly sdkName: "id";
9544
+ readonly description: "The case identifier returned by a case list, or an older id listed in that case's aliases.";
9545
+ }];
9546
+ readonly query: readonly [];
9547
+ }, {
9548
+ readonly resource: "devops.testPlans";
9549
+ readonly method: "delete";
9550
+ readonly summary: "Delete a test plan";
9551
+ readonly description: "Delete a plan so it schedules nothing further. The plan stops firing immediately; runs it already produced keep their own record and are not deleted with it. To stop a plan temporarily and keep it for later, pause it instead — deleting cannot be undone and the plan's key becomes free for another plan to take.";
9552
+ readonly http: "DELETE";
9553
+ readonly path: "/devops/v1/test-plans/{id}";
9554
+ readonly streaming: "no";
9555
+ readonly pagination: false;
9556
+ readonly pathParams: readonly [{
9557
+ readonly name: "id";
9558
+ readonly sdkName: "id";
9559
+ readonly description: "The plan identifier returned by a plan list or create answer.";
9560
+ }];
9561
+ readonly query: readonly [];
9562
+ }, {
9563
+ readonly resource: "devops.testPlans";
9564
+ readonly method: "retrieve";
9565
+ readonly summary: "Retrieve a test plan";
9566
+ readonly description: "Read one plan by the id a plan list returned, to see its selector, gate, repeat count, timeout and pause state before updating or deleting it. A paused plan carries the reason, the actor and the time it resumes, so a pause you did not set is explained here rather than guessed at.";
9567
+ readonly http: "GET";
9568
+ readonly path: "/devops/v1/test-plans/{id}";
9569
+ readonly streaming: "no";
9570
+ readonly pagination: false;
9571
+ readonly pathParams: readonly [{
9572
+ readonly name: "id";
9573
+ readonly sdkName: "id";
9574
+ readonly description: "The plan identifier returned by a plan list or create answer.";
9575
+ }];
9576
+ readonly query: readonly [];
9577
+ }, {
9578
+ readonly resource: "devops.testPlans";
9579
+ readonly method: "update";
9580
+ readonly summary: "Update a test plan";
9581
+ readonly description: "Change a plan's title, trigger, selector, gate, repeat count, timeout or enabled flag. Only the fields present in the body are changed, so a body naming one field leaves the rest exactly as they were. Changing a selector does not create a version — the plan is not a published artefact, and runs already started keep the selection they were created with. Read the plan first to know what you are leaving unchanged.";
9582
+ readonly http: "PATCH";
9583
+ readonly path: "/devops/v1/test-plans/{id}";
9584
+ readonly streaming: "no";
9585
+ readonly pagination: false;
9586
+ readonly pathParams: readonly [{
9587
+ readonly name: "id";
9588
+ readonly sdkName: "id";
9589
+ readonly description: "The plan identifier returned by a plan list or create answer.";
9590
+ }];
9344
9591
  readonly query: readonly [];
9345
9592
  readonly body: {
9346
9593
  readonly required: true;
9347
9594
  readonly fields: readonly [{
9348
- readonly name: "filename";
9349
- readonly type: "string";
9350
- readonly required: true;
9351
- readonly description: "Stored basename, 1–255 UTF-8 bytes without control characters or path separators.";
9352
- }, {
9353
- readonly name: "bytes";
9354
- readonly type: "integer";
9355
- readonly required: true;
9356
- readonly description: "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.";
9357
- }, {
9358
- readonly name: "content_type";
9359
- readonly type: "string";
9595
+ readonly name: "plan";
9596
+ readonly type: "object";
9360
9597
  readonly required: true;
9361
- readonly description: "Declared MIME type, such as image/png. In single-PUT mode, send exactly this Content-Type or omit it. Stored file metadata is detected from the bytes in both modes.";
9598
+ readonly description: "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.";
9362
9599
  }, {
9363
- readonly name: "purpose";
9600
+ readonly name: "updateMask";
9364
9601
  readonly type: "string";
9365
- readonly enum: readonly ["user_data", "assistants", "vision"];
9366
- readonly required: false;
9367
- readonly description: "user_data and assistants store ordinary files and conversation images with their original purpose label; vision accepts PNG, JPEG, GIF or WebP images only. Omitted means user_data.";
9368
- }, {
9369
- readonly name: "expires_in";
9370
- readonly type: "integer";
9371
- readonly required: false;
9372
- readonly description: "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.";
9373
- }, {
9374
- readonly name: "part_size";
9375
- readonly type: "integer";
9376
9602
  readonly required: false;
9377
- readonly description: "Fixed multipart chunk size in bytes, from 5242880 through 64000000; defaults to 64000000. Used only above 104857600 total bytes. The final part contains the remaining bytes; single-PUT mode keeps its existing response.";
9603
+ readonly description: "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.";
9378
9604
  }];
9379
9605
  };
9380
9606
  }, {
9381
- readonly resource: "file.uploads";
9382
- readonly method: "cancel";
9383
- readonly summary: "Cancel an upload";
9384
- readonly description: "Cancel an unfinished upload using upload_id from create and release its reserved storage. Further parts and completion are rejected. Cancelling an already cancelled upload returns the same terminal result; a completed upload cannot be cancelled. Delete its resulting file instead.";
9385
- readonly http: "POST";
9386
- readonly path: "/file/v1/uploads/{upload_id}/cancel";
9387
- readonly streaming: "no";
9388
- readonly pagination: false;
9389
- readonly pathParams: readonly [{
9390
- readonly name: "upload_id";
9391
- readonly sdkName: "upload_id";
9392
- readonly description: "Upload identifier returned by create; belongs to your organization.";
9393
- }];
9394
- readonly query: readonly [];
9395
- }, {
9396
- readonly resource: "file.uploads";
9397
- readonly method: "complete";
9398
- readonly summary: "Complete an upload";
9399
- readonly description: "Assemble the uploaded parts into a file. Supply upload_id from create and part_ids from addPart in file byte order; their sizes must total the declared bytes. Optional md5 verifies the assembled content. Retrying identical part_ids and normalized md5 returns the same result; different inputs return 409. Unlike OpenAI, completed can contain a file still processing (status uploaded). Poll files.retrieve using file.id until status processed (own face state active); error, expiry or 404 means processing failed and the file cannot be used.";
9607
+ readonly resource: "devops.testPlans";
9608
+ readonly method: "pause";
9609
+ readonly summary: "Pause a test plan";
9610
+ readonly description: "Stop a plan from starting new runs while keeping it and its history. A reason is required and is recorded on the plan, so the next reader learns why it stopped. Give until to resume automatically at a time; omit it to stay paused until someone resumes it. Runs already in flight are not cancelled — cancel those individually.";
9400
9611
  readonly http: "POST";
9401
- readonly path: "/file/v1/uploads/{upload_id}/complete";
9612
+ readonly path: "/devops/v1/test-plans/{id}:pause";
9402
9613
  readonly streaming: "no";
9403
9614
  readonly pagination: false;
9404
9615
  readonly pathParams: readonly [{
9405
- readonly name: "upload_id";
9406
- readonly sdkName: "upload_id";
9407
- readonly description: "Upload identifier returned by create; belongs to your organization.";
9616
+ readonly name: "id";
9617
+ readonly sdkName: "id";
9618
+ readonly description: "The plan identifier returned by a plan list or create answer.";
9408
9619
  }];
9409
9620
  readonly query: readonly [];
9410
9621
  readonly body: {
9411
9622
  readonly required: true;
9412
9623
  readonly fields: readonly [{
9413
- readonly name: "part_ids";
9414
- readonly type: "array";
9415
- readonly itemType: "string";
9624
+ readonly name: "reason";
9625
+ readonly type: "string";
9416
9626
  readonly required: true;
9417
- readonly description: "All part IDs in concatenation order, without duplicates. Fixed-size uploads require increasing part_number order.";
9627
+ readonly description: "Why the plan is being paused; it is stored on the plan and read by whoever finds it stopped.";
9418
9628
  }, {
9419
- readonly name: "md5";
9629
+ readonly name: "until";
9420
9630
  readonly type: "string";
9421
9631
  readonly required: false;
9422
- readonly description: "Optional whole-file MD5 as 32 hexadecimal characters; verified after assembly.";
9632
+ readonly description: "RFC 3339 UTC time the plan resumes by itself; omit it to stay paused until someone resumes it.";
9423
9633
  }];
9424
9634
  };
9425
9635
  }, {
9426
- readonly resource: "file.uploads.parts";
9427
- readonly method: "create";
9428
- readonly summary: "Add an upload part";
9429
- readonly description: "Send one nonempty part as the multipart data field, at most 64000000 bytes. Parts may arrive concurrently in any order. Use upload_id from create. For a fixed-size upload, supply part_number starting at 1 and exactly part_size bytes except for the final remainder; retry the same number with identical bytes to recover its part ID. Without part_size, each request creates a new part and part_number is ignored. Save the returned part IDs for complete.";
9636
+ readonly resource: "devops.testPlans";
9637
+ readonly method: "resume";
9638
+ readonly summary: "Resume a test plan";
9639
+ readonly description: "Clear a plan's pause so it schedules runs again. Resuming an active plan changes nothing and is safe to repeat. The plan keeps its selector, gate and key; only the pause is removed.";
9430
9640
  readonly http: "POST";
9431
- readonly path: "/file/v1/uploads/{upload_id}/parts";
9641
+ readonly path: "/devops/v1/test-plans/{id}:resume";
9432
9642
  readonly streaming: "no";
9433
9643
  readonly pagination: false;
9434
- readonly multipart: true;
9435
9644
  readonly pathParams: readonly [{
9436
- readonly name: "upload_id";
9437
- readonly sdkName: "upload_id";
9438
- readonly description: "Upload identifier returned by create; belongs to your organization.";
9645
+ readonly name: "id";
9646
+ readonly sdkName: "id";
9647
+ readonly description: "The plan identifier returned by a plan list or create answer.";
9648
+ }];
9649
+ readonly query: readonly [];
9650
+ }, {
9651
+ readonly resource: "devops.testRuns";
9652
+ readonly method: "retrieve";
9653
+ readonly summary: "Retrieve a test run";
9654
+ readonly description: "Read one run's current state, result and counts, and ask for its failed executions inline with expand. Poll this after creating a run whose result was pending. A result is monotonic once it reaches a verdict — a failed run never becomes passed by a later report, so read the run rather than the last report to know where it ended.";
9655
+ readonly http: "GET";
9656
+ readonly path: "/devops/v1/test-runs/{id}";
9657
+ readonly streaming: "no";
9658
+ readonly pagination: false;
9659
+ readonly pathParams: readonly [{
9660
+ readonly name: "id";
9661
+ readonly sdkName: "id";
9662
+ readonly description: "The run identifier returned by a run list or create answer.";
9439
9663
  }];
9440
9664
  readonly query: readonly [{
9441
- readonly name: "part_number";
9442
- readonly type: "integer";
9665
+ readonly name: "expand";
9666
+ readonly type: "array";
9667
+ readonly itemType: "string";
9668
+ readonly enum: readonly ["failedExecutions"];
9443
9669
  readonly required: false;
9444
- readonly description: "Required when create set part_size; 1 through ceil(bytes / part_size). Ignored for general uploads.";
9670
+ readonly description: "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.";
9671
+ }];
9672
+ }, {
9673
+ readonly resource: "devops.testRuns";
9674
+ readonly method: "cancel";
9675
+ readonly summary: "Cancel a test run";
9676
+ readonly description: "Stop a run that is still going. A reason is required and is recorded on the run, because a cancelled run is read later as evidence about why a commit was not verified. Cancelling a run that already reached a verdict is refused with RUN_ALREADY_FINISHED: its result is final and cancelling it would erase the verdict. Executions already recorded stay readable.";
9677
+ readonly http: "POST";
9678
+ readonly path: "/devops/v1/test-runs/{id}:cancel";
9679
+ readonly streaming: "no";
9680
+ readonly pagination: false;
9681
+ readonly pathParams: readonly [{
9682
+ readonly name: "id";
9683
+ readonly sdkName: "id";
9684
+ readonly description: "The run identifier returned by a run list or create answer.";
9445
9685
  }];
9686
+ readonly query: readonly [];
9446
9687
  readonly body: {
9447
9688
  readonly required: true;
9448
9689
  readonly fields: readonly [{
9449
- readonly name: "data";
9690
+ readonly name: "reason";
9450
9691
  readonly type: "string";
9451
9692
  readonly required: true;
9452
- readonly description: "Raw bytes of this part, nonempty and at most 64000000 bytes.";
9693
+ readonly description: "Why the run is being cancelled; it is stored on the run and is what a later reader finds instead of a result.";
9453
9694
  }];
9454
9695
  };
9455
9696
  }, {
9456
- readonly resource: "knowledge.vectorStores";
9697
+ readonly resource: "devops.testRuns.executions";
9457
9698
  readonly method: "list";
9458
- readonly summary: "List knowledge bases";
9459
- readonly description: "Lists knowledge bases visible to the caller, newest first by default. Use last_id as after to read the next page; for example, ?limit=20.";
9699
+ readonly summary: "List a run's executions";
9700
+ readonly description: "List the executions recorded against one run — one entry per case the run selected, with its status, duration, attempts and evidence. Use it to find the case that failed, or to compare a repeat run against the previous one case by case. Reads happen while the run is still going, so a case may still be pending; filter by status to watch only the failures.";
9460
9701
  readonly http: "GET";
9461
- readonly path: "/knowledge/v1/vector_stores";
9702
+ readonly path: "/devops/v1/test-runs/{run}/executions";
9462
9703
  readonly streaming: "no";
9463
9704
  readonly pagination: false;
9464
- readonly pathParams: readonly [];
9705
+ readonly pathParams: readonly [{
9706
+ readonly name: "run";
9707
+ readonly sdkName: "run";
9708
+ readonly description: "The run whose executions you are reading, from a run list or create answer.";
9709
+ }];
9465
9710
  readonly query: readonly [{
9466
- readonly name: "status";
9711
+ readonly name: "pageSize";
9712
+ readonly type: "integer";
9713
+ readonly required: false;
9714
+ readonly description: "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.";
9715
+ }, {
9716
+ readonly name: "pageToken";
9467
9717
  readonly type: "string";
9468
- readonly enum: readonly ["active", "deleting"];
9469
9718
  readonly required: false;
9470
- readonly description: "active selects active stores; deleting selects soft-deleted stores awaiting purge. Omission excludes soft-deleted stores.";
9719
+ readonly description: "The cursor from the previous page's nextPageToken. Treat it as opaque and never build one yourself; omit it for the first page.";
9471
9720
  }, {
9472
- readonly name: "after";
9721
+ readonly name: "filter";
9473
9722
  readonly type: "string";
9474
9723
  readonly required: false;
9475
- readonly description: "Cursor ID from the previous page.";
9724
+ readonly description: "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.";
9476
9725
  }, {
9477
- readonly name: "before";
9726
+ readonly name: "orderBy";
9478
9727
  readonly type: "string";
9479
9728
  readonly required: false;
9480
- readonly description: "Return items before this ID.";
9729
+ readonly description: "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.";
9730
+ }];
9731
+ }, {
9732
+ readonly resource: "devops.testRuns.executions";
9733
+ readonly method: "retrieve";
9734
+ readonly summary: "Retrieve one case's execution in a run";
9735
+ readonly description: "Read one case's execution inside one run, including every attempt with its own duration and message. Use it after a run reports a failure to see whether the case failed once and passed on retry — that is what flaky true means — and to reach the evidence files a triage needs. Both ids come from the run and case reads; an execution that does not exist for that pair is NOT_FOUND rather than an empty answer.";
9736
+ readonly http: "GET";
9737
+ readonly path: "/devops/v1/test-runs/{run}/executions/{case}";
9738
+ readonly streaming: "no";
9739
+ readonly pagination: false;
9740
+ readonly pathParams: readonly [{
9741
+ readonly name: "run";
9742
+ readonly sdkName: "run";
9743
+ readonly description: "The run whose executions you are reading, from a run list or create answer.";
9744
+ }, {
9745
+ readonly name: "case";
9746
+ readonly sdkName: "case";
9747
+ readonly description: "The case to read inside that run, from the run's execution list or the project's case list.";
9748
+ }];
9749
+ readonly query: readonly [];
9750
+ }, {
9751
+ readonly resource: "devops.testSuites";
9752
+ readonly method: "retrieve";
9753
+ readonly summary: "Retrieve a test suite";
9754
+ readonly description: "Read one suite by the id a suite list returned, to learn its file, framework, size, purposes and how many cases it holds. Use it when a case's suite id needs a name for display, or to confirm which commit's catalog a suite came from. The id is opaque; it comes from the list, never from the file path.";
9755
+ readonly http: "GET";
9756
+ readonly path: "/devops/v1/test-suites/{id}";
9757
+ readonly streaming: "no";
9758
+ readonly pagination: false;
9759
+ readonly pathParams: readonly [{
9760
+ readonly name: "id";
9761
+ readonly sdkName: "id";
9762
+ readonly description: "The suite identifier returned by a suite list, not the file path it was discovered from.";
9763
+ }];
9764
+ readonly query: readonly [];
9765
+ }, {
9766
+ readonly resource: "file.files";
9767
+ readonly method: "list";
9768
+ readonly summary: "List files";
9769
+ readonly description: "List live files owned by your tenant, optionally filtered by purpose or session scope_id. Results default to descending creation order with a limit of 10000. Page using after or before with a file ID from the list; these cursors are mutually exclusive. Deleted and expired files are excluded.";
9770
+ readonly http: "GET";
9771
+ readonly path: "/file/v1/files";
9772
+ readonly streaming: "no";
9773
+ readonly pagination: false;
9774
+ readonly pathParams: readonly [];
9775
+ readonly query: readonly [{
9776
+ readonly name: "purpose";
9777
+ readonly type: "string";
9778
+ readonly required: false;
9779
+ readonly description: "Only return files with the given purpose.";
9481
9780
  }, {
9482
9781
  readonly name: "limit";
9483
9782
  readonly type: "integer";
9484
9783
  readonly required: false;
9485
- readonly description: "Page size.";
9784
+ readonly description: "A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000.\n";
9486
9785
  }, {
9487
9786
  readonly name: "order";
9488
9787
  readonly type: "string";
9489
9788
  readonly enum: readonly ["asc", "desc"];
9490
9789
  readonly required: false;
9491
- readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
9492
- }];
9493
- }, {
9494
- readonly resource: "knowledge.vectorStores";
9495
- readonly method: "create";
9496
- readonly summary: "Create knowledge base";
9497
- readonly description: "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; each account holds up to 100 active/nondeleted stores. Minimal body: {\"name\":\"Refund policies\"}.";
9498
- readonly http: "POST";
9499
- readonly path: "/knowledge/v1/vector_stores";
9500
- readonly streaming: "no";
9501
- readonly pagination: false;
9502
- readonly pathParams: readonly [];
9503
- readonly query: readonly [];
9504
- readonly body: {
9505
- readonly required: true;
9506
- readonly fields: readonly [{
9507
- readonly name: "name";
9790
+ readonly description: "Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order.\n";
9791
+ }, {
9792
+ readonly name: "after";
9793
+ readonly type: "string";
9794
+ readonly required: false;
9795
+ readonly description: "File ID cursor for the next page; mutually exclusive with before. Use an ID from the current listing.";
9796
+ }, {
9797
+ readonly name: "scope_id";
9798
+ readonly type: "string";
9799
+ readonly required: false;
9800
+ readonly description: "Session whose output files to list. Accepts sesn_ or ags_ followed by 1 to 251 letters, digits, underscores or hyphens. An existing session with no outputs returns an empty list; a nonexistent or inaccessible session returns 404.";
9801
+ }, {
9802
+ readonly name: "before";
9803
+ readonly type: "string";
9804
+ readonly required: false;
9805
+ readonly description: "File ID cursor for the preceding page; mutually exclusive with after. Use an ID from the current listing.";
9806
+ }];
9807
+ }, {
9808
+ readonly resource: "file.files";
9809
+ readonly method: "create";
9810
+ readonly summary: "Upload file";
9811
+ readonly description: "Upload a file to reuse in conversations or attach to a knowledge base. Unlike OpenAI Files, uploads must be nonempty and at most 100000000 bytes, and only user_data, assistants and vision purposes are accepted. Send file bytes as a multipart file part, not a filename or file ID; in the SDK use a File or Blob, for example new File([\"Return within 23 days.\"], \"policy.txt\", { type: \"text/plain\" }). Content determines the MIME type. Supported uploads include PDF, DOCX/XLSX/PPTX, PNG/JPEG/GIF/WebP, MP3/WAV/FLAC/OGG/M4A, MP4/WebM, and UTF-8 JSON/NDJSON/CSV/Markdown/plain text; empty, unsupported, oversized files and unsupported purposes return 400. Use Uploads for larger files. The purpose vision accepts only PNG, JPEG, GIF and WebP, while conversation images require user_data. The returned ID belongs to your tenant; upload alone does not ingest the file into Knowledge. Knowledge attachment has a lower limit of 100000000 bytes. Optionally set expires_after[anchor]=created_at with expires_after[seconds] (3600–7776000). Without expiry, the file persists until deleted.";
9812
+ readonly http: "POST";
9813
+ readonly path: "/file/v1/files";
9814
+ readonly streaming: "no";
9815
+ readonly pagination: false;
9816
+ readonly multipart: true;
9817
+ readonly pathParams: readonly [];
9818
+ readonly query: readonly [];
9819
+ readonly body: {
9820
+ readonly required: true;
9821
+ readonly fields: readonly [{
9822
+ readonly name: "file";
9508
9823
  readonly type: "string";
9509
- readonly required: false;
9510
- readonly description: "Omitted name becomes an empty string; null is rejected.";
9511
- }, {
9512
- readonly name: "metadata";
9513
- readonly type: "object";
9514
- readonly required: false;
9515
- readonly description: "User-defined string metadata for the store; omission or null creates an empty map.";
9516
- }, {
9517
- readonly name: "expires_after";
9518
- readonly type: "object";
9519
- readonly required: false;
9520
- readonly description: "Expiry policy from last activity; omission or null disables automatic expiry.";
9521
- }, {
9522
- readonly name: "file_ids";
9523
- readonly type: "array";
9524
- readonly itemType: "string";
9525
- readonly required: false;
9526
- readonly description: "Existing File IDs to attach; the store allows up to 10,000 files.";
9527
- }, {
9528
- readonly name: "chunking_strategy";
9529
- readonly type: "object";
9530
- readonly required: false;
9531
- readonly description: "auto resolves to static with 800 estimated tokens and 400 overlap tokens. Unlike OpenAI vector stores, token counts are estimates; each Han character counts as one, and other whitespace-delimited words count as their UTF-16 length divided by four, rounded up.";
9824
+ readonly required: true;
9825
+ readonly description: "File bytes in one multipart file part, not a filename or file ID. The file must be nonempty and at most 100000000 bytes; its content determines the MIME type.";
9532
9826
  }, {
9533
- readonly name: "description";
9827
+ readonly name: "purpose";
9534
9828
  readonly type: "string";
9535
- readonly required: false;
9536
- readonly description: "Accepted but not saved or returned; its type is not validated.";
9829
+ readonly enum: readonly ["user_data", "assistants", "vision"];
9830
+ readonly required: true;
9831
+ readonly description: "Purpose label stored with the file: user_data, assistants or vision. The label is stored and returned unchanged; assistants follows the same rules as user_data. The vision purpose accepts only PNG, JPEG, GIF and WebP images. Conversation image references require user_data.";
9537
9832
  }, {
9538
- readonly name: "models";
9833
+ readonly name: "expires_after";
9539
9834
  readonly type: "object";
9540
9835
  readonly required: false;
9541
- readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9836
+ readonly description: "Optional expiry relative to created_at. Files without an expiry persist until deleted.";
9542
9837
  }];
9543
9838
  };
9544
9839
  }, {
9545
- readonly resource: "knowledge.vectorStores";
9840
+ readonly resource: "file.files";
9546
9841
  readonly method: "delete";
9547
- readonly summary: "Delete knowledge base";
9548
- readonly description: "Remove a knowledge base from active use while keeping a recovery window. Unlike OpenAI vector stores, native DELETE returns the store with status=deleting and ISO purge_at, retains it for 7 days and is idempotent on repeat. Retrieve remains 200; object operations return 409. Use restore before purge_at to recover it, or purge to remove it irreversibly.";
9842
+ readonly summary: "Delete file";
9843
+ readonly description: "Delete a tenant-owned file. New metadata/content reads return not found. Already-authorized downloads may finish.";
9549
9844
  readonly http: "DELETE";
9550
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
9845
+ readonly path: "/file/v1/files/{file_id}";
9551
9846
  readonly streaming: "no";
9552
9847
  readonly pagination: false;
9553
9848
  readonly pathParams: readonly [{
9554
- readonly name: "vector_store_id";
9555
- readonly sdkName: "vector_store_id";
9556
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9849
+ readonly name: "file_id";
9850
+ readonly sdkName: "file_id";
9851
+ readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9557
9852
  }];
9558
9853
  readonly query: readonly [];
9559
9854
  }, {
9560
- readonly resource: "knowledge.vectorStores";
9855
+ readonly resource: "file.files";
9561
9856
  readonly method: "retrieve";
9562
- readonly summary: "Retrieve knowledge base";
9563
- readonly description: "Retrieves a knowledge base using an id returned by create or list. Add ?expand=files to include the first page of attached files. Soft-deleted stores remain readable with status=deleting until purged.";
9857
+ readonly summary: "Retrieve file";
9858
+ readonly description: "Retrieve metadata for a live file owned by your tenant. Use its file- ID from upload or list. Missing, deleted, expired and other-tenant files return 404; use the content endpoint to download the bytes.";
9564
9859
  readonly http: "GET";
9565
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
9860
+ readonly path: "/file/v1/files/{file_id}";
9566
9861
  readonly streaming: "no";
9567
9862
  readonly pagination: false;
9568
9863
  readonly pathParams: readonly [{
9569
- readonly name: "vector_store_id";
9570
- readonly sdkName: "vector_store_id";
9571
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9864
+ readonly name: "file_id";
9865
+ readonly sdkName: "file_id";
9866
+ readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9572
9867
  }];
9573
- readonly query: readonly [{
9574
- readonly name: "expand";
9575
- readonly type: "array";
9576
- readonly itemType: "string";
9577
- readonly enum: readonly ["files"];
9578
- readonly required: false;
9579
- readonly description: "Praxis extension on both URLs: files includes the first file page. Unknown values are ignored.";
9580
- }, {
9581
- readonly name: "expand[]";
9582
- readonly type: "array";
9583
- readonly itemType: "string";
9584
- readonly enum: readonly ["files"];
9585
- readonly required: false;
9586
- readonly description: "Praxis extension on both URLs: files includes the first file page. Unknown values are ignored.";
9868
+ readonly query: readonly [];
9869
+ }, {
9870
+ readonly resource: "file.files";
9871
+ readonly method: "retrieveContent";
9872
+ readonly summary: "Retrieve file content";
9873
+ readonly description: "Download the original bytes of a live file owned by your tenant. Supply its file- ID from upload or list. A single byte Range can return a partial response; a range outside the file returns 416. Missing, deleted, expired and other-tenant files return 404.";
9874
+ readonly http: "GET";
9875
+ readonly path: "/file/v1/files/{file_id}/content";
9876
+ readonly streaming: "no";
9877
+ readonly pagination: false;
9878
+ readonly pathParams: readonly [{
9879
+ readonly name: "file_id";
9880
+ readonly sdkName: "file_id";
9881
+ readonly description: "ID of a tenant-owned live file, as returned by upload or list; starts with file-.";
9587
9882
  }];
9883
+ readonly query: readonly [];
9588
9884
  }, {
9589
- readonly resource: "knowledge.vectorStores";
9590
- readonly method: "update";
9591
- readonly summary: "Update knowledge base";
9592
- readonly description: "Updates an active knowledge base using its returned id. Omitted fields stay unchanged; metadata replaces the whole map. Example body: {\"name\":\"Refund policies\"}.";
9885
+ readonly resource: "file.files.contentLinks";
9886
+ readonly method: "revoke";
9887
+ readonly summary: "Revoke a file content link";
9888
+ readonly description: "Stop a previously issued content link from reading a file. Obtain the link with files.contentUrl.create. Use file_id from file creation or listing and the token path component from a content URL (/c/<token>), not the complete URL. The caller must own the file and have write access; a read-only binding is refused. Revocation propagates through the capability deny list within 15 minutes; the file and other links remain available. Only current IAM capability tokens can be revoked; legacy content links expire at the migration deadline. Example body: {\"token\":\"<token from /c/>\"}.";
9593
9889
  readonly http: "POST";
9594
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
9890
+ readonly path: "/file/v1/files/{file_id}/content_links:revoke";
9595
9891
  readonly streaming: "no";
9596
9892
  readonly pagination: false;
9597
9893
  readonly pathParams: readonly [{
9598
- readonly name: "vector_store_id";
9599
- readonly sdkName: "vector_store_id";
9600
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9894
+ readonly name: "file_id";
9895
+ readonly sdkName: "file_id";
9896
+ readonly description: "Tenant-owned file identifier returned by file creation or listing; the token must name this same file.";
9601
9897
  }];
9602
9898
  readonly query: readonly [];
9603
9899
  readonly body: {
9604
9900
  readonly required: true;
9605
9901
  readonly fields: readonly [{
9606
- readonly name: "name";
9902
+ readonly name: "token";
9607
9903
  readonly type: "string";
9608
- readonly required: false;
9609
- readonly description: "null clears the name to an empty string. Omitted fields stay unchanged.";
9610
- }, {
9611
- readonly name: "metadata";
9612
- readonly type: "object";
9613
- readonly required: false;
9614
- readonly description: "Replaces all metadata; null clears it to an empty object.";
9615
- }, {
9616
- readonly name: "expires_after";
9617
- readonly type: "object";
9618
- readonly required: false;
9619
- readonly description: "null removes automatic expiry.";
9620
- }, {
9621
- readonly name: "models";
9622
- readonly type: "object";
9623
- readonly required: false;
9624
- readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9904
+ readonly required: true;
9905
+ readonly description: "Signed token taken from the /c/ path component of a previously issued file content URL, without the host or /c/ prefix.";
9625
9906
  }];
9626
9907
  };
9627
9908
  }, {
9628
- readonly resource: "knowledge.vectorStores.events";
9629
- readonly method: "list";
9630
- readonly summary: "List events";
9631
- readonly description: "Reads events for this knowledge base in increasing sequence order, including while soft-deleted. Pass next_seq as after_seq to continue; null next_seq marks the current end. Example: ?after_seq=0&limit=20.";
9632
- readonly http: "GET";
9633
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/events";
9909
+ readonly resource: "file.files.contentUrl";
9910
+ readonly method: "create";
9911
+ readonly summary: "Create a download URL";
9912
+ readonly description: "Download a file's bytes to a local disk from a coding agent without sending them through the model. Use file_id from file creation or listing, then run curl -fsSL -o <filename> '<url>' locally with the returned URL; GET needs no Authorization header. The link is reusable until expiry and supports a single byte Range (for example Range: bytes=0-9 returns 206). Revoke it with files.contentLinks.revoke, passing the token after /c/ in the URL. Expired, revoked, invalid or cross-organization URLs return 404. Lifetime defaults to 900 seconds and is at most 604800 seconds. Issuance requires the same credential and file-read access as files.retrieveContent; a processing file returns 409 FILE_NOT_READY, so poll files.retrieve until active before retrying. A missing, expired or other-organization file returns 404. Each issuance creates a new link. OpenAI Files has no signed download URL; this follows S3 presigned GET semantics. Example body: {\"ttl_seconds\":3600}.";
9913
+ readonly http: "POST";
9914
+ readonly path: "/file/v1/files/{file_id}/content_url";
9634
9915
  readonly streaming: "no";
9635
9916
  readonly pagination: false;
9636
9917
  readonly pathParams: readonly [{
9637
- readonly name: "vector_store_id";
9638
- readonly sdkName: "vector_store_id";
9639
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9918
+ readonly name: "file_id";
9919
+ readonly sdkName: "file_id";
9920
+ readonly description: "Tenant-owned live file identifier from file creation or listing; the file must be active to issue a download URL.";
9640
9921
  }];
9641
- readonly query: readonly [{
9642
- readonly name: "after_seq";
9643
- readonly type: "integer";
9644
- readonly required: false;
9645
- readonly description: "Return events with larger seq. Use next_seq to continue; invalid text is currently ignored.";
9646
- }, {
9647
- readonly name: "limit";
9648
- readonly type: "integer";
9922
+ readonly query: readonly [];
9923
+ readonly body: {
9649
9924
  readonly required: false;
9650
- readonly description: "Page size.";
9651
- }];
9925
+ readonly fields: readonly [{
9926
+ readonly name: "ttl_seconds";
9927
+ readonly type: "integer";
9928
+ readonly required: false;
9929
+ readonly description: "Download link lifetime in seconds, from 1 through 604800; omitted means 900. This does not change the file's own expiry.";
9930
+ }];
9931
+ };
9652
9932
  }, {
9653
- readonly resource: "knowledge.vectorStores.fileBatches";
9933
+ readonly resource: "file.uploads";
9654
9934
  readonly method: "create";
9655
- readonly summary: "Create file batch";
9656
- readonly description: "Attaches existing Files as a batch for asynchronous ingestion. Supply exactly one of file_ids or files; files allows per-file settings. Existing attachments are reused. Read the returned batch id to monitor status.";
9935
+ readonly summary: "Create an upload";
9936
+ readonly description: "Start a multipart upload for a file larger than the 100000000-byte direct-upload limit. Supply the exact byte length, filename, MIME type and purpose. Unlike OpenAI, uploads accept at most 20 GiB (21474836480 bytes) and only user_data, assistants and vision purposes. Send parts of at most 64000000 bytes; an unfinished upload waits for them for 7 days, so a client can create → send parts → query GET /file/v1/uploads/{upload_id} → resend only the missing parts → complete. Optional part_size fixes every part length and makes each numbered part retryable with identical bytes. expires_after applies to the resulting file (3600–7776000 seconds on this own face); without it the file persists until deleted.";
9657
9937
  readonly http: "POST";
9658
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches";
9938
+ readonly path: "/file/v1/uploads";
9659
9939
  readonly streaming: "no";
9660
9940
  readonly pagination: false;
9661
- readonly pathParams: readonly [{
9662
- readonly name: "vector_store_id";
9663
- readonly sdkName: "vector_store_id";
9664
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9665
- }];
9941
+ readonly pathParams: readonly [];
9666
9942
  readonly query: readonly [];
9667
9943
  readonly body: {
9668
9944
  readonly required: true;
9669
- readonly fields: readonly [];
9945
+ readonly fields: readonly [{
9946
+ readonly name: "bytes";
9947
+ readonly type: "integer";
9948
+ readonly required: true;
9949
+ readonly description: "Exact complete file length in bytes, from 1 through 21474836480 (20 GiB); the sum of completed parts must match.";
9950
+ }, {
9951
+ readonly name: "filename";
9952
+ readonly type: "string";
9953
+ readonly required: true;
9954
+ readonly description: "Filename for the resulting file, at most 255 UTF-8 bytes.";
9955
+ }, {
9956
+ readonly name: "mime_type";
9957
+ readonly type: "string";
9958
+ readonly required: true;
9959
+ readonly description: "Declared MIME type; validated against the assembled content.";
9960
+ }, {
9961
+ readonly name: "purpose";
9962
+ readonly type: "string";
9963
+ readonly enum: readonly ["user_data", "assistants", "vision"];
9964
+ readonly required: true;
9965
+ readonly description: "Use user_data for conversation attachments, assistants for assistant files, or vision for PNG, JPEG, GIF and WebP images.";
9966
+ }, {
9967
+ readonly name: "expires_after";
9968
+ readonly type: "object";
9969
+ readonly required: false;
9970
+ readonly description: "Optional expiry policy for the resulting file; omission retains the file until deletion.";
9971
+ }, {
9972
+ readonly name: "part_size";
9973
+ readonly type: "integer";
9974
+ readonly required: false;
9975
+ readonly description: "Optional fixed part size in bytes, 5242880–64000000. Requires part_number on every part; retries of identical bytes at the same number return the same part. Omit to use arbitrary-sized parts.";
9976
+ }];
9670
9977
  };
9671
9978
  }, {
9672
- readonly resource: "knowledge.vectorStores.fileBatches";
9673
- readonly method: "retrieve";
9674
- readonly summary: "Retrieve file batch";
9675
- readonly description: "Retrieves a batch created in this knowledge base, including current status and file counts. Use the batch id returned by batch creation to monitor ingestion.";
9676
- readonly http: "GET";
9677
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}";
9979
+ readonly resource: "file.uploads";
9980
+ readonly method: "createSigned";
9981
+ readonly summary: "Create a one-time upload URL";
9982
+ readonly description: "Upload a local file of up to 20 GiB from a coding agent without sending bytes through the model. Provide basename, exact byte count and MIME type. Up to 104857600 bytes, PUT the file to url with curl -T photo.png -H 'Content-Type: image/png' '<url>'; success returns 201 with the file object, and reuse returns 410 CAPABILITY_USED. Above that threshold, split the file into part_size chunks (default 64000000 bytes) and PUT each chunk to its numbered parts[].url in any order; an interrupted client GETs status_url to see the received parts and resends only what is missing, then POSTs complete_url without a body. Part PUTs return 200; completion returns 201 with the file object, including its state, or 400 if a part is missing. A processing file can be polled with files.retrieve until active. Identical part bytes may be retried; changed bytes at the same number return 400. Completion reuse returns 410 CAPABILITY_USED. Each PUT requires the exact signed Content-Length; single-PUT Content-Type must match content_type or be omitted. Expired, revoked, invalid, wrong-action or cross-organization URLs return 404. URL lifetime defaults to 900 seconds for single PUT or 604800 (7 days) for multipart, at most 604800; all multipart URLs, including status_url, share an expiry. Multipart creation reserves storage quota. Issuance requires the same unscoped credential as direct file creation. Each issuance creates a new upload and is not idempotent. Example body: {\"filename\":\"photo.png\",\"bytes\":2048,\"content_type\":\"image/png\"}.";
9983
+ readonly http: "POST";
9984
+ readonly path: "/file/v1/uploads/signed";
9985
+ readonly streaming: "no";
9986
+ readonly pagination: false;
9987
+ readonly pathParams: readonly [];
9988
+ readonly query: readonly [];
9989
+ readonly body: {
9990
+ readonly required: true;
9991
+ readonly fields: readonly [{
9992
+ readonly name: "filename";
9993
+ readonly type: "string";
9994
+ readonly required: true;
9995
+ readonly description: "Stored basename, 1–255 UTF-8 bytes without control characters or path separators.";
9996
+ }, {
9997
+ readonly name: "bytes";
9998
+ readonly type: "integer";
9999
+ readonly required: true;
10000
+ readonly description: "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.";
10001
+ }, {
10002
+ readonly name: "content_type";
10003
+ readonly type: "string";
10004
+ readonly required: true;
10005
+ readonly description: "Declared MIME type, such as image/png. In single-PUT mode, send exactly this Content-Type or omit it. Stored file metadata is detected from the bytes in both modes.";
10006
+ }, {
10007
+ readonly name: "purpose";
10008
+ readonly type: "string";
10009
+ readonly enum: readonly ["user_data", "assistants", "vision"];
10010
+ readonly required: false;
10011
+ readonly description: "user_data and assistants store ordinary files and conversation images with their original purpose label; vision accepts PNG, JPEG, GIF or WebP images only. Omitted means user_data.";
10012
+ }, {
10013
+ readonly name: "expires_in";
10014
+ readonly type: "integer";
10015
+ readonly required: false;
10016
+ readonly description: "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.";
10017
+ }, {
10018
+ readonly name: "part_size";
10019
+ readonly type: "integer";
10020
+ readonly required: false;
10021
+ readonly description: "Fixed multipart chunk size in bytes, from 5242880 through 64000000; defaults to 64000000. Used only above 104857600 total bytes. The final part contains the remaining bytes; single-PUT mode keeps its existing response.";
10022
+ }];
10023
+ };
10024
+ }, {
10025
+ readonly resource: "file.uploads";
10026
+ readonly method: "retrieve";
10027
+ readonly summary: "Retrieve an upload";
10028
+ readonly description: "Read the state of an unfinished upload — its status, declared bytes, fixed part_size and the parts it already holds (received_parts, each with part_number, bytes and sha256). After a break or a failed part, call it to resend only the missing numbers, then complete. A cancelled or expired upload is refused; a completed one returns its file. A missing or other-organization upload returns 404.";
10029
+ readonly http: "GET";
10030
+ readonly path: "/file/v1/uploads/{upload_id}";
9678
10031
  readonly streaming: "no";
9679
10032
  readonly pagination: false;
9680
10033
  readonly pathParams: readonly [{
9681
- readonly name: "vector_store_id";
9682
- readonly sdkName: "vector_store_id";
9683
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9684
- }, {
9685
- readonly name: "batch_id";
9686
- readonly sdkName: "batch_id";
9687
- readonly description: "File-batch ID returned by batch creation in this knowledge base.";
10034
+ readonly name: "upload_id";
10035
+ readonly sdkName: "upload_id";
10036
+ readonly description: "Upload identifier returned by create; the upload must belong to your organization.";
9688
10037
  }];
9689
10038
  readonly query: readonly [];
9690
10039
  }, {
9691
- readonly resource: "knowledge.vectorStores.fileBatches";
10040
+ readonly resource: "file.uploads";
9692
10041
  readonly method: "cancel";
9693
- readonly summary: "Cancel file batch";
9694
- readonly description: "Cancels only in-progress batches and pending files. Completed, failed and cancelled batches return unchanged (200, idempotent).";
10042
+ readonly summary: "Cancel an upload";
10043
+ readonly description: "Cancel an unfinished upload using upload_id from create and release its reserved storage. Further parts and completion are rejected. Cancelling an already cancelled upload returns the same terminal result; a completed upload cannot be cancelled. Delete its resulting file instead.";
9695
10044
  readonly http: "POST";
9696
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel";
10045
+ readonly path: "/file/v1/uploads/{upload_id}/cancel";
9697
10046
  readonly streaming: "no";
9698
10047
  readonly pagination: false;
9699
10048
  readonly pathParams: readonly [{
9700
- readonly name: "vector_store_id";
9701
- readonly sdkName: "vector_store_id";
9702
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9703
- }, {
9704
- readonly name: "batch_id";
9705
- readonly sdkName: "batch_id";
9706
- readonly description: "File-batch ID returned by batch creation in this knowledge base.";
10049
+ readonly name: "upload_id";
10050
+ readonly sdkName: "upload_id";
10051
+ readonly description: "Upload identifier returned by create; belongs to your organization.";
9707
10052
  }];
9708
10053
  readonly query: readonly [];
9709
10054
  }, {
9710
- readonly resource: "knowledge.vectorStores.fileBatches.files";
9711
- readonly method: "list";
9712
- readonly summary: "List batch files";
9713
- readonly description: "Lists files still attached from the identified batch, newest attachment first by default. Use the batch creation id and ?filter=failed to inspect failures; last_id is the next after cursor.";
9714
- readonly http: "GET";
9715
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files";
10055
+ readonly resource: "file.uploads";
10056
+ readonly method: "complete";
10057
+ readonly summary: "Complete an upload";
10058
+ readonly description: "Assemble the uploaded parts into a file. Supply upload_id from create and part_ids from addPart in file byte order; their sizes must total the declared bytes. When parts were lost, query GET /file/v1/uploads/{upload_id} and resend them before completing. Optional md5 verifies the assembled content. Retrying identical part_ids and normalized md5 returns the same result; different inputs return 409. Unlike OpenAI, completed can contain a file still processing (status uploaded). Poll files.retrieve using file.id until status processed (own face state active); error, expiry or 404 means processing failed and the file cannot be used.";
10059
+ readonly http: "POST";
10060
+ readonly path: "/file/v1/uploads/{upload_id}/complete";
9716
10061
  readonly streaming: "no";
9717
10062
  readonly pagination: false;
9718
10063
  readonly pathParams: readonly [{
9719
- readonly name: "vector_store_id";
9720
- readonly sdkName: "vector_store_id";
9721
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9722
- }, {
9723
- readonly name: "batch_id";
9724
- readonly sdkName: "batch_id";
9725
- readonly description: "File-batch ID returned by batch creation in this knowledge base.";
10064
+ readonly name: "upload_id";
10065
+ readonly sdkName: "upload_id";
10066
+ readonly description: "Upload identifier returned by create; belongs to your organization.";
10067
+ }];
10068
+ readonly query: readonly [];
10069
+ readonly body: {
10070
+ readonly required: true;
10071
+ readonly fields: readonly [{
10072
+ readonly name: "part_ids";
10073
+ readonly type: "array";
10074
+ readonly itemType: "string";
10075
+ readonly required: true;
10076
+ readonly description: "All part IDs in concatenation order, without duplicates. Fixed-size uploads require increasing part_number order.";
10077
+ }, {
10078
+ readonly name: "md5";
10079
+ readonly type: "string";
10080
+ readonly required: false;
10081
+ readonly description: "Optional whole-file MD5 as 32 hexadecimal characters; verified after assembly.";
10082
+ }];
10083
+ };
10084
+ }, {
10085
+ readonly resource: "file.uploads.parts";
10086
+ readonly method: "create";
10087
+ readonly summary: "Add an upload part";
10088
+ readonly description: "Send one nonempty part as the multipart data field, at most 64000000 bytes. Parts may arrive concurrently in any order. Use upload_id from create. For a fixed-size upload, supply part_number starting at 1 and exactly part_size bytes except for the final remainder; retry the same number with identical bytes to recover its part ID, and query GET /file/v1/uploads/{upload_id} to see which numbers already arrived. Without part_size, each request creates a new part and part_number is ignored. Save the returned part IDs for complete.";
10089
+ readonly http: "POST";
10090
+ readonly path: "/file/v1/uploads/{upload_id}/parts";
10091
+ readonly streaming: "no";
10092
+ readonly pagination: false;
10093
+ readonly multipart: true;
10094
+ readonly pathParams: readonly [{
10095
+ readonly name: "upload_id";
10096
+ readonly sdkName: "upload_id";
10097
+ readonly description: "Upload identifier returned by create; belongs to your organization.";
9726
10098
  }];
9727
10099
  readonly query: readonly [{
9728
- readonly name: "after";
9729
- readonly type: "string";
9730
- readonly required: false;
9731
- readonly description: "Cursor ID from the previous page.";
9732
- }, {
9733
- readonly name: "before";
9734
- readonly type: "string";
9735
- readonly required: false;
9736
- readonly description: "Return items before this ID.";
9737
- }, {
9738
- readonly name: "limit";
10100
+ readonly name: "part_number";
9739
10101
  readonly type: "integer";
9740
10102
  readonly required: false;
9741
- readonly description: "Page size.";
9742
- }, {
9743
- readonly name: "order";
9744
- readonly type: "string";
9745
- readonly enum: readonly ["asc", "desc"];
9746
- readonly required: false;
9747
- readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
9748
- }, {
9749
- readonly name: "filter";
9750
- readonly type: "string";
9751
- readonly enum: readonly ["in_progress", "completed", "failed", "cancelled"];
9752
- readonly required: false;
9753
- readonly description: "in_progress means ingestion is pending or running; completed means searchable; failed means ingestion failed; cancelled means ingestion was stopped by batch cancellation. Omit to include all statuses.";
10103
+ readonly description: "Required when create set part_size; 1 through ceil(bytes / part_size). Ignored for general uploads.";
9754
10104
  }];
10105
+ readonly body: {
10106
+ readonly required: true;
10107
+ readonly fields: readonly [{
10108
+ readonly name: "data";
10109
+ readonly type: "string";
10110
+ readonly required: true;
10111
+ readonly description: "Raw bytes of this part, nonempty and at most 64000000 bytes.";
10112
+ }];
10113
+ };
9755
10114
  }, {
9756
- readonly resource: "knowledge.vectorStores.files";
10115
+ readonly resource: "knowledge.vectorStores";
9757
10116
  readonly method: "list";
9758
- readonly summary: "List files";
9759
- readonly description: "Lists attached files and their ingestion status, newest attachment first by default. Use last_id as after to continue; ?filter=failed selects files that can be retried.";
10117
+ readonly summary: "List knowledge bases";
10118
+ readonly description: "Lists knowledge bases visible to the caller, newest first by default. Use last_id as after to read the next page; for example, ?limit=20.";
9760
10119
  readonly http: "GET";
9761
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files";
10120
+ readonly path: "/knowledge/v1/vector_stores";
9762
10121
  readonly streaming: "no";
9763
10122
  readonly pagination: false;
9764
- readonly pathParams: readonly [{
9765
- readonly name: "vector_store_id";
9766
- readonly sdkName: "vector_store_id";
9767
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9768
- }];
10123
+ readonly pathParams: readonly [];
9769
10124
  readonly query: readonly [{
10125
+ readonly name: "status";
10126
+ readonly type: "string";
10127
+ readonly enum: readonly ["active", "deleting"];
10128
+ readonly required: false;
10129
+ readonly description: "active selects active stores; deleting selects soft-deleted stores awaiting purge. Omission excludes soft-deleted stores.";
10130
+ }, {
9770
10131
  readonly name: "after";
9771
10132
  readonly type: "string";
9772
10133
  readonly required: false;
@@ -9787,139 +10148,192 @@ export declare const operations: readonly [{
9787
10148
  readonly enum: readonly ["asc", "desc"];
9788
10149
  readonly required: false;
9789
10150
  readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
9790
- }, {
9791
- readonly name: "filter";
9792
- readonly type: "string";
9793
- readonly enum: readonly ["in_progress", "completed", "failed", "cancelled"];
9794
- readonly required: false;
9795
- readonly description: "in_progress means ingestion is pending or running; completed means searchable; failed means ingestion failed; cancelled means ingestion was stopped by batch cancellation. Omit to include all statuses.";
9796
10151
  }];
9797
10152
  }, {
9798
- readonly resource: "knowledge.vectorStores.files";
10153
+ readonly resource: "knowledge.vectorStores";
9799
10154
  readonly method: "create";
9800
- readonly summary: "Add file";
9801
- readonly description: "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. Each file accepts up to 52428800 bytes and 5000000 estimated tokens; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.";
10155
+ readonly summary: "Create knowledge base";
10156
+ readonly description: "Create a knowledge base, optionally starting ingestion of uploaded file_ids in the same call; no separate attachment or batch is needed for those files. Use the returned id with vectorStores.files.retrieve to poll each attachment until completed, failed or cancelled; store status=completed alone does not mean every file succeeded. PDF files accept up to 536870912 bytes (512 MiB), while other formats accept up to 52428800 bytes (50 MiB), constrained by Router conversion; every file is limited to 5000000 estimated tokens; each account holds up to 100 active/nondeleted stores. Minimal body: {\"name\":\"Refund policies\"}.";
9802
10157
  readonly http: "POST";
9803
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files";
10158
+ readonly path: "/knowledge/v1/vector_stores";
9804
10159
  readonly streaming: "no";
9805
10160
  readonly pagination: false;
9806
- readonly pathParams: readonly [{
9807
- readonly name: "vector_store_id";
9808
- readonly sdkName: "vector_store_id";
9809
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9810
- }];
10161
+ readonly pathParams: readonly [];
9811
10162
  readonly query: readonly [];
9812
10163
  readonly body: {
9813
10164
  readonly required: true;
9814
10165
  readonly fields: readonly [{
9815
- readonly name: "file_id";
10166
+ readonly name: "name";
9816
10167
  readonly type: "string";
9817
- readonly required: true;
9818
- readonly description: "Existing source File ID returned by file upload; the file must be visible to the caller.";
10168
+ readonly required: false;
10169
+ readonly description: "Omitted name becomes an empty string; null is rejected.";
9819
10170
  }, {
9820
- readonly name: "attributes";
10171
+ readonly name: "metadata";
9821
10172
  readonly type: "object";
9822
10173
  readonly required: false;
9823
- readonly description: "Search-filter attributes for a newly attached file; omission or null leaves attributes unset. Reattaching an existing file does not change them.";
10174
+ readonly description: "User-defined string metadata for the store; omission or null creates an empty map.";
10175
+ }, {
10176
+ readonly name: "expires_after";
10177
+ readonly type: "object";
10178
+ readonly required: false;
10179
+ readonly description: "Expiry policy from last activity; omission or null disables automatic expiry.";
10180
+ }, {
10181
+ readonly name: "file_ids";
10182
+ readonly type: "array";
10183
+ readonly itemType: "string";
10184
+ readonly required: false;
10185
+ readonly description: "Existing File IDs to attach; the store allows up to 10,000 files.";
9824
10186
  }, {
9825
10187
  readonly name: "chunking_strategy";
9826
10188
  readonly type: "object";
9827
10189
  readonly required: false;
9828
- readonly description: "auto resolves to static with 800 estimated tokens and 400 overlap tokens. Unlike OpenAI vector stores, token counts are estimates; each Han character counts as one, and other whitespace-delimited words count as their UTF-16 length divided by four, rounded up.";
10190
+ readonly description: "Native attachment strategy. auto uses static chunks of 800 estimated tokens with 400 overlap; static supplies explicit chunk sizes; hierarchical indexes child chunks and supplies bounded parent context. Existing attachments are reused unchanged; remove and reattach a file to change its strategy.";
10191
+ }, {
10192
+ readonly name: "description";
10193
+ readonly type: "string";
10194
+ readonly required: false;
10195
+ readonly description: "Accepted but not saved or returned; its type is not validated.";
10196
+ }, {
10197
+ readonly name: "models";
10198
+ readonly type: "object";
10199
+ readonly required: false;
10200
+ readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9829
10201
  }];
9830
10202
  };
9831
10203
  }, {
9832
- readonly resource: "knowledge.vectorStores.files";
10204
+ readonly resource: "knowledge.vectorStores";
9833
10205
  readonly method: "delete";
9834
- readonly summary: "Remove file";
9835
- readonly description: "Removes the file from search immediately; does not delete the original File.";
10206
+ readonly summary: "Delete knowledge base";
10207
+ readonly description: "Remove a knowledge base from active use while keeping a recovery window. Unlike OpenAI vector stores, native DELETE returns the store with status=deleting and ISO purge_at, retains it for 7 days and is idempotent on repeat. Retrieve remains 200; object operations return 409. Use restore before purge_at to recover it, or purge to remove it irreversibly.";
9836
10208
  readonly http: "DELETE";
9837
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
10209
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
9838
10210
  readonly streaming: "no";
9839
10211
  readonly pagination: false;
9840
10212
  readonly pathParams: readonly [{
9841
10213
  readonly name: "vector_store_id";
9842
10214
  readonly sdkName: "vector_store_id";
9843
10215
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9844
- }, {
9845
- readonly name: "file_id";
9846
- readonly sdkName: "file_id";
9847
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
9848
10216
  }];
9849
10217
  readonly query: readonly [];
9850
10218
  }, {
9851
- readonly resource: "knowledge.vectorStores.files";
10219
+ readonly resource: "knowledge.vectorStores";
9852
10220
  readonly method: "retrieve";
9853
- readonly summary: "Retrieve file";
9854
- readonly description: "Retrieves an attached file using the id returned by attachment or file listing. Poll this operation until status leaves in_progress to observe the ingestion outcome.";
10221
+ readonly summary: "Retrieve knowledge base";
10222
+ readonly description: "Retrieves a knowledge base using an id returned by create or list. Add ?expand=files to include the first page of attached files. Soft-deleted stores remain readable with status=deleting until purged.";
9855
10223
  readonly http: "GET";
9856
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
10224
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
9857
10225
  readonly streaming: "no";
9858
10226
  readonly pagination: false;
9859
10227
  readonly pathParams: readonly [{
9860
10228
  readonly name: "vector_store_id";
9861
10229
  readonly sdkName: "vector_store_id";
9862
10230
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9863
- }, {
9864
- readonly name: "file_id";
9865
- readonly sdkName: "file_id";
9866
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
9867
10231
  }];
9868
- readonly query: readonly [];
9869
- }, {
9870
- readonly resource: "knowledge.vectorStores.files";
9871
- readonly method: "update";
9872
- readonly summary: "Update file attributes";
9873
- readonly description: "Replaces search-filter attributes of an existing attachment without reingesting its content. Use an attached file id. Example body: {\"attributes\":{\"category\":\"refund\"}}; null clears the attributes.";
9874
- readonly http: "POST";
9875
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
9876
- readonly streaming: "no";
10232
+ readonly query: readonly [{
10233
+ readonly name: "expand";
10234
+ readonly type: "array";
10235
+ readonly itemType: "string";
10236
+ readonly enum: readonly ["files"];
10237
+ readonly required: false;
10238
+ readonly description: "Praxis extension on both URLs: files includes the first file page. Unknown values are ignored.";
10239
+ }, {
10240
+ readonly name: "expand[]";
10241
+ readonly type: "array";
10242
+ readonly itemType: "string";
10243
+ readonly enum: readonly ["files"];
10244
+ readonly required: false;
10245
+ readonly description: "Praxis extension on both URLs: files includes the first file page. Unknown values are ignored.";
10246
+ }];
10247
+ }, {
10248
+ readonly resource: "knowledge.vectorStores";
10249
+ readonly method: "update";
10250
+ readonly summary: "Update knowledge base";
10251
+ readonly description: "Updates an active knowledge base using its returned id. Omitted fields stay unchanged; metadata replaces the whole map. Example body: {\"name\":\"Refund policies\"}.";
10252
+ readonly http: "POST";
10253
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}";
10254
+ readonly streaming: "no";
9877
10255
  readonly pagination: false;
9878
10256
  readonly pathParams: readonly [{
9879
10257
  readonly name: "vector_store_id";
9880
10258
  readonly sdkName: "vector_store_id";
9881
10259
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9882
- }, {
9883
- readonly name: "file_id";
9884
- readonly sdkName: "file_id";
9885
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
9886
10260
  }];
9887
10261
  readonly query: readonly [];
9888
10262
  readonly body: {
9889
10263
  readonly required: true;
9890
10264
  readonly fields: readonly [{
9891
- readonly name: "attributes";
10265
+ readonly name: "name";
10266
+ readonly type: "string";
10267
+ readonly required: false;
10268
+ readonly description: "null clears the name to an empty string. Omitted fields stay unchanged.";
10269
+ }, {
10270
+ readonly name: "metadata";
9892
10271
  readonly type: "object";
9893
10272
  readonly required: false;
9894
- readonly description: "Replaces all search-filter attributes; null clears them.";
10273
+ readonly description: "Replaces all metadata; null clears it to an empty object.";
10274
+ }, {
10275
+ readonly name: "expires_after";
10276
+ readonly type: "object";
10277
+ readonly required: false;
10278
+ readonly description: "null removes automatic expiry.";
10279
+ }, {
10280
+ readonly name: "models";
10281
+ readonly type: "object";
10282
+ readonly required: false;
10283
+ readonly description: "Model roles to set. The model must exist in the model catalog and serve the role (embedding → openai.embeddings, rerank → cohere.rerank, query_rewrite → openai.chat.completions, ocr → mistral.ocr or pdf_input capability, vision → vision capability). The embedding model must output 1024-dimension vectors. Omitted roles stay unchanged; null restores all defaults. Unknown roles or empty IDs return 400 INVALID_PARAMS. The OpenAI-compatible API rejects this field with 400.";
9895
10284
  }];
9896
10285
  };
9897
10286
  }, {
9898
- readonly resource: "knowledge.vectorStores.files";
9899
- readonly method: "retrieveContent";
9900
- readonly summary: "Read extracted content";
9901
- readonly description: "Extracted text chunks may overlap. Image content can be a generated description rather than verbatim OCR.";
10287
+ readonly resource: "knowledge.vectorStores.events";
10288
+ readonly method: "list";
10289
+ readonly summary: "List events";
10290
+ readonly description: "Reads events for this knowledge base in increasing sequence order, including while soft-deleted. Pass next_seq as after_seq to continue; null next_seq marks the current end. Example: ?after_seq=0&limit=20.";
9902
10291
  readonly http: "GET";
9903
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/content";
10292
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/events";
9904
10293
  readonly streaming: "no";
9905
10294
  readonly pagination: false;
9906
10295
  readonly pathParams: readonly [{
9907
10296
  readonly name: "vector_store_id";
9908
10297
  readonly sdkName: "vector_store_id";
9909
10298
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10299
+ }];
10300
+ readonly query: readonly [{
10301
+ readonly name: "after_seq";
10302
+ readonly type: "integer";
10303
+ readonly required: false;
10304
+ readonly description: "Return events with larger seq. Use next_seq to continue; invalid text is currently ignored.";
9910
10305
  }, {
9911
- readonly name: "file_id";
9912
- readonly sdkName: "file_id";
9913
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10306
+ readonly name: "limit";
10307
+ readonly type: "integer";
10308
+ readonly required: false;
10309
+ readonly description: "Page size.";
9914
10310
  }];
9915
- readonly query: readonly [];
9916
10311
  }, {
9917
- readonly resource: "knowledge.vectorStores.files.retry";
10312
+ readonly resource: "knowledge.vectorStores.fileBatches";
9918
10313
  readonly method: "create";
9919
- readonly summary: "Retry failed file";
9920
- readonly description: "Retries only failed files; other states return 409 FILE_INVALID_STATE. Retry after failure has not yet been observed in the documented run.";
10314
+ readonly summary: "Create file batch";
10315
+ readonly description: "Attaches existing Files as a batch for asynchronous ingestion. Supply exactly one of file_ids or files; files allows per-file settings. Existing attachments are reused. Read the returned batch id to monitor status.";
9921
10316
  readonly http: "POST";
9922
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/retry";
10317
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches";
10318
+ readonly streaming: "no";
10319
+ readonly pagination: false;
10320
+ readonly pathParams: readonly [{
10321
+ readonly name: "vector_store_id";
10322
+ readonly sdkName: "vector_store_id";
10323
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10324
+ }];
10325
+ readonly query: readonly [];
10326
+ readonly body: {
10327
+ readonly required: true;
10328
+ readonly fields: readonly [];
10329
+ };
10330
+ }, {
10331
+ readonly resource: "knowledge.vectorStores.fileBatches";
10332
+ readonly method: "retrieve";
10333
+ readonly summary: "Retrieve file batch";
10334
+ readonly description: "Retrieves a batch created in this knowledge base, including current status and file counts. Use the batch id returned by batch creation to monitor ingestion.";
10335
+ readonly http: "GET";
10336
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}";
9923
10337
  readonly streaming: "no";
9924
10338
  readonly pagination: false;
9925
10339
  readonly pathParams: readonly [{
@@ -9927,18 +10341,37 @@ export declare const operations: readonly [{
9927
10341
  readonly sdkName: "vector_store_id";
9928
10342
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9929
10343
  }, {
9930
- readonly name: "file_id";
9931
- readonly sdkName: "file_id";
9932
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10344
+ readonly name: "batch_id";
10345
+ readonly sdkName: "batch_id";
10346
+ readonly description: "File-batch ID returned by batch creation in this knowledge base.";
9933
10347
  }];
9934
10348
  readonly query: readonly [];
9935
10349
  }, {
9936
- readonly resource: "knowledge.vectorStores.files.segments";
10350
+ readonly resource: "knowledge.vectorStores.fileBatches";
10351
+ readonly method: "cancel";
10352
+ readonly summary: "Cancel file batch";
10353
+ readonly description: "Cancels only in-progress batches and pending files. Completed, failed and cancelled batches return unchanged (200, idempotent).";
10354
+ readonly http: "POST";
10355
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/cancel";
10356
+ readonly streaming: "no";
10357
+ readonly pagination: false;
10358
+ readonly pathParams: readonly [{
10359
+ readonly name: "vector_store_id";
10360
+ readonly sdkName: "vector_store_id";
10361
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10362
+ }, {
10363
+ readonly name: "batch_id";
10364
+ readonly sdkName: "batch_id";
10365
+ readonly description: "File-batch ID returned by batch creation in this knowledge base.";
10366
+ }];
10367
+ readonly query: readonly [];
10368
+ }, {
10369
+ readonly resource: "knowledge.vectorStores.fileBatches.files";
9937
10370
  readonly method: "list";
9938
- readonly summary: "List file segments";
9939
- readonly description: "Lists the stored chunks of an attached file, ordered by increasing segment index by default. Use the attachment id and last_id as after to continue; returned chunk ids can be retrieved individually.";
10371
+ readonly summary: "List batch files";
10372
+ readonly description: "Lists files still attached from the identified batch, newest attachment first by default. Use the batch creation id and ?filter=failed to inspect failures; last_id is the next after cursor.";
9940
10373
  readonly http: "GET";
9941
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/segments";
10374
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/file_batches/{batch_id}/files";
9942
10375
  readonly streaming: "no";
9943
10376
  readonly pagination: false;
9944
10377
  readonly pathParams: readonly [{
@@ -9946,9 +10379,9 @@ export declare const operations: readonly [{
9946
10379
  readonly sdkName: "vector_store_id";
9947
10380
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9948
10381
  }, {
9949
- readonly name: "file_id";
9950
- readonly sdkName: "file_id";
9951
- readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10382
+ readonly name: "batch_id";
10383
+ readonly sdkName: "batch_id";
10384
+ readonly description: "File-batch ID returned by batch creation in this knowledge base.";
9952
10385
  }];
9953
10386
  readonly query: readonly [{
9954
10387
  readonly name: "after";
@@ -9971,14 +10404,20 @@ export declare const operations: readonly [{
9971
10404
  readonly enum: readonly ["asc", "desc"];
9972
10405
  readonly required: false;
9973
10406
  readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
10407
+ }, {
10408
+ readonly name: "filter";
10409
+ readonly type: "string";
10410
+ readonly enum: readonly ["in_progress", "completed", "failed", "cancelled"];
10411
+ readonly required: false;
10412
+ readonly description: "in_progress means ingestion is pending or running; completed means searchable; failed means ingestion failed; cancelled means ingestion was stopped by batch cancellation. Omit to include all statuses.";
9974
10413
  }];
9975
10414
  }, {
9976
- readonly resource: "knowledge.vectorStores.purge";
9977
- readonly method: "create";
9978
- readonly summary: "Permanently purge knowledge base";
9979
- readonly description: "Immediately and irreversibly clears a deleting store using the retention cleanup path. Active stores return 409; absent stores return 404. Empty body is allowed.";
9980
- readonly http: "POST";
9981
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/purge";
10415
+ readonly resource: "knowledge.vectorStores.files";
10416
+ readonly method: "list";
10417
+ readonly summary: "List files";
10418
+ readonly description: "Lists attached files and their ingestion status, newest attachment first by default. Use last_id as after to continue; ?filter=failed selects files that can be retried.";
10419
+ readonly http: "GET";
10420
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files";
9982
10421
  readonly streaming: "no";
9983
10422
  readonly pagination: false;
9984
10423
  readonly pathParams: readonly [{
@@ -9986,29 +10425,41 @@ export declare const operations: readonly [{
9986
10425
  readonly sdkName: "vector_store_id";
9987
10426
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
9988
10427
  }];
9989
- readonly query: readonly [];
9990
- }, {
9991
- readonly resource: "knowledge.vectorStores";
9992
- readonly method: "restore";
9993
- readonly summary: "Restore knowledge base";
9994
- readonly description: "Restores a deleting store within 7 days. Active stores return 409 VECTOR_STORE_INVALID_STATE; absent stores return 404. Empty body is allowed.";
9995
- readonly http: "POST";
9996
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/restore";
9997
- readonly streaming: "no";
9998
- readonly pagination: false;
9999
- readonly pathParams: readonly [{
10000
- readonly name: "vector_store_id";
10001
- readonly sdkName: "vector_store_id";
10002
- readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10428
+ readonly query: readonly [{
10429
+ readonly name: "after";
10430
+ readonly type: "string";
10431
+ readonly required: false;
10432
+ readonly description: "Cursor ID from the previous page.";
10433
+ }, {
10434
+ readonly name: "before";
10435
+ readonly type: "string";
10436
+ readonly required: false;
10437
+ readonly description: "Return items before this ID.";
10438
+ }, {
10439
+ readonly name: "limit";
10440
+ readonly type: "integer";
10441
+ readonly required: false;
10442
+ readonly description: "Page size.";
10443
+ }, {
10444
+ readonly name: "order";
10445
+ readonly type: "string";
10446
+ readonly enum: readonly ["asc", "desc"];
10447
+ readonly required: false;
10448
+ readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
10449
+ }, {
10450
+ readonly name: "filter";
10451
+ readonly type: "string";
10452
+ readonly enum: readonly ["in_progress", "completed", "failed", "cancelled"];
10453
+ readonly required: false;
10454
+ readonly description: "in_progress means ingestion is pending or running; completed means searchable; failed means ingestion failed; cancelled means ingestion was stopped by batch cancellation. Omit to include all statuses.";
10003
10455
  }];
10004
- readonly query: readonly [];
10005
10456
  }, {
10006
- readonly resource: "knowledge.vectorStores.search";
10457
+ readonly resource: "knowledge.vectorStores.files";
10007
10458
  readonly method: "create";
10008
- readonly summary: "Search knowledge base";
10009
- readonly description: "Search ingested text to answer a question or find supporting passages. Native results contain one chunk each, so file_id can repeat; max_num_results counts chunks (1–50, default 10), while the compatible URL groups results by file. Unlike OpenAI vector stores, next_page is always null even when has_more is true. Only completed attachments are searchable. For keyword-only retrieval set ranking_options.hybrid_search to {\"embedding_weight\":0,\"text_weight\":1}; omit rewrite_query or set it to false to avoid query rewriting. Unlike OpenAI, ranker auto does not rerank; only default-2024-11-15 requests reranking. Set praxis.explain=true to inspect scores and use returned content[].chunk_id to retrieve a segment.";
10459
+ readonly summary: "Add file";
10460
+ readonly description: "Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching. PDF files accept up to 536870912 bytes (512 MiB), while other formats accept up to 52428800 bytes (50 MiB), constrained by Router conversion; every file is limited to 5000000 estimated tokens; chunk sizes use estimated tokens rather than a model tokenizer. Text, Markdown, CSV, JSON, HTML, PDF, DOCX, PPTX, XLSX and PNG/JPEG/GIF/WebP images can be extracted; audio and video uploads are not knowledge documents. Images may yield generated descriptions rather than verbatim OCR. auto chunking resolves to static 800/400; explicit sizes are 100–4096 with overlap at most half the size. Each store holds at most 10000 attached files. Reattaching the same file returns its existing record without applying new attributes or chunking; inspect last_error after failure.";
10010
10461
  readonly http: "POST";
10011
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/search";
10462
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files";
10012
10463
  readonly streaming: "no";
10013
10464
  readonly pagination: false;
10014
10465
  readonly pathParams: readonly [{
@@ -10020,49 +10471,29 @@ export declare const operations: readonly [{
10020
10471
  readonly body: {
10021
10472
  readonly required: true;
10022
10473
  readonly fields: readonly [{
10023
- readonly name: "query";
10024
- readonly type: "object";
10025
- readonly required: true;
10026
- readonly description: "Nonblank text. Multiple queries are joined with newlines for one search.";
10027
- }, {
10028
- readonly name: "filters";
10029
- readonly type: "object";
10030
- readonly required: false;
10031
- readonly description: "Type-strict file attribute filters. At most 20 nested levels below the root.";
10032
- }, {
10033
- readonly name: "max_num_results";
10034
- readonly type: "integer";
10035
- readonly required: false;
10036
- readonly description: "Maximum chunks, not distinct files.";
10037
- }, {
10038
- readonly name: "rewrite_query";
10039
- readonly type: "boolean";
10040
- readonly required: false;
10041
- readonly description: "When true, the store's query_rewrite model first rewrites each query into a concise search query; retrieval uses the rewrite and search_query returns it. Each rewrite is one small model call billed by model usage. If a rewrite fails, times out (5 s) or is empty, that query falls back to the original text and the search still succeeds. Omitted or false makes no model call.";
10042
- }, {
10043
- readonly name: "next_page";
10474
+ readonly name: "file_id";
10044
10475
  readonly type: "string";
10045
- readonly required: false;
10046
- readonly description: "Unlike OpenAI vector stores, search has no next page; supplying this cursor has no effect. Narrow the query or filters to inspect other matches.";
10476
+ readonly required: true;
10477
+ readonly description: "Existing source File ID returned by file upload; the file must be visible to the caller.";
10047
10478
  }, {
10048
- readonly name: "ranking_options";
10479
+ readonly name: "attributes";
10049
10480
  readonly type: "object";
10050
10481
  readonly required: false;
10051
- readonly description: "Controls result ranking and the minimum score required for inclusion.";
10482
+ readonly description: "Search-filter attributes for a newly attached file; omission or null leaves attributes unset. Reattaching an existing file does not change them.";
10052
10483
  }, {
10053
- readonly name: "praxis";
10484
+ readonly name: "chunking_strategy";
10054
10485
  readonly type: "object";
10055
10486
  readonly required: false;
10056
- readonly description: "Set explain=true to include score and term explanations.";
10487
+ readonly description: "Native attachment strategy. auto uses static chunks of 800 estimated tokens with 400 overlap; static supplies explicit chunk sizes; hierarchical indexes child chunks and supplies bounded parent context. Existing attachments are reused unchanged; remove and reattach a file to change its strategy.";
10057
10488
  }];
10058
10489
  };
10059
10490
  }, {
10060
- readonly resource: "knowledge.vectorStores.segments";
10061
- readonly method: "retrieve";
10062
- readonly summary: "Retrieve segment";
10063
- readonly description: "Retrieves one chunk and its term statistics. Take chunk_id from segment listing or native search content; the chunk must belong to this knowledge base.";
10064
- readonly http: "GET";
10065
- readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/segments/{chunk_id}";
10491
+ readonly resource: "knowledge.vectorStores.files";
10492
+ readonly method: "delete";
10493
+ readonly summary: "Remove file";
10494
+ readonly description: "Removes the file from search immediately; does not delete the original File.";
10495
+ readonly http: "DELETE";
10496
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
10066
10497
  readonly streaming: "no";
10067
10498
  readonly pagination: false;
10068
10499
  readonly pathParams: readonly [{
@@ -10070,16 +10501,255 @@ export declare const operations: readonly [{
10070
10501
  readonly sdkName: "vector_store_id";
10071
10502
  readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10072
10503
  }, {
10073
- readonly name: "chunk_id";
10074
- readonly sdkName: "chunk_id";
10075
- readonly description: "Chunk ID returned by segment listing or native search content.";
10504
+ readonly name: "file_id";
10505
+ readonly sdkName: "file_id";
10506
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10076
10507
  }];
10077
10508
  readonly query: readonly [];
10078
10509
  }, {
10079
- readonly resource: "media.libraries";
10080
- readonly method: "list";
10510
+ readonly resource: "knowledge.vectorStores.files";
10511
+ readonly method: "retrieve";
10512
+ readonly summary: "Retrieve file";
10513
+ readonly description: "Retrieves an attached file using the id returned by attachment or file listing. Poll this operation until status leaves in_progress to observe the ingestion outcome.";
10514
+ readonly http: "GET";
10515
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
10516
+ readonly streaming: "no";
10517
+ readonly pagination: false;
10518
+ readonly pathParams: readonly [{
10519
+ readonly name: "vector_store_id";
10520
+ readonly sdkName: "vector_store_id";
10521
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10522
+ }, {
10523
+ readonly name: "file_id";
10524
+ readonly sdkName: "file_id";
10525
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10526
+ }];
10527
+ readonly query: readonly [];
10528
+ }, {
10529
+ readonly resource: "knowledge.vectorStores.files";
10530
+ readonly method: "update";
10531
+ readonly summary: "Update file attributes";
10532
+ readonly description: "Replaces search-filter attributes of an existing attachment without reingesting its content. Use an attached file id. Example body: {\"attributes\":{\"category\":\"refund\"}}; null clears the attributes.";
10533
+ readonly http: "POST";
10534
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}";
10535
+ readonly streaming: "no";
10536
+ readonly pagination: false;
10537
+ readonly pathParams: readonly [{
10538
+ readonly name: "vector_store_id";
10539
+ readonly sdkName: "vector_store_id";
10540
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10541
+ }, {
10542
+ readonly name: "file_id";
10543
+ readonly sdkName: "file_id";
10544
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10545
+ }];
10546
+ readonly query: readonly [];
10547
+ readonly body: {
10548
+ readonly required: true;
10549
+ readonly fields: readonly [{
10550
+ readonly name: "attributes";
10551
+ readonly type: "object";
10552
+ readonly required: false;
10553
+ readonly description: "Replaces all search-filter attributes; null clears them.";
10554
+ }];
10555
+ };
10556
+ }, {
10557
+ readonly resource: "knowledge.vectorStores.files";
10558
+ readonly method: "retrieveContent";
10559
+ readonly summary: "Read extracted content";
10560
+ readonly description: "Extracted text chunks may overlap. Image content can be a generated description rather than verbatim OCR.";
10561
+ readonly http: "GET";
10562
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/content";
10563
+ readonly streaming: "no";
10564
+ readonly pagination: false;
10565
+ readonly pathParams: readonly [{
10566
+ readonly name: "vector_store_id";
10567
+ readonly sdkName: "vector_store_id";
10568
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10569
+ }, {
10570
+ readonly name: "file_id";
10571
+ readonly sdkName: "file_id";
10572
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10573
+ }];
10574
+ readonly query: readonly [];
10575
+ }, {
10576
+ readonly resource: "knowledge.vectorStores.files.retry";
10577
+ readonly method: "create";
10578
+ readonly summary: "Retry failed file";
10579
+ readonly description: "Retries only failed files; other states return 409 FILE_INVALID_STATE. Retry after failure has not yet been observed in the documented run.";
10580
+ readonly http: "POST";
10581
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/retry";
10582
+ readonly streaming: "no";
10583
+ readonly pagination: false;
10584
+ readonly pathParams: readonly [{
10585
+ readonly name: "vector_store_id";
10586
+ readonly sdkName: "vector_store_id";
10587
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10588
+ }, {
10589
+ readonly name: "file_id";
10590
+ readonly sdkName: "file_id";
10591
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10592
+ }];
10593
+ readonly query: readonly [];
10594
+ }, {
10595
+ readonly resource: "knowledge.vectorStores.files.segments";
10596
+ readonly method: "list";
10597
+ readonly summary: "List file segments";
10598
+ readonly description: "Lists the stored chunks of an attached file, ordered by increasing segment index by default. Use the attachment id and last_id as after to continue; returned chunk ids can be retrieved individually.";
10599
+ readonly http: "GET";
10600
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/files/{file_id}/segments";
10601
+ readonly streaming: "no";
10602
+ readonly pagination: false;
10603
+ readonly pathParams: readonly [{
10604
+ readonly name: "vector_store_id";
10605
+ readonly sdkName: "vector_store_id";
10606
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10607
+ }, {
10608
+ readonly name: "file_id";
10609
+ readonly sdkName: "file_id";
10610
+ readonly description: "Source File ID of an attachment, returned by file attachment or listing.";
10611
+ }];
10612
+ readonly query: readonly [{
10613
+ readonly name: "after";
10614
+ readonly type: "string";
10615
+ readonly required: false;
10616
+ readonly description: "Cursor ID from the previous page.";
10617
+ }, {
10618
+ readonly name: "before";
10619
+ readonly type: "string";
10620
+ readonly required: false;
10621
+ readonly description: "Return items before this ID.";
10622
+ }, {
10623
+ readonly name: "limit";
10624
+ readonly type: "integer";
10625
+ readonly required: false;
10626
+ readonly description: "Page size.";
10627
+ }, {
10628
+ readonly name: "order";
10629
+ readonly type: "string";
10630
+ readonly enum: readonly ["asc", "desc"];
10631
+ readonly required: false;
10632
+ readonly description: "Order by creation time; defaults to desc for stores/files and asc by index for segments.";
10633
+ }];
10634
+ }, {
10635
+ readonly resource: "knowledge.vectorStores.purge";
10636
+ readonly method: "create";
10637
+ readonly summary: "Permanently purge knowledge base";
10638
+ readonly description: "Immediately and irreversibly clears a deleting store using the retention cleanup path. Active stores return 409; absent stores return 404. Empty body is allowed.";
10639
+ readonly http: "POST";
10640
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/purge";
10641
+ readonly streaming: "no";
10642
+ readonly pagination: false;
10643
+ readonly pathParams: readonly [{
10644
+ readonly name: "vector_store_id";
10645
+ readonly sdkName: "vector_store_id";
10646
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10647
+ }];
10648
+ readonly query: readonly [];
10649
+ }, {
10650
+ readonly resource: "knowledge.vectorStores";
10651
+ readonly method: "restore";
10652
+ readonly summary: "Restore knowledge base";
10653
+ readonly description: "Restores a deleting store within 7 days. Active stores return 409 VECTOR_STORE_INVALID_STATE; absent stores return 404. Empty body is allowed.";
10654
+ readonly http: "POST";
10655
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/restore";
10656
+ readonly streaming: "no";
10657
+ readonly pagination: false;
10658
+ readonly pathParams: readonly [{
10659
+ readonly name: "vector_store_id";
10660
+ readonly sdkName: "vector_store_id";
10661
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10662
+ }];
10663
+ readonly query: readonly [];
10664
+ }, {
10665
+ readonly resource: "knowledge.vectorStores.search";
10666
+ readonly method: "create";
10667
+ readonly summary: "Search knowledge base";
10668
+ readonly description: "Search ingested text to answer a question or find supporting passages. Native results contain one chunk each, so file_id can repeat; max_num_results counts chunks (1–50, default 10), while the compatible URL groups results by file. Unlike OpenAI vector stores, next_page is always null even when has_more is true. Only completed attachments are searchable. For keyword-only retrieval set ranking_options.hybrid_search to {\"embedding_weight\":0,\"text_weight\":1}; omit rewrite_query or set it to false to avoid query rewriting. Unlike OpenAI, ranker auto does not rerank; only default-2024-11-15 requests reranking. Set praxis.explain=true to inspect scores and use returned content[].chunk_id to retrieve a segment.";
10669
+ readonly http: "POST";
10670
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/search";
10671
+ readonly streaming: "no";
10672
+ readonly pagination: false;
10673
+ readonly pathParams: readonly [{
10674
+ readonly name: "vector_store_id";
10675
+ readonly sdkName: "vector_store_id";
10676
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10677
+ }];
10678
+ readonly query: readonly [];
10679
+ readonly body: {
10680
+ readonly required: true;
10681
+ readonly fields: readonly [{
10682
+ readonly name: "query";
10683
+ readonly type: "object";
10684
+ readonly required: true;
10685
+ readonly description: "Nonblank text. Multiple queries are joined with newlines for one search.";
10686
+ }, {
10687
+ readonly name: "filters";
10688
+ readonly type: "object";
10689
+ readonly required: false;
10690
+ readonly description: "Type-strict file attribute filters. At most 20 nested levels below the root.";
10691
+ }, {
10692
+ readonly name: "max_num_results";
10693
+ readonly type: "integer";
10694
+ readonly required: false;
10695
+ readonly description: "Maximum chunks, not distinct files.";
10696
+ }, {
10697
+ readonly name: "rewrite_query";
10698
+ readonly type: "boolean";
10699
+ readonly required: false;
10700
+ readonly description: "When true, the store's query_rewrite model first rewrites each query into a concise search query; retrieval uses the rewrite and search_query returns it. Each rewrite is one small model call billed by model usage. If a rewrite fails, times out (5 s) or is empty, that query falls back to the original text and the search still succeeds. Omitted or false makes no model call.";
10701
+ }, {
10702
+ readonly name: "next_page";
10703
+ readonly type: "string";
10704
+ readonly required: false;
10705
+ readonly description: "Unlike OpenAI vector stores, search has no next page; supplying this cursor has no effect. Narrow the query or filters to inspect other matches.";
10706
+ }, {
10707
+ readonly name: "ranking_options";
10708
+ readonly type: "object";
10709
+ readonly required: false;
10710
+ readonly description: "Controls result ranking and the minimum score required for inclusion.";
10711
+ }, {
10712
+ readonly name: "praxis";
10713
+ readonly type: "object";
10714
+ readonly required: false;
10715
+ readonly description: "Set explain=true to include score and term explanations.";
10716
+ }];
10717
+ };
10718
+ }, {
10719
+ readonly resource: "knowledge.vectorStores.segments";
10720
+ readonly method: "retrieve";
10721
+ readonly summary: "Retrieve segment";
10722
+ readonly description: "Retrieves one chunk and its term statistics. Take chunk_id from segment listing or native search content; the chunk must belong to this knowledge base.";
10723
+ readonly http: "GET";
10724
+ readonly path: "/knowledge/v1/vector_stores/{vector_store_id}/segments/{chunk_id}";
10725
+ readonly streaming: "no";
10726
+ readonly pagination: false;
10727
+ readonly pathParams: readonly [{
10728
+ readonly name: "vector_store_id";
10729
+ readonly sdkName: "vector_store_id";
10730
+ readonly description: "Knowledge-base ID returned by create or list; use the ID rather than its display name.";
10731
+ }, {
10732
+ readonly name: "chunk_id";
10733
+ readonly sdkName: "chunk_id";
10734
+ readonly description: "Chunk ID returned by segment listing or native search content.";
10735
+ }];
10736
+ readonly query: readonly [];
10737
+ }, {
10738
+ readonly resource: "media.generation.capabilities";
10739
+ readonly method: "list";
10740
+ readonly summary: "Get generation capabilities";
10741
+ readonly description: "Read supported text-to-video intent, default model, duration and aspect-ratio limits, per-library concurrency and candidate retention. Generation is charged per second; unsaved candidates expire after 7 days.";
10742
+ readonly http: "GET";
10743
+ readonly path: "/media/v1/generation/capabilities";
10744
+ readonly streaming: "no";
10745
+ readonly pagination: false;
10746
+ readonly pathParams: readonly [];
10747
+ readonly query: readonly [];
10748
+ }, {
10749
+ readonly resource: "media.libraries";
10750
+ readonly method: "list";
10081
10751
  readonly summary: "List libraries";
10082
- readonly description: "List libraries owned by the caller, newest first. By default, deleting and deleted libraries are excluded; use status=deleting to find libraries awaiting purge. All supplied label pairs must match.";
10752
+ readonly description: "Read a caller-owned library’s current settings, usage and lifecycle status. A deleting library remains readable; missing, foreign or purged libraries return LIBRARY_NOT_FOUND.";
10083
10753
  readonly http: "GET";
10084
10754
  readonly path: "/media/v1/libraries";
10085
10755
  readonly streaming: "no";
@@ -10146,7 +10816,7 @@ export declare const operations: readonly [{
10146
10816
  readonly resource: "media.libraries";
10147
10817
  readonly method: "delete";
10148
10818
  readonly summary: "Delete library";
10149
- readonly description: "Soft-delete an active library, returning its deleting status and purge_at deadline. Asset operations and delivery become unavailable; the library can be restored before purge_at. Repeated deletion while deleting returns the current library.";
10819
+ readonly description: "Restore a deleting library before its purge_at deadline. The library becomes active again and deleted_at and purge_at are cleared; expired or non-deleting libraries cannot be restored.";
10150
10820
  readonly http: "DELETE";
10151
10821
  readonly path: "/media/v1/libraries/{library_id}";
10152
10822
  readonly streaming: "no";
@@ -10161,7 +10831,7 @@ export declare const operations: readonly [{
10161
10831
  readonly resource: "media.libraries";
10162
10832
  readonly method: "retrieve";
10163
10833
  readonly summary: "Get library";
10164
- readonly description: "Read a caller-owned library’s current settings, usage and lifecycle status. A deleting library remains readable; missing, foreign or purged libraries return LIBRARY_NOT_FOUND.";
10834
+ readonly description: "Update an active library’s supplied settings. Labels replace the complete map; understanding settings and model roles merge with current values. Changing the embedding model is rejected while assets exist.";
10165
10835
  readonly http: "GET";
10166
10836
  readonly path: "/media/v1/libraries/{library_id}";
10167
10837
  readonly streaming: "no";
@@ -10176,7 +10846,7 @@ export declare const operations: readonly [{
10176
10846
  readonly resource: "media.libraries";
10177
10847
  readonly method: "update";
10178
10848
  readonly summary: "Update library";
10179
- readonly description: "Update an active library’s supplied settings. Labels replace the complete map; understanding settings and model roles merge with current values. Changing the embedding model is rejected while assets exist.";
10849
+ readonly description: "Update an active library. Set hotwords for spelling evidence in subsequent transcripts; [] disables inferred vocabulary. Transcript understanding calls the timestamped ASR, optional reference ASR and correction model through the existing metered model path. Reprocess assets to apply new settings to existing transcripts.";
10180
10850
  readonly http: "PATCH";
10181
10851
  readonly path: "/media/v1/libraries/{library_id}";
10182
10852
  readonly streaming: "no";
@@ -10221,7 +10891,7 @@ export declare const operations: readonly [{
10221
10891
  readonly resource: "media.libraries.assets";
10222
10892
  readonly method: "list";
10223
10893
  readonly summary: "List assets";
10224
- readonly description: "List assets in an active library, newest first, optionally filtering by exact folder and stored resource type. Continue using next_cursor; video includes audio-only assets.";
10894
+ readonly description: "Upload content into an active library and return a Cloudinary-compatible resource. Use file for a multipart file, data URI, public HTTPS URL or same-owner file identifier. Reusing public_id overwrites by default; overwrite=false returns the existing resource. Chunk uploads require both chunk headers.";
10225
10895
  readonly http: "GET";
10226
10896
  readonly path: "/media/v1/libraries/{library_id}/assets";
10227
10897
  readonly streaming: "no";
@@ -10257,7 +10927,7 @@ export declare const operations: readonly [{
10257
10927
  readonly resource: "media.libraries.assets";
10258
10928
  readonly method: "create";
10259
10929
  readonly summary: "Upload asset";
10260
- readonly description: "Upload content into an active library and return a Cloudinary-compatible resource. Use file for a multipart file, data URI, public HTTPS URL or same-owner file identifier. Reusing public_id overwrites by default; overwrite=false returns the existing resource. Chunk uploads require both chunk headers.";
10930
+ readonly description: " 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.";
10261
10931
  readonly http: "POST";
10262
10932
  readonly path: "/media/v1/libraries/{library_id}/assets";
10263
10933
  readonly streaming: "no";
@@ -10295,7 +10965,7 @@ export declare const operations: readonly [{
10295
10965
  readonly name: "asset_folder";
10296
10966
  readonly type: "string";
10297
10967
  readonly required: false;
10298
- readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected.";
10968
+ readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out.";
10299
10969
  }, {
10300
10970
  readonly name: "use_filename";
10301
10971
  readonly type: "boolean";
@@ -10354,7 +11024,7 @@ export declare const operations: readonly [{
10354
11024
  readonly resource: "media.libraries.assets.import";
10355
11025
  readonly method: "create";
10356
11026
  readonly summary: "Import file";
10357
- readonly description: "Copy source content into an active library using upload options and return the full native Asset. The imported asset is independent of the source after copying. Reusing public_id follows overwrite semantics.";
11027
+ readonly description: "Copy a File into an independent Media asset. New assets default to organization-private delivery (type=authenticated); explicitly set type=upload for public originals and derivatives. Omitting type on overwrite preserves the current type. Deleting the source File does not delete this copy. 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.";
10358
11028
  readonly http: "POST";
10359
11029
  readonly path: "/media/v1/libraries/{library_id}/assets/import";
10360
11030
  readonly streaming: "no";
@@ -10371,7 +11041,7 @@ export declare const operations: readonly [{
10371
11041
  readonly name: "file_id";
10372
11042
  readonly type: "string";
10373
11043
  readonly required: true;
10374
- readonly description: "File ID to copy into this library instead of file bytes. This independent copy defaults to public delivery; set type=authenticated for private delivery. Deleting the source File does not delete this asset.";
11044
+ readonly description: "File ID to copy into this library instead of file bytes. This independent copy defaults to organization-private delivery (type=authenticated); explicitly set type=upload for public delivery. Deleting the source File does not delete this asset.";
10375
11045
  }, {
10376
11046
  readonly name: "public_id";
10377
11047
  readonly type: "string";
@@ -10391,7 +11061,7 @@ export declare const operations: readonly [{
10391
11061
  readonly name: "asset_folder";
10392
11062
  readonly type: "string";
10393
11063
  readonly required: false;
10394
- readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected.";
11064
+ readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out.";
10395
11065
  }, {
10396
11066
  readonly name: "use_filename";
10397
11067
  readonly type: "boolean";
@@ -10450,7 +11120,7 @@ export declare const operations: readonly [{
10450
11120
  readonly resource: "media.libraries.assets";
10451
11121
  readonly method: "delete";
10452
11122
  readonly summary: "Delete asset";
10453
- readonly description: "Delete an asset from the library so it is no longer readable, searchable or deliverable. This removes the asset rather than placing it in the library’s restoration window; a missing asset returns ASSET_NOT_FOUND.";
11123
+ readonly description: "Queue reprocessing of the asset’s current version and return its updated state immediately. Omit kinds to retry failed tasks and legacy source-size unsupported tasks; explicit kinds rerun applicable completed tasks and recoverable source-size unsupported tasks. Other unsupported causes remain unchanged. Replaced understandings become superseded, and processing finishes asynchronously.";
10454
11124
  readonly http: "DELETE";
10455
11125
  readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}";
10456
11126
  readonly streaming: "no";
@@ -10469,7 +11139,7 @@ export declare const operations: readonly [{
10469
11139
  readonly resource: "media.libraries.assets";
10470
11140
  readonly method: "retrieve";
10471
11141
  readonly summary: "Get asset";
10472
- readonly description: "Read a non-deleted asset by its asset_id in an active library, including content hashes, processing progress and available previews. Missing or deleted assets return ASSET_NOT_FOUND.";
11142
+ readonly description: "Update an asset’s supplied metadata fields. Tags and context replace their current collections; an empty collection clears them. Moving asset_folder or changing display_name preserves public_id and delivery URLs.";
10473
11143
  readonly http: "GET";
10474
11144
  readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}";
10475
11145
  readonly streaming: "no";
@@ -10488,7 +11158,7 @@ export declare const operations: readonly [{
10488
11158
  readonly resource: "media.libraries.assets";
10489
11159
  readonly method: "update";
10490
11160
  readonly summary: "Update asset";
10491
- readonly description: "Update an asset’s supplied metadata fields. Tags and context replace their current collections; an empty collection clears them. Moving asset_folder or changing display_name preserves public_id and delivery URLs.";
11161
+ readonly description: "Delete an asset from the library so it is no longer readable, searchable or deliverable. This removes the asset rather than placing it in the library’s restoration window; a missing asset returns ASSET_NOT_FOUND.";
10492
11162
  readonly http: "PATCH";
10493
11163
  readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}";
10494
11164
  readonly streaming: "no";
@@ -10514,7 +11184,7 @@ export declare const operations: readonly [{
10514
11184
  readonly name: "asset_folder";
10515
11185
  readonly type: "string";
10516
11186
  readonly required: false;
10517
- readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected.";
11187
+ readonly description: "Organizational folder path, separate from public_id. Empty selects the root; leading or trailing slashes, empty path segments, and . or .. segments are rejected. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out.";
10518
11188
  }, {
10519
11189
  readonly name: "tags";
10520
11190
  readonly type: "array";
@@ -10529,40 +11199,75 @@ export declare const operations: readonly [{
10529
11199
  }];
10530
11200
  };
10531
11201
  }, {
10532
- readonly resource: "media.libraries.assets.reprocess";
11202
+ readonly resource: "media.libraries.assets.frames";
10533
11203
  readonly method: "create";
10534
- readonly summary: "Reprocess asset";
10535
- readonly description: "Queue reprocessing of the asset’s current version and return its updated state immediately. Omit kinds to retry failed tasks; explicit kinds rerun applicable completed tasks. Replaced understandings become superseded, and processing finishes asynchronously.";
11204
+ readonly summary: "Create frame URLs";
11205
+ readonly description: "Media creates JPEG frame URLs for inspecting one or more moments in a video without downloading the original. Obtain library_id from libraries and asset_id plus duration from assets. Send 1–20 integer microsecond timestamps strictly below duration, for example {\"at_micros\":[0,1000000],\"width\":640}. Only video assets are supported; audio and images return INVALID_PARAMS. Width defaults to 640 and accepts 160, 320 or 640. This read operation does not store a new asset or rerun understanding. Fetch each returned URL to obtain the frame; delivery usage follows media pricing. Authenticated links expire after 300 seconds; upload links remain public and permanent. Reissue expired links. Foreign libraries and assets return 404 without revealing their existence.";
10536
11206
  readonly http: "POST";
10537
- readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}/reprocess";
11207
+ readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}/frames";
10538
11208
  readonly streaming: "no";
10539
11209
  readonly pagination: false;
10540
11210
  readonly pathParams: readonly [{
10541
11211
  readonly name: "library_id";
10542
11212
  readonly sdkName: "library_id";
10543
- readonly description: "Library ID returned by creation.";
11213
+ readonly description: "Library identifier returned by library creation or listing; must be accessible to the current credential.";
10544
11214
  }, {
10545
11215
  readonly name: "asset_id";
10546
11216
  readonly sdkName: "asset_id";
10547
- readonly description: "32-character asset ID.";
11217
+ readonly description: "Video asset identifier returned by asset upload or listing in this library; read its duration before choosing timestamps.";
10548
11218
  }];
10549
11219
  readonly query: readonly [];
10550
11220
  readonly body: {
10551
11221
  readonly required: true;
10552
11222
  readonly fields: readonly [{
10553
- readonly name: "kinds";
11223
+ readonly name: "at_micros";
10554
11224
  readonly type: "array";
10555
- readonly itemType: "string";
11225
+ readonly itemType: "integer";
11226
+ readonly required: true;
11227
+ readonly description: "One to twenty timestamps in microseconds from the start of the video. Each must be a nonnegative safe integer strictly below the video duration; order and duplicates are preserved.";
11228
+ }, {
11229
+ readonly name: "width";
11230
+ readonly type: "integer";
11231
+ readonly enum: readonly [160, 320, 640];
11232
+ readonly required: false;
11233
+ readonly description: "Maximum JPEG width in pixels: 160 is a small thumbnail, 320 a preview and 640 a larger preview. Defaults to 640; larger widths are unavailable.";
11234
+ }];
11235
+ };
11236
+ }, {
11237
+ readonly resource: "media.libraries.assets.reprocess";
11238
+ readonly method: "create";
11239
+ readonly summary: "Reprocess asset";
11240
+ readonly description: " 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.";
11241
+ readonly http: "POST";
11242
+ readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}/reprocess";
11243
+ readonly streaming: "no";
11244
+ readonly pagination: false;
11245
+ readonly pathParams: readonly [{
11246
+ readonly name: "library_id";
11247
+ readonly sdkName: "library_id";
11248
+ readonly description: "Library ID returned by creation.";
11249
+ }, {
11250
+ readonly name: "asset_id";
11251
+ readonly sdkName: "asset_id";
11252
+ readonly description: "32-character asset ID.";
11253
+ }];
11254
+ readonly query: readonly [];
11255
+ readonly body: {
11256
+ readonly required: true;
11257
+ readonly fields: readonly [{
11258
+ readonly name: "kinds";
11259
+ readonly type: "array";
11260
+ readonly itemType: "string";
10556
11261
  readonly enum: readonly ["visual", "frames", "transcript", "embedding"];
10557
11262
  readonly required: false;
10558
- readonly description: "Processing tasks to rerun. Omit to retry failed tasks only; explicit kinds rerun applicable ready, failed or unsupported tasks. Pending and running tasks are unchanged; an empty array does nothing.";
11263
+ readonly description: "Processing tasks to rerun. Omit to retry failed tasks and legacy source-size unsupported tasks; explicit kinds rerun applicable ready or failed tasks and recoverable source-size unsupported tasks. Other unsupported causes remain unchanged. Pending and running tasks are unchanged; an empty array does nothing.";
10559
11264
  }];
10560
11265
  };
10561
11266
  }, {
10562
11267
  readonly resource: "media.libraries.assets.understandings";
10563
11268
  readonly method: "list";
10564
11269
  readonly summary: "List understandings";
10565
- readonly description: "List an asset’s understanding results in creation order. By default only current, non-superseded results are returned; use include_superseded=true for history or kind to select an output type.";
11270
+ readonly description: "List understanding results for an asset, ordered by creation time. Use the cursor to continue; include_superseded also returns replaced records. The optional shots array contains current-version shot boundaries and per-shot captions, scene, location guesses, visible text and confidence flags; it is absent on legacy records. Location guesses and folder mismatch are unverified hints. Correction-enabled transcripts expose text_original, corrected text and a correction audit. Their timed data array remains suitable for subtitles. Reference failure is marked missing; correction failure returns the original verbatim. Model inference uses the existing metered model path.";
10566
11271
  readonly http: "GET";
10567
11272
  readonly path: "/media/v1/libraries/{library_id}/assets/{asset_id}/understandings";
10568
11273
  readonly streaming: "no";
@@ -10584,9 +11289,9 @@ export declare const operations: readonly [{
10584
11289
  }, {
10585
11290
  readonly name: "kind";
10586
11291
  readonly type: "string";
10587
- readonly enum: readonly ["caption", "tags", "ocr", "transcript", "frame"];
11292
+ readonly enum: readonly ["caption", "tags", "ocr", "transcript", "frame", "overview", "audio", "loudness", "beats", "content", "embedding"];
10588
11293
  readonly required: false;
10589
- readonly description: "Filter result kind: caption is a visual description, tags are recognized labels, ocr is recognized image text, transcript is speech text, and frame describes a video segment.";
11294
+ readonly description: "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.";
10590
11295
  }, {
10591
11296
  readonly name: "cursor";
10592
11297
  readonly type: "string";
@@ -10602,7 +11307,7 @@ export declare const operations: readonly [{
10602
11307
  readonly resource: "media.libraries.assets";
10603
11308
  readonly method: "batch";
10604
11309
  readonly summary: "Batch assets alias";
10605
- readonly description: "Alias of batch creation. Apply one metadata or deletion action to ids or a frozen expression selection asynchronously; poll the returned job id to inspect completion and item failures.";
11310
+ readonly description: "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. 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.";
10606
11311
  readonly http: "POST";
10607
11312
  readonly path: "/media/v1/libraries/{library_id}/assets:batch";
10608
11313
  readonly streaming: "no";
@@ -10620,13 +11325,18 @@ export declare const operations: readonly [{
10620
11325
  readonly type: "object";
10621
11326
  readonly required: true;
10622
11327
  readonly description: "Select assets by ids or by expression, never both. Expression results and exclusions are resolved when the job is created.";
11328
+ }, {
11329
+ readonly name: "reason";
11330
+ readonly type: "string";
11331
+ readonly required: false;
11332
+ readonly description: "Audit reason for the operation; required for staff Admin reprocessing and recorded with the initiating actor. Nonblank, at most 2000 characters.";
10623
11333
  }];
10624
11334
  };
10625
11335
  }, {
10626
11336
  readonly resource: "media.libraries.batches";
10627
11337
  readonly method: "create";
10628
11338
  readonly summary: "Create batch";
10629
- readonly description: "Create an asynchronous batch for tagging, untagging, replacing context, moving or deleting assets. Select ids or an expression; selection is frozen at creation. Poll the returned job id for completion and per-item failures.";
11339
+ readonly description: "Queue a frozen selection for tagging, untagging, context replacement, moving, deleting or reprocessing. IDs are limited to 1000; use an expression for larger selections, subject to the search scan budget. reprocess starts at most 30 assets per rolling minute per library. Only retryable failed steps and legacy source-size unsupported steps rerun. Omit kinds to inspect all recoverable steps, or supply kinds to narrow them. Other unsupported, permanent and completed steps remain unchanged; a permanent output blocks only its own step. Assets without any selected recoverable step count as failed items without starting understanding. Poll the returned job id; done counts accepted launches, not successful model inference. Staff Admin only permits reprocess and requires a nonblank reason. Example: {\"action\":\"reprocess\",\"selector\":{\"expression\":\"processing_state=failed AND failure_code=UPSTREAM_FAILED\"}}. 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.";
10630
11340
  readonly http: "POST";
10631
11341
  readonly path: "/media/v1/libraries/{library_id}/batches";
10632
11342
  readonly streaming: "no";
@@ -10644,13 +11354,18 @@ export declare const operations: readonly [{
10644
11354
  readonly type: "object";
10645
11355
  readonly required: true;
10646
11356
  readonly description: "Select assets by ids or by expression, never both. Expression results and exclusions are resolved when the job is created.";
11357
+ }, {
11358
+ readonly name: "reason";
11359
+ readonly type: "string";
11360
+ readonly required: false;
11361
+ readonly description: "Audit reason for the operation; required for staff Admin reprocessing and recorded with the initiating actor. Nonblank, at most 2000 characters.";
10647
11362
  }];
10648
11363
  };
10649
11364
  }, {
10650
11365
  readonly resource: "media.libraries.batches";
10651
11366
  readonly method: "retrieve";
10652
11367
  readonly summary: "Get batch";
10653
- readonly description: "Read a batch job’s status, successful and failed item counts, and a bounded list of failed items. Use the id returned by batch creation; a job outside this library is not found.";
11368
+ readonly description: "Alias of batch creation. Apply one metadata or deletion action to ids or a frozen expression selection asynchronously; poll the returned job id to inspect completion and item failures.";
10654
11369
  readonly http: "GET";
10655
11370
  readonly path: "/media/v1/libraries/{library_id}/batches/{job_id}";
10656
11371
  readonly streaming: "no";
@@ -10698,7 +11413,7 @@ export declare const operations: readonly [{
10698
11413
  readonly resource: "media.libraries.events";
10699
11414
  readonly method: "list";
10700
11415
  readonly summary: "List events";
10701
- readonly description: "Read library events in sequence order, including while the library is deleting. Page forward with asc and after_seq, or backward with desc and before_seq; never combine the two sequence cursors.";
11416
+ readonly description: "Read library events in sequence order for observing asset writes and understanding progress. Obtain library_id from creation or listing; continue with after_seq for asc or before_seq for desc, without combining both. Use next_cursor when supplied. Reads do not start or retry understanding.";
10702
11417
  readonly http: "GET";
10703
11418
  readonly path: "/media/v1/libraries/{library_id}/events";
10704
11419
  readonly streaming: "no";
@@ -10734,7 +11449,7 @@ export declare const operations: readonly [{
10734
11449
  readonly resource: "media.libraries.folders";
10735
11450
  readonly method: "list";
10736
11451
  readonly summary: "List folders";
10737
- readonly description: "List all immediate child folders under parent, or under the root when parent is omitted. Counts include descendant assets. The result is unpaginated; limit and cursor are rejected.";
11452
+ readonly description: "undefined understood_count includes ready and partial assets; failed_count includes failed assets. Both accumulate descendants. counts_complete is false during historical backfill.";
10738
11453
  readonly http: "GET";
10739
11454
  readonly path: "/media/v1/libraries/{library_id}/folders";
10740
11455
  readonly streaming: "no";
@@ -10750,11 +11465,120 @@ export declare const operations: readonly [{
10750
11465
  readonly required: false;
10751
11466
  readonly description: "Folder whose immediate children are returned. Omit or use an empty string for the library root; invalid folder paths are rejected.";
10752
11467
  }];
11468
+ }, {
11469
+ readonly resource: "media.libraries.generations";
11470
+ readonly method: "create";
11471
+ readonly summary: "Create video generation";
11472
+ readonly description: "Create a video.generate job. Generation is charged per second. The response is 202 with a queued Job; poll GET /media/v1/libraries/{library_id}/jobs/{job_id} until terminal, then save successful outputs. Unsaved candidate Files expire after 7 days.";
11473
+ readonly http: "POST";
11474
+ readonly path: "/media/v1/libraries/{library_id}/generations";
11475
+ readonly streaming: "no";
11476
+ readonly pagination: false;
11477
+ readonly pathParams: readonly [{
11478
+ readonly name: "library_id";
11479
+ readonly sdkName: "library_id";
11480
+ readonly description: "Library ID returned by creation.";
11481
+ }];
11482
+ readonly query: readonly [];
11483
+ readonly body: {
11484
+ readonly required: true;
11485
+ readonly fields: readonly [{
11486
+ readonly name: "intent";
11487
+ readonly type: "string";
11488
+ readonly required: true;
11489
+ readonly description: "Generation operation; v1 accepts only video.generate text-to-video requests.";
11490
+ }, {
11491
+ readonly name: "prompt";
11492
+ readonly type: "string";
11493
+ readonly required: true;
11494
+ readonly description: "Text prompt describing the video to generate.";
11495
+ }, {
11496
+ readonly name: "count";
11497
+ readonly type: "integer";
11498
+ readonly required: false;
11499
+ readonly description: "Number of videos to generate; defaults to 1 and must be from 1 to 4.";
11500
+ }, {
11501
+ readonly name: "duration_seconds";
11502
+ readonly type: "integer";
11503
+ readonly required: false;
11504
+ readonly description: "Requested video duration in seconds; Router validates the model-specific supported durations.";
11505
+ }, {
11506
+ readonly name: "aspect_ratio";
11507
+ readonly type: "string";
11508
+ readonly required: false;
11509
+ readonly description: "Requested output aspect ratio; defaults to 16:9 and Router validates model support.";
11510
+ }, {
11511
+ readonly name: "model";
11512
+ readonly type: "string";
11513
+ readonly required: false;
11514
+ readonly description: "Router model with video_generation capability; defaults to wan2.7-t2v.";
11515
+ }, {
11516
+ readonly name: "save";
11517
+ readonly type: "string";
11518
+ readonly enum: readonly ["candidate", "library"];
11519
+ readonly required: false;
11520
+ readonly description: "candidate keeps outputs temporary for explicit save calls; library saves successful outputs automatically.";
11521
+ }, {
11522
+ readonly name: "asset_folder";
11523
+ readonly type: "string";
11524
+ readonly required: false;
11525
+ readonly description: "Folder for assets saved automatically or by later save calls; defaults to the library root. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out.";
11526
+ }, {
11527
+ readonly name: "tags";
11528
+ readonly type: "array";
11529
+ readonly itemType: "string";
11530
+ readonly required: false;
11531
+ readonly description: "Tags applied when an output becomes a library asset.";
11532
+ }, {
11533
+ readonly name: "understanding";
11534
+ readonly type: "string";
11535
+ readonly enum: readonly ["auto", "skip"];
11536
+ readonly required: false;
11537
+ readonly description: "Understanding behavior when a candidate is saved as an asset; defaults to auto.";
11538
+ }, {
11539
+ readonly name: "references";
11540
+ readonly type: "array";
11541
+ readonly itemType: "object";
11542
+ readonly required: false;
11543
+ readonly description: "Not supported in v1; omit this field. Only text-to-video is currently available.";
11544
+ }];
11545
+ };
11546
+ }, {
11547
+ readonly resource: "media.libraries.jobs";
11548
+ readonly method: "list";
11549
+ readonly summary: "List jobs";
11550
+ readonly description: "List batch and video-generation jobs in a library. Filter by status and continue with next_cursor. Poll a generation Job until terminal, then save successful candidate outputs before they expire after 7 days.";
11551
+ readonly http: "GET";
11552
+ readonly path: "/media/v1/libraries/{library_id}/jobs";
11553
+ readonly streaming: "no";
11554
+ readonly pagination: true;
11555
+ readonly pathParams: readonly [{
11556
+ readonly name: "library_id";
11557
+ readonly sdkName: "library_id";
11558
+ readonly description: "Library ID returned by creation.";
11559
+ }];
11560
+ readonly query: readonly [{
11561
+ readonly name: "status";
11562
+ readonly type: "string";
11563
+ readonly enum: readonly ["queued", "running", "completed", "completed_with_errors", "failed", "cancelled"];
11564
+ readonly required: false;
11565
+ readonly description: "Filter jobs by their current status.";
11566
+ }, {
11567
+ readonly name: "limit";
11568
+ readonly type: "integer";
11569
+ readonly required: false;
11570
+ readonly description: "Maximum entries in this page, from 1 through 100; defaults to 100.";
11571
+ }, {
11572
+ readonly name: "cursor";
11573
+ readonly type: "string";
11574
+ readonly required: false;
11575
+ readonly description: "Job id from the previous page’s next_cursor; omit for the first page.";
11576
+ }];
10753
11577
  }, {
10754
11578
  readonly resource: "media.libraries.jobs";
10755
11579
  readonly method: "retrieve";
10756
- readonly summary: "Get job alias";
10757
- readonly description: "Alias of batch retrieval. Read the job returned by a batch request, including terminal status, successful and failed counts, and individual failure codes.";
11580
+ readonly summary: "Get job";
11581
+ readonly description: "Read the current batch or video-generation Job status and progress. For generation, inspect outputs and failures, then save successful candidates before their preview and save window expires after 7 days.";
10758
11582
  readonly http: "GET";
10759
11583
  readonly path: "/media/v1/libraries/{library_id}/jobs/{job_id}";
10760
11584
  readonly streaming: "no";
@@ -10766,14 +11590,82 @@ export declare const operations: readonly [{
10766
11590
  }, {
10767
11591
  readonly name: "job_id";
10768
11592
  readonly sdkName: "job_id";
10769
- readonly description: "Batch identifier returned by createBatch or batchAssets; resolved within this library.";
11593
+ readonly description: "Job identifier returned by batch creation, video-generation creation or job listing; resolved within this library.";
11594
+ }];
11595
+ readonly query: readonly [];
11596
+ }, {
11597
+ readonly resource: "media.libraries.jobs";
11598
+ readonly method: "cancel";
11599
+ readonly summary: "Cancel job";
11600
+ readonly description: "Cancel a queued or running generation job. Already completed outputs remain available to save; poll or read the returned Job to confirm its status.";
11601
+ readonly http: "POST";
11602
+ readonly path: "/media/v1/libraries/{library_id}/jobs/{job_id}/cancel";
11603
+ readonly streaming: "no";
11604
+ readonly pagination: false;
11605
+ readonly pathParams: readonly [{
11606
+ readonly name: "library_id";
11607
+ readonly sdkName: "library_id";
11608
+ readonly description: "Library ID returned by creation.";
11609
+ }, {
11610
+ readonly name: "job_id";
11611
+ readonly sdkName: "job_id";
11612
+ readonly description: "Job identifier returned by batch or generation creation; the job is resolved within the specified library.";
11613
+ }];
11614
+ readonly query: readonly [];
11615
+ }, {
11616
+ readonly resource: "media.libraries.jobs.outputs.save";
11617
+ readonly method: "create";
11618
+ readonly summary: "Save generation output";
11619
+ readonly description: "Save a successful candidate as a library asset. Candidate outputs expire after 7 days; save before expiry. Generation is charged per second when the job runs, not when an output is saved.";
11620
+ readonly http: "POST";
11621
+ readonly path: "/media/v1/libraries/{library_id}/jobs/{job_id}/outputs/{index}/save";
11622
+ readonly streaming: "no";
11623
+ readonly pagination: false;
11624
+ readonly pathParams: readonly [{
11625
+ readonly name: "library_id";
11626
+ readonly sdkName: "library_id";
11627
+ readonly description: "Library ID returned by creation.";
11628
+ }, {
11629
+ readonly name: "job_id";
11630
+ readonly sdkName: "job_id";
11631
+ readonly description: "Job identifier returned by batch or generation creation; the job is resolved within the specified library.";
11632
+ }, {
11633
+ readonly name: "index";
11634
+ readonly sdkName: "index";
11635
+ readonly description: "Zero-based position of the candidate in the Job outputs array.";
10770
11636
  }];
10771
11637
  readonly query: readonly [];
11638
+ readonly body: {
11639
+ readonly required: false;
11640
+ readonly fields: readonly [{
11641
+ readonly name: "public_id";
11642
+ readonly type: "string";
11643
+ readonly required: false;
11644
+ readonly description: "Delivery identifier for the saved asset; defaults to gen_<job_id>_<index> and is idempotent.";
11645
+ }, {
11646
+ readonly name: "asset_folder";
11647
+ readonly type: "string";
11648
+ readonly required: false;
11649
+ readonly description: "Destination folder for the saved asset; defaults to the library root. New path segments containing U+FFFD or consisting only of question marks are rejected with INVALID_PARAMS; send UTF-8 names. Existing affected folders remain readable and assets can be moved out.";
11650
+ }, {
11651
+ readonly name: "tags";
11652
+ readonly type: "array";
11653
+ readonly itemType: "string";
11654
+ readonly required: false;
11655
+ readonly description: "Tags to apply to the saved asset.";
11656
+ }, {
11657
+ readonly name: "understanding";
11658
+ readonly type: "string";
11659
+ readonly enum: readonly ["auto", "skip"];
11660
+ readonly required: false;
11661
+ readonly description: "Understanding behavior for the saved asset; defaults to auto.";
11662
+ }];
11663
+ };
10772
11664
  }, {
10773
11665
  readonly resource: "media.libraries.purge";
10774
11666
  readonly method: "create";
10775
11667
  readonly summary: "Purge library";
10776
- readonly description: "Permanently remove a library that is already deleting, without waiting for purge_at. Its assets and related resources are removed and cannot be restored; first soft-delete an active library.";
11668
+ readonly description: "List assets in an active library, newest first, optionally filtering by exact folder and stored resource type. Continue using next_cursor; video includes audio-only assets.";
10777
11669
  readonly http: "POST";
10778
11670
  readonly path: "/media/v1/libraries/{library_id}/purge";
10779
11671
  readonly streaming: "no";
@@ -10788,7 +11680,7 @@ export declare const operations: readonly [{
10788
11680
  readonly resource: "media.libraries";
10789
11681
  readonly method: "restore";
10790
11682
  readonly summary: "Restore library";
10791
- readonly description: "Restore a deleting library before its purge_at deadline. The library becomes active again and deleted_at and purge_at are cleared; expired or non-deleting libraries cannot be restored.";
11683
+ readonly description: "Permanently remove a library that is already deleting, without waiting for purge_at. Its assets and related resources are removed and cannot be restored; first soft-delete an active library.";
10792
11684
  readonly http: "POST";
10793
11685
  readonly path: "/media/v1/libraries/{library_id}/restore";
10794
11686
  readonly streaming: "no";
@@ -10803,7 +11695,7 @@ export declare const operations: readonly [{
10803
11695
  readonly resource: "media.libraries.search";
10804
11696
  readonly method: "create";
10805
11697
  readonly summary: "Semantic search alias";
10806
- readonly description: "Alias of semantic search. Search assets with a nonblank text query, optional expression filter and top_k; hybrid combines semantic and keyword matches, while semantic uses vector similarity only.";
11698
+ readonly description: "List all immediate child folders under parent, or under the root when parent is omitted. Counts include descendant assets. The result is unpaginated; limit and cursor are rejected.";
10807
11699
  readonly http: "POST";
10808
11700
  readonly path: "/media/v1/libraries/{library_id}/search";
10809
11701
  readonly streaming: "no";
@@ -10843,7 +11735,7 @@ export declare const operations: readonly [{
10843
11735
  readonly resource: "media.libraries.search.expression";
10844
11736
  readonly method: "create";
10845
11737
  readonly summary: "Expression search";
10846
- readonly description: "Search active assets using the supported filter-expression syntax, sorting and cursor pagination. Empty expression matches all assets. Tags and context require with_field; inspect the exactness flags before treating counts as complete.";
11738
+ readonly description: "Find visually similar assets using exactly one of asset_id or an inline base64 image. The library must support image search; an asset query needs a current image embedding and excludes that source asset from results.";
10847
11739
  readonly http: "POST";
10848
11740
  readonly path: "/media/v1/libraries/{library_id}/search/expression";
10849
11741
  readonly streaming: "no";
@@ -10860,7 +11752,7 @@ export declare const operations: readonly [{
10860
11752
  readonly name: "expression";
10861
11753
  readonly type: "string";
10862
11754
  readonly required: false;
10863
- readonly description: "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets. For business metadata use context.sku=KETTLE-RED AND context.revision=2; request with_field: [\"context\"] to include context. Quality filters: flags:watermark matches any current shot with a watermark; flags.watermark:false requires an assessed video with no positive watermark judgment. The same syntax supports slideshow, hand_frame, text_sticker and low_quality. folder_mismatch:true selects lexical folder/location hints. Geometry filters support width, height, resolution:1920x1080, numeric aspect_ratio (width/height), and orientation:landscape, portrait or square. Missing geometry or unassessed legacy flags do not match positive filters.";
11755
+ readonly description: "Asset filter expression supporting field comparisons, AND, OR, NOT, parentheses and suffix wildcards. An empty expression matches all assets. For business metadata use context.sku=KETTLE-RED AND context.revision=2; request with_field: [\"context\"] to include context. Quality filters: flags:watermark matches any current shot with a watermark; flags.watermark:false requires an assessed video with no positive watermark judgment. The same syntax supports slideshow, hand_frame, text_sticker and low_quality. folder_mismatch:true selects lexical folder/location hints. Geometry filters support width, height, resolution:1920x1080, numeric aspect_ratio (width/height), and orientation:landscape, portrait or square. Missing geometry or unassessed legacy flags do not match positive filters. has_music:true AND audio_genre:jazz AND audio_mood:calm selects current-version audio profiles with music and matching model labels; has_music:false applies only to sampled ranges, not the entire source. failure_code=UPSTREAM_FAILED selects assets with a current failed understanding carrying that code; combine with processing_state=failed or processing_state=partial.";
10864
11756
  }, {
10865
11757
  readonly name: "sort_by";
10866
11758
  readonly type: "array";
@@ -10897,7 +11789,7 @@ export declare const operations: readonly [{
10897
11789
  readonly resource: "media.libraries.search.semantic";
10898
11790
  readonly method: "create";
10899
11791
  readonly summary: "Semantic search";
10900
- readonly description: "Search assets with a nonblank text query and optional expression filter. Hybrid mode combines semantic and keyword matches; semantic mode uses vector similarity only. Results are ranked and limited by top_k.";
11792
+ readonly description: "Alias of semantic search. Search assets with a nonblank text query, optional expression filter and top_k; hybrid combines semantic and keyword matches, while semantic uses vector similarity only.";
10901
11793
  readonly http: "POST";
10902
11794
  readonly path: "/media/v1/libraries/{library_id}/search/semantic";
10903
11795
  readonly streaming: "no";
@@ -10937,7 +11829,7 @@ export declare const operations: readonly [{
10937
11829
  readonly resource: "media.libraries.search.visual";
10938
11830
  readonly method: "create";
10939
11831
  readonly summary: "Visual search";
10940
- readonly description: "Find visually similar assets using exactly one of asset_id or an inline base64 image. The library must support image search; an asset query needs a current image embedding and excludes that source asset from results.";
11832
+ readonly description: "Search assets with a nonblank text query and optional expression filter. Hybrid mode combines semantic and keyword matches; semantic mode uses vector similarity only. Results are ranked and limited by top_k.";
10941
11833
  readonly http: "POST";
10942
11834
  readonly path: "/media/v1/libraries/{library_id}/search/visual";
10943
11835
  readonly streaming: "no";
@@ -10972,6 +11864,56 @@ export declare const operations: readonly [{
10972
11864
  readonly description: "Expression filter restricting eligible result assets.";
10973
11865
  }];
10974
11866
  };
11867
+ }, {
11868
+ readonly resource: "media.libraries.understandings";
11869
+ readonly method: "list";
11870
+ readonly summary: "List understanding results across a library";
11871
+ readonly description: "Read current understanding entries across one library without fetching every asset separately. Use library_id from creation or listing. folder includes descendants; kinds is a comma-separated list of output kinds. Entries are ordered by asset_id and then understanding id. Continue with next_cursor and the same folder and kinds; limit defaults to 100 and cannot exceed 100. Superseded, deleted and old-version entries are excluded. During historical backfill, this method returns 503 CAPACITY rather than incomplete pages; poll failureSummary until counts_complete is true, then start pagination. Example: GET /media/v1/libraries/lib_example/understandings?folder=travel&kinds=caption,transcript&limit=100.";
11872
+ readonly http: "GET";
11873
+ readonly path: "/media/v1/libraries/{library_id}/understandings";
11874
+ readonly streaming: "no";
11875
+ readonly pagination: true;
11876
+ readonly pathParams: readonly [{
11877
+ readonly name: "library_id";
11878
+ readonly sdkName: "library_id";
11879
+ readonly description: "Library ID returned by creation.";
11880
+ }];
11881
+ readonly query: readonly [{
11882
+ readonly name: "folder";
11883
+ readonly type: "string";
11884
+ readonly required: false;
11885
+ readonly description: "Folder path including all descendants; omitted or empty selects the entire library.";
11886
+ }, {
11887
+ readonly name: "kinds";
11888
+ readonly type: "string";
11889
+ readonly required: false;
11890
+ readonly description: "Comma-separated output kinds: caption, tags, ocr, frame, transcript, overview, audio, loudness, beats, content, embedding. Omit or empty to include every kind.";
11891
+ }, {
11892
+ readonly name: "cursor";
11893
+ readonly type: "string";
11894
+ readonly required: false;
11895
+ readonly description: "Cursor from the previous next_cursor.";
11896
+ }, {
11897
+ readonly name: "limit";
11898
+ readonly type: "integer";
11899
+ readonly required: false;
11900
+ readonly description: "Maximum entries in this page, from 1 through 100; defaults to 100.";
11901
+ }];
11902
+ }, {
11903
+ readonly resource: "media.libraries.understandings";
11904
+ readonly method: "retrieveFailureSummary";
11905
+ readonly summary: "Summarize understanding failures";
11906
+ readonly description: "Inspect current understanding failures before retrying. Use library_id from library creation or listing. Groups include code, output kind, actual producer model, retryability and up to five sample asset IDs. At most 1024 detailed groups plus two overflow groups are returned; overflow groups separate retryable and unrecoverable entries and mark overflow=true. Unknown failure codes remain retryable. Historical counts are provisional while counts_complete is false. Example: GET /media/v1/libraries/lib_example/understandings/failure_summary.";
11907
+ readonly http: "GET";
11908
+ readonly path: "/media/v1/libraries/{library_id}/understandings/failure_summary";
11909
+ readonly streaming: "no";
11910
+ readonly pagination: false;
11911
+ readonly pathParams: readonly [{
11912
+ readonly name: "library_id";
11913
+ readonly sdkName: "library_id";
11914
+ readonly description: "Library ID returned by creation.";
11915
+ }];
11916
+ readonly query: readonly [];
10975
11917
  }, {
10976
11918
  readonly resource: "meta.docs";
10977
11919
  readonly method: "search";
@@ -11185,35 +12127,35 @@ export declare const operations: readonly [{
11185
12127
  readonly name: "model";
11186
12128
  readonly type: "string";
11187
12129
  readonly required: true;
11188
- readonly description: "Transcription model id, for example `whisper-large-v3-turbo` or `qwen3-asr-flash`; list candidates with listModels?type=transcription. Router support (supported): Verified to take effect.";
12130
+ readonly description: "Model catalog identifier declaring openai.audio.transcriptions; use it unchanged, including any creator prefix.";
11189
12131
  }, {
11190
12132
  readonly name: "file";
11191
12133
  readonly type: "string";
11192
12134
  readonly required: true;
11193
- readonly description: "Audio file to transcribe, uploaded as multipart/form-data. Router support (supported): Verified to take effect.";
12135
+ readonly description: "Audio bytes uploaded as a multipart file; supported formats and input limits depend on the selected model.";
11194
12136
  }, {
11195
12137
  readonly name: "language";
11196
12138
  readonly type: "string";
11197
12139
  readonly required: false;
11198
- readonly description: "Language of the audio as an ISO-639-1 code such as `en` or `zh`. Router support (partial): Both models accept ISO language codes. qwen3-asr-flash may translate output to that language; whisper-large-v3-turbo treats it as an input hint. Non-ISO names may return 502.";
12140
+ readonly description: "Source language code when known; omit to let the model detect the language.";
11199
12141
  }, {
11200
12142
  readonly name: "prompt";
11201
12143
  readonly type: "string";
11202
12144
  readonly required: false;
11203
- readonly description: "Text that primes the model with vocabulary or context. Router support (partial): Vocabulary hints work on whisper-large-v3-turbo only; qwen3-asr-flash returns 400.";
12145
+ readonly description: "Optional vocabulary or contextual guidance for recognizing the audio; support depends on the selected model.";
11204
12146
  }, {
11205
12147
  readonly name: "response_format";
11206
12148
  readonly type: "string";
11207
- readonly enum: readonly ["json", "text", "verbose_json"];
12149
+ readonly enum: readonly ["json", "text", "verbose_json", "diarized_json"];
11208
12150
  readonly required: false;
11209
- readonly description: "Format of the response body. `json` and `text` are the commonly supported formats. Router support (partial): json/text work on both; verbose_json works only on whisper-large-v3-turbo. srt/vtt return 400.";
12151
+ readonly description: "Output format: json returns text in JSON; text returns plain text; verbose_json includes requested timestamps; diarized_json includes speaker-labelled segments when supported. Defaults to json.";
11210
12152
  }, {
11211
12153
  readonly name: "timestamp_granularities[]";
11212
12154
  readonly type: "array";
11213
12155
  readonly itemType: "string";
11214
- readonly enum: readonly ["segment"];
12156
+ readonly enum: readonly ["word", "segment"];
11215
12157
  readonly required: false;
11216
- readonly description: "Timestamp levels to include with `verbose_json`; only `segment` exists in this schema. Router support (partial): Only whisper-large-v3-turbo supports segment with verbose_json. word returns 400; qwen3-asr-flash does not support timestamps.";
12158
+ readonly description: "Timestamp levels to request as repeated multipart fields: word returns per-word times; segment returns segment times. Omit for the model default. Use verbose_json, or diarized_json on supporting models.";
11217
12159
  }, {
11218
12160
  readonly name: "temperature";
11219
12161
  readonly type: "number";
@@ -12558,224 +13500,669 @@ export declare const operations: readonly [{
12558
13500
  }];
12559
13501
  readonly query: readonly [];
12560
13502
  }, {
12561
- readonly resource: "model.systemone";
13503
+ readonly resource: "model.systemone";
13504
+ readonly method: "create";
13505
+ readonly summary: "Ask structured decision questions";
13506
+ readonly description: "Ask typed questions about a state and get calibrated probabilities instead of generated text. Same request and response as TypeSafe System One. Use model ids from model.models.list declaring typesafe.systemone. Send one or more noul, choice or score questions; answers use the same question ids. Input tokens are charged at the catalog input price; output tokens are free. usage.cost and X-Praxis-Cost-Usd expose the same customer charge in USD. box questions and assets are unsupported and return 400: images are not supported. Unknown top-level fields pass unchanged to the native upstream.";
13507
+ readonly http: "POST";
13508
+ readonly path: "/model/v1/systemone";
13509
+ readonly streaming: "no";
13510
+ readonly pagination: false;
13511
+ readonly pathParams: readonly [];
13512
+ readonly query: readonly [];
13513
+ readonly body: {
13514
+ readonly required: true;
13515
+ readonly fields: readonly [{
13516
+ readonly name: "model";
13517
+ readonly type: "string";
13518
+ readonly required: true;
13519
+ readonly description: "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response.";
13520
+ }, {
13521
+ readonly name: "state";
13522
+ readonly type: "object";
13523
+ readonly required: true;
13524
+ readonly description: "Shared content evaluated by every question, supplied as text, a JSON object or an array.";
13525
+ }, {
13526
+ readonly name: "questions";
13527
+ readonly type: "object";
13528
+ readonly required: true;
13529
+ readonly description: "Non-empty map of caller-chosen question ids to typed questions; answers preserve these ids. noul evaluates yes/no, choice selects a named option, score rates ordered levels. box is unsupported.";
13530
+ }, {
13531
+ readonly name: "assets";
13532
+ readonly type: "object";
13533
+ readonly required: false;
13534
+ readonly description: "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported.";
13535
+ }];
13536
+ };
13537
+ }, {
13538
+ readonly resource: "model.videos";
13539
+ readonly method: "list";
13540
+ readonly summary: "List videos";
13541
+ readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13542
+ readonly http: "GET";
13543
+ readonly path: "/model/v1/videos";
13544
+ readonly streaming: "no";
13545
+ readonly pagination: false;
13546
+ readonly pathParams: readonly [];
13547
+ readonly query: readonly [{
13548
+ readonly name: "after";
13549
+ readonly type: "string";
13550
+ readonly required: false;
13551
+ readonly description: "Cursor: the id of the video job after which the page starts, normally the `last_id` of the previous page. It must refer to an existing job of yours, otherwise the call fails.";
13552
+ }, {
13553
+ readonly name: "limit";
13554
+ readonly type: "integer";
13555
+ readonly required: false;
13556
+ readonly description: "Maximum number of jobs per page, from 1 to 100; defaults to 20.";
13557
+ }, {
13558
+ readonly name: "order";
13559
+ readonly type: "string";
13560
+ readonly enum: readonly ["asc", "desc"];
13561
+ readonly required: false;
13562
+ readonly description: "Sort order by creation time: desc (default) lists the newest job first, asc the oldest first.";
13563
+ }];
13564
+ }, {
13565
+ readonly resource: "model.videos";
13566
+ readonly method: "create";
13567
+ readonly summary: "Create video";
13568
+ readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13569
+ readonly http: "POST";
13570
+ readonly path: "/model/v1/videos";
13571
+ readonly streaming: "no";
13572
+ readonly pagination: false;
13573
+ readonly multipart: true;
13574
+ readonly pathParams: readonly [];
13575
+ readonly query: readonly [];
13576
+ readonly body: {
13577
+ readonly required: true;
13578
+ readonly fields: readonly [{
13579
+ readonly name: "model";
13580
+ readonly type: "string";
13581
+ readonly required: false;
13582
+ readonly description: "Video model id, for example `wan2.7-t2v`; list candidates with listModels?type=video. Router support (partial): Select a registered video model explicitly, for example wan2.7-t2v (size=1280x720, seconds=4). Capability preflight errors are reported before creation.";
13583
+ }, {
13584
+ readonly name: "prompt";
13585
+ readonly type: "string";
13586
+ readonly required: true;
13587
+ readonly description: "Text description of the video, at least 1 character. Router support (supported): Controls video content; missing or empty values return 400.";
13588
+ }, {
13589
+ readonly name: "seconds";
13590
+ readonly type: "object";
13591
+ readonly required: false;
13592
+ readonly description: "Takes precedence over duration.";
13593
+ }, {
13594
+ readonly name: "duration";
13595
+ readonly type: "integer";
13596
+ readonly required: false;
13597
+ readonly description: "Length of the video in whole seconds. `seconds` takes precedence when both are given.";
13598
+ }, {
13599
+ readonly name: "size";
13600
+ readonly type: "string";
13601
+ readonly required: false;
13602
+ readonly description: "Output resolution as `WIDTHxHEIGHT`, for example `1280x720`. Router support (partial): Subject to model capability preflight. Earlier wan2.7-t2v samples always produced 1280x720; accepted sizes are not guaranteed pixel-for-pixel.";
13603
+ }, {
13604
+ readonly name: "input_reference";
13605
+ readonly type: "object";
13606
+ readonly required: false;
13607
+ readonly description: "Reference image for image-to-video: a URL or base64 data URL, an object with `image_url`, or an uploaded image file (multipart, at most 20 MiB).";
13608
+ }, {
13609
+ readonly name: "input_references";
13610
+ readonly type: "array";
13611
+ readonly itemType: "object";
13612
+ readonly required: false;
13613
+ readonly description: "Several reference images; each entry is a URL or base64 data URL, or an object with `image_url`.";
13614
+ }, {
13615
+ readonly name: "frame_images";
13616
+ readonly type: "array";
13617
+ readonly itemType: "object";
13618
+ readonly required: false;
13619
+ readonly description: "Images that pin the first and last frame; at most 2 entries.";
13620
+ }, {
13621
+ readonly name: "resolution";
13622
+ readonly type: "string";
13623
+ readonly required: false;
13624
+ readonly description: "Output resolution label such as `720p`, for models that take a label instead of `size`.";
13625
+ }, {
13626
+ readonly name: "aspect_ratio";
13627
+ readonly type: "string";
13628
+ readonly required: false;
13629
+ readonly description: "Aspect ratio of the video such as `16:9`.";
13630
+ }, {
13631
+ readonly name: "generate_audio";
13632
+ readonly type: "boolean";
13633
+ readonly required: false;
13634
+ readonly description: "Whether the video carries a generated audio track. Router support (supported): false produces no audio track on wan2.7-t2v; the default output includes audio.";
13635
+ }, {
13636
+ readonly name: "seed";
13637
+ readonly type: "integer";
13638
+ readonly required: false;
13639
+ readonly description: "Seed for reproducible generation, on models that support it.";
13640
+ }, {
13641
+ readonly name: "callback_url";
13642
+ readonly type: "string";
13643
+ readonly required: false;
13644
+ readonly description: "HTTP or HTTPS callback URL, forwarded to models that support completion callbacks.";
13645
+ }, {
13646
+ readonly name: "quality";
13647
+ readonly type: "string";
13648
+ readonly required: false;
13649
+ readonly description: "Provider-specific quality setting.";
13650
+ }];
13651
+ };
13652
+ }, {
13653
+ readonly resource: "model.videos";
13654
+ readonly method: "delete";
13655
+ readonly summary: "Delete video";
13656
+ readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13657
+ readonly http: "DELETE";
13658
+ readonly path: "/model/v1/videos/{video_id}";
13659
+ readonly streaming: "no";
13660
+ readonly pagination: false;
13661
+ readonly pathParams: readonly [{
13662
+ readonly name: "video_id";
13663
+ readonly sdkName: "video_id";
13664
+ readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
13665
+ }];
13666
+ readonly query: readonly [];
13667
+ }, {
13668
+ readonly resource: "model.videos";
13669
+ readonly method: "retrieve";
13670
+ readonly summary: "Retrieve video";
13671
+ readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13672
+ readonly http: "GET";
13673
+ readonly path: "/model/v1/videos/{video_id}";
13674
+ readonly streaming: "no";
13675
+ readonly pagination: false;
13676
+ readonly pathParams: readonly [{
13677
+ readonly name: "video_id";
13678
+ readonly sdkName: "video_id";
13679
+ readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
13680
+ }];
13681
+ readonly query: readonly [];
13682
+ }, {
13683
+ readonly resource: "model.videos";
13684
+ readonly method: "retrieveContent";
13685
+ readonly summary: "Download video";
13686
+ readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13687
+ readonly http: "GET";
13688
+ readonly path: "/model/v1/videos/{video_id}/content";
13689
+ readonly streaming: "no";
13690
+ readonly pagination: false;
13691
+ readonly pathParams: readonly [{
13692
+ readonly name: "video_id";
13693
+ readonly sdkName: "video_id";
13694
+ readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
13695
+ }];
13696
+ readonly query: readonly [{
13697
+ readonly name: "variant";
13698
+ readonly type: "string";
13699
+ readonly enum: readonly ["video", "thumbnail", "spritesheet"];
13700
+ readonly required: false;
13701
+ readonly description: "Spritesheet is not available in this release (400).";
13702
+ }, {
13703
+ readonly name: "index";
13704
+ readonly type: "integer";
13705
+ readonly required: false;
13706
+ readonly description: "Output index; this release produces index 0. variant takes precedence.";
13707
+ }];
13708
+ }, {
13709
+ readonly resource: "model.videos";
13710
+ readonly method: "remix";
13711
+ readonly summary: "Remix video";
13712
+ readonly description: "Not supported in this release; always returns 400.";
13713
+ readonly http: "POST";
13714
+ readonly path: "/model/v1/videos/{video_id}/remix";
13715
+ readonly streaming: "no";
13716
+ readonly pagination: false;
13717
+ readonly pathParams: readonly [{
13718
+ readonly name: "video_id";
13719
+ readonly sdkName: "video_id";
13720
+ readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
13721
+ }];
13722
+ readonly query: readonly [];
13723
+ }, {
13724
+ readonly resource: "ontology.changesets";
13725
+ readonly method: "create";
13726
+ readonly summary: "Apply changeset";
13727
+ readonly description: "Apply a batch of node, relation and invalidation operations as one transaction, when a mirror has several records to write together and a partial write would leave the graph inconsistent. Every operation succeeds or none is applied. Send an Idempotency-Key header; the same key with the same content replays the first result, and the same key with different content is ONTOLOGY_CONFLICT.";
13728
+ readonly http: "POST";
13729
+ readonly path: "/ontology/v1/changesets";
13730
+ readonly streaming: "no";
13731
+ readonly pagination: false;
13732
+ readonly pathParams: readonly [];
13733
+ readonly query: readonly [];
13734
+ readonly body: {
13735
+ readonly required: true;
13736
+ readonly fields: readonly [{
13737
+ readonly name: "at";
13738
+ readonly type: "string";
13739
+ readonly required: true;
13740
+ readonly description: "World time the batch describes, in ISO 8601 UTC; operations without their own time are dated by it.";
13741
+ }, {
13742
+ readonly name: "scope";
13743
+ readonly type: "string";
13744
+ readonly required: false;
13745
+ readonly description: "Scope the batch came from, normally the session id it was observed in; it is stored with the operations for later reading.";
13746
+ }, {
13747
+ readonly name: "ops";
13748
+ readonly type: "array";
13749
+ readonly itemType: "object";
13750
+ readonly required: true;
13751
+ readonly description: "At most 500 operations, applied in order; each names its kind in op and the fields that kind requires.";
13752
+ }];
13753
+ };
13754
+ }, {
13755
+ readonly resource: "ontology.nodes";
13756
+ readonly method: "list";
13757
+ readonly summary: "List nodes";
13758
+ readonly description: "Discover the entities in this organization's graph and obtain node ids for retrieval, updates and relations. Filter by type, by free text over names, aliases, descriptions and facts, or by owner; limit is 1–100 and defaults to 50. Omit cursor for the first page, then copy next_cursor into the next request until it is null. A node whose content belongs to somebody else comes back as a restricted entry carrying only its id, type and name.";
13759
+ readonly http: "GET";
13760
+ readonly path: "/ontology/v1/nodes";
13761
+ readonly streaming: "no";
13762
+ readonly pagination: true;
13763
+ readonly pathParams: readonly [];
13764
+ readonly query: readonly [{
13765
+ readonly name: "type";
13766
+ readonly type: "array";
13767
+ readonly itemType: "string";
13768
+ readonly required: false;
13769
+ readonly description: "Repeat to filter to any of several registered node type names, for example type=file&type=ticket; omit to list every type.";
13770
+ }, {
13771
+ readonly name: "q";
13772
+ readonly type: "string";
13773
+ readonly required: false;
13774
+ readonly description: "Free text matched against node names, aliases and descriptions; omit to list without a text filter.";
13775
+ }, {
13776
+ readonly name: "owner";
13777
+ readonly type: "string";
13778
+ readonly required: false;
13779
+ readonly description: "Filter to nodes owned by this member id, or omit to list nodes of every owner; organization-wide nodes carry no owner.";
13780
+ }, {
13781
+ readonly name: "as_of";
13782
+ readonly type: "string";
13783
+ readonly required: false;
13784
+ readonly description: "ISO 8601 timestamp; return the graph as it was then, so a node recorded later is absent. Omit to read current state.";
13785
+ }, {
13786
+ readonly name: "limit";
13787
+ readonly type: "integer";
13788
+ readonly required: false;
13789
+ readonly description: "Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100.";
13790
+ }, {
13791
+ readonly name: "cursor";
13792
+ readonly type: "string";
13793
+ readonly required: false;
13794
+ readonly description: "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.";
13795
+ }];
13796
+ }, {
13797
+ readonly resource: "ontology.nodes";
13798
+ readonly method: "create";
13799
+ readonly summary: "Create node";
13800
+ readonly description: "Record one entity in the graph, for a system mirroring a record it owns. type must already be registered and ref, when given, must match that type's ref_prefix. Send an Idempotency-Key header; repeating the same key with the same content returns the first result instead of creating a second node. This writes structure only — to give an agent something to remember, use POST /agent/v1/agents/{agent_id}/consolidations.";
13801
+ readonly http: "POST";
13802
+ readonly path: "/ontology/v1/nodes";
13803
+ readonly streaming: "no";
13804
+ readonly pagination: false;
13805
+ readonly pathParams: readonly [];
13806
+ readonly query: readonly [];
13807
+ readonly body: {
13808
+ readonly required: true;
13809
+ readonly fields: readonly [{
13810
+ readonly name: "type";
13811
+ readonly type: "string";
13812
+ readonly required: true;
13813
+ readonly description: "Registered node type name from types.list; an unregistered name is refused and nothing is written.";
13814
+ }, {
13815
+ readonly name: "ref";
13816
+ readonly type: "string";
13817
+ readonly required: false;
13818
+ readonly description: "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.";
13819
+ }, {
13820
+ readonly name: "name";
13821
+ readonly type: "string";
13822
+ readonly required: true;
13823
+ readonly description: "Display name of the entity, at most 200 characters.";
13824
+ }, {
13825
+ readonly name: "aliases";
13826
+ readonly type: "array";
13827
+ readonly itemType: "string";
13828
+ readonly required: false;
13829
+ readonly description: "Other names this entity is known by; they are matched by search alongside the name.";
13830
+ }, {
13831
+ readonly name: "description";
13832
+ readonly type: "string";
13833
+ readonly required: false;
13834
+ readonly description: "Profile of the entity, at most 500 characters; omit or null for none.";
13835
+ }, {
13836
+ readonly name: "owner";
13837
+ readonly type: "string";
13838
+ readonly required: false;
13839
+ readonly description: "Member id whose content this is, restricting it to that member; omit or null to make it readable organization-wide.";
13840
+ }];
13841
+ };
13842
+ }, {
13843
+ readonly resource: "ontology.nodes";
13844
+ readonly method: "retrieve";
13845
+ readonly summary: "Retrieve node";
13846
+ readonly description: "Read one node's content and, with expand=relations, every relation on and around it. as_of reads the node as it was at that time. A node id from another organization, or one that never existed, answers ONTOLOGY_NODE_NOT_FOUND; a node you may reach but not read returns restricted true with its name only.";
13847
+ readonly http: "GET";
13848
+ readonly path: "/ontology/v1/nodes/{node_id}";
13849
+ readonly streaming: "no";
13850
+ readonly pagination: false;
13851
+ readonly pathParams: readonly [{
13852
+ readonly name: "node_id";
13853
+ readonly sdkName: "node_id";
13854
+ readonly description: "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.";
13855
+ }];
13856
+ readonly query: readonly [{
13857
+ readonly name: "expand";
13858
+ readonly type: "string";
13859
+ readonly enum: readonly ["relations"];
13860
+ readonly required: false;
13861
+ readonly description: "Set to relations to include the node's incoming and outgoing relations in the same response; omit for the node alone.";
13862
+ }, {
13863
+ readonly name: "as_of";
13864
+ readonly type: "string";
13865
+ readonly required: false;
13866
+ readonly description: "ISO 8601 timestamp; read the node and its relations as they were then, including relations invalidated since. Omit to read current state.";
13867
+ }];
13868
+ }, {
13869
+ readonly resource: "ontology.nodes";
13870
+ readonly method: "update";
13871
+ readonly summary: "Update node";
13872
+ readonly description: "Change a node's name, aliases or description when the mirrored record was renamed, without touching its type or identity. Send only the fields to change; omitted fields keep their current values and an explicitly null description clears it. Repeating the same edit converges on the same node, so this needs no Idempotency-Key.";
13873
+ readonly http: "PATCH";
13874
+ readonly path: "/ontology/v1/nodes/{node_id}";
13875
+ readonly streaming: "no";
13876
+ readonly pagination: false;
13877
+ readonly pathParams: readonly [{
13878
+ readonly name: "node_id";
13879
+ readonly sdkName: "node_id";
13880
+ readonly description: "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.";
13881
+ }];
13882
+ readonly query: readonly [];
13883
+ readonly body: {
13884
+ readonly required: true;
13885
+ readonly fields: readonly [{
13886
+ readonly name: "name";
13887
+ readonly type: "string";
13888
+ readonly required: false;
13889
+ readonly description: "New display name, at most 200 characters; omit to keep the current name.";
13890
+ }, {
13891
+ readonly name: "aliases";
13892
+ readonly type: "array";
13893
+ readonly itemType: "string";
13894
+ readonly required: false;
13895
+ readonly description: "Replacement alias list; an empty array clears the aliases and omitting the field keeps them.";
13896
+ }, {
13897
+ readonly name: "description";
13898
+ readonly type: "string";
13899
+ readonly required: false;
13900
+ readonly description: "Replacement profile, at most 500 characters; an explicit null clears it and omitting the field keeps it.";
13901
+ }];
13902
+ };
13903
+ }, {
13904
+ readonly resource: "ontology.nodes.merge";
12562
13905
  readonly method: "create";
12563
- readonly summary: "Ask structured decision questions";
12564
- readonly description: "Ask typed questions about a state and get calibrated probabilities instead of generated text. Same request and response as TypeSafe System One. Use model ids from model.models.list declaring typesafe.systemone. Send one or more noul, choice or score questions; answers use the same question ids. Input tokens are charged at the catalog input price; output tokens are free. usage.cost and X-Praxis-Cost-Usd expose the same customer charge in USD. box questions and assets are unsupported and return 400: images are not supported. Unknown top-level fields pass unchanged to the native upstream.";
13906
+ readonly summary: "Merge node";
13907
+ readonly description: "Fold a duplicate node into the node that should survive, when two records are discovered to be the same entity. The merged node's relations and aliases move to the survivor and later reads of the duplicate resolve to it. Send an Idempotency-Key header; repeating the same key replays the first result. Reversal is a staff operation, not available here.";
12565
13908
  readonly http: "POST";
12566
- readonly path: "/model/v1/systemone";
13909
+ readonly path: "/ontology/v1/nodes/{node_id}/merge";
12567
13910
  readonly streaming: "no";
12568
13911
  readonly pagination: false;
12569
- readonly pathParams: readonly [];
13912
+ readonly pathParams: readonly [{
13913
+ readonly name: "node_id";
13914
+ readonly sdkName: "node_id";
13915
+ readonly description: "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.";
13916
+ }];
12570
13917
  readonly query: readonly [];
12571
13918
  readonly body: {
12572
13919
  readonly required: true;
12573
13920
  readonly fields: readonly [{
12574
- readonly name: "model";
13921
+ readonly name: "into";
12575
13922
  readonly type: "string";
12576
13923
  readonly required: true;
12577
- readonly description: "Published model id from model.models.list with supported_apis containing typesafe.systemone; returned unchanged in the response.";
12578
- }, {
12579
- readonly name: "state";
12580
- readonly type: "object";
12581
- readonly required: true;
12582
- readonly description: "Shared content evaluated by every question, supplied as text, a JSON object or an array.";
12583
- }, {
12584
- readonly name: "questions";
12585
- readonly type: "object";
12586
- readonly required: true;
12587
- readonly description: "Non-empty map of caller-chosen question ids to typed questions; answers preserve these ids. noul evaluates yes/no, choice selects a named option, score rates ordered levels. box is unsupported.";
12588
- }, {
12589
- readonly name: "assets";
12590
- readonly type: "object";
12591
- readonly required: false;
12592
- readonly description: "Unsupported image assets. Supplying this field, including null or an empty collection, returns 400: images are not supported.";
13924
+ readonly description: "Node id that should survive, from nodes.list or search; the merged node's relations and aliases move to it.";
12593
13925
  }];
12594
13926
  };
12595
13927
  }, {
12596
- readonly resource: "model.videos";
13928
+ readonly resource: "ontology.relations";
12597
13929
  readonly method: "list";
12598
- readonly summary: "List videos";
12599
- readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13930
+ readonly summary: "List relations";
13931
+ readonly description: "Read the facts in the graph and obtain relation ids for retrieval, invalidation or spreading. Filter by endpoint node, by type and by direction; as_of reads the relations as they were then. Invalidated relations are omitted unless include_invalid is true. limit is 1–100 and defaults to 50; follow next_cursor until it is null.";
12600
13932
  readonly http: "GET";
12601
- readonly path: "/model/v1/videos";
13933
+ readonly path: "/ontology/v1/relations";
12602
13934
  readonly streaming: "no";
12603
- readonly pagination: false;
13935
+ readonly pagination: true;
12604
13936
  readonly pathParams: readonly [];
12605
13937
  readonly query: readonly [{
12606
- readonly name: "after";
13938
+ readonly name: "node";
12607
13939
  readonly type: "string";
12608
13940
  readonly required: false;
12609
- readonly description: "Cursor: the id of the video job after which the page starts, normally the `last_id` of the previous page. It must refer to an existing job of yours, otherwise the call fails.";
13941
+ readonly description: "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.";
13942
+ }, {
13943
+ readonly name: "type";
13944
+ readonly type: "array";
13945
+ readonly itemType: "string";
13946
+ readonly required: false;
13947
+ readonly description: "Repeat to filter to any of several registered relation type names, for example type=references&type=serves; omit to list every type.";
13948
+ }, {
13949
+ readonly name: "direction";
13950
+ readonly type: "string";
13951
+ readonly enum: readonly ["out", "in", "both"];
13952
+ readonly required: false;
13953
+ readonly description: "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.";
13954
+ }, {
13955
+ readonly name: "as_of";
13956
+ readonly type: "string";
13957
+ readonly required: false;
13958
+ readonly description: "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.";
13959
+ }, {
13960
+ readonly name: "include_invalid";
13961
+ readonly type: "boolean";
13962
+ readonly required: false;
13963
+ readonly description: "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.";
12610
13964
  }, {
12611
13965
  readonly name: "limit";
12612
13966
  readonly type: "integer";
12613
13967
  readonly required: false;
12614
- readonly description: "Maximum number of jobs per page, from 1 to 100; defaults to 20.";
13968
+ readonly description: "Maximum items to return per page, from 1 to 100; defaults to 50 when omitted. Values above 100 are clamped to 100.";
12615
13969
  }, {
12616
- readonly name: "order";
13970
+ readonly name: "cursor";
12617
13971
  readonly type: "string";
12618
- readonly enum: readonly ["asc", "desc"];
12619
13972
  readonly required: false;
12620
- readonly description: "Sort order by creation time: desc (default) lists the newest job first, asc the oldest first.";
13973
+ readonly description: "Opaque next_cursor from the preceding list response; omit for the first page and stop when next_cursor is null.";
12621
13974
  }];
12622
13975
  }, {
12623
- readonly resource: "model.videos";
13976
+ readonly resource: "ontology.relations";
12624
13977
  readonly method: "create";
12625
- readonly summary: "Create video";
12626
- readonly description: "OpenAI video API with OpenRouter request and response extensions.";
13978
+ readonly summary: "Create relation";
13979
+ readonly description: "Record one fact between two existing nodes, for a system mirroring a relationship it owns. type must be registered and must admit these endpoints; fact states the relationship in one sentence. Send an Idempotency-Key header; repeating the same key returns the first result instead of writing a second relation. This writes structure only — to give an agent something to remember, use POST /agent/v1/agents/{agent_id}/consolidations.";
12627
13980
  readonly http: "POST";
12628
- readonly path: "/model/v1/videos";
13981
+ readonly path: "/ontology/v1/relations";
12629
13982
  readonly streaming: "no";
12630
13983
  readonly pagination: false;
12631
- readonly multipart: true;
12632
13984
  readonly pathParams: readonly [];
12633
13985
  readonly query: readonly [];
12634
13986
  readonly body: {
12635
13987
  readonly required: true;
12636
13988
  readonly fields: readonly [{
12637
- readonly name: "model";
13989
+ readonly name: "type";
12638
13990
  readonly type: "string";
12639
- readonly required: false;
12640
- readonly description: "Video model id, for example `wan2.7-t2v`; list candidates with listModels?type=video. Router support (partial): Select a registered video model explicitly, for example wan2.7-t2v (size=1280x720, seconds=4). Capability preflight errors are reported before creation.";
13991
+ readonly required: true;
13992
+ readonly description: "Registered relation type name from types.list; it must admit both endpoints or the write is refused.";
12641
13993
  }, {
12642
- readonly name: "prompt";
13994
+ readonly name: "source";
12643
13995
  readonly type: "string";
12644
13996
  readonly required: true;
12645
- readonly description: "Text description of the video, at least 1 character. Router support (supported): Controls video content; missing or empty values return 400.";
12646
- }, {
12647
- readonly name: "seconds";
12648
- readonly type: "object";
12649
- readonly required: false;
12650
- readonly description: "Takes precedence over duration.";
12651
- }, {
12652
- readonly name: "duration";
12653
- readonly type: "integer";
12654
- readonly required: false;
12655
- readonly description: "Length of the video in whole seconds. `seconds` takes precedence when both are given.";
13997
+ readonly description: "Node id the fact starts from, from nodes.list or nodes.create.";
12656
13998
  }, {
12657
- readonly name: "size";
13999
+ readonly name: "target";
12658
14000
  readonly type: "string";
12659
- readonly required: false;
12660
- readonly description: "Output resolution as `WIDTHxHEIGHT`, for example `1280x720`. Router support (partial): Subject to model capability preflight. Earlier wan2.7-t2v samples always produced 1280x720; accepted sizes are not guaranteed pixel-for-pixel.";
12661
- }, {
12662
- readonly name: "input_reference";
12663
- readonly type: "object";
12664
- readonly required: false;
12665
- readonly description: "Reference image for image-to-video: a URL or base64 data URL, an object with `image_url`, or an uploaded image file (multipart, at most 20 MiB).";
14001
+ readonly required: true;
14002
+ readonly description: "Node id the fact points at, from nodes.list or nodes.create.";
12666
14003
  }, {
12667
- readonly name: "input_references";
12668
- readonly type: "array";
12669
- readonly itemType: "object";
12670
- readonly required: false;
12671
- readonly description: "Several reference images; each entry is a URL or base64 data URL, or an object with `image_url`.";
14004
+ readonly name: "fact";
14005
+ readonly type: "string";
14006
+ readonly required: true;
14007
+ readonly description: "The relationship in one sentence, at most 280 characters, written to read back on its own.";
12672
14008
  }, {
12673
- readonly name: "frame_images";
12674
- readonly type: "array";
12675
- readonly itemType: "object";
14009
+ readonly name: "valid_at";
14010
+ readonly type: "string";
12676
14011
  readonly required: false;
12677
- readonly description: "Images that pin the first and last frame; at most 2 entries.";
14012
+ readonly description: "World time the fact became true, when the mirrored record dates it; omit to leave it undated.";
12678
14013
  }, {
12679
- readonly name: "resolution";
14014
+ readonly name: "owner";
12680
14015
  readonly type: "string";
12681
14016
  readonly required: false;
12682
- readonly description: "Output resolution label such as `720p`, for models that take a label instead of `size`.";
14017
+ readonly description: "Member id whose content this fact is, restricting it to that member; omit or null for organization-wide.";
14018
+ }];
14019
+ };
14020
+ }, {
14021
+ readonly resource: "ontology.relations";
14022
+ readonly method: "retrieve";
14023
+ readonly summary: "Retrieve relation";
14024
+ readonly description: "Read one relation's fact and both of its clocks — valid_at and invalid_at for when it was true in the world, created_at and expired_at for when it was recorded and retired. An id from another organization, or one that never existed, answers ONTOLOGY_EDGE_NOT_FOUND.";
14025
+ readonly http: "GET";
14026
+ readonly path: "/ontology/v1/relations/{relation_id}";
14027
+ readonly streaming: "no";
14028
+ readonly pagination: false;
14029
+ readonly pathParams: readonly [{
14030
+ readonly name: "relation_id";
14031
+ readonly sdkName: "relation_id";
14032
+ readonly description: "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.";
14033
+ }];
14034
+ readonly query: readonly [];
14035
+ }, {
14036
+ readonly resource: "ontology.relations.invalidate";
14037
+ readonly method: "create";
14038
+ readonly summary: "Invalidate relation";
14039
+ readonly description: "Mark a relation as no longer true from a world time, when the mirrored record changed. The relation is kept — invalid_at moves and the relation still reads at an earlier as_of, so history stays answerable. Send an Idempotency-Key header; repeating the same key replays the first result. There is no delete.";
14040
+ readonly http: "POST";
14041
+ readonly path: "/ontology/v1/relations/{relation_id}/invalidate";
14042
+ readonly streaming: "no";
14043
+ readonly pagination: false;
14044
+ readonly pathParams: readonly [{
14045
+ readonly name: "relation_id";
14046
+ readonly sdkName: "relation_id";
14047
+ readonly description: "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.";
14048
+ }];
14049
+ readonly query: readonly [];
14050
+ readonly body: {
14051
+ readonly required: true;
14052
+ readonly fields: readonly [{
14053
+ readonly name: "invalid_at";
14054
+ readonly type: "string";
14055
+ readonly required: true;
14056
+ readonly description: "World time the fact stopped being true, in ISO 8601 UTC; reads at an earlier as_of still return the relation.";
12683
14057
  }, {
12684
- readonly name: "aspect_ratio";
14058
+ readonly name: "superseded_by";
12685
14059
  readonly type: "string";
12686
14060
  readonly required: false;
12687
- readonly description: "Aspect ratio of the video such as `16:9`.";
14061
+ readonly description: "Relation id that replaces this one, when a successor was recorded; omit or null when nothing replaced it.";
12688
14062
  }, {
12689
- readonly name: "generate_audio";
12690
- readonly type: "boolean";
14063
+ readonly name: "reason";
14064
+ readonly type: "string";
12691
14065
  readonly required: false;
12692
- readonly description: "Whether the video carries a generated audio track. Router support (supported): false produces no audio track on wan2.7-t2v; the default output includes audio.";
14066
+ readonly description: "Why it stopped being true, for people reading the history later; not enforced and safe to omit.";
14067
+ }];
14068
+ };
14069
+ }, {
14070
+ readonly resource: "ontology.search";
14071
+ readonly method: "create";
14072
+ readonly summary: "Search nodes";
14073
+ readonly description: "Resolve text to the nodes it most likely names, when a mirror holds a name and needs the node id it corresponds to. Results are ranked candidates, not an answer, each reporting whether the match came from the node's name, an alias, its description or a relation's fact. Narrow with types, and cap the result count with limit (1–50, default 20). This reads structure; it is not an agent recall — agents recall through POST /agent/v1/agents/{agent_id}/consolidations.";
14074
+ readonly http: "POST";
14075
+ readonly path: "/ontology/v1/search";
14076
+ readonly streaming: "no";
14077
+ readonly pagination: false;
14078
+ readonly pathParams: readonly [];
14079
+ readonly query: readonly [];
14080
+ readonly body: {
14081
+ readonly required: true;
14082
+ readonly fields: readonly [{
14083
+ readonly name: "text";
14084
+ readonly type: "string";
14085
+ readonly required: true;
14086
+ readonly description: "Text to find nodes for, matched against names, aliases, descriptions and relation facts; an empty string is refused.";
12693
14087
  }, {
12694
- readonly name: "seed";
12695
- readonly type: "integer";
14088
+ readonly name: "types";
14089
+ readonly type: "array";
14090
+ readonly itemType: "string";
12696
14091
  readonly required: false;
12697
- readonly description: "Seed for reproducible generation, on models that support it.";
14092
+ readonly description: "Registered node type names to search within; omit to search every type.";
12698
14093
  }, {
12699
- readonly name: "callback_url";
12700
- readonly type: "string";
14094
+ readonly name: "window";
14095
+ readonly type: "object";
12701
14096
  readonly required: false;
12702
- readonly description: "HTTP or HTTPS callback URL, forwarded to models that support completion callbacks.";
14097
+ readonly description: "Restrict matches to facts recorded within a period; omit to search all time.";
12703
14098
  }, {
12704
- readonly name: "quality";
12705
- readonly type: "string";
14099
+ readonly name: "limit";
14100
+ readonly type: "integer";
12706
14101
  readonly required: false;
12707
- readonly description: "Provider-specific quality setting.";
14102
+ readonly description: "Maximum candidate nodes to return, from 1 to 50; defaults to 20 when omitted.";
12708
14103
  }];
12709
14104
  };
12710
14105
  }, {
12711
- readonly resource: "model.videos";
12712
- readonly method: "delete";
12713
- readonly summary: "Delete video";
12714
- readonly description: "OpenAI video API with OpenRouter request and response extensions.";
12715
- readonly http: "DELETE";
12716
- readonly path: "/model/v1/videos/{video_id}";
14106
+ readonly resource: "ontology.types";
14107
+ readonly method: "list";
14108
+ readonly summary: "List types";
14109
+ readonly description: "Read the node and relation types registered for this organization before writing, so a create names a type the graph accepts. Each entry is one registrant's registration with its owner, version and definitions. Types cannot be created at runtime; they are registered by the owning service at deploy time, so a type missing here is not available to write.";
14110
+ readonly http: "GET";
14111
+ readonly path: "/ontology/v1/types";
12717
14112
  readonly streaming: "no";
12718
14113
  readonly pagination: false;
12719
- readonly pathParams: readonly [{
12720
- readonly name: "video_id";
12721
- readonly sdkName: "video_id";
12722
- readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
12723
- }];
14114
+ readonly pathParams: readonly [];
12724
14115
  readonly query: readonly [];
12725
14116
  }, {
12726
- readonly resource: "model.videos";
12727
- readonly method: "retrieve";
12728
- readonly summary: "Retrieve video";
12729
- readonly description: "OpenAI video API with OpenRouter request and response extensions.";
12730
- readonly http: "GET";
12731
- readonly path: "/model/v1/videos/{video_id}";
14117
+ readonly resource: "ontology.types";
14118
+ readonly method: "create";
14119
+ readonly summary: "Register type";
14120
+ readonly description: "Register a node or relation type for this organization. Not open yet — this call currently answers 501 NOT_IMPLEMENTED and writes nothing, because a registration is checked and stored by the deploy gate that ships the registering service, not by a runtime call. Until it opens, read the types already in force with praxis.ontology.types.list and create records only of those types.";
14121
+ readonly http: "POST";
14122
+ readonly path: "/ontology/v1/types";
12732
14123
  readonly streaming: "no";
12733
14124
  readonly pagination: false;
12734
- readonly pathParams: readonly [{
12735
- readonly name: "video_id";
12736
- readonly sdkName: "video_id";
12737
- readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
12738
- }];
14125
+ readonly pathParams: readonly [];
12739
14126
  readonly query: readonly [];
14127
+ readonly body: {
14128
+ readonly required: true;
14129
+ readonly fields: readonly [{
14130
+ readonly name: "owner";
14131
+ readonly type: "string";
14132
+ readonly required: true;
14133
+ readonly description: "Service that registered these types, for example file or ticket; it is the registrant a later change to a type is checked against.";
14134
+ }, {
14135
+ readonly name: "version";
14136
+ readonly type: "integer";
14137
+ readonly required: true;
14138
+ readonly description: "Monotonic version of this owner's registration; a later registration must extend this one without removing or narrowing anything.";
14139
+ }, {
14140
+ readonly name: "nodes";
14141
+ readonly type: "array";
14142
+ readonly itemType: "object";
14143
+ readonly required: true;
14144
+ readonly description: "Node types this owner registers.";
14145
+ }, {
14146
+ readonly name: "edges";
14147
+ readonly type: "array";
14148
+ readonly itemType: "object";
14149
+ readonly required: true;
14150
+ readonly description: "Relation types this owner registers.";
14151
+ }];
14152
+ };
12740
14153
  }, {
12741
- readonly resource: "model.videos";
12742
- readonly method: "retrieveContent";
12743
- readonly summary: "Download video";
12744
- readonly description: "OpenAI video API with OpenRouter request and response extensions.";
14154
+ readonly resource: "ontology.types";
14155
+ readonly method: "retrieve";
14156
+ readonly summary: "Retrieve type";
14157
+ readonly description: "Read one registered type's definition before writing a record of it, to learn whether it is a node or an edge, which endpoints an edge type admits, and which origins it accepts. The name comes from types.list; a name that is not registered answers ONTOLOGY_TYPE_UNKNOWN, and writes of that type are refused.";
12745
14158
  readonly http: "GET";
12746
- readonly path: "/model/v1/videos/{video_id}/content";
12747
- readonly streaming: "no";
12748
- readonly pagination: false;
12749
- readonly pathParams: readonly [{
12750
- readonly name: "video_id";
12751
- readonly sdkName: "video_id";
12752
- readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
12753
- }];
12754
- readonly query: readonly [{
12755
- readonly name: "variant";
12756
- readonly type: "string";
12757
- readonly enum: readonly ["video", "thumbnail", "spritesheet"];
12758
- readonly required: false;
12759
- readonly description: "Spritesheet is not available in this release (400).";
12760
- }, {
12761
- readonly name: "index";
12762
- readonly type: "integer";
12763
- readonly required: false;
12764
- readonly description: "Output index; this release produces index 0. variant takes precedence.";
12765
- }];
12766
- }, {
12767
- readonly resource: "model.videos";
12768
- readonly method: "remix";
12769
- readonly summary: "Remix video";
12770
- readonly description: "Not supported in this release; always returns 400.";
12771
- readonly http: "POST";
12772
- readonly path: "/model/v1/videos/{video_id}/remix";
14159
+ readonly path: "/ontology/v1/types/{name}";
12773
14160
  readonly streaming: "no";
12774
14161
  readonly pagination: false;
12775
14162
  readonly pathParams: readonly [{
12776
- readonly name: "video_id";
12777
- readonly sdkName: "video_id";
12778
- readonly description: "Id of the video job whose output you want, the `id` returned by createVideo. The job must be completed; before that the call answers 400.";
14163
+ readonly name: "name";
14164
+ readonly sdkName: "name";
14165
+ readonly description: "A type name from types.list, with its dots preserved — a display label is not accepted.";
12779
14166
  }];
12780
14167
  readonly query: readonly [];
12781
14168
  }, {
@@ -14830,7 +16217,7 @@ export declare const operations: readonly [{
14830
16217
  readonly resource: "ticket.labels";
14831
16218
  readonly method: "create";
14832
16219
  readonly summary: "Create or add labels";
14833
- readonly description: "Create or add labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
16220
+ readonly description: "Create or add labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
14834
16221
  readonly http: "POST";
14835
16222
  readonly path: "/ticket/v1/labels";
14836
16223
  readonly streaming: "no";
@@ -14865,7 +16252,7 @@ export declare const operations: readonly [{
14865
16252
  readonly resource: "ticket.labels";
14866
16253
  readonly method: "delete";
14867
16254
  readonly summary: "Remove labels";
14868
- readonly description: "Remove labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
16255
+ readonly description: "Remove labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
14869
16256
  readonly http: "DELETE";
14870
16257
  readonly path: "/ticket/v1/labels/{name}";
14871
16258
  readonly streaming: "no";
@@ -14885,7 +16272,7 @@ export declare const operations: readonly [{
14885
16272
  readonly resource: "ticket.labels";
14886
16273
  readonly method: "update";
14887
16274
  readonly summary: "Update labels";
14888
- readonly description: "Update labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Organization owner or admin authority is required for this write; API keys without role information act as members.";
16275
+ readonly description: "Update labels within the authenticated organization. Obtain resource identifiers from the corresponding list or create response. Writes complete synchronously; read the returned resource to observe the result. Service authorization applies to the verified human subject.";
14889
16276
  readonly http: "PATCH";
14890
16277
  readonly path: "/ticket/v1/labels/{name}";
14891
16278
  readonly streaming: "no";
@@ -15125,7 +16512,7 @@ export declare const operations: readonly [{
15125
16512
  readonly name: "filter";
15126
16513
  readonly type: "string";
15127
16514
  readonly required: false;
15128
- readonly description: "Search qualifier subset: is/state, reason, label/-label, no, assignee, author, mentions, milestone, type, kind, assignee-kind, in and sort; unknown qualifiers return INVALID_PARAMS. Passed unchanged to the service.";
16515
+ readonly description: "Search qualifier subset: is/state, reason, label/-label, no, assignee, author, mentions, milestone, type, kind, assignee-kind, in and sort; write each qualifier as field:value (for example, is:open milestone:5), never field=value. Unknown qualifiers return INVALID_PARAMS. Passed unchanged to the service.";
15129
16516
  }];
15130
16517
  }, {
15131
16518
  readonly resource: "ticket.tickets";
@@ -16019,7 +17406,7 @@ export declare const operations: readonly [{
16019
17406
  readonly resource: "vault.vaults";
16020
17407
  readonly method: "create";
16021
17408
  readonly summary: "Create vault";
16022
- readonly description: "Create an empty, active vault to hold credentials for your account, with a display name and optional metadata. Use its returned id as vault_id when creating secrets or OAuth authorizations. Unlike Anthropic, Agent sessions do not accept nonempty vault_ids; storing a credential or adding its ID to metadata does not enable vault-backed MCP authentication. Application vault references are also unavailable; praxis_vault_ref version bindings and secret writes with a vault source return 501, so creating a vault does not yet enable either consumer.";
17409
+ readonly description: "Create an empty, active vault to hold credentials for your account, with a display name and optional metadata. Use its returned id as vault_id when creating secrets or OAuth authorizations. Agent sessions and deployments accept up to 50 vault_ids and match their credentials against the session's MCP servers, so a stored static or oauth credential does serve as vault-backed MCP authentication; only environment_variable credentials are not yet placed, because the egress proxy ADR-058 §6 gives them is not built. Application vault references are also unavailable; praxis_vault_ref version bindings and secret writes with a vault source return 501, so creating a vault does not yet enable either consumer.";
16023
17410
  readonly http: "POST";
16024
17411
  readonly path: "/vault/v1/vaults";
16025
17412
  readonly streaming: "no";