@transcodely/sdk 0.1.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -438,31 +438,6 @@ declare class FieldViolation$1 extends Message<FieldViolation$1> {
438
438
  static equals(a: FieldViolation$1 | PlainMessage<FieldViolation$1> | undefined, b: FieldViolation$1 | PlainMessage<FieldViolation$1> | undefined): boolean;
439
439
  }
440
440
 
441
- /**
442
- * API key environment.
443
- *
444
- * @generated from enum transcodely.v1.APIKeyEnvironment
445
- */
446
- declare enum APIKeyEnvironment {
447
- /**
448
- * Default value, should not be used.
449
- *
450
- * @generated from enum value: API_KEY_ENVIRONMENT_UNSPECIFIED = 0;
451
- */
452
- API_KEY_ENVIRONMENT_UNSPECIFIED = 0,
453
- /**
454
- * Production environment (ak_live_...).
455
- *
456
- * @generated from enum value: API_KEY_ENVIRONMENT_LIVE = 1;
457
- */
458
- API_KEY_ENVIRONMENT_LIVE = 1,
459
- /**
460
- * Sandbox/development environment (ak_test_...).
461
- *
462
- * @generated from enum value: API_KEY_ENVIRONMENT_TEST = 2;
463
- */
464
- API_KEY_ENVIRONMENT_TEST = 2
465
- }
466
441
  /**
467
442
  * An API key for programmatic access.
468
443
  * Note: The actual secret is only returned during creation.
@@ -476,6 +451,12 @@ declare class APIKey extends Message<APIKey> {
476
451
  * @generated from field: string id = 1;
477
452
  */
478
453
  id: string;
454
+ /**
455
+ * Parent app this key authenticates. Server-set; ignored on requests.
456
+ *
457
+ * @generated from field: string app_id = 13;
458
+ */
459
+ appId: string;
479
460
  /**
480
461
  * Human-readable name for the key.
481
462
  *
@@ -489,7 +470,7 @@ declare class APIKey extends Message<APIKey> {
489
470
  */
490
471
  description: string;
491
472
  /**
492
- * Key prefix for identification (e.g., "ak_live_" or "ak_test_").
473
+ * Key prefix for identification (e.g., "ak_...").
493
474
  * Safe to display in logs and dashboards.
494
475
  *
495
476
  * @generated from field: string key_prefix = 4;
@@ -502,12 +483,6 @@ declare class APIKey extends Message<APIKey> {
502
483
  * @generated from field: string key_hint = 5;
503
484
  */
504
485
  keyHint: string;
505
- /**
506
- * Environment the key is valid for.
507
- *
508
- * @generated from field: transcodely.v1.APIKeyEnvironment environment = 6;
509
- */
510
- environment: APIKeyEnvironment;
511
486
  /**
512
487
  * Permission scopes (empty means full access).
513
488
  * Future: granular permissions like "jobs:read", "jobs:write".
@@ -572,12 +547,6 @@ declare class CreateAPIKeyRequest extends Message<CreateAPIKeyRequest> {
572
547
  * @generated from field: string description = 2;
573
548
  */
574
549
  description: string;
575
- /**
576
- * Environment for the key.
577
- *
578
- * @generated from field: transcodely.v1.APIKeyEnvironment environment = 3;
579
- */
580
- environment: APIKeyEnvironment;
581
550
  /**
582
551
  * Optional expiration time. Null means the key never expires.
583
552
  *
@@ -677,12 +646,6 @@ declare class GetAPIKeyResponse extends Message<GetAPIKeyResponse> {
677
646
  * @generated from message transcodely.v1.ListAPIKeysRequest
678
647
  */
679
648
  declare class ListAPIKeysRequest extends Message<ListAPIKeysRequest> {
680
- /**
681
- * Optional filter by environment.
682
- *
683
- * @generated from field: optional transcodely.v1.APIKeyEnvironment environment = 1;
684
- */
685
- environment?: APIKeyEnvironment;
686
649
  /**
687
650
  * If true, include revoked keys in the response.
688
651
  *
@@ -695,6 +658,15 @@ declare class ListAPIKeysRequest extends Message<ListAPIKeysRequest> {
695
658
  * @generated from field: transcodely.v1.PaginationRequest pagination = 3;
696
659
  */
697
660
  pagination?: PaginationRequest;
661
+ /**
662
+ * Optional app filter. API-key callers may omit it (their key's app is used)
663
+ * or pass their own app; a different app is rejected with PermissionDenied.
664
+ * Portal/JWT callers pass it to list a specific app in their org; omitted
665
+ * returns keys across all apps in the org.
666
+ *
667
+ * @generated from field: optional string app_id = 4;
668
+ */
669
+ appId?: string;
698
670
  constructor(data?: PartialMessage<ListAPIKeysRequest>);
699
671
  static readonly runtime: typeof proto3;
700
672
  static readonly typeName = "transcodely.v1.ListAPIKeysRequest";
@@ -1029,7 +1001,8 @@ declare enum AppStatus {
1029
1001
  }
1030
1002
  /**
1031
1003
  * An app is a project within an organization.
1032
- * Each app has its own API keys, jobs, origins, and webhook configuration.
1004
+ * Each app has its own API keys, jobs, and origins. Webhook endpoints are
1005
+ * managed via WebhookService (webhook.proto).
1033
1006
  *
1034
1007
  * @generated from message transcodely.v1.App
1035
1008
  */
@@ -1059,17 +1032,6 @@ declare class App extends Message<App> {
1059
1032
  * @generated from field: optional string description = 4;
1060
1033
  */
1061
1034
  description?: string;
1062
- /**
1063
- * Webhook configuration.
1064
- * Deprecated: Use WebhookService (webhook.proto) to manage webhook endpoints
1065
- * instead. The new WebhookEndpoint resource supports multiple endpoints per
1066
- * app, HMAC-SHA-256 signing with secret rotation, and per-event type
1067
- * subscriptions. This field is retained for backwards compatibility;
1068
- * field number 5 must never be reused.
1069
- *
1070
- * @generated from field: optional transcodely.v1.WebhookConfig webhook = 5;
1071
- */
1072
- webhook?: WebhookConfig;
1073
1035
  /**
1074
1036
  * App status.
1075
1037
  *
@@ -1135,49 +1097,6 @@ declare class App extends Message<App> {
1135
1097
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): App;
1136
1098
  static equals(a: App | PlainMessage<App> | undefined, b: App | PlainMessage<App> | undefined): boolean;
1137
1099
  }
1138
- /**
1139
- * Webhook configuration for an app.
1140
- *
1141
- * @generated from message transcodely.v1.WebhookConfig
1142
- */
1143
- declare class WebhookConfig extends Message<WebhookConfig> {
1144
- /**
1145
- * HTTPS endpoint for receiving webhooks.
1146
- *
1147
- * @generated from field: string url = 1;
1148
- */
1149
- url: string;
1150
- /**
1151
- * Secret for HMAC-SHA256 signature verification.
1152
- * Only the last 4 characters are shown (hint).
1153
- * Full secret is only returned when first configured.
1154
- *
1155
- * @generated from field: optional string secret_hint = 2;
1156
- */
1157
- secretHint?: string;
1158
- /**
1159
- * Whether a secret is configured.
1160
- *
1161
- * @generated from field: bool has_secret = 3;
1162
- */
1163
- hasSecret: boolean;
1164
- /**
1165
- * Events to send.
1166
- * Possible values: job.completed, job.failed, job.progress, job.canceled,
1167
- * output.completed, output.failed
1168
- *
1169
- * @generated from field: repeated string events = 4;
1170
- */
1171
- events: string[];
1172
- constructor(data?: PartialMessage<WebhookConfig>);
1173
- static readonly runtime: typeof proto3;
1174
- static readonly typeName = "transcodely.v1.WebhookConfig";
1175
- static readonly fields: FieldList;
1176
- static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): WebhookConfig;
1177
- static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): WebhookConfig;
1178
- static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): WebhookConfig;
1179
- static equals(a: WebhookConfig | PlainMessage<WebhookConfig> | undefined, b: WebhookConfig | PlainMessage<WebhookConfig> | undefined): boolean;
1180
- }
1181
1100
  /**
1182
1101
  * Request to create a new app.
1183
1102
  *
@@ -1202,12 +1121,6 @@ declare class CreateAppRequest extends Message<CreateAppRequest> {
1202
1121
  * @generated from field: optional string description = 3;
1203
1122
  */
1204
1123
  description?: string;
1205
- /**
1206
- * Optional webhook configuration.
1207
- *
1208
- * @generated from field: optional transcodely.v1.CreateWebhookConfig webhook = 4;
1209
- */
1210
- webhook?: CreateWebhookConfig;
1211
1124
  /**
1212
1125
  * Enable video hosting for this app. Provisions CDN infrastructure.
1213
1126
  * This cannot be disabled once enabled.
@@ -1224,41 +1137,6 @@ declare class CreateAppRequest extends Message<CreateAppRequest> {
1224
1137
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateAppRequest;
1225
1138
  static equals(a: CreateAppRequest | PlainMessage<CreateAppRequest> | undefined, b: CreateAppRequest | PlainMessage<CreateAppRequest> | undefined): boolean;
1226
1139
  }
1227
- /**
1228
- * Webhook configuration for app creation.
1229
- *
1230
- * @generated from message transcodely.v1.CreateWebhookConfig
1231
- */
1232
- declare class CreateWebhookConfig extends Message<CreateWebhookConfig> {
1233
- /**
1234
- * HTTPS endpoint for receiving webhooks.
1235
- *
1236
- * @generated from field: string url = 1;
1237
- */
1238
- url: string;
1239
- /**
1240
- * If true, a webhook secret will be generated.
1241
- * The secret is returned once in the response.
1242
- *
1243
- * @generated from field: bool generate_secret = 2;
1244
- */
1245
- generateSecret: boolean;
1246
- /**
1247
- * Events to send.
1248
- * Default: ["job.completed", "job.failed"] if not specified.
1249
- *
1250
- * @generated from field: repeated string events = 3;
1251
- */
1252
- events: string[];
1253
- constructor(data?: PartialMessage<CreateWebhookConfig>);
1254
- static readonly runtime: typeof proto3;
1255
- static readonly typeName = "transcodely.v1.CreateWebhookConfig";
1256
- static readonly fields: FieldList;
1257
- static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): CreateWebhookConfig;
1258
- static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): CreateWebhookConfig;
1259
- static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): CreateWebhookConfig;
1260
- static equals(a: CreateWebhookConfig | PlainMessage<CreateWebhookConfig> | undefined, b: CreateWebhookConfig | PlainMessage<CreateWebhookConfig> | undefined): boolean;
1261
- }
1262
1140
  /**
1263
1141
  * Response from creating an app.
1264
1142
  *
@@ -1271,13 +1149,6 @@ declare class CreateAppResponse extends Message<CreateAppResponse> {
1271
1149
  * @generated from field: transcodely.v1.App app = 1;
1272
1150
  */
1273
1151
  app?: App;
1274
- /**
1275
- * Webhook secret (only returned if generate_secret was true).
1276
- * WARNING: This is the only time the secret is returned.
1277
- *
1278
- * @generated from field: optional string webhook_secret = 2;
1279
- */
1280
- webhookSecret?: string;
1281
1152
  constructor(data?: PartialMessage<CreateAppResponse>);
1282
1153
  static readonly runtime: typeof proto3;
1283
1154
  static readonly typeName = "transcodely.v1.CreateAppResponse";
@@ -1353,13 +1224,6 @@ declare class UpdateAppRequest extends Message<UpdateAppRequest> {
1353
1224
  * @generated from field: optional string description = 3;
1354
1225
  */
1355
1226
  description?: string;
1356
- /**
1357
- * New webhook configuration (if provided).
1358
- * Set to empty message to clear webhook config.
1359
- *
1360
- * @generated from field: optional transcodely.v1.UpdateWebhookConfig webhook = 4;
1361
- */
1362
- webhook?: UpdateWebhookConfig;
1363
1227
  constructor(data?: PartialMessage<UpdateAppRequest>);
1364
1228
  static readonly runtime: typeof proto3;
1365
1229
  static readonly typeName = "transcodely.v1.UpdateAppRequest";
@@ -1369,42 +1233,6 @@ declare class UpdateAppRequest extends Message<UpdateAppRequest> {
1369
1233
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateAppRequest;
1370
1234
  static equals(a: UpdateAppRequest | PlainMessage<UpdateAppRequest> | undefined, b: UpdateAppRequest | PlainMessage<UpdateAppRequest> | undefined): boolean;
1371
1235
  }
1372
- /**
1373
- * Webhook configuration for app update.
1374
- *
1375
- * @generated from message transcodely.v1.UpdateWebhookConfig
1376
- */
1377
- declare class UpdateWebhookConfig extends Message<UpdateWebhookConfig> {
1378
- /**
1379
- * New webhook URL. HTTPS only (same constraint as CreateWebhookConfig).
1380
- * Set to empty string to disable webhooks.
1381
- *
1382
- * @generated from field: optional string url = 1;
1383
- */
1384
- url?: string;
1385
- /**
1386
- * If true, regenerate the webhook secret.
1387
- * The new secret is returned in the response.
1388
- *
1389
- * @generated from field: bool regenerate_secret = 2;
1390
- */
1391
- regenerateSecret: boolean;
1392
- /**
1393
- * New events to send.
1394
- * Only applied if explicitly provided.
1395
- *
1396
- * @generated from field: repeated string events = 3;
1397
- */
1398
- events: string[];
1399
- constructor(data?: PartialMessage<UpdateWebhookConfig>);
1400
- static readonly runtime: typeof proto3;
1401
- static readonly typeName = "transcodely.v1.UpdateWebhookConfig";
1402
- static readonly fields: FieldList;
1403
- static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): UpdateWebhookConfig;
1404
- static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): UpdateWebhookConfig;
1405
- static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateWebhookConfig;
1406
- static equals(a: UpdateWebhookConfig | PlainMessage<UpdateWebhookConfig> | undefined, b: UpdateWebhookConfig | PlainMessage<UpdateWebhookConfig> | undefined): boolean;
1407
- }
1408
1236
  /**
1409
1237
  * Response from updating an app.
1410
1238
  *
@@ -1417,12 +1245,6 @@ declare class UpdateAppResponse extends Message<UpdateAppResponse> {
1417
1245
  * @generated from field: transcodely.v1.App app = 1;
1418
1246
  */
1419
1247
  app?: App;
1420
- /**
1421
- * New webhook secret (only returned if regenerate_secret was true).
1422
- *
1423
- * @generated from field: optional string webhook_secret = 2;
1424
- */
1425
- webhookSecret?: string;
1426
1248
  constructor(data?: PartialMessage<UpdateAppResponse>);
1427
1249
  static readonly runtime: typeof proto3;
1428
1250
  static readonly typeName = "transcodely.v1.UpdateAppResponse";
@@ -1882,13 +1704,6 @@ declare class Event extends Message<Event> {
1882
1704
  * @generated from field: string api_version = 8;
1883
1705
  */
1884
1706
  apiVersion: string;
1885
- /**
1886
- * True when the event was emitted from production (live mode) traffic.
1887
- * Reserved for a future test-mode concept; always `true` today.
1888
- *
1889
- * @generated from field: bool livemode = 9;
1890
- */
1891
- livemode: boolean;
1892
1707
  /**
1893
1708
  * Resource type discriminator. Always "event" for this message.
1894
1709
  * Mirrored into the webhook envelope as the top-level `object`.
@@ -1931,8 +1746,11 @@ declare class WebhookDelivery extends Message<WebhookDelivery> {
1931
1746
  */
1932
1747
  eventId: string;
1933
1748
  /**
1934
- * Delivery status: "pending", "succeeded", or "failed".
1935
- * Wire value is lowercase per project convention.
1749
+ * Delivery status: "pending", "succeeded", "failed", or "exhausted".
1750
+ * "exhausted" means the retry curve ran out (attempt 15) without a success;
1751
+ * "failed" is a single failed attempt (a retry may still be scheduled) or an
1752
+ * early stop on a non-retryable 4xx. Wire value is lowercase per project
1753
+ * convention.
1936
1754
  *
1937
1755
  * @generated from field: string status = 4;
1938
1756
  */
@@ -1985,7 +1803,8 @@ declare class WebhookDelivery extends Message<WebhookDelivery> {
1985
1803
  latencyMs?: number;
1986
1804
  /**
1987
1805
  * Reason a response was not received. Absent when response_status is set.
1988
- * One of: "timeout", "connection_refused", "dns_failure",
1806
+ * One of: "timeout", "connection_refused", "connection_reset",
1807
+ * "connection_closed", "host_unreachable", "dns_failure",
1989
1808
  * "tls_handshake_failed", "ssrf_blocked", "unknown".
1990
1809
  * Wire value is lowercase per project convention.
1991
1810
  *
@@ -2004,6 +1823,15 @@ declare class WebhookDelivery extends Message<WebhookDelivery> {
2004
1823
  * @generated from field: optional string response_headers = 13;
2005
1824
  */
2006
1825
  responseHeaders?: string;
1826
+ /**
1827
+ * Human-readable detail for the failure: the transport error text when
1828
+ * transport_error is set, or "non-2xx response: <status>" for a completed
1829
+ * request that the endpoint rejected. Absent for pending or succeeded
1830
+ * deliveries.
1831
+ *
1832
+ * @generated from field: optional string error_message = 14;
1833
+ */
1834
+ errorMessage?: string;
2007
1835
  constructor(data?: PartialMessage<WebhookDelivery>);
2008
1836
  static readonly runtime: typeof proto3;
2009
1837
  static readonly typeName = "transcodely.v1.WebhookDelivery";
@@ -2584,7 +2412,7 @@ declare class ListWebhookDeliveriesRequest extends Message<ListWebhookDeliveries
2584
2412
  */
2585
2413
  eventId?: string;
2586
2414
  /**
2587
- * Filter by status: "pending", "succeeded", or "failed".
2415
+ * Filter by status: "pending", "succeeded", "failed", or "exhausted".
2588
2416
  *
2589
2417
  * @generated from field: optional string status = 3;
2590
2418
  */
@@ -4689,6 +4517,12 @@ declare class Origin extends Message<Origin> {
4689
4517
  * @generated from field: string id = 1;
4690
4518
  */
4691
4519
  id: string;
4520
+ /**
4521
+ * Parent app that owns this origin. Server-set; ignored on requests.
4522
+ *
4523
+ * @generated from field: string app_id = 19;
4524
+ */
4525
+ appId: string;
4692
4526
  /**
4693
4527
  * Human-readable name for the origin.
4694
4528
  *
@@ -4880,6 +4714,15 @@ declare class CreateOriginRequest extends Message<CreateOriginRequest> {
4880
4714
  * @generated from field: transcodely.v1.R2OriginConfig r2 = 9;
4881
4715
  */
4882
4716
  r2?: R2OriginConfig;
4717
+ /**
4718
+ * Optional target app. API-key callers may omit it (their key's app is used)
4719
+ * or pass their own app; a different app is rejected with PermissionDenied.
4720
+ * Portal/JWT callers pass it to create in a specific app in their org;
4721
+ * omitted selects the org's first active app.
4722
+ *
4723
+ * @generated from field: optional string app_id = 10;
4724
+ */
4725
+ appId?: string;
4883
4726
  constructor(data?: PartialMessage<CreateOriginRequest>);
4884
4727
  static readonly runtime: typeof proto3;
4885
4728
  static readonly typeName = "transcodely.v1.CreateOriginRequest";
@@ -5045,6 +4888,15 @@ declare class ListOriginsRequest extends Message<ListOriginsRequest> {
5045
4888
  * @generated from field: transcodely.v1.PaginationRequest pagination = 5;
5046
4889
  */
5047
4890
  pagination?: PaginationRequest;
4891
+ /**
4892
+ * Optional app filter. API-key callers may omit it (their key's app is used)
4893
+ * or pass their own app; a different app is rejected with PermissionDenied.
4894
+ * Portal/JWT callers pass it to list a specific app in their org; omitted
4895
+ * returns origins across all apps in the org.
4896
+ *
4897
+ * @generated from field: optional string app_id = 6;
4898
+ */
4899
+ appId?: string;
5048
4900
  constructor(data?: PartialMessage<ListOriginsRequest>);
5049
4901
  static readonly runtime: typeof proto3;
5050
4902
  static readonly typeName = "transcodely.v1.ListOriginsRequest";
@@ -5323,13 +5175,16 @@ declare class VideoStreamInfo extends Message<VideoStreamInfo> {
5323
5175
  */
5324
5176
  codec: string;
5325
5177
  /**
5326
- * Frame width in pixels.
5178
+ * Frame width in pixels, as displayed (container rotation applied).
5179
+ * For a portrait phone recording stored as 1920x1440 with a 90° rotation
5180
+ * side-matrix this is 1440 — matching the media players render and the
5181
+ * outputs Transcodely produces. See `rotation` for the stored orientation.
5327
5182
  *
5328
5183
  * @generated from field: int32 width = 2;
5329
5184
  */
5330
5185
  width: number;
5331
5186
  /**
5332
- * Frame height in pixels.
5187
+ * Frame height in pixels, as displayed (container rotation applied).
5333
5188
  *
5334
5189
  * @generated from field: int32 height = 3;
5335
5190
  */
@@ -5401,7 +5256,9 @@ declare class VideoStreamInfo extends Message<VideoStreamInfo> {
5401
5256
  */
5402
5257
  frameCount?: bigint;
5403
5258
  /**
5404
- * Display aspect ratio as string (e.g., "16:9", "2.35:1").
5259
+ * Display aspect ratio as string (e.g., "16:9", "2.35:1"), rotation-aware:
5260
+ * for a 90°/270° rotated stream the ratio describes the displayed frame
5261
+ * (consistent with width/height above), not the coded one.
5405
5262
  *
5406
5263
  * @generated from field: optional string display_aspect_ratio = 15;
5407
5264
  */
@@ -5412,6 +5269,16 @@ declare class VideoStreamInfo extends Message<VideoStreamInfo> {
5412
5269
  * @generated from field: optional string sample_aspect_ratio = 16;
5413
5270
  */
5414
5271
  sampleAspectRatio?: string;
5272
+ /**
5273
+ * Container-level rotation metadata in degrees clockwise: 0, 90, 180 or
5274
+ * 270. Parsed from the display-matrix side data (or legacy rotate tag).
5275
+ * width/height/display_aspect_ratio already have this rotation applied;
5276
+ * the field is informational so callers can recover the coded orientation.
5277
+ * Absent when the stream carries no rotation metadata.
5278
+ *
5279
+ * @generated from field: optional int32 rotation = 17;
5280
+ */
5281
+ rotation?: number;
5415
5282
  constructor(data?: PartialMessage<VideoStreamInfo>);
5416
5283
  static readonly runtime: typeof proto3;
5417
5284
  static readonly typeName = "transcodely.v1.VideoStreamInfo";
@@ -6646,6 +6513,38 @@ declare class JobOutput extends Message<JobOutput> {
6646
6513
  * @generated from field: string object = 21;
6647
6514
  */
6648
6515
  object: string;
6516
+ /**
6517
+ * Actual encoded frame width in pixels, measured from the produced media
6518
+ * (rotation applied, so it matches what players display). For multi-variant
6519
+ * outputs (ABR ladders) this is the highest-resolution variant's width;
6520
+ * per-variant dimensions are in variant_results. Set when completed.
6521
+ *
6522
+ * @generated from field: optional int32 width = 22;
6523
+ */
6524
+ width?: number;
6525
+ /**
6526
+ * Actual encoded frame height in pixels (see width for semantics).
6527
+ *
6528
+ * @generated from field: optional int32 height = 23;
6529
+ */
6530
+ height?: number;
6531
+ /**
6532
+ * Measured average bitrate of the encoded output in kbps
6533
+ * (total bytes × 8 / encoded duration). For multi-variant outputs this
6534
+ * aggregates all variants; per-variant bitrates are in variant_results.
6535
+ * Set when completed.
6536
+ *
6537
+ * @generated from field: optional int32 average_bitrate_kbps = 24;
6538
+ */
6539
+ averageBitrateKbps?: number;
6540
+ /**
6541
+ * Per-variant encode results for multi-variant outputs (ABR ladders),
6542
+ * indexed like variant_pricing. Empty for single-variant outputs (use
6543
+ * width/height/average_bitrate_kbps instead). Set when completed.
6544
+ *
6545
+ * @generated from field: repeated transcodely.v1.OutputVariantResult variant_results = 25;
6546
+ */
6547
+ variantResults: OutputVariantResult[];
6649
6548
  constructor(data?: PartialMessage<JobOutput>);
6650
6549
  static readonly runtime: typeof proto3;
6651
6550
  static readonly typeName = "transcodely.v1.JobOutput";
@@ -6655,6 +6554,53 @@ declare class JobOutput extends Message<JobOutput> {
6655
6554
  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): JobOutput;
6656
6555
  static equals(a: JobOutput | PlainMessage<JobOutput> | undefined, b: JobOutput | PlainMessage<JobOutput> | undefined): boolean;
6657
6556
  }
6557
+ /**
6558
+ * Measured encode results for one variant of a multi-variant output.
6559
+ * Reported by the worker after encoding; index matches the variant's
6560
+ * position in the output spec (and VariantPricingSnapshot.index).
6561
+ *
6562
+ * @generated from message transcodely.v1.OutputVariantResult
6563
+ */
6564
+ declare class OutputVariantResult extends Message<OutputVariantResult> {
6565
+ /**
6566
+ * Variant index within the output (0-based).
6567
+ *
6568
+ * @generated from field: int32 index = 1;
6569
+ */
6570
+ index: number;
6571
+ /**
6572
+ * Actual encoded frame width in pixels.
6573
+ *
6574
+ * @generated from field: int32 width = 2;
6575
+ */
6576
+ width: number;
6577
+ /**
6578
+ * Actual encoded frame height in pixels.
6579
+ *
6580
+ * @generated from field: int32 height = 3;
6581
+ */
6582
+ height: number;
6583
+ /**
6584
+ * Measured average bitrate for this variant in kbps.
6585
+ *
6586
+ * @generated from field: optional int32 average_bitrate_kbps = 4;
6587
+ */
6588
+ averageBitrateKbps?: number;
6589
+ /**
6590
+ * Total encoded size of this variant in bytes.
6591
+ *
6592
+ * @generated from field: optional int64 size_bytes = 5;
6593
+ */
6594
+ sizeBytes?: bigint;
6595
+ constructor(data?: PartialMessage<OutputVariantResult>);
6596
+ static readonly runtime: typeof proto3;
6597
+ static readonly typeName = "transcodely.v1.OutputVariantResult";
6598
+ static readonly fields: FieldList;
6599
+ static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): OutputVariantResult;
6600
+ static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): OutputVariantResult;
6601
+ static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): OutputVariantResult;
6602
+ static equals(a: OutputVariantResult | PlainMessage<OutputVariantResult> | undefined, b: OutputVariantResult | PlainMessage<OutputVariantResult> | undefined): boolean;
6603
+ }
6658
6604
  /**
6659
6605
  * Execution timing and telemetry for a job.
6660
6606
  * Populated after job processing begins. All durations are in milliseconds.
@@ -6839,6 +6785,12 @@ declare class Job extends Message<Job> {
6839
6785
  * @generated from field: string id = 1;
6840
6786
  */
6841
6787
  id: string;
6788
+ /**
6789
+ * Parent app that owns this job. Server-set; ignored on requests.
6790
+ *
6791
+ * @generated from field: string app_id = 29;
6792
+ */
6793
+ appId: string;
6842
6794
  /**
6843
6795
  * URL of the input video file (direct URL mode).
6844
6796
  * Set if the job was created with input_url.
@@ -7144,6 +7096,15 @@ declare class CreateJobRequest extends Message<CreateJobRequest> {
7144
7096
  * @generated from field: optional bool managed = 20;
7145
7097
  */
7146
7098
  managed?: boolean;
7099
+ /**
7100
+ * Optional target app. API-key callers may omit it (their key's app is used)
7101
+ * or pass their own app; a different app is rejected with PermissionDenied.
7102
+ * Portal/JWT callers pass it to create in a specific app in their org;
7103
+ * omitted selects the org's first active app.
7104
+ *
7105
+ * @generated from field: optional string app_id = 21;
7106
+ */
7107
+ appId?: string;
7147
7108
  constructor(data?: PartialMessage<CreateJobRequest>);
7148
7109
  static readonly runtime: typeof proto3;
7149
7110
  static readonly typeName = "transcodely.v1.CreateJobRequest";
@@ -7240,6 +7201,15 @@ declare class ListJobsRequest extends Message<ListJobsRequest> {
7240
7201
  * @generated from field: transcodely.v1.PaginationRequest pagination = 2;
7241
7202
  */
7242
7203
  pagination?: PaginationRequest;
7204
+ /**
7205
+ * Optional app filter. API-key callers may omit it (their key's app is used)
7206
+ * or pass their own app; a different app is rejected with PermissionDenied.
7207
+ * Portal/JWT callers pass it to list a specific app in their org; omitted
7208
+ * returns jobs across all apps in the org.
7209
+ *
7210
+ * @generated from field: optional string app_id = 3;
7211
+ */
7212
+ appId?: string;
7243
7213
  constructor(data?: PartialMessage<ListJobsRequest>);
7244
7214
  static readonly runtime: typeof proto3;
7245
7215
  static readonly typeName = "transcodely.v1.ListJobsRequest";
@@ -8242,6 +8212,15 @@ declare class ListVideosRequest extends Message<ListVideosRequest> {
8242
8212
  * @generated from field: optional string status = 3;
8243
8213
  */
8244
8214
  status?: string;
8215
+ /**
8216
+ * Optional app filter. API-key callers may omit it (their key's app is used)
8217
+ * or pass their own app; a different app is rejected with PermissionDenied.
8218
+ * Portal/JWT callers pass it to list a specific app in their org; omitted
8219
+ * returns videos across all apps in the org.
8220
+ *
8221
+ * @generated from field: optional string app_id = 4;
8222
+ */
8223
+ appId?: string;
8245
8224
  constructor(data?: PartialMessage<ListVideosRequest>);
8246
8225
  static readonly runtime: typeof proto3;
8247
8226
  static readonly typeName = "transcodely.v1.ListVideosRequest";
@@ -8555,8 +8534,6 @@ interface EventBase {
8555
8534
  apiVersion: string;
8556
8535
  /** RFC 3339 UTC timestamp of when the event was created. */
8557
8536
  created: string;
8558
- /** `true` for production-mode events. Reserved for a future test-mode concept. */
8559
- livemode: boolean;
8560
8537
  /** Number of delivery attempts still pending across all subscribed endpoints. */
8561
8538
  pendingWebhooks: number;
8562
8539
  /**
@@ -9831,6 +9808,13 @@ declare class Preset extends Message<Preset> {
9831
9808
  * @generated from field: string id = 1;
9832
9809
  */
9833
9810
  id: string;
9811
+ /**
9812
+ * Parent app that owns this preset. Server-set; ignored on requests.
9813
+ * Empty for system presets, which belong to no app and are visible to all.
9814
+ *
9815
+ * @generated from field: string app_id = 20;
9816
+ */
9817
+ appId: string;
9834
9818
  /**
9835
9819
  * URL-safe slug identifier (e.g., "film_1080p_standard").
9836
9820
  * Used for referencing presets in job creation.
@@ -10047,6 +10031,15 @@ declare class CreatePresetRequest extends Message<CreatePresetRequest> {
10047
10031
  * @generated from field: optional bool disable_audio = 15;
10048
10032
  */
10049
10033
  disableAudio?: boolean;
10034
+ /**
10035
+ * Optional target app. API-key callers may omit it (their key's app is used)
10036
+ * or pass their own app; a different app is rejected with PermissionDenied.
10037
+ * Portal/JWT callers pass it to create in a specific app in their org;
10038
+ * omitted selects the org's first active app.
10039
+ *
10040
+ * @generated from field: optional string app_id = 16;
10041
+ */
10042
+ appId?: string;
10050
10043
  constructor(data?: PartialMessage<CreatePresetRequest>);
10051
10044
  static readonly runtime: typeof proto3;
10052
10045
  static readonly typeName = "transcodely.v1.CreatePresetRequest";
@@ -10203,6 +10196,16 @@ declare class ListPresetsRequest extends Message<ListPresetsRequest> {
10203
10196
  * @generated from field: transcodely.v1.PaginationRequest pagination = 5;
10204
10197
  */
10205
10198
  pagination?: PaginationRequest;
10199
+ /**
10200
+ * Optional app filter for custom presets. API-key callers may omit it (their
10201
+ * key's app is used) or pass their own app; a different app is rejected with
10202
+ * PermissionDenied. Portal/JWT callers pass it to scope custom presets to a
10203
+ * specific app in their org; omitted spans all apps in the org. System
10204
+ * presets are unaffected (governed by include_system).
10205
+ *
10206
+ * @generated from field: optional string app_id = 7;
10207
+ */
10208
+ appId?: string;
10206
10209
  constructor(data?: PartialMessage<ListPresetsRequest>);
10207
10210
  static readonly runtime: typeof proto3;
10208
10211
  static readonly typeName = "transcodely.v1.ListPresetsRequest";
@@ -11037,7 +11040,7 @@ declare class Transcodely {
11037
11040
  }
11038
11041
 
11039
11042
  /** SDK version. Bumped by release-please from package.json on each tag. */
11040
- declare const SDK_VERSION = "0.1.4";
11043
+ declare const SDK_VERSION = "0.3.0";
11041
11044
  /**
11042
11045
  * API version this SDK release is pinned to. Sent on every request as
11043
11046
  * `Transcodely-Version`. Customers can override per-client via the
@@ -11047,4 +11050,4 @@ declare const API_VERSION = "2026-05-03";
11047
11050
  /** Default base URL for the production Transcodely API. */
11048
11051
  declare const DEFAULT_BASE_URL = "https://api.transcodely.com";
11049
11052
 
11050
- export { APIConnectionError, APIError, Event as APIEvent, APIKey, APIKeyEnvironment, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BitrateMode, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, CheckSlugRequest, CheckSlugResponse, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookConfig, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, ErrorDetails, type EventBase, ExecutionTiming, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, GetPresetBySlugRequest, GetPresetBySlugResponse, GetPresetRequest, GetPresetResponse, GetUploadPartUrlsRequest, GetUploadPartUrlsResponse, GetUsageRequest, GetUsageResponse, GetUserRequest, GetUserResponse, GetVideoRequest, GetVideoResponse, H264Options, H265Options, HDRConfig, HDRFormat, HDRMode, HLSConfig, HLSPlaylistType, HLSSegmentFormat, HealthBucket, HostingConfig, HttpCredentials, HttpOriginConfig, InputMetadata, InvalidRequestError, Job, JobOutput, JobPriority, JobStatus, KeyServerConfig, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputSpec, OutputStatus, Page, PaginationRequest, PaginationResponse, PermissionError, PreconditionError, Preset, PresetVariant, PricingSnapshot, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleStreamInfo, SubtitleTrack, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, Transcodely, type TranscodelyConfig, TranscodelyError, UpdateAppRequest, UpdateAppResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookConfig, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadPart, UsageSummary, User, UserApprovalStatus, UserOrganization, UserStatus, UserWithOrganizations, VP9Options, ValidateOriginRequest, ValidateOriginResponse, ValidationResult, VariantPricingSnapshot, type VerifyOptions, Video, VideoCodec, VideoRendition, VideoSettings, VideoStatus, VideoStreamInfo, VideoVariant, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WatchJobRequest, WatchJobResponse, WatchVideoRequest, WatchVideoResponse, WebhookConfig, WebhookDelivery, WebhookEndpoint, WebhookError, type WebhookEvent, type WebhookEventType, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, constructEvent, verifySignature };
11053
+ export { APIConnectionError, APIError, Event as APIEvent, APIKey, API_VERSION, AV1Options, AbortMultipartUploadRequest, App, AppStatus, ArchiveAppRequest, ArchiveOriginRequest, ArchivePresetRequest, AudioCodec, AudioSettings, AudioStreamInfo, AudioTrackConfig, AuthenticationError, AutoABRConfig, AutoProfileDefaults, BYOKConfig, BitrateMode, BurnInStyle, type CallOptions, CancelJobRequest, CancelJobResponse, CheckSlugRequest, CheckSlugResponse, CompleteMultipartUploadRequest, CompleteMultipartUploadResponse, CompleteUploadRequest, CompleteUploadResponse, CompletedPart, ConfirmJobRequest, ConfirmJobResponse, ConflictError, Container, ContentAnalysis, ContentAwareConfig, ContentAwareMode, ContentType, CreateAPIKeyRequest, CreateAPIKeyResponse, CreateAppRequest, CreateAppResponse, CreateJobRequest, CreateJobResponse, CreateMultipartUploadRequest, CreateMultipartUploadResponse, CreateOrganizationRequest, CreateOrganizationResponse, CreateOriginRequest, CreateOriginResponse, CreatePresetRequest, CreatePresetResponse, CreateUploadRequest, CreateUploadResponse, CreateWebhookEndpointRequest, CreateWebhookEndpointResponse, DASHConfig, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMConfig, DRMSystem, DeleteVideoRequest, DeleteWebhookEndpointRequest, DeleteWebhookEndpointResponse, DeliveryFormat, DuplicatePresetRequest, DuplicatePresetResponse, EVENT_ID_HEADER, EnableHostingRequest, EnableHostingResponse, EncryptionScheme, ErrorDetails, type EventBase, ExecutionTiming, type FieldViolation, GOPAlignmentMode, GcsCredentials, GcsOriginConfig, GetAPIKeyRequest, GetAPIKeyResponse, GetAppRequest, GetAppResponse, GetEndpointHealthRequest, GetEndpointHealthResponse, GetJobRequest, GetJobResponse, GetMeRequest, GetMeResponse, GetMembershipRequest, GetMembershipResponse, GetOrganizationRequest, GetOrganizationResponse, GetOriginRequest, GetOriginResponse, GetPresetBySlugRequest, GetPresetBySlugResponse, GetPresetRequest, GetPresetResponse, GetUploadPartUrlsRequest, GetUploadPartUrlsResponse, GetUsageRequest, GetUsageResponse, GetUserRequest, GetUserResponse, GetVideoRequest, GetVideoResponse, H264Options, H265Options, HDRConfig, HDRFormat, HDRMode, HLSConfig, HLSPlaylistType, HLSSegmentFormat, HealthBucket, HostingConfig, HttpCredentials, HttpOriginConfig, InputMetadata, InvalidRequestError, Job, JobOutput, JobPriority, JobStatus, KeyServerConfig, ListAPIKeysRequest, ListAPIKeysResponse, ListAppsRequest, ListAppsResponse, ListEventsRequest, ListEventsResponse, ListJobsRequest, ListJobsResponse, ListMembershipsRequest, ListMembershipsResponse, ListOrganizationsRequest, ListOrganizationsResponse, ListOriginsRequest, ListOriginsResponse, ListPresetsRequest, ListPresetsResponse, ListUsersRequest, ListUsersResponse, ListVideosRequest, ListVideosResponse, ListWebhookDeliveriesRequest, ListWebhookDeliveriesResponse, ListWebhookEndpointsRequest, ListWebhookEndpointsResponse, type LogEvent, Membership, MembershipRole, MembershipStatus, MembershipWithUser, NotFoundError, Organization, OrganizationStatus, Origin, OriginPermission, OriginProvider, OriginRef, OriginStatus, OutputFormat, OutputSpec, OutputStatus, OutputVariantResult, Page, PaginationRequest, PaginationResponse, PermissionError, PreconditionError, Preset, PresetVariant, PricingSnapshot, QualityTier, R2Jurisdiction, R2OriginConfig, RateLimitError, RemoveMembershipRequest, ResendEventRequest, ResendEventResponse, Resolution, RetrieveEventRequest, RetrieveEventResponse, RetrieveWebhookEndpointRequest, RetrieveWebhookEndpointResponse, RevokeAPIKeyRequest, RotateWebhookSecretRequest, RotateWebhookSecretResponse, S3Credentials, S3OriginConfig, SDK_VERSION, SIGNATURE_HEADER, SegmentConfig, SendTestWebhookRequest, SendTestWebhookResponse, StreamingConfig, SubtitleFormat, SubtitleOperation, SubtitleStreamInfo, SubtitleTrack, ThumbnailFormat, ThumbnailMode, ThumbnailResult, ThumbnailSpec, ToneMapping, Transcodely, type TranscodelyConfig, TranscodelyError, UpdateAppRequest, UpdateAppResponse, UpdateHostingConfigRequest, UpdateHostingConfigResponse, UpdateMeRequest, UpdateMeResponse, UpdateMembershipRoleRequest, UpdateMembershipRoleResponse, UpdateOrganizationRequest, UpdateOrganizationResponse, UpdateOriginRequest, UpdateOriginResponse, UpdatePresetRequest, UpdatePresetResponse, UpdateVideoRequest, UpdateVideoResponse, UpdateWebhookEndpointRequest, UpdateWebhookEndpointResponse, UploadPart, UsageSummary, User, UserApprovalStatus, UserOrganization, UserStatus, UserWithOrganizations, VP9Options, ValidateOriginRequest, ValidateOriginResponse, ValidationResult, VariantPricingSnapshot, type VerifyOptions, Video, VideoCodec, VideoRendition, VideoSettings, VideoStatus, VideoStreamInfo, VideoVariant, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WatchJobRequest, WatchJobResponse, WatchVideoRequest, WatchVideoResponse, WebhookDelivery, WebhookEndpoint, WebhookError, type WebhookEvent, type WebhookEventType, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, constructEvent, verifySignature };