@atproto/api 0.20.39 → 0.20.40

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.
Files changed (40) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/client/index.d.ts +43 -0
  3. package/dist/client/index.d.ts.map +1 -1
  4. package/dist/client/index.js +86 -0
  5. package/dist/client/index.js.map +1 -1
  6. package/dist/client/lexicons.d.ts +782 -2
  7. package/dist/client/lexicons.d.ts.map +1 -1
  8. package/dist/client/lexicons.js +454 -1
  9. package/dist/client/lexicons.js.map +1 -1
  10. package/dist/client/types/app/bsky/actor/contentVisibilityDeclaration.d.ts +14 -0
  11. package/dist/client/types/app/bsky/actor/contentVisibilityDeclaration.d.ts.map +1 -0
  12. package/dist/client/types/app/bsky/actor/contentVisibilityDeclaration.js +18 -0
  13. package/dist/client/types/app/bsky/actor/contentVisibilityDeclaration.js.map +1 -0
  14. package/dist/client/types/app/bsky/video/abortUpload.d.ts +34 -0
  15. package/dist/client/types/app/bsky/video/abortUpload.d.ts.map +1 -0
  16. package/dist/client/types/app/bsky/video/abortUpload.js +30 -0
  17. package/dist/client/types/app/bsky/video/abortUpload.js.map +1 -0
  18. package/dist/client/types/app/bsky/video/defs.d.ts +1 -1
  19. package/dist/client/types/app/bsky/video/defs.d.ts.map +1 -1
  20. package/dist/client/types/app/bsky/video/defs.js.map +1 -1
  21. package/dist/client/types/app/bsky/video/finishUpload.d.ts +51 -0
  22. package/dist/client/types/app/bsky/video/finishUpload.d.ts.map +1 -0
  23. package/dist/client/types/app/bsky/video/finishUpload.js +72 -0
  24. package/dist/client/types/app/bsky/video/finishUpload.js.map +1 -0
  25. package/dist/client/types/app/bsky/video/getUploadStatus.d.ts +36 -0
  26. package/dist/client/types/app/bsky/video/getUploadStatus.d.ts.map +1 -0
  27. package/dist/client/types/app/bsky/video/getUploadStatus.js +23 -0
  28. package/dist/client/types/app/bsky/video/getUploadStatus.js.map +1 -0
  29. package/dist/client/types/app/bsky/video/startUpload.d.ts +62 -0
  30. package/dist/client/types/app/bsky/video/startUpload.d.ts.map +1 -0
  31. package/dist/client/types/app/bsky/video/startUpload.js +72 -0
  32. package/dist/client/types/app/bsky/video/startUpload.js.map +1 -0
  33. package/dist/client/types/app/bsky/video/uploadPart.d.ts +53 -0
  34. package/dist/client/types/app/bsky/video/uploadPart.d.ts.map +1 -0
  35. package/dist/client/types/app/bsky/video/uploadPart.js +79 -0
  36. package/dist/client/types/app/bsky/video/uploadPart.js.map +1 -0
  37. package/dist/moderation/const/labels.d.ts +1 -1
  38. package/dist/moderation/const/labels.d.ts.map +1 -1
  39. package/dist/moderation/const/labels.js.map +1 -1
  40. package/package.json +4 -4
@@ -3,6 +3,27 @@
3
3
  */
4
4
  import { Lexicons, type ValidationResult } from '@atproto/lexicon';
5
5
  export declare const schemaDict: {
6
+ readonly AppBskyActorContentVisibilityDeclaration: {
7
+ readonly lexicon: 1;
8
+ readonly id: 'app.bsky.actor.contentVisibilityDeclaration';
9
+ readonly defs: {
10
+ readonly main: {
11
+ readonly type: 'record';
12
+ readonly description: "A declaration of an account's preferences for appearing in content discovery surfaces.";
13
+ readonly key: 'literal:self';
14
+ readonly record: {
15
+ readonly type: 'object';
16
+ readonly required: ["hideFromAlgorithmicRecommendations"];
17
+ readonly properties: {
18
+ readonly hideFromAlgorithmicRecommendations: {
19
+ readonly type: 'boolean';
20
+ readonly description: 'Whether the account requests that its posts be hidden from algorithmic recommendations. Consumers must treat a missing record as false.';
21
+ };
22
+ };
23
+ };
24
+ };
25
+ };
26
+ };
6
27
  readonly AppBskyActorDefs: {
7
28
  readonly lexicon: 1;
8
29
  readonly id: 'app.bsky.actor.defs';
@@ -9543,6 +9564,62 @@ export declare const schemaDict: {
9543
9564
  };
9544
9565
  };
9545
9566
  };
9567
+ readonly AppBskyVideoAbortUpload: {
9568
+ readonly lexicon: 1;
9569
+ readonly id: 'app.bsky.video.abortUpload';
9570
+ readonly defs: {
9571
+ readonly main: {
9572
+ readonly type: 'procedure';
9573
+ readonly description: 'Abort an upload only while it is created, releasing its quota reservation immediately. Terminal sessions are unchanged and return their terminal outcome. A finishing session returns UploadNotReady.';
9574
+ readonly input: {
9575
+ readonly encoding: 'application/json';
9576
+ readonly schema: {
9577
+ readonly type: 'object';
9578
+ readonly required: ["jobId"];
9579
+ readonly properties: {
9580
+ readonly jobId: {
9581
+ readonly type: 'string';
9582
+ readonly minLength: 1;
9583
+ readonly maxLength: 256;
9584
+ };
9585
+ };
9586
+ };
9587
+ };
9588
+ readonly output: {
9589
+ readonly encoding: 'application/json';
9590
+ readonly schema: {
9591
+ readonly type: 'object';
9592
+ readonly required: ["state"];
9593
+ readonly properties: {
9594
+ readonly state: {
9595
+ readonly type: 'string';
9596
+ readonly maxLength: 32;
9597
+ readonly knownValues: ["aborted", "completed", "failed", "expired"];
9598
+ };
9599
+ readonly completedJobId: {
9600
+ readonly type: 'string';
9601
+ readonly minLength: 1;
9602
+ readonly maxLength: 256;
9603
+ readonly description: 'Present only when state is completed.';
9604
+ };
9605
+ readonly failureReason: {
9606
+ readonly type: 'string';
9607
+ readonly maxLength: 1024;
9608
+ readonly description: 'Present only when state is failed.';
9609
+ };
9610
+ };
9611
+ };
9612
+ };
9613
+ readonly errors: [{
9614
+ readonly name: 'UploadNotFound';
9615
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions return their outcome and are never reported as not found.';
9616
+ }, {
9617
+ readonly name: 'UploadNotReady';
9618
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
9619
+ }];
9620
+ };
9621
+ };
9622
+ };
9546
9623
  readonly AppBskyVideoDefs: {
9547
9624
  readonly lexicon: 1;
9548
9625
  readonly id: 'app.bsky.video.defs';
@@ -9561,7 +9638,7 @@ export declare const schemaDict: {
9561
9638
  readonly state: {
9562
9639
  readonly type: 'string';
9563
9640
  readonly description: 'The state of the video processing job. All values not listed as a known value indicate that the job is in process.';
9564
- readonly knownValues: ["JOB_STATE_COMPLETED", "JOB_STATE_FAILED"];
9641
+ readonly knownValues: ["JOB_STATE_CREATED", "JOB_STATE_ENCODING", "JOB_STATE_ENCODED", "JOB_STATE_SCANNING", "JOB_STATE_SCANNED", "JOB_STATE_UPLOADING", "JOB_STATE_UPLOADED", "JOB_STATE_COMPLETED", "JOB_STATE_FAILED"];
9565
9642
  };
9566
9643
  readonly progress: {
9567
9644
  readonly type: 'integer';
@@ -9587,6 +9664,74 @@ export declare const schemaDict: {
9587
9664
  };
9588
9665
  };
9589
9666
  };
9667
+ readonly AppBskyVideoFinishUpload: {
9668
+ readonly lexicon: 1;
9669
+ readonly id: 'app.bsky.video.finishUpload';
9670
+ readonly defs: {
9671
+ readonly main: {
9672
+ readonly type: 'procedure';
9673
+ readonly description: 'Finish an upload. This call is idempotent and safe to retry. On deduplication completedJobId may differ from the input jobId; poll getJobStatus with completedJobId. Probe-based validation failures surface later as JOB_STATE_FAILED from getJobStatus, not as errors from this call.';
9674
+ readonly input: {
9675
+ readonly encoding: 'application/json';
9676
+ readonly schema: {
9677
+ readonly type: 'object';
9678
+ readonly required: ["jobId"];
9679
+ readonly properties: {
9680
+ readonly jobId: {
9681
+ readonly type: 'string';
9682
+ readonly minLength: 1;
9683
+ readonly maxLength: 256;
9684
+ };
9685
+ };
9686
+ };
9687
+ };
9688
+ readonly output: {
9689
+ readonly encoding: 'application/json';
9690
+ readonly schema: {
9691
+ readonly type: 'object';
9692
+ readonly required: ["completedJobId", "jobStatus"];
9693
+ readonly properties: {
9694
+ readonly completedJobId: {
9695
+ readonly type: 'string';
9696
+ readonly minLength: 1;
9697
+ readonly maxLength: 256;
9698
+ readonly description: 'The processing job to poll with getJobStatus; on deduplication this may differ from the input jobId.';
9699
+ };
9700
+ readonly jobStatus: {
9701
+ readonly type: 'ref';
9702
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
9703
+ };
9704
+ };
9705
+ };
9706
+ };
9707
+ readonly errors: [{
9708
+ readonly name: 'UploadNotFound';
9709
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
9710
+ }, {
9711
+ readonly name: 'UploadExpired';
9712
+ readonly description: 'The upload session expired before finalization began.';
9713
+ }, {
9714
+ readonly name: 'MissingParts';
9715
+ readonly description: 'Not all parts are recorded; the error message lists the missing part numbers.';
9716
+ }, {
9717
+ readonly name: 'UploadNotReady';
9718
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
9719
+ }, {
9720
+ readonly name: 'UnsupportedContentType';
9721
+ readonly description: "The assembled object's detected content type is not supported.";
9722
+ }, {
9723
+ readonly name: 'UploadFailed';
9724
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
9725
+ }, {
9726
+ readonly name: 'UploadAborted';
9727
+ readonly description: 'The session is known to have been aborted.';
9728
+ }, {
9729
+ readonly name: 'ServiceOverloaded';
9730
+ readonly description: 'The service is draining or temporarily at capacity; retry later.';
9731
+ }];
9732
+ };
9733
+ };
9734
+ };
9590
9735
  readonly AppBskyVideoGetJobStatus: {
9591
9736
  readonly lexicon: 1;
9592
9737
  readonly id: 'app.bsky.video.getJobStatus';
@@ -9653,6 +9798,251 @@ export declare const schemaDict: {
9653
9798
  };
9654
9799
  };
9655
9800
  };
9801
+ readonly AppBskyVideoGetUploadStatus: {
9802
+ readonly lexicon: 1;
9803
+ readonly id: 'app.bsky.video.getUploadStatus';
9804
+ readonly defs: {
9805
+ readonly main: {
9806
+ readonly type: 'query';
9807
+ readonly description: 'Get the authoritative status of the upload phase. Terminal states remain readable. completedJobId and jobStatus are present only for completed sessions; failureReason is present only for failed sessions.';
9808
+ readonly parameters: {
9809
+ readonly type: 'params';
9810
+ readonly required: ["jobId"];
9811
+ readonly properties: {
9812
+ readonly jobId: {
9813
+ readonly type: 'string';
9814
+ readonly minLength: 1;
9815
+ readonly maxLength: 256;
9816
+ };
9817
+ };
9818
+ };
9819
+ readonly output: {
9820
+ readonly encoding: 'application/json';
9821
+ readonly schema: {
9822
+ readonly type: 'object';
9823
+ readonly required: ["jobId", "partSizeBytes", "partCount", "receivedParts", "expiresAt", "state"];
9824
+ readonly properties: {
9825
+ readonly jobId: {
9826
+ readonly type: 'string';
9827
+ readonly minLength: 1;
9828
+ readonly maxLength: 256;
9829
+ };
9830
+ readonly partSizeBytes: {
9831
+ readonly type: 'integer';
9832
+ };
9833
+ readonly partCount: {
9834
+ readonly type: 'integer';
9835
+ };
9836
+ readonly receivedParts: {
9837
+ readonly type: 'array';
9838
+ readonly items: {
9839
+ readonly type: 'integer';
9840
+ readonly minimum: 1;
9841
+ };
9842
+ };
9843
+ readonly expiresAt: {
9844
+ readonly type: 'string';
9845
+ readonly format: 'datetime';
9846
+ };
9847
+ readonly state: {
9848
+ readonly type: 'string';
9849
+ readonly maxLength: 32;
9850
+ readonly knownValues: ["created", "finishing", "completed", "failed", "aborted", "expired"];
9851
+ };
9852
+ readonly completedJobId: {
9853
+ readonly type: 'string';
9854
+ readonly minLength: 1;
9855
+ readonly maxLength: 256;
9856
+ readonly description: 'Present only when state is completed; may differ from jobId on deduplication.';
9857
+ };
9858
+ readonly jobStatus: {
9859
+ readonly type: 'ref';
9860
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
9861
+ readonly description: 'Present only when state is completed.';
9862
+ };
9863
+ readonly failureReason: {
9864
+ readonly type: 'string';
9865
+ readonly maxLength: 1024;
9866
+ readonly description: 'Present only when state is failed.';
9867
+ };
9868
+ };
9869
+ };
9870
+ };
9871
+ readonly errors: [{
9872
+ readonly name: 'UploadNotFound';
9873
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions remain readable and are never reported as not found.';
9874
+ }];
9875
+ };
9876
+ };
9877
+ };
9878
+ readonly AppBskyVideoStartUpload: {
9879
+ readonly lexicon: 1;
9880
+ readonly id: 'app.bsky.video.startUpload';
9881
+ readonly defs: {
9882
+ readonly main: {
9883
+ readonly type: 'procedure';
9884
+ readonly description: 'Start a multipart video upload. The declared size is exact, while optional media properties are advisory and used only for early failure; the authoritative probe runs asynchronously after upload.';
9885
+ readonly input: {
9886
+ readonly encoding: 'application/json';
9887
+ readonly schema: {
9888
+ readonly type: 'object';
9889
+ readonly required: ["sizeBytes", "mimeType"];
9890
+ readonly properties: {
9891
+ readonly sizeBytes: {
9892
+ readonly type: 'integer';
9893
+ readonly minimum: 1;
9894
+ readonly description: 'Exact byte size of the complete upload-ready video file before it is split into parts.';
9895
+ };
9896
+ readonly mimeType: {
9897
+ readonly type: 'string';
9898
+ readonly minLength: 3;
9899
+ readonly maxLength: 255;
9900
+ readonly description: 'Declared MIME type of the video.';
9901
+ };
9902
+ readonly name: {
9903
+ readonly type: 'string';
9904
+ readonly maxLength: 256;
9905
+ readonly description: 'Optional client-provided file name.';
9906
+ };
9907
+ readonly durationMs: {
9908
+ readonly type: 'integer';
9909
+ readonly description: 'Advisory, non-authoritative duration used only for early failure; the authoritative probe runs asynchronously after upload.';
9910
+ };
9911
+ readonly width: {
9912
+ readonly type: 'integer';
9913
+ readonly description: 'Advisory, non-authoritative width used only for early failure; the authoritative probe runs asynchronously after upload.';
9914
+ };
9915
+ readonly height: {
9916
+ readonly type: 'integer';
9917
+ readonly description: 'Advisory, non-authoritative height used only for early failure; the authoritative probe runs asynchronously after upload.';
9918
+ };
9919
+ };
9920
+ };
9921
+ };
9922
+ readonly output: {
9923
+ readonly encoding: 'application/json';
9924
+ readonly schema: {
9925
+ readonly type: 'object';
9926
+ readonly required: ["jobId", "partSizeBytes", "partCount", "expiresAt"];
9927
+ readonly properties: {
9928
+ readonly jobId: {
9929
+ readonly type: 'string';
9930
+ readonly minLength: 1;
9931
+ readonly maxLength: 256;
9932
+ };
9933
+ readonly partSizeBytes: {
9934
+ readonly type: 'integer';
9935
+ };
9936
+ readonly partCount: {
9937
+ readonly type: 'integer';
9938
+ };
9939
+ readonly expiresAt: {
9940
+ readonly type: 'string';
9941
+ readonly format: 'datetime';
9942
+ };
9943
+ };
9944
+ };
9945
+ };
9946
+ readonly errors: [{
9947
+ readonly name: 'UnsupportedContentType';
9948
+ readonly description: 'The declared MIME type is not supported.';
9949
+ }, {
9950
+ readonly name: 'VideoTooLarge';
9951
+ readonly description: 'The exact file size exceeds the per-file cap or remaining daily byte allowance.';
9952
+ }, {
9953
+ readonly name: 'VideoTooLong';
9954
+ readonly description: 'The advisory declared duration exceeds the limit.';
9955
+ }, {
9956
+ readonly name: 'BadAspectRatio';
9957
+ readonly description: 'The advisory declared dimensions have an unsupported aspect ratio.';
9958
+ }, {
9959
+ readonly name: 'DailyLimitExceeded';
9960
+ readonly description: 'The daily video or byte allowance, including active reservations, is exhausted.';
9961
+ }, {
9962
+ readonly name: 'TooManyOpenUploads';
9963
+ readonly description: 'The account has reached its open multipart upload limit.';
9964
+ }, {
9965
+ readonly name: 'UploadForbidden';
9966
+ readonly description: 'The account is not permitted to upload video.';
9967
+ }, {
9968
+ readonly name: 'ServiceOverloaded';
9969
+ readonly description: 'The service is draining, at capacity, or temporarily unable to create the multipart upload.';
9970
+ }];
9971
+ };
9972
+ };
9973
+ };
9974
+ readonly AppBskyVideoUploadPart: {
9975
+ readonly lexicon: 1;
9976
+ readonly id: 'app.bsky.video.uploadPart';
9977
+ readonly defs: {
9978
+ readonly main: {
9979
+ readonly type: 'procedure';
9980
+ readonly description: 'Upload one part. Parts are idempotent and may be retried or re-sent while the session is created. Each expected length is derived from the upload size and part size, and Content-Length must match exactly. ETags are never exposed to clients.';
9981
+ readonly parameters: {
9982
+ readonly type: 'params';
9983
+ readonly required: ["jobId", "partNumber"];
9984
+ readonly properties: {
9985
+ readonly jobId: {
9986
+ readonly type: 'string';
9987
+ readonly minLength: 1;
9988
+ readonly maxLength: 256;
9989
+ };
9990
+ readonly partNumber: {
9991
+ readonly type: 'integer';
9992
+ readonly minimum: 1;
9993
+ };
9994
+ };
9995
+ };
9996
+ readonly input: {
9997
+ readonly encoding: 'application/octet-stream';
9998
+ };
9999
+ readonly output: {
10000
+ readonly encoding: 'application/json';
10001
+ readonly schema: {
10002
+ readonly type: 'object';
10003
+ readonly required: ["partNumber", "sizeBytes"];
10004
+ readonly properties: {
10005
+ readonly partNumber: {
10006
+ readonly type: 'integer';
10007
+ readonly minimum: 1;
10008
+ };
10009
+ readonly sizeBytes: {
10010
+ readonly type: 'integer';
10011
+ };
10012
+ };
10013
+ };
10014
+ };
10015
+ readonly errors: [{
10016
+ readonly name: 'UploadNotFound';
10017
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
10018
+ }, {
10019
+ readonly name: 'UploadExpired';
10020
+ readonly description: 'The upload session expired before completion.';
10021
+ }, {
10022
+ readonly name: 'InvalidPartNumber';
10023
+ readonly description: "The part number is outside the upload's valid part range.";
10024
+ }, {
10025
+ readonly name: 'PartSizeMismatch';
10026
+ readonly description: 'Content-Length does not exactly match the expected size for this part.';
10027
+ }, {
10028
+ readonly name: 'UploadNotReady';
10029
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
10030
+ }, {
10031
+ readonly name: 'UploadFailed';
10032
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
10033
+ }, {
10034
+ readonly name: 'UploadAborted';
10035
+ readonly description: 'The session is known to have been aborted.';
10036
+ }, {
10037
+ readonly name: 'UploadAlreadyCompleted';
10038
+ readonly description: 'The session is known to have already completed.';
10039
+ }, {
10040
+ readonly name: 'ServiceOverloaded';
10041
+ readonly description: 'The service is draining or temporarily at capacity; retry on another worker.';
10042
+ }];
10043
+ };
10044
+ };
10045
+ };
9656
10046
  readonly AppBskyVideoUploadVideo: {
9657
10047
  readonly lexicon: 1;
9658
10048
  readonly id: 'app.bsky.video.uploadVideo';
@@ -24581,6 +24971,26 @@ export declare const schemaDict: {
24581
24971
  };
24582
24972
  };
24583
24973
  export declare const schemas: ({
24974
+ readonly lexicon: 1;
24975
+ readonly id: 'app.bsky.actor.contentVisibilityDeclaration';
24976
+ readonly defs: {
24977
+ readonly main: {
24978
+ readonly type: 'record';
24979
+ readonly description: "A declaration of an account's preferences for appearing in content discovery surfaces.";
24980
+ readonly key: 'literal:self';
24981
+ readonly record: {
24982
+ readonly type: 'object';
24983
+ readonly required: ["hideFromAlgorithmicRecommendations"];
24984
+ readonly properties: {
24985
+ readonly hideFromAlgorithmicRecommendations: {
24986
+ readonly type: 'boolean';
24987
+ readonly description: 'Whether the account requests that its posts be hidden from algorithmic recommendations. Consumers must treat a missing record as false.';
24988
+ };
24989
+ };
24990
+ };
24991
+ };
24992
+ };
24993
+ } | {
24584
24994
  readonly lexicon: 1;
24585
24995
  readonly id: 'app.bsky.actor.defs';
24586
24996
  readonly defs: {
@@ -33975,6 +34385,61 @@ export declare const schemas: ({
33975
34385
  }];
33976
34386
  };
33977
34387
  };
34388
+ } | {
34389
+ readonly lexicon: 1;
34390
+ readonly id: 'app.bsky.video.abortUpload';
34391
+ readonly defs: {
34392
+ readonly main: {
34393
+ readonly type: 'procedure';
34394
+ readonly description: 'Abort an upload only while it is created, releasing its quota reservation immediately. Terminal sessions are unchanged and return their terminal outcome. A finishing session returns UploadNotReady.';
34395
+ readonly input: {
34396
+ readonly encoding: 'application/json';
34397
+ readonly schema: {
34398
+ readonly type: 'object';
34399
+ readonly required: ["jobId"];
34400
+ readonly properties: {
34401
+ readonly jobId: {
34402
+ readonly type: 'string';
34403
+ readonly minLength: 1;
34404
+ readonly maxLength: 256;
34405
+ };
34406
+ };
34407
+ };
34408
+ };
34409
+ readonly output: {
34410
+ readonly encoding: 'application/json';
34411
+ readonly schema: {
34412
+ readonly type: 'object';
34413
+ readonly required: ["state"];
34414
+ readonly properties: {
34415
+ readonly state: {
34416
+ readonly type: 'string';
34417
+ readonly maxLength: 32;
34418
+ readonly knownValues: ["aborted", "completed", "failed", "expired"];
34419
+ };
34420
+ readonly completedJobId: {
34421
+ readonly type: 'string';
34422
+ readonly minLength: 1;
34423
+ readonly maxLength: 256;
34424
+ readonly description: 'Present only when state is completed.';
34425
+ };
34426
+ readonly failureReason: {
34427
+ readonly type: 'string';
34428
+ readonly maxLength: 1024;
34429
+ readonly description: 'Present only when state is failed.';
34430
+ };
34431
+ };
34432
+ };
34433
+ };
34434
+ readonly errors: [{
34435
+ readonly name: 'UploadNotFound';
34436
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions return their outcome and are never reported as not found.';
34437
+ }, {
34438
+ readonly name: 'UploadNotReady';
34439
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34440
+ }];
34441
+ };
34442
+ };
33978
34443
  } | {
33979
34444
  readonly lexicon: 1;
33980
34445
  readonly id: 'app.bsky.video.defs';
@@ -33993,7 +34458,7 @@ export declare const schemas: ({
33993
34458
  readonly state: {
33994
34459
  readonly type: 'string';
33995
34460
  readonly description: 'The state of the video processing job. All values not listed as a known value indicate that the job is in process.';
33996
- readonly knownValues: ["JOB_STATE_COMPLETED", "JOB_STATE_FAILED"];
34461
+ readonly knownValues: ["JOB_STATE_CREATED", "JOB_STATE_ENCODING", "JOB_STATE_ENCODED", "JOB_STATE_SCANNING", "JOB_STATE_SCANNED", "JOB_STATE_UPLOADING", "JOB_STATE_UPLOADED", "JOB_STATE_COMPLETED", "JOB_STATE_FAILED"];
33997
34462
  };
33998
34463
  readonly progress: {
33999
34464
  readonly type: 'integer';
@@ -34018,6 +34483,73 @@ export declare const schemas: ({
34018
34483
  };
34019
34484
  };
34020
34485
  };
34486
+ } | {
34487
+ readonly lexicon: 1;
34488
+ readonly id: 'app.bsky.video.finishUpload';
34489
+ readonly defs: {
34490
+ readonly main: {
34491
+ readonly type: 'procedure';
34492
+ readonly description: 'Finish an upload. This call is idempotent and safe to retry. On deduplication completedJobId may differ from the input jobId; poll getJobStatus with completedJobId. Probe-based validation failures surface later as JOB_STATE_FAILED from getJobStatus, not as errors from this call.';
34493
+ readonly input: {
34494
+ readonly encoding: 'application/json';
34495
+ readonly schema: {
34496
+ readonly type: 'object';
34497
+ readonly required: ["jobId"];
34498
+ readonly properties: {
34499
+ readonly jobId: {
34500
+ readonly type: 'string';
34501
+ readonly minLength: 1;
34502
+ readonly maxLength: 256;
34503
+ };
34504
+ };
34505
+ };
34506
+ };
34507
+ readonly output: {
34508
+ readonly encoding: 'application/json';
34509
+ readonly schema: {
34510
+ readonly type: 'object';
34511
+ readonly required: ["completedJobId", "jobStatus"];
34512
+ readonly properties: {
34513
+ readonly completedJobId: {
34514
+ readonly type: 'string';
34515
+ readonly minLength: 1;
34516
+ readonly maxLength: 256;
34517
+ readonly description: 'The processing job to poll with getJobStatus; on deduplication this may differ from the input jobId.';
34518
+ };
34519
+ readonly jobStatus: {
34520
+ readonly type: 'ref';
34521
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
34522
+ };
34523
+ };
34524
+ };
34525
+ };
34526
+ readonly errors: [{
34527
+ readonly name: 'UploadNotFound';
34528
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
34529
+ }, {
34530
+ readonly name: 'UploadExpired';
34531
+ readonly description: 'The upload session expired before finalization began.';
34532
+ }, {
34533
+ readonly name: 'MissingParts';
34534
+ readonly description: 'Not all parts are recorded; the error message lists the missing part numbers.';
34535
+ }, {
34536
+ readonly name: 'UploadNotReady';
34537
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34538
+ }, {
34539
+ readonly name: 'UnsupportedContentType';
34540
+ readonly description: "The assembled object's detected content type is not supported.";
34541
+ }, {
34542
+ readonly name: 'UploadFailed';
34543
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
34544
+ }, {
34545
+ readonly name: 'UploadAborted';
34546
+ readonly description: 'The session is known to have been aborted.';
34547
+ }, {
34548
+ readonly name: 'ServiceOverloaded';
34549
+ readonly description: 'The service is draining or temporarily at capacity; retry later.';
34550
+ }];
34551
+ };
34552
+ };
34021
34553
  } | {
34022
34554
  readonly lexicon: 1;
34023
34555
  readonly id: 'app.bsky.video.getJobStatus';
@@ -34082,6 +34614,248 @@ export declare const schemas: ({
34082
34614
  };
34083
34615
  };
34084
34616
  };
34617
+ } | {
34618
+ readonly lexicon: 1;
34619
+ readonly id: 'app.bsky.video.getUploadStatus';
34620
+ readonly defs: {
34621
+ readonly main: {
34622
+ readonly type: 'query';
34623
+ readonly description: 'Get the authoritative status of the upload phase. Terminal states remain readable. completedJobId and jobStatus are present only for completed sessions; failureReason is present only for failed sessions.';
34624
+ readonly parameters: {
34625
+ readonly type: 'params';
34626
+ readonly required: ["jobId"];
34627
+ readonly properties: {
34628
+ readonly jobId: {
34629
+ readonly type: 'string';
34630
+ readonly minLength: 1;
34631
+ readonly maxLength: 256;
34632
+ };
34633
+ };
34634
+ };
34635
+ readonly output: {
34636
+ readonly encoding: 'application/json';
34637
+ readonly schema: {
34638
+ readonly type: 'object';
34639
+ readonly required: ["jobId", "partSizeBytes", "partCount", "receivedParts", "expiresAt", "state"];
34640
+ readonly properties: {
34641
+ readonly jobId: {
34642
+ readonly type: 'string';
34643
+ readonly minLength: 1;
34644
+ readonly maxLength: 256;
34645
+ };
34646
+ readonly partSizeBytes: {
34647
+ readonly type: 'integer';
34648
+ };
34649
+ readonly partCount: {
34650
+ readonly type: 'integer';
34651
+ };
34652
+ readonly receivedParts: {
34653
+ readonly type: 'array';
34654
+ readonly items: {
34655
+ readonly type: 'integer';
34656
+ readonly minimum: 1;
34657
+ };
34658
+ };
34659
+ readonly expiresAt: {
34660
+ readonly type: 'string';
34661
+ readonly format: 'datetime';
34662
+ };
34663
+ readonly state: {
34664
+ readonly type: 'string';
34665
+ readonly maxLength: 32;
34666
+ readonly knownValues: ["created", "finishing", "completed", "failed", "aborted", "expired"];
34667
+ };
34668
+ readonly completedJobId: {
34669
+ readonly type: 'string';
34670
+ readonly minLength: 1;
34671
+ readonly maxLength: 256;
34672
+ readonly description: 'Present only when state is completed; may differ from jobId on deduplication.';
34673
+ };
34674
+ readonly jobStatus: {
34675
+ readonly type: 'ref';
34676
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
34677
+ readonly description: 'Present only when state is completed.';
34678
+ };
34679
+ readonly failureReason: {
34680
+ readonly type: 'string';
34681
+ readonly maxLength: 1024;
34682
+ readonly description: 'Present only when state is failed.';
34683
+ };
34684
+ };
34685
+ };
34686
+ };
34687
+ readonly errors: [{
34688
+ readonly name: 'UploadNotFound';
34689
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions remain readable and are never reported as not found.';
34690
+ }];
34691
+ };
34692
+ };
34693
+ } | {
34694
+ readonly lexicon: 1;
34695
+ readonly id: 'app.bsky.video.startUpload';
34696
+ readonly defs: {
34697
+ readonly main: {
34698
+ readonly type: 'procedure';
34699
+ readonly description: 'Start a multipart video upload. The declared size is exact, while optional media properties are advisory and used only for early failure; the authoritative probe runs asynchronously after upload.';
34700
+ readonly input: {
34701
+ readonly encoding: 'application/json';
34702
+ readonly schema: {
34703
+ readonly type: 'object';
34704
+ readonly required: ["sizeBytes", "mimeType"];
34705
+ readonly properties: {
34706
+ readonly sizeBytes: {
34707
+ readonly type: 'integer';
34708
+ readonly minimum: 1;
34709
+ readonly description: 'Exact byte size of the complete upload-ready video file before it is split into parts.';
34710
+ };
34711
+ readonly mimeType: {
34712
+ readonly type: 'string';
34713
+ readonly minLength: 3;
34714
+ readonly maxLength: 255;
34715
+ readonly description: 'Declared MIME type of the video.';
34716
+ };
34717
+ readonly name: {
34718
+ readonly type: 'string';
34719
+ readonly maxLength: 256;
34720
+ readonly description: 'Optional client-provided file name.';
34721
+ };
34722
+ readonly durationMs: {
34723
+ readonly type: 'integer';
34724
+ readonly description: 'Advisory, non-authoritative duration used only for early failure; the authoritative probe runs asynchronously after upload.';
34725
+ };
34726
+ readonly width: {
34727
+ readonly type: 'integer';
34728
+ readonly description: 'Advisory, non-authoritative width used only for early failure; the authoritative probe runs asynchronously after upload.';
34729
+ };
34730
+ readonly height: {
34731
+ readonly type: 'integer';
34732
+ readonly description: 'Advisory, non-authoritative height used only for early failure; the authoritative probe runs asynchronously after upload.';
34733
+ };
34734
+ };
34735
+ };
34736
+ };
34737
+ readonly output: {
34738
+ readonly encoding: 'application/json';
34739
+ readonly schema: {
34740
+ readonly type: 'object';
34741
+ readonly required: ["jobId", "partSizeBytes", "partCount", "expiresAt"];
34742
+ readonly properties: {
34743
+ readonly jobId: {
34744
+ readonly type: 'string';
34745
+ readonly minLength: 1;
34746
+ readonly maxLength: 256;
34747
+ };
34748
+ readonly partSizeBytes: {
34749
+ readonly type: 'integer';
34750
+ };
34751
+ readonly partCount: {
34752
+ readonly type: 'integer';
34753
+ };
34754
+ readonly expiresAt: {
34755
+ readonly type: 'string';
34756
+ readonly format: 'datetime';
34757
+ };
34758
+ };
34759
+ };
34760
+ };
34761
+ readonly errors: [{
34762
+ readonly name: 'UnsupportedContentType';
34763
+ readonly description: 'The declared MIME type is not supported.';
34764
+ }, {
34765
+ readonly name: 'VideoTooLarge';
34766
+ readonly description: 'The exact file size exceeds the per-file cap or remaining daily byte allowance.';
34767
+ }, {
34768
+ readonly name: 'VideoTooLong';
34769
+ readonly description: 'The advisory declared duration exceeds the limit.';
34770
+ }, {
34771
+ readonly name: 'BadAspectRatio';
34772
+ readonly description: 'The advisory declared dimensions have an unsupported aspect ratio.';
34773
+ }, {
34774
+ readonly name: 'DailyLimitExceeded';
34775
+ readonly description: 'The daily video or byte allowance, including active reservations, is exhausted.';
34776
+ }, {
34777
+ readonly name: 'TooManyOpenUploads';
34778
+ readonly description: 'The account has reached its open multipart upload limit.';
34779
+ }, {
34780
+ readonly name: 'UploadForbidden';
34781
+ readonly description: 'The account is not permitted to upload video.';
34782
+ }, {
34783
+ readonly name: 'ServiceOverloaded';
34784
+ readonly description: 'The service is draining, at capacity, or temporarily unable to create the multipart upload.';
34785
+ }];
34786
+ };
34787
+ };
34788
+ } | {
34789
+ readonly lexicon: 1;
34790
+ readonly id: 'app.bsky.video.uploadPart';
34791
+ readonly defs: {
34792
+ readonly main: {
34793
+ readonly type: 'procedure';
34794
+ readonly description: 'Upload one part. Parts are idempotent and may be retried or re-sent while the session is created. Each expected length is derived from the upload size and part size, and Content-Length must match exactly. ETags are never exposed to clients.';
34795
+ readonly parameters: {
34796
+ readonly type: 'params';
34797
+ readonly required: ["jobId", "partNumber"];
34798
+ readonly properties: {
34799
+ readonly jobId: {
34800
+ readonly type: 'string';
34801
+ readonly minLength: 1;
34802
+ readonly maxLength: 256;
34803
+ };
34804
+ readonly partNumber: {
34805
+ readonly type: 'integer';
34806
+ readonly minimum: 1;
34807
+ };
34808
+ };
34809
+ };
34810
+ readonly input: {
34811
+ readonly encoding: 'application/octet-stream';
34812
+ };
34813
+ readonly output: {
34814
+ readonly encoding: 'application/json';
34815
+ readonly schema: {
34816
+ readonly type: 'object';
34817
+ readonly required: ["partNumber", "sizeBytes"];
34818
+ readonly properties: {
34819
+ readonly partNumber: {
34820
+ readonly type: 'integer';
34821
+ readonly minimum: 1;
34822
+ };
34823
+ readonly sizeBytes: {
34824
+ readonly type: 'integer';
34825
+ };
34826
+ };
34827
+ };
34828
+ };
34829
+ readonly errors: [{
34830
+ readonly name: 'UploadNotFound';
34831
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
34832
+ }, {
34833
+ readonly name: 'UploadExpired';
34834
+ readonly description: 'The upload session expired before completion.';
34835
+ }, {
34836
+ readonly name: 'InvalidPartNumber';
34837
+ readonly description: "The part number is outside the upload's valid part range.";
34838
+ }, {
34839
+ readonly name: 'PartSizeMismatch';
34840
+ readonly description: 'Content-Length does not exactly match the expected size for this part.';
34841
+ }, {
34842
+ readonly name: 'UploadNotReady';
34843
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34844
+ }, {
34845
+ readonly name: 'UploadFailed';
34846
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
34847
+ }, {
34848
+ readonly name: 'UploadAborted';
34849
+ readonly description: 'The session is known to have been aborted.';
34850
+ }, {
34851
+ readonly name: 'UploadAlreadyCompleted';
34852
+ readonly description: 'The session is known to have already completed.';
34853
+ }, {
34854
+ readonly name: 'ServiceOverloaded';
34855
+ readonly description: 'The service is draining or temporarily at capacity; retry on another worker.';
34856
+ }];
34857
+ };
34858
+ };
34085
34859
  } | {
34086
34860
  readonly lexicon: 1;
34087
34861
  readonly id: 'app.bsky.video.uploadVideo';
@@ -48786,6 +49560,7 @@ export declare function validate<T extends {
48786
49560
  $type?: string;
48787
49561
  }>(v: unknown, id: string, hash: string, requiredType?: false): ValidationResult<T>;
48788
49562
  export declare const ids: {
49563
+ readonly AppBskyActorContentVisibilityDeclaration: 'app.bsky.actor.contentVisibilityDeclaration';
48789
49564
  readonly AppBskyActorDefs: 'app.bsky.actor.defs';
48790
49565
  readonly AppBskyActorGetPreferences: 'app.bsky.actor.getPreferences';
48791
49566
  readonly AppBskyActorGetProfile: 'app.bsky.actor.getProfile';
@@ -48931,9 +49706,14 @@ export declare const ids: {
48931
49706
  readonly AppBskyUnspeccedSearchActorsSkeleton: 'app.bsky.unspecced.searchActorsSkeleton';
48932
49707
  readonly AppBskyUnspeccedSearchPostsSkeleton: 'app.bsky.unspecced.searchPostsSkeleton';
48933
49708
  readonly AppBskyUnspeccedSearchStarterPacksSkeleton: 'app.bsky.unspecced.searchStarterPacksSkeleton';
49709
+ readonly AppBskyVideoAbortUpload: 'app.bsky.video.abortUpload';
48934
49710
  readonly AppBskyVideoDefs: 'app.bsky.video.defs';
49711
+ readonly AppBskyVideoFinishUpload: 'app.bsky.video.finishUpload';
48935
49712
  readonly AppBskyVideoGetJobStatus: 'app.bsky.video.getJobStatus';
48936
49713
  readonly AppBskyVideoGetUploadLimits: 'app.bsky.video.getUploadLimits';
49714
+ readonly AppBskyVideoGetUploadStatus: 'app.bsky.video.getUploadStatus';
49715
+ readonly AppBskyVideoStartUpload: 'app.bsky.video.startUpload';
49716
+ readonly AppBskyVideoUploadPart: 'app.bsky.video.uploadPart';
48937
49717
  readonly AppBskyVideoUploadVideo: 'app.bsky.video.uploadVideo';
48938
49718
  readonly ChatBskyActorDeclaration: 'chat.bsky.actor.declaration';
48939
49719
  readonly ChatBskyActorDefs: 'chat.bsky.actor.defs';