@transcodely/sdk 0.1.4 → 0.2.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.mjs CHANGED
@@ -355,17 +355,6 @@ var FieldViolation = class _FieldViolation extends Message {
355
355
  };
356
356
 
357
357
  // src/gen/transcodely/v1/api_key_pb.ts
358
- var APIKeyEnvironment = /* @__PURE__ */ ((APIKeyEnvironment2) => {
359
- APIKeyEnvironment2[APIKeyEnvironment2["API_KEY_ENVIRONMENT_UNSPECIFIED"] = 0] = "API_KEY_ENVIRONMENT_UNSPECIFIED";
360
- APIKeyEnvironment2[APIKeyEnvironment2["API_KEY_ENVIRONMENT_LIVE"] = 1] = "API_KEY_ENVIRONMENT_LIVE";
361
- APIKeyEnvironment2[APIKeyEnvironment2["API_KEY_ENVIRONMENT_TEST"] = 2] = "API_KEY_ENVIRONMENT_TEST";
362
- return APIKeyEnvironment2;
363
- })(APIKeyEnvironment || {});
364
- proto3.util.setEnumType(APIKeyEnvironment, "transcodely.v1.APIKeyEnvironment", [
365
- { no: 0, name: "API_KEY_ENVIRONMENT_UNSPECIFIED" },
366
- { no: 1, name: "API_KEY_ENVIRONMENT_LIVE" },
367
- { no: 2, name: "API_KEY_ENVIRONMENT_TEST" }
368
- ]);
369
358
  var APIKey = class _APIKey extends Message {
370
359
  /**
371
360
  * Unique API key identifier (e.g., "ak_a1b2c3d4...").
@@ -386,7 +375,7 @@ var APIKey = class _APIKey extends Message {
386
375
  */
387
376
  description = "";
388
377
  /**
389
- * Key prefix for identification (e.g., "ak_live_" or "ak_test_").
378
+ * Key prefix for identification (e.g., "ak_...").
390
379
  * Safe to display in logs and dashboards.
391
380
  *
392
381
  * @generated from field: string key_prefix = 4;
@@ -399,12 +388,6 @@ var APIKey = class _APIKey extends Message {
399
388
  * @generated from field: string key_hint = 5;
400
389
  */
401
390
  keyHint = "";
402
- /**
403
- * Environment the key is valid for.
404
- *
405
- * @generated from field: transcodely.v1.APIKeyEnvironment environment = 6;
406
- */
407
- environment = 0 /* API_KEY_ENVIRONMENT_UNSPECIFIED */;
408
391
  /**
409
392
  * Permission scopes (empty means full access).
410
393
  * Future: granular permissions like "jobs:read", "jobs:write".
@@ -484,7 +467,6 @@ var APIKey = class _APIKey extends Message {
484
467
  T: 9
485
468
  /* ScalarType.STRING */
486
469
  },
487
- { no: 6, name: "environment", kind: "enum", T: proto3.getEnumType(APIKeyEnvironment) },
488
470
  { no: 7, name: "scopes", kind: "scalar", T: 9, repeated: true },
489
471
  { no: 8, name: "last_used_at", kind: "message", T: Timestamp, opt: true },
490
472
  { no: 9, name: "expires_at", kind: "message", T: Timestamp, opt: true },
@@ -524,12 +506,6 @@ var CreateAPIKeyRequest = class _CreateAPIKeyRequest extends Message {
524
506
  * @generated from field: string description = 2;
525
507
  */
526
508
  description = "";
527
- /**
528
- * Environment for the key.
529
- *
530
- * @generated from field: transcodely.v1.APIKeyEnvironment environment = 3;
531
- */
532
- environment = 0 /* API_KEY_ENVIRONMENT_UNSPECIFIED */;
533
509
  /**
534
510
  * Optional expiration time. Null means the key never expires.
535
511
  *
@@ -564,7 +540,6 @@ var CreateAPIKeyRequest = class _CreateAPIKeyRequest extends Message {
564
540
  T: 9
565
541
  /* ScalarType.STRING */
566
542
  },
567
- { no: 3, name: "environment", kind: "enum", T: proto3.getEnumType(APIKeyEnvironment) },
568
543
  { no: 4, name: "expires_at", kind: "message", T: Timestamp, opt: true },
569
544
  {
570
545
  no: 5,
@@ -696,12 +671,6 @@ var GetAPIKeyResponse = class _GetAPIKeyResponse extends Message {
696
671
  }
697
672
  };
698
673
  var ListAPIKeysRequest = class _ListAPIKeysRequest extends Message {
699
- /**
700
- * Optional filter by environment.
701
- *
702
- * @generated from field: optional transcodely.v1.APIKeyEnvironment environment = 1;
703
- */
704
- environment;
705
674
  /**
706
675
  * If true, include revoked keys in the response.
707
676
  *
@@ -721,7 +690,6 @@ var ListAPIKeysRequest = class _ListAPIKeysRequest extends Message {
721
690
  static runtime = proto3;
722
691
  static typeName = "transcodely.v1.ListAPIKeysRequest";
723
692
  static fields = proto3.util.newFieldList(() => [
724
- { no: 1, name: "environment", kind: "enum", T: proto3.getEnumType(APIKeyEnvironment), opt: true },
725
693
  {
726
694
  no: 2,
727
695
  name: "include_revoked",
@@ -2377,13 +2345,6 @@ var Event = class _Event extends Message {
2377
2345
  * @generated from field: string api_version = 8;
2378
2346
  */
2379
2347
  apiVersion = "";
2380
- /**
2381
- * True when the event was emitted from production (live mode) traffic.
2382
- * Reserved for a future test-mode concept; always `true` today.
2383
- *
2384
- * @generated from field: bool livemode = 9;
2385
- */
2386
- livemode = false;
2387
2348
  /**
2388
2349
  * Resource type discriminator. Always "event" for this message.
2389
2350
  * Mirrored into the webhook envelope as the top-level `object`.
@@ -2442,13 +2403,6 @@ var Event = class _Event extends Message {
2442
2403
  T: 9
2443
2404
  /* ScalarType.STRING */
2444
2405
  },
2445
- {
2446
- no: 9,
2447
- name: "livemode",
2448
- kind: "scalar",
2449
- T: 8
2450
- /* ScalarType.BOOL */
2451
- },
2452
2406
  {
2453
2407
  no: 10,
2454
2408
  name: "object",
@@ -2490,8 +2444,11 @@ var WebhookDelivery = class _WebhookDelivery extends Message {
2490
2444
  */
2491
2445
  eventId = "";
2492
2446
  /**
2493
- * Delivery status: "pending", "succeeded", or "failed".
2494
- * Wire value is lowercase per project convention.
2447
+ * Delivery status: "pending", "succeeded", "failed", or "exhausted".
2448
+ * "exhausted" means the retry curve ran out (attempt 15) without a success;
2449
+ * "failed" is a single failed attempt (a retry may still be scheduled) or an
2450
+ * early stop on a non-retryable 4xx. Wire value is lowercase per project
2451
+ * convention.
2495
2452
  *
2496
2453
  * @generated from field: string status = 4;
2497
2454
  */
@@ -2544,7 +2501,8 @@ var WebhookDelivery = class _WebhookDelivery extends Message {
2544
2501
  latencyMs;
2545
2502
  /**
2546
2503
  * Reason a response was not received. Absent when response_status is set.
2547
- * One of: "timeout", "connection_refused", "dns_failure",
2504
+ * One of: "timeout", "connection_refused", "connection_reset",
2505
+ * "connection_closed", "host_unreachable", "dns_failure",
2548
2506
  * "tls_handshake_failed", "ssrf_blocked", "unknown".
2549
2507
  * Wire value is lowercase per project convention.
2550
2508
  *
@@ -2563,6 +2521,15 @@ var WebhookDelivery = class _WebhookDelivery extends Message {
2563
2521
  * @generated from field: optional string response_headers = 13;
2564
2522
  */
2565
2523
  responseHeaders;
2524
+ /**
2525
+ * Human-readable detail for the failure: the transport error text when
2526
+ * transport_error is set, or "non-2xx response: <status>" for a completed
2527
+ * request that the endpoint rejected. Absent for pending or succeeded
2528
+ * deliveries.
2529
+ *
2530
+ * @generated from field: optional string error_message = 14;
2531
+ */
2532
+ errorMessage;
2566
2533
  constructor(data) {
2567
2534
  super();
2568
2535
  proto3.util.initPartial(data, this);
@@ -2612,7 +2579,8 @@ var WebhookDelivery = class _WebhookDelivery extends Message {
2612
2579
  { no: 10, name: "updated_at", kind: "message", T: Timestamp },
2613
2580
  { no: 11, name: "latency_ms", kind: "scalar", T: 5, opt: true },
2614
2581
  { no: 12, name: "transport_error", kind: "scalar", T: 9, opt: true },
2615
- { no: 13, name: "response_headers", kind: "scalar", T: 9, opt: true }
2582
+ { no: 13, name: "response_headers", kind: "scalar", T: 9, opt: true },
2583
+ { no: 14, name: "error_message", kind: "scalar", T: 9, opt: true }
2616
2584
  ]);
2617
2585
  static fromBinary(bytes, options) {
2618
2586
  return new _WebhookDelivery().fromBinary(bytes, options);
@@ -3436,7 +3404,7 @@ var ListWebhookDeliveriesRequest = class _ListWebhookDeliveriesRequest extends M
3436
3404
  */
3437
3405
  eventId;
3438
3406
  /**
3439
- * Filter by status: "pending", "succeeded", or "failed".
3407
+ * Filter by status: "pending", "succeeded", "failed", or "exhausted".
3440
3408
  *
3441
3409
  * @generated from field: optional string status = 3;
3442
3410
  */
@@ -6973,13 +6941,16 @@ var VideoStreamInfo = class _VideoStreamInfo extends Message {
6973
6941
  */
6974
6942
  codec = "";
6975
6943
  /**
6976
- * Frame width in pixels.
6944
+ * Frame width in pixels, as displayed (container rotation applied).
6945
+ * For a portrait phone recording stored as 1920x1440 with a 90° rotation
6946
+ * side-matrix this is 1440 — matching the media players render and the
6947
+ * outputs Transcodely produces. See `rotation` for the stored orientation.
6977
6948
  *
6978
6949
  * @generated from field: int32 width = 2;
6979
6950
  */
6980
6951
  width = 0;
6981
6952
  /**
6982
- * Frame height in pixels.
6953
+ * Frame height in pixels, as displayed (container rotation applied).
6983
6954
  *
6984
6955
  * @generated from field: int32 height = 3;
6985
6956
  */
@@ -7051,7 +7022,9 @@ var VideoStreamInfo = class _VideoStreamInfo extends Message {
7051
7022
  */
7052
7023
  frameCount;
7053
7024
  /**
7054
- * Display aspect ratio as string (e.g., "16:9", "2.35:1").
7025
+ * Display aspect ratio as string (e.g., "16:9", "2.35:1"), rotation-aware:
7026
+ * for a 90°/270° rotated stream the ratio describes the displayed frame
7027
+ * (consistent with width/height above), not the coded one.
7055
7028
  *
7056
7029
  * @generated from field: optional string display_aspect_ratio = 15;
7057
7030
  */
@@ -7062,6 +7035,16 @@ var VideoStreamInfo = class _VideoStreamInfo extends Message {
7062
7035
  * @generated from field: optional string sample_aspect_ratio = 16;
7063
7036
  */
7064
7037
  sampleAspectRatio;
7038
+ /**
7039
+ * Container-level rotation metadata in degrees clockwise: 0, 90, 180 or
7040
+ * 270. Parsed from the display-matrix side data (or legacy rotate tag).
7041
+ * width/height/display_aspect_ratio already have this rotation applied;
7042
+ * the field is informational so callers can recover the coded orientation.
7043
+ * Absent when the stream carries no rotation metadata.
7044
+ *
7045
+ * @generated from field: optional int32 rotation = 17;
7046
+ */
7047
+ rotation;
7065
7048
  constructor(data) {
7066
7049
  super();
7067
7050
  proto3.util.initPartial(data, this);
@@ -7126,7 +7109,8 @@ var VideoStreamInfo = class _VideoStreamInfo extends Message {
7126
7109
  { no: 13, name: "interlaced", kind: "scalar", T: 8, opt: true },
7127
7110
  { no: 14, name: "frame_count", kind: "scalar", T: 3, opt: true },
7128
7111
  { no: 15, name: "display_aspect_ratio", kind: "scalar", T: 9, opt: true },
7129
- { no: 16, name: "sample_aspect_ratio", kind: "scalar", T: 9, opt: true }
7112
+ { no: 16, name: "sample_aspect_ratio", kind: "scalar", T: 9, opt: true },
7113
+ { no: 17, name: "rotation", kind: "scalar", T: 5, opt: true }
7130
7114
  ]);
7131
7115
  static fromBinary(bytes, options) {
7132
7116
  return new _VideoStreamInfo().fromBinary(bytes, options);
@@ -8604,6 +8588,38 @@ var JobOutput = class _JobOutput extends Message {
8604
8588
  * @generated from field: string object = 21;
8605
8589
  */
8606
8590
  object = "";
8591
+ /**
8592
+ * Actual encoded frame width in pixels, measured from the produced media
8593
+ * (rotation applied, so it matches what players display). For multi-variant
8594
+ * outputs (ABR ladders) this is the highest-resolution variant's width;
8595
+ * per-variant dimensions are in variant_results. Set when completed.
8596
+ *
8597
+ * @generated from field: optional int32 width = 22;
8598
+ */
8599
+ width;
8600
+ /**
8601
+ * Actual encoded frame height in pixels (see width for semantics).
8602
+ *
8603
+ * @generated from field: optional int32 height = 23;
8604
+ */
8605
+ height;
8606
+ /**
8607
+ * Measured average bitrate of the encoded output in kbps
8608
+ * (total bytes × 8 / encoded duration). For multi-variant outputs this
8609
+ * aggregates all variants; per-variant bitrates are in variant_results.
8610
+ * Set when completed.
8611
+ *
8612
+ * @generated from field: optional int32 average_bitrate_kbps = 24;
8613
+ */
8614
+ averageBitrateKbps;
8615
+ /**
8616
+ * Per-variant encode results for multi-variant outputs (ABR ladders),
8617
+ * indexed like variant_pricing. Empty for single-variant outputs (use
8618
+ * width/height/average_bitrate_kbps instead). Set when completed.
8619
+ *
8620
+ * @generated from field: repeated transcodely.v1.OutputVariantResult variant_results = 25;
8621
+ */
8622
+ variantResults = [];
8607
8623
  constructor(data) {
8608
8624
  super();
8609
8625
  proto3.util.initPartial(data, this);
@@ -8647,7 +8663,11 @@ var JobOutput = class _JobOutput extends Message {
8647
8663
  kind: "scalar",
8648
8664
  T: 9
8649
8665
  /* ScalarType.STRING */
8650
- }
8666
+ },
8667
+ { no: 22, name: "width", kind: "scalar", T: 5, opt: true },
8668
+ { no: 23, name: "height", kind: "scalar", T: 5, opt: true },
8669
+ { no: 24, name: "average_bitrate_kbps", kind: "scalar", T: 5, opt: true },
8670
+ { no: 25, name: "variant_results", kind: "message", T: OutputVariantResult, repeated: true }
8651
8671
  ]);
8652
8672
  static fromBinary(bytes, options) {
8653
8673
  return new _JobOutput().fromBinary(bytes, options);
@@ -8662,6 +8682,81 @@ var JobOutput = class _JobOutput extends Message {
8662
8682
  return proto3.util.equals(_JobOutput, a, b);
8663
8683
  }
8664
8684
  };
8685
+ var OutputVariantResult = class _OutputVariantResult extends Message {
8686
+ /**
8687
+ * Variant index within the output (0-based).
8688
+ *
8689
+ * @generated from field: int32 index = 1;
8690
+ */
8691
+ index = 0;
8692
+ /**
8693
+ * Actual encoded frame width in pixels.
8694
+ *
8695
+ * @generated from field: int32 width = 2;
8696
+ */
8697
+ width = 0;
8698
+ /**
8699
+ * Actual encoded frame height in pixels.
8700
+ *
8701
+ * @generated from field: int32 height = 3;
8702
+ */
8703
+ height = 0;
8704
+ /**
8705
+ * Measured average bitrate for this variant in kbps.
8706
+ *
8707
+ * @generated from field: optional int32 average_bitrate_kbps = 4;
8708
+ */
8709
+ averageBitrateKbps;
8710
+ /**
8711
+ * Total encoded size of this variant in bytes.
8712
+ *
8713
+ * @generated from field: optional int64 size_bytes = 5;
8714
+ */
8715
+ sizeBytes;
8716
+ constructor(data) {
8717
+ super();
8718
+ proto3.util.initPartial(data, this);
8719
+ }
8720
+ static runtime = proto3;
8721
+ static typeName = "transcodely.v1.OutputVariantResult";
8722
+ static fields = proto3.util.newFieldList(() => [
8723
+ {
8724
+ no: 1,
8725
+ name: "index",
8726
+ kind: "scalar",
8727
+ T: 5
8728
+ /* ScalarType.INT32 */
8729
+ },
8730
+ {
8731
+ no: 2,
8732
+ name: "width",
8733
+ kind: "scalar",
8734
+ T: 5
8735
+ /* ScalarType.INT32 */
8736
+ },
8737
+ {
8738
+ no: 3,
8739
+ name: "height",
8740
+ kind: "scalar",
8741
+ T: 5
8742
+ /* ScalarType.INT32 */
8743
+ },
8744
+ { no: 4, name: "average_bitrate_kbps", kind: "scalar", T: 5, opt: true },
8745
+ { no: 5, name: "size_bytes", kind: "scalar", T: 3, opt: true }
8746
+ ]);
8747
+ static fromBinary(bytes, options) {
8748
+ return new _OutputVariantResult().fromBinary(bytes, options);
8749
+ }
8750
+ static fromJson(jsonValue, options) {
8751
+ return new _OutputVariantResult().fromJson(jsonValue, options);
8752
+ }
8753
+ static fromJsonString(jsonString, options) {
8754
+ return new _OutputVariantResult().fromJsonString(jsonString, options);
8755
+ }
8756
+ static equals(a, b) {
8757
+ return proto3.util.equals(_OutputVariantResult, a, b);
8758
+ }
8759
+ };
8665
8760
  var ExecutionTiming = class _ExecutionTiming extends Message {
8666
8761
  /**
8667
8762
  * Worker instance details
@@ -11503,7 +11598,6 @@ function protoEventToSdk(proto) {
11503
11598
  created: proto.createdAt ? proto.createdAt.toDate().toISOString() : "",
11504
11599
  type: proto.type,
11505
11600
  data,
11506
- livemode: proto.livemode,
11507
11601
  pendingWebhooks: proto.pendingWebhooks,
11508
11602
  // proto Event carries only `request_id`; `idempotency_key` is always
11509
11603
  // null until JobService.Create propagates it (out-of-scope feature).
@@ -11855,7 +11949,7 @@ function backoff(attempt) {
11855
11949
  }
11856
11950
 
11857
11951
  // src/version.ts
11858
- var SDK_VERSION = "0.1.4";
11952
+ var SDK_VERSION = "0.2.0";
11859
11953
  var API_VERSION = "2026-05-03";
11860
11954
  var DEFAULT_BASE_URL = "https://api.transcodely.com";
11861
11955
 
@@ -16228,13 +16322,6 @@ function requireString(obj, key) {
16228
16322
  }
16229
16323
  return v;
16230
16324
  }
16231
- function requireBoolean(obj, key) {
16232
- const v = obj[key];
16233
- if (typeof v !== "boolean") {
16234
- throw new WebhookPayloadError(`Webhook envelope field \`${key}\` must be a boolean`);
16235
- }
16236
- return v;
16237
- }
16238
16325
  function requireNumber(obj, key) {
16239
16326
  const v = obj[key];
16240
16327
  if (typeof v !== "number" || !Number.isFinite(v)) {
@@ -16253,7 +16340,6 @@ function buildEvent(parsed) {
16253
16340
  const apiVersion = requireString(parsed, "api_version");
16254
16341
  const created = requireString(parsed, "created");
16255
16342
  const type = requireString(parsed, "type");
16256
- const livemode = requireBoolean(parsed, "livemode");
16257
16343
  const pendingWebhooks = requireNumber(parsed, "pending_webhooks");
16258
16344
  const dataRaw = parsed["data"];
16259
16345
  if (!isPlainObject(dataRaw)) {
@@ -16284,7 +16370,6 @@ function buildEvent(parsed) {
16284
16370
  created,
16285
16371
  type,
16286
16372
  data,
16287
- livemode,
16288
16373
  pendingWebhooks,
16289
16374
  request: { id: requestIdRaw, idempotencyKey: idempotencyKeyRaw }
16290
16375
  };
@@ -16372,6 +16457,6 @@ var Transcodely = class {
16372
16457
  Transcodely.API_VERSION = API_VERSION;
16373
16458
  Transcodely.SDK_VERSION = SDK_VERSION;
16374
16459
 
16375
- export { APIConnectionError, APIError, APIKeyEnvironment, API_VERSION, AppStatus, AudioCodec, AuthenticationError, BitrateMode, ConflictError, Container, ContentAwareMode, ContentType, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMSystem, DeliveryFormat, EVENT_ID_HEADER, EncryptionScheme, GOPAlignmentMode, HDRFormat, HDRMode, HLSPlaylistType, HLSSegmentFormat, InvalidRequestError, JobPriority, JobStatus, MembershipRole, MembershipStatus, NotFoundError, OrganizationStatus, OriginPermission, OriginProvider, OriginStatus, OutputFormat, OutputStatus, Page, PermissionError, PreconditionError, QualityTier, R2Jurisdiction, RateLimitError, Resolution, SDK_VERSION, SIGNATURE_HEADER, SubtitleFormat, SubtitleOperation, ThumbnailFormat, ThumbnailMode, ToneMapping, Transcodely, TranscodelyError, UserApprovalStatus, UserStatus, VideoCodec, VideoStatus, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WebhookError, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, constructEvent, verifySignature };
16460
+ export { APIConnectionError, APIError, API_VERSION, AppStatus, AudioCodec, AuthenticationError, BitrateMode, ConflictError, Container, ContentAwareMode, ContentType, DEFAULT_BASE_URL, DEFAULT_TOLERANCE_SECONDS, DRMSystem, DeliveryFormat, EVENT_ID_HEADER, EncryptionScheme, GOPAlignmentMode, HDRFormat, HDRMode, HLSPlaylistType, HLSSegmentFormat, InvalidRequestError, JobPriority, JobStatus, MembershipRole, MembershipStatus, NotFoundError, OrganizationStatus, OriginPermission, OriginProvider, OriginStatus, OutputFormat, OutputStatus, Page, PermissionError, PreconditionError, QualityTier, R2Jurisdiction, RateLimitError, Resolution, SDK_VERSION, SIGNATURE_HEADER, SubtitleFormat, SubtitleOperation, ThumbnailFormat, ThumbnailMode, ToneMapping, Transcodely, TranscodelyError, UserApprovalStatus, UserStatus, VideoCodec, VideoStatus, VideoVisibility, WEBHOOK_EVENT_TYPES, WatchEventType, WebhookError, WebhookPayloadError, WebhookSignatureError, WebhookTimestampError, Webhooks, constructEvent, verifySignature };
16376
16461
  //# sourceMappingURL=index.mjs.map
16377
16462
  //# sourceMappingURL=index.mjs.map