@deepraxis/sdk 0.1.1-dev.e5614a0 → 0.1.1-dev.e9377c2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/METHODS.md +92 -1
- package/README.md +2 -2
- package/dist/generated/index.d.ts +2 -2
- package/dist/generated/index.js +1 -1
- package/dist/generated/sdk.gen.d.ts +317 -45
- package/dist/generated/sdk.gen.js +556 -44
- package/dist/generated/types.gen.d.ts +5611 -1658
- package/dist/operations.generated.d.ts +876 -91
- package/dist/operations.generated.js +1475 -506
- package/dist/resources.generated.d.ts +82 -8
- package/dist/resources.generated.js +59 -0
- package/package.json +2 -2
|
@@ -1092,7 +1092,7 @@ export const fileListFiles = (options) => (options?.client ?? client).get({
|
|
|
1092
1092
|
/**
|
|
1093
1093
|
* Upload file
|
|
1094
1094
|
*
|
|
1095
|
-
* 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 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.
|
|
1095
|
+
* 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.
|
|
1096
1096
|
*/
|
|
1097
1097
|
export const fileCreateFile = (options) => (options.client ?? client).post({
|
|
1098
1098
|
...formDataBodySerializer,
|
|
@@ -1169,7 +1169,7 @@ export const fileRetrieveFileContent = (options) => (options.client ?? client).g
|
|
|
1169
1169
|
/**
|
|
1170
1170
|
* Create an upload
|
|
1171
1171
|
*
|
|
1172
|
-
* 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
|
|
1172
|
+
* 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.
|
|
1173
1173
|
*/
|
|
1174
1174
|
export const fileCreateUpload = (options) => (options.client ?? client).post({
|
|
1175
1175
|
security: [{
|
|
@@ -1187,7 +1187,7 @@ export const fileCreateUpload = (options) => (options.client ?? client).post({
|
|
|
1187
1187
|
/**
|
|
1188
1188
|
* Add an upload part
|
|
1189
1189
|
*
|
|
1190
|
-
* 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.
|
|
1190
|
+
* 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.
|
|
1191
1191
|
*/
|
|
1192
1192
|
export const fileAddUploadPart = (options) => (options.client ?? client).post({
|
|
1193
1193
|
...formDataBodySerializer,
|
|
@@ -1206,7 +1206,7 @@ export const fileAddUploadPart = (options) => (options.client ?? client).post({
|
|
|
1206
1206
|
/**
|
|
1207
1207
|
* Complete an upload
|
|
1208
1208
|
*
|
|
1209
|
-
* 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.
|
|
1209
|
+
* 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.
|
|
1210
1210
|
*/
|
|
1211
1211
|
export const fileCompleteUpload = (options) => (options.client ?? client).post({
|
|
1212
1212
|
security: [{
|
|
@@ -1235,10 +1235,24 @@ export const fileCancelUpload = (options) => (options.client ?? client).post({
|
|
|
1235
1235
|
url: '/file/v1/uploads/{upload_id}/cancel',
|
|
1236
1236
|
...options
|
|
1237
1237
|
});
|
|
1238
|
+
/**
|
|
1239
|
+
* Retrieve an upload
|
|
1240
|
+
*
|
|
1241
|
+
* 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.
|
|
1242
|
+
*/
|
|
1243
|
+
export const fileRetrieveUpload = (options) => (options.client ?? client).get({
|
|
1244
|
+
security: [{
|
|
1245
|
+
key: 'BearerAuth',
|
|
1246
|
+
scheme: 'bearer',
|
|
1247
|
+
type: 'http'
|
|
1248
|
+
}],
|
|
1249
|
+
url: '/file/v1/uploads/{upload_id}',
|
|
1250
|
+
...options
|
|
1251
|
+
});
|
|
1238
1252
|
/**
|
|
1239
1253
|
* Create a one-time upload URL
|
|
1240
1254
|
*
|
|
1241
|
-
* Upload a local file of up to
|
|
1255
|
+
* 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"}.
|
|
1242
1256
|
*/
|
|
1243
1257
|
export const fileCreateSignedUpload = (options) => (options.client ?? client).post({
|
|
1244
1258
|
security: [{
|
|
@@ -1260,7 +1274,7 @@ export const fileCreateSignedUpload = (options) => (options.client ?? client).po
|
|
|
1260
1274
|
/**
|
|
1261
1275
|
* Create a download URL
|
|
1262
1276
|
*
|
|
1263
|
-
* 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
|
|
1277
|
+
* 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}.
|
|
1264
1278
|
*/
|
|
1265
1279
|
export const fileCreateContentUrl = (options) => (options.client ?? client).post({
|
|
1266
1280
|
security: [{
|
|
@@ -1282,7 +1296,7 @@ export const fileCreateContentUrl = (options) => (options.client ?? client).post
|
|
|
1282
1296
|
/**
|
|
1283
1297
|
* Revoke a file content link
|
|
1284
1298
|
*
|
|
1285
|
-
* 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
|
|
1299
|
+
* 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/>"}.
|
|
1286
1300
|
*/
|
|
1287
1301
|
export const fileRevokeContentLink = (options) => (options.client ?? client).post({
|
|
1288
1302
|
security: [{
|
|
@@ -1988,6 +2002,24 @@ export const countResponseInputTokens = (options) => (options.client ?? client).
|
|
|
1988
2002
|
...options.headers
|
|
1989
2003
|
}
|
|
1990
2004
|
});
|
|
2005
|
+
/**
|
|
2006
|
+
* List organization members
|
|
2007
|
+
*
|
|
2008
|
+
* Concepts follow GitHub org members: find a person's user id, for example to assign an approver to an approval task. Lists only members of the organization behind your API key or runtime token, ordered by joined_at ascending (membership id breaks ties). Ask the user who should approve, then use that member's id. Emails are visible only within this organization. The request cannot select another organization. Pass next_page unchanged as page; null means the end. Read-only; no usage charge. Example: GET /organization/v1/members?limit=20.
|
|
2009
|
+
*/
|
|
2010
|
+
export const listOrganizationMembers = (options) => (options?.client ?? client).get({
|
|
2011
|
+
security: [{
|
|
2012
|
+
key: 'BearerAuth',
|
|
2013
|
+
scheme: 'bearer',
|
|
2014
|
+
type: 'http'
|
|
2015
|
+
}, {
|
|
2016
|
+
key: 'ApiKeyAuth',
|
|
2017
|
+
name: 'X-API-Key',
|
|
2018
|
+
type: 'apiKey'
|
|
2019
|
+
}],
|
|
2020
|
+
url: '/organization/v1/members',
|
|
2021
|
+
...options
|
|
2022
|
+
});
|
|
1991
2023
|
/**
|
|
1992
2024
|
* List your organization's feedback
|
|
1993
2025
|
*
|
|
@@ -6351,13 +6383,141 @@ export const cutUndeleteProject = (options) => (options.client ?? client).post({
|
|
|
6351
6383
|
/**
|
|
6352
6384
|
* Execute editing script
|
|
6353
6385
|
*
|
|
6354
|
-
* 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.
|
|
6355
|
-
*
|
|
6356
|
-
*
|
|
6357
|
-
*
|
|
6358
|
-
* Insert(
|
|
6359
|
-
*
|
|
6386
|
+
* 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);`
|
|
6387
|
+
*
|
|
6388
|
+
* ### Script function reference
|
|
6389
|
+
*
|
|
6390
|
+
* Functions 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. JoinId is the string returned by Join or read from GetTimeline().joins. Reads see earlier writes in the same script.
|
|
6391
|
+
*
|
|
6392
|
+
* ```ts
|
|
6393
|
+
* GetTimeline(o?: { from?: number; to?: number; tracks?: TrackId[] }): TimelineView;
|
|
6394
|
+
* GetItem(id: ClipId): ItemView;
|
|
6395
|
+
* FindItems<T>(visit: (item: ItemView, ctx: { track: TrackView; index: number }) => T | undefined): T[];
|
|
6396
|
+
* GetMedia(ref: MediaRef): MediaInfo;
|
|
6397
|
+
* GetTranscript(ref: MediaRef, o?: { from?: number; to?: number }): Word[];
|
|
6398
|
+
* GetAnalysis(ref: MediaRef, kind: AnalysisKind): Segment[];
|
|
6399
|
+
* ListTransitions(): TransitionInfo[];
|
|
6400
|
+
* ListEffects(): EffectInfo[];
|
|
6401
|
+
* ListTextStyles(): TextStylePreset[];
|
|
6402
|
+
* ListTextTemplates(): TextTemplate[];
|
|
6403
|
+
* ListAnimations(): { id: string; version: number; phase: "in" | "out" | "loop"; target: "any" | "text"; name: string; description: string; defaultDuration: number; params: { name: string; type: string; values?: string[]; default?: string | number; min?: number; max?: number; description: string }[] }[];
|
|
6404
|
+
* ListFonts(): { family: string; weights: number[]; scripts: ("latin"|"cjk")[]; source: "bundled"|"catalog" }[];
|
|
6405
|
+
* Insert(track: TrackId, item: ItemInit, o?: { ripple?: boolean }): ClipId;
|
|
6406
|
+
* Update(id: ClipId, patch: ItemPatchView): void;
|
|
6407
|
+
* SetSpeed(id: ClipId, rate: number | { curve: { at: number; rate: number; ease?: Ease }[]; audio?: "mute" | "resample" }, o: { keep: "source" | "duration"; ripple?: boolean }): { length: number; sourceOut: number };
|
|
6408
|
+
* Delete(id: ClipId, o?: { ripple?: boolean }): void;
|
|
6409
|
+
* Join(left: ClipId, right: ClipId, o: { length?: number; effect: TransitionInput }): JoinId;
|
|
6410
|
+
* UpdateJoin(id: JoinId, patch: { length?: number; effect?: TransitionInput }): void;
|
|
6411
|
+
* DeleteJoin(id: JoinId): void;
|
|
6412
|
+
* Split(id: ClipId, at: number): ClipId;
|
|
6413
|
+
* Trim(id: ClipId, edge: "in" | "out", delta: number, o?: { ripple?: boolean }): void;
|
|
6414
|
+
* Move(id: ClipId, start: number, track?: TrackId): void;
|
|
6415
|
+
* RippleDeleteRange(from: number, to: number, tracks?: TrackId[]): void;
|
|
6416
|
+
* AddTrack(kind: "video" | "audio" | "caption", init?: { name?: string; role?: "voice" | "music" | "sfx" }, index?: number): TrackId;
|
|
6417
|
+
* UpdateTrack(id: TrackId, patch: TrackPatch): void;
|
|
6418
|
+
* DeleteTrack(id: TrackId): void;
|
|
6419
|
+
* SetSettings(patch: Partial<ProjectSettingsView>): void;
|
|
6420
|
+
* AddCaptionsFromTranscript(track: TrackId, source: ClipId, o?: { style?: Partial<CaptionStyle> & { preset?: string }; maxChars?: number }): ClipId[];
|
|
6421
|
+
* InsertTemplate(track: TrackId, o: { template: string; start: number; slots?: Record<string, string> }): ClipId[];
|
|
6422
|
+
* AlignCaptions(trackId: TrackId, script: string, options?: { resplit?: boolean; maxChars?: number }): { replaced: number; added: number; deleted: number };
|
|
6423
|
+
* ImportCaptions(trackId: TrackId, text: string, o?: { format?: "srt" | "vtt"; offset?: number }): ClipId[];
|
|
6424
|
+
* ExportCaptions(trackId: TrackId, o: { format: "srt" | "vtt" }): string;
|
|
6425
|
+
* SetMarker(at: number, label: string): string;
|
|
6426
|
+
* Print(...values: unknown[]): void;
|
|
6427
|
+
* Preview(at: number[]): void;
|
|
6360
6428
|
* ```
|
|
6429
|
+
*
|
|
6430
|
+
* | Functions | Behavior and arguments |
|
|
6431
|
+
* | --- | --- |
|
|
6432
|
+
* | GetTimeline, GetItem | Read compact item views: id, track, type, start, end, length, optional media, playback, sourceIn/sourceOut, text, effects, blend and offline reason. GetTimeline returns duration, tracks (id, kind, name, index, locked, items), and joins (id, track, left, right, length in seconds, normalized effect). from/to and tracks narrow the items and joins; joins are selected by their overlap window. |
|
|
6433
|
+
* | ListEffects | Discover the shared visual-effect catalog with parameter types, ranges, defaults, cost and bounds. Effects are supported only on visual clips. |
|
|
6434
|
+
* | ListTransitions | Discover the shared validation catalog: each entry contains kind (effect ID), name, description and params. Each parameter has name, type (enum/number/integer), default, description, enum values or numeric min/max. Use the returned kind and parameter names inside effect. |
|
|
6435
|
+
* | ListAnimations | Discover animation presets. Each entry has id, version, phase (`in`, `out`, `loop`), target (`any`, `text`), name, description, defaultDuration (seconds), and params (name, type, values/default/min/max/description as applicable). A slot use is `{preset, duration?, ...params}`; duration is seconds. |
|
|
6436
|
+
* | FindItems | Visit items with their track and index; return undefined to omit an item, any other value to collect it. |
|
|
6437
|
+
* | GetMedia | Read metadata for `{libraryId, assetId}` in a bound library: kind, dimensions, fps, hasAudio and durationUs when available. durationUs is microseconds. |
|
|
6438
|
+
* | 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. |
|
|
6439
|
+
* | 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. |
|
|
6440
|
+
* | SetSpeed | Change video/audio rate in 0.25–4; keep is required. A `{curve: [{at, rate, ease?}, ...], audio?: "mute" | "resample"}` rate is forward-only and holds output duration fixed; pitch preservation is unavailable. Scalar rates: source preserves consumed source and changes length; duration preserves output length. Returns actual length and sourceOut in seconds. Optional ripple explicitly shifts same-track followers when keeping source; otherwise overlaps are rejected. |
|
|
6441
|
+
* | Join, UpdateJoin, DeleteJoin | Join creates an overlap between two butt-adjacent visual clips on the same track and returns its ID. length defaults to 0.5 seconds; effect is required. The right clip and all same-track followers move left by length, shortening that track and potentially the project. UpdateJoin moves those followers by the difference in length; omitted fields are preserved. DeleteJoin moves them right to restore the butt cut. Other tracks stay in place. |
|
|
6442
|
+
* | 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. |
|
|
6443
|
+
* | RippleDeleteRange | Delete a timeline interval and close its gap on the specified tracks, or all unlocked tracks when omitted. |
|
|
6444
|
+
* | AddTrack, UpdateTrack, DeleteTrack | Add video/audio/caption tracks; index selects layer order (0 is top). TrackPatch supports name, locked, hidden, muted, gainDb, audio role (`voice`, `music`, `sfx`) and style as appropriate to track kind. |
|
|
6445
|
+
* | SetSettings | Supply any of width/height (pixels), fps (frames per second), background (color). |
|
|
6446
|
+
* | 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. |
|
|
6447
|
+
* | ImportCaptions, ExportCaptions | Import SRT or WebVTT text onto a caption track and export it back. format is inferred from a WEBVTT header when omitted. offset shifts imported cues in seconds. Import rejects more than 100000 bytes, more than 5000 cues, malformed or overlapping file cues with INVALID_CAPTION_FILE; overlap with existing timeline clips uses the normal OVERLAP rejection. Export sorts by timeline start and writes millisecond timecodes. |
|
|
6448
|
+
* | SetMarker | Add a label at a timeline time and return its ID. |
|
|
6449
|
+
* | 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. |
|
|
6450
|
+
*
|
|
6451
|
+
* #### Joins between clips
|
|
6452
|
+
*
|
|
6453
|
+
* Endpoints may be video, image, text, color or shape; audio and caption are rejected. Require 0 < length < each endpoint's length. Each clip allows at most one incoming and one outgoing join; their summed lengths cannot exceed its length. Three-input overlaps, nonadjacent endpoints and cross-track joins are rejected with OPS_REJECTED. Read the rejection's code and message, shorten or remove conflicting joins, and retry the saved edit.
|
|
6454
|
+
*
|
|
6455
|
+
* TransitionInput is an object with kind plus the parameters returned by ListTransitions; omitted parameters use catalog defaults. Unknown kinds and invalid parameters return INVALID_TRANSITION_PARAM with available parameters. Effects: dissolve; dip color black/white default black; push and wipe direction left/right/up/down default left; wipe softness 0–1 default 0; iris centerX/centerY 0–1 default 0.5; blinds integer count 2–64 default 8 and orientation vertical/horizontal default vertical; blur radius 0–100 pixels at 1080-pixel frame height default 24; zoom direction in/out default in, amount 0.1–3 default 1, blur 0–1 default 0.5; clock direction clockwise/counterclockwise default clockwise, startAngle 0–360 degrees default 0 (twelve o'clock), softness 0–1 default 0; flash color white/black default white, intensity 0–1 default 1. Zoom blur uses up to eight radial samples per shot and is slower on server rendering. Join options and UpdateJoin patches accept only length and effect. Effect updates replace the effect object and apply defaults for omitted parameters.
|
|
6456
|
+
*
|
|
6457
|
+
* Minimal example on an existing visual track with adjacent clips left and right: `Print(ListTransitions()); const j = Join(left, right, {length: 0.5, effect: {kind: "dissolve"}}); Print(GetTimeline().joins); Preview([GetItem(right).start + 0.25]);` Use `UpdateJoin(j, {length: 0.8})` to adjust it in a later edit or `DeleteJoin(j)` to restore the cut. Preview uses server-rendered frames and includes joins. Per-clip transitionIn/transitionOut remain separate entrance/exit effects.
|
|
6458
|
+
*
|
|
6459
|
+
* #### Insert fields (ItemInit)
|
|
6460
|
+
*
|
|
6461
|
+
* Every 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.
|
|
6462
|
+
*
|
|
6463
|
+
* | type | Required fields beyond type/start | Optional fields |
|
|
6464
|
+
* | --- | --- | --- |
|
|
6465
|
+
* | video | media | length, sourceIn, playback, volumeDb, transform, fit, blend, animate, animation, effects, mask, transitionIn, transitionOut |
|
|
6466
|
+
* | image | media, length | transform, fit, blend, animate, animation, effects, mask, transitionIn, transitionOut |
|
|
6467
|
+
* | text | text, length | style, transform, blend, reveal, animate, animation, effects, mask, transitionIn, transitionOut |
|
|
6468
|
+
* | color | color, length | transform, fill, blend, animate, animation, effects, mask, transitionIn, transitionOut |
|
|
6469
|
+
* | shape | shape, length, width, height, fill | radius, stroke, transform, blend, animate, animation, effects, mask, transitionIn, transitionOut |
|
|
6470
|
+
* | audio | media | length, sourceIn, playback, volumeDb, gain, fadeIn, fadeOut, duck |
|
|
6471
|
+
* | caption | text, length | — |
|
|
6472
|
+
*
|
|
6473
|
+
* Visual Insert/Update also accepts `blend`: `normal` (default), `screen`, `multiply`, `overlay`, or `add`; set it to null in Update to clear it. During a Join overlap, both inputs render with normal blending. Video 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.
|
|
6474
|
+
*
|
|
6475
|
+
* | Field | Value |
|
|
6476
|
+
* | --- | --- |
|
|
6477
|
+
* | 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. |
|
|
6478
|
+
* | style | Partial `{fontFamily, fontSize, fontWeight, color, fill, stroke, strokes, shadows, glow, background, align, maxWidth, position, margin}`. fill accepts a color or linear/radial gradient across the entire text bounding box. strokes draw outside to inside; at most 4, width 0–40. shadows accepts at most 4 `{color,x,y,blur}` entries; blur is 0–100. glow is `{color,radius,strength}` with radius 0–100 and strength 0–1. All dimensions use pixels at 1080 frame height and scale with the text. Glow and large shadow blur increase render time. Invalid colors or ranges return actionable INVALID_STYLE errors. `ListFonts()` discovers family, available weights, scripts and bundled/catalog source. Text and captions share the style fields; caption style additionally supports highlightColor and maxLines: 2. |
|
|
6479
|
+
* | 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. |
|
|
6480
|
+
* | animation | `{in?: AnimationUse, out?: AnimationUse, loop?: AnimationUse}` on visual clips. Each use is `{preset: string, duration?: number, ...params}`; duration and parameter units follow `ListAnimations()`. Presets replace existing animate and reveal when applied. Update accepts `animation: null` to clear the preset and its generated effects. |
|
|
6481
|
+
* | 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. |
|
|
6482
|
+
* | 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. |
|
|
6483
|
+
* | 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. |
|
|
6484
|
+
* | 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}`. |
|
|
6485
|
+
* | 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. |
|
|
6486
|
+
*
|
|
6487
|
+
* #### Visual effects
|
|
6488
|
+
*
|
|
6489
|
+
* `effects` is an ordered stack of at most 8 catalog entries. Call `ListEffects()` to discover the catalog; unknown kinds return `UNKNOWN_EFFECT`, invalid names/values/keyframes return `INVALID_EFFECT_PARAM`, and stacks over 8 return `TOO_MANY_EFFECTS`. Entries include blur, color adjustment, vignette, film grain, chromatic aberration, pixelate, glitch, shake, flash, light leak and built-in `lut` looks; user `.cube` LUTs are not supported. `speed` is cycles per second. Effects run on CPU during export and increase render time. Parameters are discovered with ListEffects(). Catalog entries expose their own parameters through ListEffects(), including `blur` (`radius` 0–100, default 24) and `color_adjust`: `brightness`, `contrast`, `temperature`, and `tint` each range -1–1 (default 0), while `saturation` ranges 0–2 (default 1). Disabled entries are skipped. `color_adjust` uses an SDR-only Rec.709 adjustment matrix with no color management.
|
|
6490
|
+
*
|
|
6491
|
+
* Numeric and integer effect parameters accept `keyframes: {parameter: [{at, value, ease?}, ...]}`; times are seconds relative to the clip, snap to frames like `animate`, must be strictly increasing and within clip duration, and values follow that parameter's catalog range. Omitted parameters use catalog defaults. Trim and Split preserve effect keyframes with the same clip-local behavior as `animate`. There are no custom shaders.
|
|
6492
|
+
*
|
|
6493
|
+
* `blend` applies to the completed visual layer after its content, effects and `transform.blur`; `add` maps to Skia Plus. The default `normal` path adds no blend layer. During Join overlaps, blending is forced to normal because each input is composed on transparency.
|
|
6494
|
+
*
|
|
6495
|
+
* #### Update fields (ItemPatchView)
|
|
6496
|
+
*
|
|
6497
|
+
* All fields are optional; use only fields relevant to the item's type. Supported fields: start, length, sourceIn, playback, volumeDb, transform, fit, text, style, color, fadeIn, fadeOut, duck, animate, reveal, animation, fill, stroke, shape, width, height, radius, transitionIn, transitionOut, effects, blend, mask, gain. Values and units match Insert; set effects or blend to null to clear them. Set animation to null to clear the preset; set animate or reveal to null to remove that effect. Applying a preset replaces existing animate/reveal. Do not set animation together with animate or reveal in one Insert/Update call. Omit a field to preserve it.
|
|
6498
|
+
*
|
|
6499
|
+
* #### Animation presets
|
|
6500
|
+
*
|
|
6501
|
+
* Discover the catalog with `ListAnimations()`. Its entries contain id, version, phase (`in`, `out`, `loop`), target (`any` or `text`), name, description, defaultDuration in seconds, and params. Slots may combine one in, one out and one loop preset. A loop runs only in the interval between in and out; if the same property is animated by multiple slots, loop occupies only that middle interval. Text-target presets are entrances. Their duration controls the rhythm per character/word/line, not the total reveal time. Out and loop presets apply to the whole clip, not per text unit.
|
|
6502
|
+
*
|
|
6503
|
+
* Presets replace the clip's existing animate and reveal when applied. The source preset is retained, so changing clip length or transform automatically regenerates its keyframes/reveal. If a clip becomes shorter, in/out durations shrink proportionally; when it grows, the requested durations are restored. Split keeps in on the left, out on the right, and loop on both. Writing animate or reveal directly detaches the preset; setting animation to null clears both source and generated effects. Insert/Update reject a call that supplies animation together with animate or reveal.
|
|
6504
|
+
*
|
|
6505
|
+
* Errors: UNKNOWN_ANIMATION (unknown preset), INVALID_ANIMATION_PARAM (invalid slot/parameter or frame/keyframe limit), ANIMATION_TOO_LONG (in+out exceed clip length), ANIMATION_TARGET_MISMATCH (text-only preset on a non-text or preset on non-visual clip), ANIMATION_PHASE_MISMATCH (preset in the wrong slot). Each animated property is limited to 600 keyframes; loop duration must be at least 4 frames. `ANIMATION_TOO_LONG` is avoided during later length changes by proportional fitting.
|
|
6506
|
+
*
|
|
6507
|
+
* #### Speed, reverse and freeze
|
|
6508
|
+
*
|
|
6509
|
+
* Video/audio Insert and Update accept playback as `{kind: "rate", rate: number, direction: "forward" | "reverse", audio: "preservePitch" | "resample" | "mute"}` or `{kind: "freeze"}`. Rate is finite and inclusive 0.25–4. Omitted playback defaults to 1× forward with preservePitch; supply the complete rate object when changing playback. preservePitch keeps pitch, resample changes pitch with speed, mute removes audio. Reverse requires explicit audio: "mute"; preservePitch/resample are rejected with UNSUPPORTED_PLAYBACK rather than silently muted. Freeze holds sourceIn and is silent. GetItem/GetTimeline echo playback and the source interval in seconds; sourceOut is exclusive even for reverse and equals sourceIn for freeze.
|
|
6510
|
+
*
|
|
6511
|
+
* Update of playback keeps output length unless length is also supplied. SetSpeed preserves direction/audio, rejects frozen and non-video/audio clips, and requires keep: "source" or "duration". keep: "source" computes round(consumed source / new rate × fps) frames, falling back to floor if rounding would exceed the source end; the returned length/sourceOut are actual frame-rounded seconds. keep: "duration" keeps output length and changes source consumption. Length conflicts fail with OVERLAP; move/shorten the conflicting clip, keep duration, or explicitly use ripple: true to shift following clips on the same track. Source overflow fails with OUT_OF_SOURCE; rate limits fail with RATE_OUT_OF_RANGE. Unknown playback fields and SetSpeed options are rejected with UNKNOWN_FIELD; options only accept keep and boolean ripple.
|
|
6512
|
+
*
|
|
6513
|
+
* Example for an existing four-second video/audio clip id: `Print(SetSpeed(id, 0.5, {keep: "source"})); Print(SetSpeed(id, 2, {keep: "source"}));` returns lengths 8 then 2, keeping the same source interval. Reverse: `Update(id, {playback: {kind: "rate", rate: 1, direction: "reverse", audio: "mute"}})`. Freeze: `Update(id, {playback: {kind: "freeze"}})`. Ensure enough source remains for the chosen length/rate. Browser reverse playback currently displays a placeholder; server-rendered Preview/frames and exports support reverse normally. Speed-adjusted audio is generated asynchronously after the edit transaction commits; exports wait for that audio before rendering.
|
|
6514
|
+
*
|
|
6515
|
+
* #### Script names versus HTTP response names
|
|
6516
|
+
*
|
|
6517
|
+
* Use 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.
|
|
6518
|
+
*
|
|
6519
|
+
* Unrecognized 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.
|
|
6520
|
+
*
|
|
6361
6521
|
*/
|
|
6362
6522
|
export const cutExecute = (options) => (options.client ?? client).post({
|
|
6363
6523
|
security: [{
|
|
@@ -6415,7 +6575,7 @@ export const cutRetrieveTimeline = (options) => (options.client ?? client).get({
|
|
|
6415
6575
|
/**
|
|
6416
6576
|
* Render preview frames
|
|
6417
6577
|
*
|
|
6418
|
-
* 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.
|
|
6578
|
+
* 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.
|
|
6419
6579
|
*/
|
|
6420
6580
|
export const cutListFrames = (options) => (options.client ?? client).get({
|
|
6421
6581
|
security: [{
|
|
@@ -6433,7 +6593,7 @@ export const cutListFrames = (options) => (options.client ?? client).get({
|
|
|
6433
6593
|
/**
|
|
6434
6594
|
* Analyze project media
|
|
6435
6595
|
*
|
|
6436
|
-
* 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.
|
|
6596
|
+
* 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.
|
|
6437
6597
|
*/
|
|
6438
6598
|
export const cutCreateAnalysis = (options) => (options.client ?? client).post({
|
|
6439
6599
|
security: [{
|
|
@@ -7011,7 +7171,7 @@ export const knowledgeListVectorStores = (options) => (options?.client ?? client
|
|
|
7011
7171
|
/**
|
|
7012
7172
|
* Create knowledge base
|
|
7013
7173
|
*
|
|
7014
|
-
* 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.
|
|
7174
|
+
* 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"}.
|
|
7015
7175
|
*/
|
|
7016
7176
|
export const knowledgeCreateVectorStore = (options) => (options.client ?? client).post({
|
|
7017
7177
|
security: [{
|
|
@@ -7107,7 +7267,7 @@ export const knowledgeListFiles = (options) => (options.client ?? client).get({
|
|
|
7107
7267
|
/**
|
|
7108
7268
|
* Add file
|
|
7109
7269
|
*
|
|
7110
|
-
* Attach an uploaded File for asynchronous ingestion, then poll this attachment until status is completed, failed or cancelled before searching.
|
|
7270
|
+
* 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.
|
|
7111
7271
|
*/
|
|
7112
7272
|
export const knowledgeAttachFile = (options) => (options.client ?? client).post({
|
|
7113
7273
|
security: [{
|
|
@@ -7329,7 +7489,7 @@ export const knowledgeListEvents = (options) => (options.client ?? client).get({
|
|
|
7329
7489
|
/**
|
|
7330
7490
|
* List libraries
|
|
7331
7491
|
*
|
|
7332
|
-
*
|
|
7492
|
+
* 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.
|
|
7333
7493
|
*/
|
|
7334
7494
|
export const mediaListLibraries = (options) => (options?.client ?? client).get({
|
|
7335
7495
|
security: [{
|
|
@@ -7358,10 +7518,28 @@ export const mediaCreateLibrary = (options) => (options.client ?? client).post({
|
|
|
7358
7518
|
...options.headers
|
|
7359
7519
|
}
|
|
7360
7520
|
});
|
|
7521
|
+
/**
|
|
7522
|
+
* Create frame URLs
|
|
7523
|
+
*
|
|
7524
|
+
* 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.
|
|
7525
|
+
*/
|
|
7526
|
+
export const mediaCreateFrameUrls = (options) => (options.client ?? client).post({
|
|
7527
|
+
security: [{
|
|
7528
|
+
key: 'media-BearerAuth',
|
|
7529
|
+
scheme: 'bearer',
|
|
7530
|
+
type: 'http'
|
|
7531
|
+
}],
|
|
7532
|
+
url: '/media/v1/libraries/{library_id}/assets/{asset_id}/frames',
|
|
7533
|
+
...options,
|
|
7534
|
+
headers: {
|
|
7535
|
+
'Content-Type': 'application/json',
|
|
7536
|
+
...options.headers
|
|
7537
|
+
}
|
|
7538
|
+
});
|
|
7361
7539
|
/**
|
|
7362
7540
|
* Delete library
|
|
7363
7541
|
*
|
|
7364
|
-
*
|
|
7542
|
+
* 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.
|
|
7365
7543
|
*/
|
|
7366
7544
|
export const mediaDeleteLibrary = (options) => (options.client ?? client).delete({
|
|
7367
7545
|
security: [{
|
|
@@ -7375,7 +7553,7 @@ export const mediaDeleteLibrary = (options) => (options.client ?? client).delete
|
|
|
7375
7553
|
/**
|
|
7376
7554
|
* Get library
|
|
7377
7555
|
*
|
|
7378
|
-
*
|
|
7556
|
+
* 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.
|
|
7379
7557
|
*/
|
|
7380
7558
|
export const mediaGetLibrary = (options) => (options.client ?? client).get({
|
|
7381
7559
|
security: [{
|
|
@@ -7389,7 +7567,7 @@ export const mediaGetLibrary = (options) => (options.client ?? client).get({
|
|
|
7389
7567
|
/**
|
|
7390
7568
|
* Update library
|
|
7391
7569
|
*
|
|
7392
|
-
* Update an active library
|
|
7570
|
+
* 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.
|
|
7393
7571
|
*/
|
|
7394
7572
|
export const mediaUpdateLibrary = (options) => (options.client ?? client).patch({
|
|
7395
7573
|
security: [{
|
|
@@ -7407,7 +7585,7 @@ export const mediaUpdateLibrary = (options) => (options.client ?? client).patch(
|
|
|
7407
7585
|
/**
|
|
7408
7586
|
* Restore library
|
|
7409
7587
|
*
|
|
7410
|
-
*
|
|
7588
|
+
* 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.
|
|
7411
7589
|
*/
|
|
7412
7590
|
export const mediaRestoreLibrary = (options) => (options.client ?? client).post({
|
|
7413
7591
|
security: [{
|
|
@@ -7421,7 +7599,7 @@ export const mediaRestoreLibrary = (options) => (options.client ?? client).post(
|
|
|
7421
7599
|
/**
|
|
7422
7600
|
* Purge library
|
|
7423
7601
|
*
|
|
7424
|
-
*
|
|
7602
|
+
* 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.
|
|
7425
7603
|
*/
|
|
7426
7604
|
export const mediaPurgeLibrary = (options) => (options.client ?? client).post({
|
|
7427
7605
|
security: [{
|
|
@@ -7435,7 +7613,7 @@ export const mediaPurgeLibrary = (options) => (options.client ?? client).post({
|
|
|
7435
7613
|
/**
|
|
7436
7614
|
* List assets
|
|
7437
7615
|
*
|
|
7438
|
-
*
|
|
7616
|
+
* 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.
|
|
7439
7617
|
*/
|
|
7440
7618
|
export const mediaListAssets = (options) => (options.client ?? client).get({
|
|
7441
7619
|
security: [{
|
|
@@ -7449,7 +7627,7 @@ export const mediaListAssets = (options) => (options.client ?? client).get({
|
|
|
7449
7627
|
/**
|
|
7450
7628
|
* Upload asset
|
|
7451
7629
|
*
|
|
7452
|
-
*
|
|
7630
|
+
* 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.
|
|
7453
7631
|
*/
|
|
7454
7632
|
export const mediaUploadAsset = (options) => (options.client ?? client).post({
|
|
7455
7633
|
security: [{
|
|
@@ -7467,7 +7645,7 @@ export const mediaUploadAsset = (options) => (options.client ?? client).post({
|
|
|
7467
7645
|
/**
|
|
7468
7646
|
* Import file
|
|
7469
7647
|
*
|
|
7470
|
-
* Copy
|
|
7648
|
+
* 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.
|
|
7471
7649
|
*/
|
|
7472
7650
|
export const mediaImportAsset = (options) => (options.client ?? client).post({
|
|
7473
7651
|
security: [{
|
|
@@ -7485,7 +7663,7 @@ export const mediaImportAsset = (options) => (options.client ?? client).post({
|
|
|
7485
7663
|
/**
|
|
7486
7664
|
* Delete asset
|
|
7487
7665
|
*
|
|
7488
|
-
*
|
|
7666
|
+
* 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.
|
|
7489
7667
|
*/
|
|
7490
7668
|
export const mediaDeleteAsset = (options) => (options.client ?? client).delete({
|
|
7491
7669
|
security: [{
|
|
@@ -7499,7 +7677,7 @@ export const mediaDeleteAsset = (options) => (options.client ?? client).delete({
|
|
|
7499
7677
|
/**
|
|
7500
7678
|
* Get asset
|
|
7501
7679
|
*
|
|
7502
|
-
*
|
|
7680
|
+
* 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.
|
|
7503
7681
|
*/
|
|
7504
7682
|
export const mediaGetAsset = (options) => (options.client ?? client).get({
|
|
7505
7683
|
security: [{
|
|
@@ -7513,7 +7691,7 @@ export const mediaGetAsset = (options) => (options.client ?? client).get({
|
|
|
7513
7691
|
/**
|
|
7514
7692
|
* Update asset
|
|
7515
7693
|
*
|
|
7516
|
-
*
|
|
7694
|
+
* 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.
|
|
7517
7695
|
*/
|
|
7518
7696
|
export const mediaUpdateAsset = (options) => (options.client ?? client).patch({
|
|
7519
7697
|
security: [{
|
|
@@ -7531,7 +7709,7 @@ export const mediaUpdateAsset = (options) => (options.client ?? client).patch({
|
|
|
7531
7709
|
/**
|
|
7532
7710
|
* Reprocess asset
|
|
7533
7711
|
*
|
|
7534
|
-
*
|
|
7712
|
+
* 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.
|
|
7535
7713
|
*/
|
|
7536
7714
|
export const mediaReprocessAsset = (options) => (options.client ?? client).post({
|
|
7537
7715
|
security: [{
|
|
@@ -7549,7 +7727,7 @@ export const mediaReprocessAsset = (options) => (options.client ?? client).post(
|
|
|
7549
7727
|
/**
|
|
7550
7728
|
* List understandings
|
|
7551
7729
|
*
|
|
7552
|
-
* List an asset
|
|
7730
|
+
* 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.
|
|
7553
7731
|
*/
|
|
7554
7732
|
export const mediaListUnderstandings = (options) => (options.client ?? client).get({
|
|
7555
7733
|
security: [{
|
|
@@ -7563,7 +7741,7 @@ export const mediaListUnderstandings = (options) => (options.client ?? client).g
|
|
|
7563
7741
|
/**
|
|
7564
7742
|
* Expression search
|
|
7565
7743
|
*
|
|
7566
|
-
*
|
|
7744
|
+
* 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.
|
|
7567
7745
|
*/
|
|
7568
7746
|
export const mediaExpressionSearch = (options) => (options.client ?? client).post({
|
|
7569
7747
|
security: [{
|
|
@@ -7581,7 +7759,7 @@ export const mediaExpressionSearch = (options) => (options.client ?? client).pos
|
|
|
7581
7759
|
/**
|
|
7582
7760
|
* Visual search
|
|
7583
7761
|
*
|
|
7584
|
-
*
|
|
7762
|
+
* 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.
|
|
7585
7763
|
*/
|
|
7586
7764
|
export const mediaVisualSearch = (options) => (options.client ?? client).post({
|
|
7587
7765
|
security: [{
|
|
@@ -7599,7 +7777,7 @@ export const mediaVisualSearch = (options) => (options.client ?? client).post({
|
|
|
7599
7777
|
/**
|
|
7600
7778
|
* Semantic search
|
|
7601
7779
|
*
|
|
7602
|
-
* Search assets with a nonblank text query
|
|
7780
|
+
* 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.
|
|
7603
7781
|
*/
|
|
7604
7782
|
export const mediaSemanticSearch = (options) => (options.client ?? client).post({
|
|
7605
7783
|
security: [{
|
|
@@ -7617,7 +7795,7 @@ export const mediaSemanticSearch = (options) => (options.client ?? client).post(
|
|
|
7617
7795
|
/**
|
|
7618
7796
|
* Semantic search alias
|
|
7619
7797
|
*
|
|
7620
|
-
*
|
|
7798
|
+
* 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.
|
|
7621
7799
|
*/
|
|
7622
7800
|
export const mediaSearch = (options) => (options.client ?? client).post({
|
|
7623
7801
|
security: [{
|
|
@@ -7635,7 +7813,7 @@ export const mediaSearch = (options) => (options.client ?? client).post({
|
|
|
7635
7813
|
/**
|
|
7636
7814
|
* List folders
|
|
7637
7815
|
*
|
|
7638
|
-
*
|
|
7816
|
+
* undefined understood_count includes ready and partial assets; failed_count includes failed assets. Both accumulate descendants. counts_complete is false during historical backfill.
|
|
7639
7817
|
*/
|
|
7640
7818
|
export const mediaListFolders = (options) => (options.client ?? client).get({
|
|
7641
7819
|
security: [{
|
|
@@ -7649,7 +7827,7 @@ export const mediaListFolders = (options) => (options.client ?? client).get({
|
|
|
7649
7827
|
/**
|
|
7650
7828
|
* Create batch
|
|
7651
7829
|
*
|
|
7652
|
-
*
|
|
7830
|
+
* 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.
|
|
7653
7831
|
*/
|
|
7654
7832
|
export const mediaCreateBatch = (options) => (options.client ?? client).post({
|
|
7655
7833
|
security: [{
|
|
@@ -7667,7 +7845,7 @@ export const mediaCreateBatch = (options) => (options.client ?? client).post({
|
|
|
7667
7845
|
/**
|
|
7668
7846
|
* Get batch
|
|
7669
7847
|
*
|
|
7670
|
-
*
|
|
7848
|
+
* 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.
|
|
7671
7849
|
*/
|
|
7672
7850
|
export const mediaGetBatch = (options) => (options.client ?? client).get({
|
|
7673
7851
|
security: [{
|
|
@@ -7681,7 +7859,7 @@ export const mediaGetBatch = (options) => (options.client ?? client).get({
|
|
|
7681
7859
|
/**
|
|
7682
7860
|
* Batch assets alias
|
|
7683
7861
|
*
|
|
7684
|
-
*
|
|
7862
|
+
* 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.
|
|
7685
7863
|
*/
|
|
7686
7864
|
export const mediaBatchAssets = (options) => (options.client ?? client).post({
|
|
7687
7865
|
security: [{
|
|
@@ -7697,9 +7875,9 @@ export const mediaBatchAssets = (options) => (options.client ?? client).post({
|
|
|
7697
7875
|
}
|
|
7698
7876
|
});
|
|
7699
7877
|
/**
|
|
7700
|
-
* Get job
|
|
7878
|
+
* Get job
|
|
7701
7879
|
*
|
|
7702
|
-
*
|
|
7880
|
+
* 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.
|
|
7703
7881
|
*/
|
|
7704
7882
|
export const mediaGetJob = (options) => (options.client ?? client).get({
|
|
7705
7883
|
security: [{
|
|
@@ -7713,7 +7891,7 @@ export const mediaGetJob = (options) => (options.client ?? client).get({
|
|
|
7713
7891
|
/**
|
|
7714
7892
|
* List events
|
|
7715
7893
|
*
|
|
7716
|
-
* Read library events in sequence order
|
|
7894
|
+
* 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.
|
|
7717
7895
|
*/
|
|
7718
7896
|
export const mediaListEvents = (options) => (options.client ?? client).get({
|
|
7719
7897
|
security: [{
|
|
@@ -7727,7 +7905,7 @@ export const mediaListEvents = (options) => (options.client ?? client).get({
|
|
|
7727
7905
|
/**
|
|
7728
7906
|
* Create delivery token
|
|
7729
7907
|
*
|
|
7730
|
-
* Issue a time-limited bearer token for originals and transformed authenticated assets in an active library. Use library_id from library creation or listing; read access is sufficient. Append token as the __cld_token__ query parameter on a matching delivery URL. The default ACL covers this library and the default lifetime is
|
|
7908
|
+
* Issue a time-limited bearer token for originals and transformed authenticated assets in an active library. Use library_id from library creation or listing; read access is sufficient. Append token as the __cld_token__ query parameter on a matching delivery URL. The default ACL covers this library and the default lifetime is 900 seconds; narrow acl and expires_in before sharing. Anyone holding the token can read matching paths until expires_at.
|
|
7731
7909
|
*/
|
|
7732
7910
|
export const mediaCreateDeliveryToken = (options) => (options.client ?? client).post({
|
|
7733
7911
|
security: [{
|
|
@@ -7742,6 +7920,340 @@ export const mediaCreateDeliveryToken = (options) => (options.client ?? client).
|
|
|
7742
7920
|
...options.headers
|
|
7743
7921
|
}
|
|
7744
7922
|
});
|
|
7923
|
+
/**
|
|
7924
|
+
* Summarize understanding failures
|
|
7925
|
+
*
|
|
7926
|
+
* 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.
|
|
7927
|
+
*/
|
|
7928
|
+
export const mediaUnderstandingFailureSummary = (options) => (options.client ?? client).get({
|
|
7929
|
+
security: [{
|
|
7930
|
+
key: 'media-BearerAuth',
|
|
7931
|
+
scheme: 'bearer',
|
|
7932
|
+
type: 'http'
|
|
7933
|
+
}],
|
|
7934
|
+
url: '/media/v1/libraries/{library_id}/understandings/failure_summary',
|
|
7935
|
+
...options
|
|
7936
|
+
});
|
|
7937
|
+
/**
|
|
7938
|
+
* List understanding results across a library
|
|
7939
|
+
*
|
|
7940
|
+
* 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.
|
|
7941
|
+
*/
|
|
7942
|
+
export const mediaListUnderstandingsByLibrary = (options) => (options.client ?? client).get({
|
|
7943
|
+
security: [{
|
|
7944
|
+
key: 'media-BearerAuth',
|
|
7945
|
+
scheme: 'bearer',
|
|
7946
|
+
type: 'http'
|
|
7947
|
+
}],
|
|
7948
|
+
url: '/media/v1/libraries/{library_id}/understandings',
|
|
7949
|
+
...options
|
|
7950
|
+
});
|
|
7951
|
+
/**
|
|
7952
|
+
* Create video generation
|
|
7953
|
+
*
|
|
7954
|
+
* 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.
|
|
7955
|
+
*/
|
|
7956
|
+
export const mediaCreateGeneration = (options) => (options.client ?? client).post({
|
|
7957
|
+
security: [{
|
|
7958
|
+
key: 'media-BearerAuth',
|
|
7959
|
+
scheme: 'bearer',
|
|
7960
|
+
type: 'http'
|
|
7961
|
+
}],
|
|
7962
|
+
url: '/media/v1/libraries/{library_id}/generations',
|
|
7963
|
+
...options,
|
|
7964
|
+
headers: {
|
|
7965
|
+
'Content-Type': 'application/json',
|
|
7966
|
+
...options.headers
|
|
7967
|
+
}
|
|
7968
|
+
});
|
|
7969
|
+
/**
|
|
7970
|
+
* List jobs
|
|
7971
|
+
*
|
|
7972
|
+
* 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.
|
|
7973
|
+
*/
|
|
7974
|
+
export const mediaListJobs = (options) => (options.client ?? client).get({
|
|
7975
|
+
security: [{
|
|
7976
|
+
key: 'media-BearerAuth',
|
|
7977
|
+
scheme: 'bearer',
|
|
7978
|
+
type: 'http'
|
|
7979
|
+
}],
|
|
7980
|
+
url: '/media/v1/libraries/{library_id}/jobs',
|
|
7981
|
+
...options
|
|
7982
|
+
});
|
|
7983
|
+
/**
|
|
7984
|
+
* Cancel job
|
|
7985
|
+
*
|
|
7986
|
+
* Cancel a queued or running generation job. Already completed outputs remain available to save; poll or read the returned Job to confirm its status.
|
|
7987
|
+
*/
|
|
7988
|
+
export const mediaCancelJob = (options) => (options.client ?? client).post({
|
|
7989
|
+
security: [{
|
|
7990
|
+
key: 'media-BearerAuth',
|
|
7991
|
+
scheme: 'bearer',
|
|
7992
|
+
type: 'http'
|
|
7993
|
+
}],
|
|
7994
|
+
url: '/media/v1/libraries/{library_id}/jobs/{job_id}/cancel',
|
|
7995
|
+
...options
|
|
7996
|
+
});
|
|
7997
|
+
/**
|
|
7998
|
+
* Save generation output
|
|
7999
|
+
*
|
|
8000
|
+
* 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.
|
|
8001
|
+
*/
|
|
8002
|
+
export const mediaSaveGenerationOutput = (options) => (options.client ?? client).post({
|
|
8003
|
+
security: [{
|
|
8004
|
+
key: 'media-BearerAuth',
|
|
8005
|
+
scheme: 'bearer',
|
|
8006
|
+
type: 'http'
|
|
8007
|
+
}],
|
|
8008
|
+
url: '/media/v1/libraries/{library_id}/jobs/{job_id}/outputs/{index}/save',
|
|
8009
|
+
...options,
|
|
8010
|
+
headers: {
|
|
8011
|
+
'Content-Type': 'application/json',
|
|
8012
|
+
...options.headers
|
|
8013
|
+
}
|
|
8014
|
+
});
|
|
8015
|
+
/**
|
|
8016
|
+
* Get generation capabilities
|
|
8017
|
+
*
|
|
8018
|
+
* 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.
|
|
8019
|
+
*/
|
|
8020
|
+
export const mediaGetGenerationCapabilities = (options) => (options?.client ?? client).get({
|
|
8021
|
+
security: [{
|
|
8022
|
+
key: 'media-BearerAuth',
|
|
8023
|
+
scheme: 'bearer',
|
|
8024
|
+
type: 'http'
|
|
8025
|
+
}],
|
|
8026
|
+
url: '/media/v1/generation/capabilities',
|
|
8027
|
+
...options
|
|
8028
|
+
});
|
|
8029
|
+
/**
|
|
8030
|
+
* List types
|
|
8031
|
+
*
|
|
8032
|
+
* 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.
|
|
8033
|
+
*/
|
|
8034
|
+
export const ontologyListTypes = (options) => (options?.client ?? client).get({
|
|
8035
|
+
security: [{
|
|
8036
|
+
key: 'ontology-bearerAuth',
|
|
8037
|
+
scheme: 'bearer',
|
|
8038
|
+
type: 'http'
|
|
8039
|
+
}],
|
|
8040
|
+
url: '/ontology/v1/types',
|
|
8041
|
+
...options
|
|
8042
|
+
});
|
|
8043
|
+
/**
|
|
8044
|
+
* Register type
|
|
8045
|
+
*
|
|
8046
|
+
* 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.
|
|
8047
|
+
*/
|
|
8048
|
+
export const ontologyRegisterType = (options) => (options.client ?? client).post({
|
|
8049
|
+
security: [{
|
|
8050
|
+
key: 'ontology-bearerAuth',
|
|
8051
|
+
scheme: 'bearer',
|
|
8052
|
+
type: 'http'
|
|
8053
|
+
}],
|
|
8054
|
+
url: '/ontology/v1/types',
|
|
8055
|
+
...options,
|
|
8056
|
+
headers: {
|
|
8057
|
+
'Content-Type': 'application/json',
|
|
8058
|
+
...options.headers
|
|
8059
|
+
}
|
|
8060
|
+
});
|
|
8061
|
+
/**
|
|
8062
|
+
* Retrieve type
|
|
8063
|
+
*
|
|
8064
|
+
* 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.
|
|
8065
|
+
*/
|
|
8066
|
+
export const ontologyRetrieveType = (options) => (options.client ?? client).get({
|
|
8067
|
+
security: [{
|
|
8068
|
+
key: 'ontology-bearerAuth',
|
|
8069
|
+
scheme: 'bearer',
|
|
8070
|
+
type: 'http'
|
|
8071
|
+
}],
|
|
8072
|
+
url: '/ontology/v1/types/{name}',
|
|
8073
|
+
...options
|
|
8074
|
+
});
|
|
8075
|
+
/**
|
|
8076
|
+
* List nodes
|
|
8077
|
+
*
|
|
8078
|
+
* 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.
|
|
8079
|
+
*/
|
|
8080
|
+
export const ontologyListNodes = (options) => (options?.client ?? client).get({
|
|
8081
|
+
security: [{
|
|
8082
|
+
key: 'ontology-bearerAuth',
|
|
8083
|
+
scheme: 'bearer',
|
|
8084
|
+
type: 'http'
|
|
8085
|
+
}],
|
|
8086
|
+
url: '/ontology/v1/nodes',
|
|
8087
|
+
...options
|
|
8088
|
+
});
|
|
8089
|
+
/**
|
|
8090
|
+
* Create node
|
|
8091
|
+
*
|
|
8092
|
+
* 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.
|
|
8093
|
+
*/
|
|
8094
|
+
export const ontologyCreateNode = (options) => (options.client ?? client).post({
|
|
8095
|
+
security: [{
|
|
8096
|
+
key: 'ontology-bearerAuth',
|
|
8097
|
+
scheme: 'bearer',
|
|
8098
|
+
type: 'http'
|
|
8099
|
+
}],
|
|
8100
|
+
url: '/ontology/v1/nodes',
|
|
8101
|
+
...options,
|
|
8102
|
+
headers: {
|
|
8103
|
+
'Content-Type': 'application/json',
|
|
8104
|
+
...options.headers
|
|
8105
|
+
}
|
|
8106
|
+
});
|
|
8107
|
+
/**
|
|
8108
|
+
* Retrieve node
|
|
8109
|
+
*
|
|
8110
|
+
* 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.
|
|
8111
|
+
*/
|
|
8112
|
+
export const ontologyRetrieveNode = (options) => (options.client ?? client).get({
|
|
8113
|
+
security: [{
|
|
8114
|
+
key: 'ontology-bearerAuth',
|
|
8115
|
+
scheme: 'bearer',
|
|
8116
|
+
type: 'http'
|
|
8117
|
+
}],
|
|
8118
|
+
url: '/ontology/v1/nodes/{node_id}',
|
|
8119
|
+
...options
|
|
8120
|
+
});
|
|
8121
|
+
/**
|
|
8122
|
+
* Update node
|
|
8123
|
+
*
|
|
8124
|
+
* 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.
|
|
8125
|
+
*/
|
|
8126
|
+
export const ontologyUpdateNode = (options) => (options.client ?? client).patch({
|
|
8127
|
+
security: [{
|
|
8128
|
+
key: 'ontology-bearerAuth',
|
|
8129
|
+
scheme: 'bearer',
|
|
8130
|
+
type: 'http'
|
|
8131
|
+
}],
|
|
8132
|
+
url: '/ontology/v1/nodes/{node_id}',
|
|
8133
|
+
...options,
|
|
8134
|
+
headers: {
|
|
8135
|
+
'Content-Type': 'application/json',
|
|
8136
|
+
...options.headers
|
|
8137
|
+
}
|
|
8138
|
+
});
|
|
8139
|
+
/**
|
|
8140
|
+
* Merge node
|
|
8141
|
+
*
|
|
8142
|
+
* 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.
|
|
8143
|
+
*/
|
|
8144
|
+
export const ontologyMergeNode = (options) => (options.client ?? client).post({
|
|
8145
|
+
security: [{
|
|
8146
|
+
key: 'ontology-bearerAuth',
|
|
8147
|
+
scheme: 'bearer',
|
|
8148
|
+
type: 'http'
|
|
8149
|
+
}],
|
|
8150
|
+
url: '/ontology/v1/nodes/{node_id}/merge',
|
|
8151
|
+
...options,
|
|
8152
|
+
headers: {
|
|
8153
|
+
'Content-Type': 'application/json',
|
|
8154
|
+
...options.headers
|
|
8155
|
+
}
|
|
8156
|
+
});
|
|
8157
|
+
/**
|
|
8158
|
+
* List relations
|
|
8159
|
+
*
|
|
8160
|
+
* 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.
|
|
8161
|
+
*/
|
|
8162
|
+
export const ontologyListRelations = (options) => (options?.client ?? client).get({
|
|
8163
|
+
security: [{
|
|
8164
|
+
key: 'ontology-bearerAuth',
|
|
8165
|
+
scheme: 'bearer',
|
|
8166
|
+
type: 'http'
|
|
8167
|
+
}],
|
|
8168
|
+
url: '/ontology/v1/relations',
|
|
8169
|
+
...options
|
|
8170
|
+
});
|
|
8171
|
+
/**
|
|
8172
|
+
* Create relation
|
|
8173
|
+
*
|
|
8174
|
+
* 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.
|
|
8175
|
+
*/
|
|
8176
|
+
export const ontologyCreateRelation = (options) => (options.client ?? client).post({
|
|
8177
|
+
security: [{
|
|
8178
|
+
key: 'ontology-bearerAuth',
|
|
8179
|
+
scheme: 'bearer',
|
|
8180
|
+
type: 'http'
|
|
8181
|
+
}],
|
|
8182
|
+
url: '/ontology/v1/relations',
|
|
8183
|
+
...options,
|
|
8184
|
+
headers: {
|
|
8185
|
+
'Content-Type': 'application/json',
|
|
8186
|
+
...options.headers
|
|
8187
|
+
}
|
|
8188
|
+
});
|
|
8189
|
+
/**
|
|
8190
|
+
* Retrieve relation
|
|
8191
|
+
*
|
|
8192
|
+
* 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.
|
|
8193
|
+
*/
|
|
8194
|
+
export const ontologyRetrieveRelation = (options) => (options.client ?? client).get({
|
|
8195
|
+
security: [{
|
|
8196
|
+
key: 'ontology-bearerAuth',
|
|
8197
|
+
scheme: 'bearer',
|
|
8198
|
+
type: 'http'
|
|
8199
|
+
}],
|
|
8200
|
+
url: '/ontology/v1/relations/{relation_id}',
|
|
8201
|
+
...options
|
|
8202
|
+
});
|
|
8203
|
+
/**
|
|
8204
|
+
* Invalidate relation
|
|
8205
|
+
*
|
|
8206
|
+
* 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.
|
|
8207
|
+
*/
|
|
8208
|
+
export const ontologyInvalidateRelation = (options) => (options.client ?? client).post({
|
|
8209
|
+
security: [{
|
|
8210
|
+
key: 'ontology-bearerAuth',
|
|
8211
|
+
scheme: 'bearer',
|
|
8212
|
+
type: 'http'
|
|
8213
|
+
}],
|
|
8214
|
+
url: '/ontology/v1/relations/{relation_id}/invalidate',
|
|
8215
|
+
...options,
|
|
8216
|
+
headers: {
|
|
8217
|
+
'Content-Type': 'application/json',
|
|
8218
|
+
...options.headers
|
|
8219
|
+
}
|
|
8220
|
+
});
|
|
8221
|
+
/**
|
|
8222
|
+
* Apply changeset
|
|
8223
|
+
*
|
|
8224
|
+
* 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.
|
|
8225
|
+
*/
|
|
8226
|
+
export const ontologyApplyChangeset = (options) => (options.client ?? client).post({
|
|
8227
|
+
security: [{
|
|
8228
|
+
key: 'ontology-bearerAuth',
|
|
8229
|
+
scheme: 'bearer',
|
|
8230
|
+
type: 'http'
|
|
8231
|
+
}],
|
|
8232
|
+
url: '/ontology/v1/changesets',
|
|
8233
|
+
...options,
|
|
8234
|
+
headers: {
|
|
8235
|
+
'Content-Type': 'application/json',
|
|
8236
|
+
...options.headers
|
|
8237
|
+
}
|
|
8238
|
+
});
|
|
8239
|
+
/**
|
|
8240
|
+
* Search nodes
|
|
8241
|
+
*
|
|
8242
|
+
* 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.
|
|
8243
|
+
*/
|
|
8244
|
+
export const ontologySearch = (options) => (options.client ?? client).post({
|
|
8245
|
+
security: [{
|
|
8246
|
+
key: 'ontology-bearerAuth',
|
|
8247
|
+
scheme: 'bearer',
|
|
8248
|
+
type: 'http'
|
|
8249
|
+
}],
|
|
8250
|
+
url: '/ontology/v1/search',
|
|
8251
|
+
...options,
|
|
8252
|
+
headers: {
|
|
8253
|
+
'Content-Type': 'application/json',
|
|
8254
|
+
...options.headers
|
|
8255
|
+
}
|
|
8256
|
+
});
|
|
7745
8257
|
/**
|
|
7746
8258
|
* List sandboxes (v2)
|
|
7747
8259
|
*
|
|
@@ -8842,7 +9354,7 @@ export const vaultListVaults = (options) => (options?.client ?? client).get({
|
|
|
8842
9354
|
/**
|
|
8843
9355
|
* Create vault
|
|
8844
9356
|
*
|
|
8845
|
-
* 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.
|
|
9357
|
+
* 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.
|
|
8846
9358
|
*/
|
|
8847
9359
|
export const vaultCreateVault = (options) => (options.client ?? client).post({
|
|
8848
9360
|
security: [{
|