@atproto/api 0.20.39 → 0.20.41

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 +14 -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 -10
  7. package/dist/client/lexicons.d.ts.map +1 -1
  8. package/dist/client/lexicons.js +454 -5
  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 +3 -3
@@ -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';
@@ -3127,8 +3148,6 @@ export declare const schemaDict: {
3127
3148
  readonly alt: {
3128
3149
  readonly type: 'string';
3129
3150
  readonly description: 'Alt text description of the video, for accessibility.';
3130
- readonly maxGraphemes: 1000;
3131
- readonly maxLength: 10000;
3132
3151
  };
3133
3152
  readonly aspectRatio: {
3134
3153
  readonly type: 'ref';
@@ -3174,8 +3193,6 @@ export declare const schemaDict: {
3174
3193
  };
3175
3194
  readonly alt: {
3176
3195
  readonly type: 'string';
3177
- readonly maxGraphemes: 1000;
3178
- readonly maxLength: 10000;
3179
3196
  };
3180
3197
  readonly aspectRatio: {
3181
3198
  readonly type: 'ref';
@@ -9543,6 +9560,62 @@ export declare const schemaDict: {
9543
9560
  };
9544
9561
  };
9545
9562
  };
9563
+ readonly AppBskyVideoAbortUpload: {
9564
+ readonly lexicon: 1;
9565
+ readonly id: 'app.bsky.video.abortUpload';
9566
+ readonly defs: {
9567
+ readonly main: {
9568
+ readonly type: 'procedure';
9569
+ 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.';
9570
+ readonly input: {
9571
+ readonly encoding: 'application/json';
9572
+ readonly schema: {
9573
+ readonly type: 'object';
9574
+ readonly required: ["jobId"];
9575
+ readonly properties: {
9576
+ readonly jobId: {
9577
+ readonly type: 'string';
9578
+ readonly minLength: 1;
9579
+ readonly maxLength: 256;
9580
+ };
9581
+ };
9582
+ };
9583
+ };
9584
+ readonly output: {
9585
+ readonly encoding: 'application/json';
9586
+ readonly schema: {
9587
+ readonly type: 'object';
9588
+ readonly required: ["state"];
9589
+ readonly properties: {
9590
+ readonly state: {
9591
+ readonly type: 'string';
9592
+ readonly maxLength: 32;
9593
+ readonly knownValues: ["aborted", "completed", "failed", "expired"];
9594
+ };
9595
+ readonly completedJobId: {
9596
+ readonly type: 'string';
9597
+ readonly minLength: 1;
9598
+ readonly maxLength: 256;
9599
+ readonly description: 'Present only when state is completed.';
9600
+ };
9601
+ readonly failureReason: {
9602
+ readonly type: 'string';
9603
+ readonly maxLength: 1024;
9604
+ readonly description: 'Present only when state is failed.';
9605
+ };
9606
+ };
9607
+ };
9608
+ };
9609
+ readonly errors: [{
9610
+ readonly name: 'UploadNotFound';
9611
+ 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.';
9612
+ }, {
9613
+ readonly name: 'UploadNotReady';
9614
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
9615
+ }];
9616
+ };
9617
+ };
9618
+ };
9546
9619
  readonly AppBskyVideoDefs: {
9547
9620
  readonly lexicon: 1;
9548
9621
  readonly id: 'app.bsky.video.defs';
@@ -9561,7 +9634,7 @@ export declare const schemaDict: {
9561
9634
  readonly state: {
9562
9635
  readonly type: 'string';
9563
9636
  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"];
9637
+ 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
9638
  };
9566
9639
  readonly progress: {
9567
9640
  readonly type: 'integer';
@@ -9587,6 +9660,74 @@ export declare const schemaDict: {
9587
9660
  };
9588
9661
  };
9589
9662
  };
9663
+ readonly AppBskyVideoFinishUpload: {
9664
+ readonly lexicon: 1;
9665
+ readonly id: 'app.bsky.video.finishUpload';
9666
+ readonly defs: {
9667
+ readonly main: {
9668
+ readonly type: 'procedure';
9669
+ 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.';
9670
+ readonly input: {
9671
+ readonly encoding: 'application/json';
9672
+ readonly schema: {
9673
+ readonly type: 'object';
9674
+ readonly required: ["jobId"];
9675
+ readonly properties: {
9676
+ readonly jobId: {
9677
+ readonly type: 'string';
9678
+ readonly minLength: 1;
9679
+ readonly maxLength: 256;
9680
+ };
9681
+ };
9682
+ };
9683
+ };
9684
+ readonly output: {
9685
+ readonly encoding: 'application/json';
9686
+ readonly schema: {
9687
+ readonly type: 'object';
9688
+ readonly required: ["completedJobId", "jobStatus"];
9689
+ readonly properties: {
9690
+ readonly completedJobId: {
9691
+ readonly type: 'string';
9692
+ readonly minLength: 1;
9693
+ readonly maxLength: 256;
9694
+ readonly description: 'The processing job to poll with getJobStatus; on deduplication this may differ from the input jobId.';
9695
+ };
9696
+ readonly jobStatus: {
9697
+ readonly type: 'ref';
9698
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
9699
+ };
9700
+ };
9701
+ };
9702
+ };
9703
+ readonly errors: [{
9704
+ readonly name: 'UploadNotFound';
9705
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
9706
+ }, {
9707
+ readonly name: 'UploadExpired';
9708
+ readonly description: 'The upload session expired before finalization began.';
9709
+ }, {
9710
+ readonly name: 'MissingParts';
9711
+ readonly description: 'Not all parts are recorded; the error message lists the missing part numbers.';
9712
+ }, {
9713
+ readonly name: 'UploadNotReady';
9714
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
9715
+ }, {
9716
+ readonly name: 'UnsupportedContentType';
9717
+ readonly description: "The assembled object's detected content type is not supported.";
9718
+ }, {
9719
+ readonly name: 'UploadFailed';
9720
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
9721
+ }, {
9722
+ readonly name: 'UploadAborted';
9723
+ readonly description: 'The session is known to have been aborted.';
9724
+ }, {
9725
+ readonly name: 'ServiceOverloaded';
9726
+ readonly description: 'The service is draining or temporarily at capacity; retry later.';
9727
+ }];
9728
+ };
9729
+ };
9730
+ };
9590
9731
  readonly AppBskyVideoGetJobStatus: {
9591
9732
  readonly lexicon: 1;
9592
9733
  readonly id: 'app.bsky.video.getJobStatus';
@@ -9653,6 +9794,251 @@ export declare const schemaDict: {
9653
9794
  };
9654
9795
  };
9655
9796
  };
9797
+ readonly AppBskyVideoGetUploadStatus: {
9798
+ readonly lexicon: 1;
9799
+ readonly id: 'app.bsky.video.getUploadStatus';
9800
+ readonly defs: {
9801
+ readonly main: {
9802
+ readonly type: 'query';
9803
+ 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.';
9804
+ readonly parameters: {
9805
+ readonly type: 'params';
9806
+ readonly required: ["jobId"];
9807
+ readonly properties: {
9808
+ readonly jobId: {
9809
+ readonly type: 'string';
9810
+ readonly minLength: 1;
9811
+ readonly maxLength: 256;
9812
+ };
9813
+ };
9814
+ };
9815
+ readonly output: {
9816
+ readonly encoding: 'application/json';
9817
+ readonly schema: {
9818
+ readonly type: 'object';
9819
+ readonly required: ["jobId", "partSizeBytes", "partCount", "receivedParts", "expiresAt", "state"];
9820
+ readonly properties: {
9821
+ readonly jobId: {
9822
+ readonly type: 'string';
9823
+ readonly minLength: 1;
9824
+ readonly maxLength: 256;
9825
+ };
9826
+ readonly partSizeBytes: {
9827
+ readonly type: 'integer';
9828
+ };
9829
+ readonly partCount: {
9830
+ readonly type: 'integer';
9831
+ };
9832
+ readonly receivedParts: {
9833
+ readonly type: 'array';
9834
+ readonly items: {
9835
+ readonly type: 'integer';
9836
+ readonly minimum: 1;
9837
+ };
9838
+ };
9839
+ readonly expiresAt: {
9840
+ readonly type: 'string';
9841
+ readonly format: 'datetime';
9842
+ };
9843
+ readonly state: {
9844
+ readonly type: 'string';
9845
+ readonly maxLength: 32;
9846
+ readonly knownValues: ["created", "finishing", "completed", "failed", "aborted", "expired"];
9847
+ };
9848
+ readonly completedJobId: {
9849
+ readonly type: 'string';
9850
+ readonly minLength: 1;
9851
+ readonly maxLength: 256;
9852
+ readonly description: 'Present only when state is completed; may differ from jobId on deduplication.';
9853
+ };
9854
+ readonly jobStatus: {
9855
+ readonly type: 'ref';
9856
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
9857
+ readonly description: 'Present only when state is completed.';
9858
+ };
9859
+ readonly failureReason: {
9860
+ readonly type: 'string';
9861
+ readonly maxLength: 1024;
9862
+ readonly description: 'Present only when state is failed.';
9863
+ };
9864
+ };
9865
+ };
9866
+ };
9867
+ readonly errors: [{
9868
+ readonly name: 'UploadNotFound';
9869
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions remain readable and are never reported as not found.';
9870
+ }];
9871
+ };
9872
+ };
9873
+ };
9874
+ readonly AppBskyVideoStartUpload: {
9875
+ readonly lexicon: 1;
9876
+ readonly id: 'app.bsky.video.startUpload';
9877
+ readonly defs: {
9878
+ readonly main: {
9879
+ readonly type: 'procedure';
9880
+ 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.';
9881
+ readonly input: {
9882
+ readonly encoding: 'application/json';
9883
+ readonly schema: {
9884
+ readonly type: 'object';
9885
+ readonly required: ["sizeBytes", "mimeType"];
9886
+ readonly properties: {
9887
+ readonly sizeBytes: {
9888
+ readonly type: 'integer';
9889
+ readonly minimum: 1;
9890
+ readonly description: 'Exact byte size of the complete upload-ready video file before it is split into parts.';
9891
+ };
9892
+ readonly mimeType: {
9893
+ readonly type: 'string';
9894
+ readonly minLength: 3;
9895
+ readonly maxLength: 255;
9896
+ readonly description: 'Declared MIME type of the video.';
9897
+ };
9898
+ readonly name: {
9899
+ readonly type: 'string';
9900
+ readonly maxLength: 256;
9901
+ readonly description: 'Optional client-provided file name.';
9902
+ };
9903
+ readonly durationMs: {
9904
+ readonly type: 'integer';
9905
+ readonly description: 'Advisory, non-authoritative duration used only for early failure; the authoritative probe runs asynchronously after upload.';
9906
+ };
9907
+ readonly width: {
9908
+ readonly type: 'integer';
9909
+ readonly description: 'Advisory, non-authoritative width used only for early failure; the authoritative probe runs asynchronously after upload.';
9910
+ };
9911
+ readonly height: {
9912
+ readonly type: 'integer';
9913
+ readonly description: 'Advisory, non-authoritative height used only for early failure; the authoritative probe runs asynchronously after upload.';
9914
+ };
9915
+ };
9916
+ };
9917
+ };
9918
+ readonly output: {
9919
+ readonly encoding: 'application/json';
9920
+ readonly schema: {
9921
+ readonly type: 'object';
9922
+ readonly required: ["jobId", "partSizeBytes", "partCount", "expiresAt"];
9923
+ readonly properties: {
9924
+ readonly jobId: {
9925
+ readonly type: 'string';
9926
+ readonly minLength: 1;
9927
+ readonly maxLength: 256;
9928
+ };
9929
+ readonly partSizeBytes: {
9930
+ readonly type: 'integer';
9931
+ };
9932
+ readonly partCount: {
9933
+ readonly type: 'integer';
9934
+ };
9935
+ readonly expiresAt: {
9936
+ readonly type: 'string';
9937
+ readonly format: 'datetime';
9938
+ };
9939
+ };
9940
+ };
9941
+ };
9942
+ readonly errors: [{
9943
+ readonly name: 'UnsupportedContentType';
9944
+ readonly description: 'The declared MIME type is not supported.';
9945
+ }, {
9946
+ readonly name: 'VideoTooLarge';
9947
+ readonly description: 'The exact file size exceeds the per-file cap or remaining daily byte allowance.';
9948
+ }, {
9949
+ readonly name: 'VideoTooLong';
9950
+ readonly description: 'The advisory declared duration exceeds the limit.';
9951
+ }, {
9952
+ readonly name: 'BadAspectRatio';
9953
+ readonly description: 'The advisory declared dimensions have an unsupported aspect ratio.';
9954
+ }, {
9955
+ readonly name: 'DailyLimitExceeded';
9956
+ readonly description: 'The daily video or byte allowance, including active reservations, is exhausted.';
9957
+ }, {
9958
+ readonly name: 'TooManyOpenUploads';
9959
+ readonly description: 'The account has reached its open multipart upload limit.';
9960
+ }, {
9961
+ readonly name: 'UploadForbidden';
9962
+ readonly description: 'The account is not permitted to upload video.';
9963
+ }, {
9964
+ readonly name: 'ServiceOverloaded';
9965
+ readonly description: 'The service is draining, at capacity, or temporarily unable to create the multipart upload.';
9966
+ }];
9967
+ };
9968
+ };
9969
+ };
9970
+ readonly AppBskyVideoUploadPart: {
9971
+ readonly lexicon: 1;
9972
+ readonly id: 'app.bsky.video.uploadPart';
9973
+ readonly defs: {
9974
+ readonly main: {
9975
+ readonly type: 'procedure';
9976
+ 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.';
9977
+ readonly parameters: {
9978
+ readonly type: 'params';
9979
+ readonly required: ["jobId", "partNumber"];
9980
+ readonly properties: {
9981
+ readonly jobId: {
9982
+ readonly type: 'string';
9983
+ readonly minLength: 1;
9984
+ readonly maxLength: 256;
9985
+ };
9986
+ readonly partNumber: {
9987
+ readonly type: 'integer';
9988
+ readonly minimum: 1;
9989
+ };
9990
+ };
9991
+ };
9992
+ readonly input: {
9993
+ readonly encoding: 'application/octet-stream';
9994
+ };
9995
+ readonly output: {
9996
+ readonly encoding: 'application/json';
9997
+ readonly schema: {
9998
+ readonly type: 'object';
9999
+ readonly required: ["partNumber", "sizeBytes"];
10000
+ readonly properties: {
10001
+ readonly partNumber: {
10002
+ readonly type: 'integer';
10003
+ readonly minimum: 1;
10004
+ };
10005
+ readonly sizeBytes: {
10006
+ readonly type: 'integer';
10007
+ };
10008
+ };
10009
+ };
10010
+ };
10011
+ readonly errors: [{
10012
+ readonly name: 'UploadNotFound';
10013
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
10014
+ }, {
10015
+ readonly name: 'UploadExpired';
10016
+ readonly description: 'The upload session expired before completion.';
10017
+ }, {
10018
+ readonly name: 'InvalidPartNumber';
10019
+ readonly description: "The part number is outside the upload's valid part range.";
10020
+ }, {
10021
+ readonly name: 'PartSizeMismatch';
10022
+ readonly description: 'Content-Length does not exactly match the expected size for this part.';
10023
+ }, {
10024
+ readonly name: 'UploadNotReady';
10025
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
10026
+ }, {
10027
+ readonly name: 'UploadFailed';
10028
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
10029
+ }, {
10030
+ readonly name: 'UploadAborted';
10031
+ readonly description: 'The session is known to have been aborted.';
10032
+ }, {
10033
+ readonly name: 'UploadAlreadyCompleted';
10034
+ readonly description: 'The session is known to have already completed.';
10035
+ }, {
10036
+ readonly name: 'ServiceOverloaded';
10037
+ readonly description: 'The service is draining or temporarily at capacity; retry on another worker.';
10038
+ }];
10039
+ };
10040
+ };
10041
+ };
9656
10042
  readonly AppBskyVideoUploadVideo: {
9657
10043
  readonly lexicon: 1;
9658
10044
  readonly id: 'app.bsky.video.uploadVideo';
@@ -24581,6 +24967,26 @@ export declare const schemaDict: {
24581
24967
  };
24582
24968
  };
24583
24969
  export declare const schemas: ({
24970
+ readonly lexicon: 1;
24971
+ readonly id: 'app.bsky.actor.contentVisibilityDeclaration';
24972
+ readonly defs: {
24973
+ readonly main: {
24974
+ readonly type: 'record';
24975
+ readonly description: "A declaration of an account's preferences for appearing in content discovery surfaces.";
24976
+ readonly key: 'literal:self';
24977
+ readonly record: {
24978
+ readonly type: 'object';
24979
+ readonly required: ["hideFromAlgorithmicRecommendations"];
24980
+ readonly properties: {
24981
+ readonly hideFromAlgorithmicRecommendations: {
24982
+ readonly type: 'boolean';
24983
+ readonly description: 'Whether the account requests that its posts be hidden from algorithmic recommendations. Consumers must treat a missing record as false.';
24984
+ };
24985
+ };
24986
+ };
24987
+ };
24988
+ };
24989
+ } | {
24584
24990
  readonly lexicon: 1;
24585
24991
  readonly id: 'app.bsky.actor.defs';
24586
24992
  readonly defs: {
@@ -27665,8 +28071,6 @@ export declare const schemas: ({
27665
28071
  readonly alt: {
27666
28072
  readonly type: 'string';
27667
28073
  readonly description: 'Alt text description of the video, for accessibility.';
27668
- readonly maxGraphemes: 1000;
27669
- readonly maxLength: 10000;
27670
28074
  };
27671
28075
  readonly aspectRatio: {
27672
28076
  readonly type: 'ref';
@@ -27712,8 +28116,6 @@ export declare const schemas: ({
27712
28116
  };
27713
28117
  readonly alt: {
27714
28118
  readonly type: 'string';
27715
- readonly maxGraphemes: 1000;
27716
- readonly maxLength: 10000;
27717
28119
  };
27718
28120
  readonly aspectRatio: {
27719
28121
  readonly type: 'ref';
@@ -33975,6 +34377,61 @@ export declare const schemas: ({
33975
34377
  }];
33976
34378
  };
33977
34379
  };
34380
+ } | {
34381
+ readonly lexicon: 1;
34382
+ readonly id: 'app.bsky.video.abortUpload';
34383
+ readonly defs: {
34384
+ readonly main: {
34385
+ readonly type: 'procedure';
34386
+ 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.';
34387
+ readonly input: {
34388
+ readonly encoding: 'application/json';
34389
+ readonly schema: {
34390
+ readonly type: 'object';
34391
+ readonly required: ["jobId"];
34392
+ readonly properties: {
34393
+ readonly jobId: {
34394
+ readonly type: 'string';
34395
+ readonly minLength: 1;
34396
+ readonly maxLength: 256;
34397
+ };
34398
+ };
34399
+ };
34400
+ };
34401
+ readonly output: {
34402
+ readonly encoding: 'application/json';
34403
+ readonly schema: {
34404
+ readonly type: 'object';
34405
+ readonly required: ["state"];
34406
+ readonly properties: {
34407
+ readonly state: {
34408
+ readonly type: 'string';
34409
+ readonly maxLength: 32;
34410
+ readonly knownValues: ["aborted", "completed", "failed", "expired"];
34411
+ };
34412
+ readonly completedJobId: {
34413
+ readonly type: 'string';
34414
+ readonly minLength: 1;
34415
+ readonly maxLength: 256;
34416
+ readonly description: 'Present only when state is completed.';
34417
+ };
34418
+ readonly failureReason: {
34419
+ readonly type: 'string';
34420
+ readonly maxLength: 1024;
34421
+ readonly description: 'Present only when state is failed.';
34422
+ };
34423
+ };
34424
+ };
34425
+ };
34426
+ readonly errors: [{
34427
+ readonly name: 'UploadNotFound';
34428
+ 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.';
34429
+ }, {
34430
+ readonly name: 'UploadNotReady';
34431
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34432
+ }];
34433
+ };
34434
+ };
33978
34435
  } | {
33979
34436
  readonly lexicon: 1;
33980
34437
  readonly id: 'app.bsky.video.defs';
@@ -33993,7 +34450,7 @@ export declare const schemas: ({
33993
34450
  readonly state: {
33994
34451
  readonly type: 'string';
33995
34452
  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"];
34453
+ 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
34454
  };
33998
34455
  readonly progress: {
33999
34456
  readonly type: 'integer';
@@ -34018,6 +34475,73 @@ export declare const schemas: ({
34018
34475
  };
34019
34476
  };
34020
34477
  };
34478
+ } | {
34479
+ readonly lexicon: 1;
34480
+ readonly id: 'app.bsky.video.finishUpload';
34481
+ readonly defs: {
34482
+ readonly main: {
34483
+ readonly type: 'procedure';
34484
+ 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.';
34485
+ readonly input: {
34486
+ readonly encoding: 'application/json';
34487
+ readonly schema: {
34488
+ readonly type: 'object';
34489
+ readonly required: ["jobId"];
34490
+ readonly properties: {
34491
+ readonly jobId: {
34492
+ readonly type: 'string';
34493
+ readonly minLength: 1;
34494
+ readonly maxLength: 256;
34495
+ };
34496
+ };
34497
+ };
34498
+ };
34499
+ readonly output: {
34500
+ readonly encoding: 'application/json';
34501
+ readonly schema: {
34502
+ readonly type: 'object';
34503
+ readonly required: ["completedJobId", "jobStatus"];
34504
+ readonly properties: {
34505
+ readonly completedJobId: {
34506
+ readonly type: 'string';
34507
+ readonly minLength: 1;
34508
+ readonly maxLength: 256;
34509
+ readonly description: 'The processing job to poll with getJobStatus; on deduplication this may differ from the input jobId.';
34510
+ };
34511
+ readonly jobStatus: {
34512
+ readonly type: 'ref';
34513
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
34514
+ };
34515
+ };
34516
+ };
34517
+ };
34518
+ readonly errors: [{
34519
+ readonly name: 'UploadNotFound';
34520
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
34521
+ }, {
34522
+ readonly name: 'UploadExpired';
34523
+ readonly description: 'The upload session expired before finalization began.';
34524
+ }, {
34525
+ readonly name: 'MissingParts';
34526
+ readonly description: 'Not all parts are recorded; the error message lists the missing part numbers.';
34527
+ }, {
34528
+ readonly name: 'UploadNotReady';
34529
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34530
+ }, {
34531
+ readonly name: 'UnsupportedContentType';
34532
+ readonly description: "The assembled object's detected content type is not supported.";
34533
+ }, {
34534
+ readonly name: 'UploadFailed';
34535
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
34536
+ }, {
34537
+ readonly name: 'UploadAborted';
34538
+ readonly description: 'The session is known to have been aborted.';
34539
+ }, {
34540
+ readonly name: 'ServiceOverloaded';
34541
+ readonly description: 'The service is draining or temporarily at capacity; retry later.';
34542
+ }];
34543
+ };
34544
+ };
34021
34545
  } | {
34022
34546
  readonly lexicon: 1;
34023
34547
  readonly id: 'app.bsky.video.getJobStatus';
@@ -34082,6 +34606,248 @@ export declare const schemas: ({
34082
34606
  };
34083
34607
  };
34084
34608
  };
34609
+ } | {
34610
+ readonly lexicon: 1;
34611
+ readonly id: 'app.bsky.video.getUploadStatus';
34612
+ readonly defs: {
34613
+ readonly main: {
34614
+ readonly type: 'query';
34615
+ 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.';
34616
+ readonly parameters: {
34617
+ readonly type: 'params';
34618
+ readonly required: ["jobId"];
34619
+ readonly properties: {
34620
+ readonly jobId: {
34621
+ readonly type: 'string';
34622
+ readonly minLength: 1;
34623
+ readonly maxLength: 256;
34624
+ };
34625
+ };
34626
+ };
34627
+ readonly output: {
34628
+ readonly encoding: 'application/json';
34629
+ readonly schema: {
34630
+ readonly type: 'object';
34631
+ readonly required: ["jobId", "partSizeBytes", "partCount", "receivedParts", "expiresAt", "state"];
34632
+ readonly properties: {
34633
+ readonly jobId: {
34634
+ readonly type: 'string';
34635
+ readonly minLength: 1;
34636
+ readonly maxLength: 256;
34637
+ };
34638
+ readonly partSizeBytes: {
34639
+ readonly type: 'integer';
34640
+ };
34641
+ readonly partCount: {
34642
+ readonly type: 'integer';
34643
+ };
34644
+ readonly receivedParts: {
34645
+ readonly type: 'array';
34646
+ readonly items: {
34647
+ readonly type: 'integer';
34648
+ readonly minimum: 1;
34649
+ };
34650
+ };
34651
+ readonly expiresAt: {
34652
+ readonly type: 'string';
34653
+ readonly format: 'datetime';
34654
+ };
34655
+ readonly state: {
34656
+ readonly type: 'string';
34657
+ readonly maxLength: 32;
34658
+ readonly knownValues: ["created", "finishing", "completed", "failed", "aborted", "expired"];
34659
+ };
34660
+ readonly completedJobId: {
34661
+ readonly type: 'string';
34662
+ readonly minLength: 1;
34663
+ readonly maxLength: 256;
34664
+ readonly description: 'Present only when state is completed; may differ from jobId on deduplication.';
34665
+ };
34666
+ readonly jobStatus: {
34667
+ readonly type: 'ref';
34668
+ readonly ref: 'lex:app.bsky.video.defs#jobStatus';
34669
+ readonly description: 'Present only when state is completed.';
34670
+ };
34671
+ readonly failureReason: {
34672
+ readonly type: 'string';
34673
+ readonly maxLength: 1024;
34674
+ readonly description: 'Present only when state is failed.';
34675
+ };
34676
+ };
34677
+ };
34678
+ };
34679
+ readonly errors: [{
34680
+ readonly name: 'UploadNotFound';
34681
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions remain readable and are never reported as not found.';
34682
+ }];
34683
+ };
34684
+ };
34685
+ } | {
34686
+ readonly lexicon: 1;
34687
+ readonly id: 'app.bsky.video.startUpload';
34688
+ readonly defs: {
34689
+ readonly main: {
34690
+ readonly type: 'procedure';
34691
+ 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.';
34692
+ readonly input: {
34693
+ readonly encoding: 'application/json';
34694
+ readonly schema: {
34695
+ readonly type: 'object';
34696
+ readonly required: ["sizeBytes", "mimeType"];
34697
+ readonly properties: {
34698
+ readonly sizeBytes: {
34699
+ readonly type: 'integer';
34700
+ readonly minimum: 1;
34701
+ readonly description: 'Exact byte size of the complete upload-ready video file before it is split into parts.';
34702
+ };
34703
+ readonly mimeType: {
34704
+ readonly type: 'string';
34705
+ readonly minLength: 3;
34706
+ readonly maxLength: 255;
34707
+ readonly description: 'Declared MIME type of the video.';
34708
+ };
34709
+ readonly name: {
34710
+ readonly type: 'string';
34711
+ readonly maxLength: 256;
34712
+ readonly description: 'Optional client-provided file name.';
34713
+ };
34714
+ readonly durationMs: {
34715
+ readonly type: 'integer';
34716
+ readonly description: 'Advisory, non-authoritative duration used only for early failure; the authoritative probe runs asynchronously after upload.';
34717
+ };
34718
+ readonly width: {
34719
+ readonly type: 'integer';
34720
+ readonly description: 'Advisory, non-authoritative width used only for early failure; the authoritative probe runs asynchronously after upload.';
34721
+ };
34722
+ readonly height: {
34723
+ readonly type: 'integer';
34724
+ readonly description: 'Advisory, non-authoritative height used only for early failure; the authoritative probe runs asynchronously after upload.';
34725
+ };
34726
+ };
34727
+ };
34728
+ };
34729
+ readonly output: {
34730
+ readonly encoding: 'application/json';
34731
+ readonly schema: {
34732
+ readonly type: 'object';
34733
+ readonly required: ["jobId", "partSizeBytes", "partCount", "expiresAt"];
34734
+ readonly properties: {
34735
+ readonly jobId: {
34736
+ readonly type: 'string';
34737
+ readonly minLength: 1;
34738
+ readonly maxLength: 256;
34739
+ };
34740
+ readonly partSizeBytes: {
34741
+ readonly type: 'integer';
34742
+ };
34743
+ readonly partCount: {
34744
+ readonly type: 'integer';
34745
+ };
34746
+ readonly expiresAt: {
34747
+ readonly type: 'string';
34748
+ readonly format: 'datetime';
34749
+ };
34750
+ };
34751
+ };
34752
+ };
34753
+ readonly errors: [{
34754
+ readonly name: 'UnsupportedContentType';
34755
+ readonly description: 'The declared MIME type is not supported.';
34756
+ }, {
34757
+ readonly name: 'VideoTooLarge';
34758
+ readonly description: 'The exact file size exceeds the per-file cap or remaining daily byte allowance.';
34759
+ }, {
34760
+ readonly name: 'VideoTooLong';
34761
+ readonly description: 'The advisory declared duration exceeds the limit.';
34762
+ }, {
34763
+ readonly name: 'BadAspectRatio';
34764
+ readonly description: 'The advisory declared dimensions have an unsupported aspect ratio.';
34765
+ }, {
34766
+ readonly name: 'DailyLimitExceeded';
34767
+ readonly description: 'The daily video or byte allowance, including active reservations, is exhausted.';
34768
+ }, {
34769
+ readonly name: 'TooManyOpenUploads';
34770
+ readonly description: 'The account has reached its open multipart upload limit.';
34771
+ }, {
34772
+ readonly name: 'UploadForbidden';
34773
+ readonly description: 'The account is not permitted to upload video.';
34774
+ }, {
34775
+ readonly name: 'ServiceOverloaded';
34776
+ readonly description: 'The service is draining, at capacity, or temporarily unable to create the multipart upload.';
34777
+ }];
34778
+ };
34779
+ };
34780
+ } | {
34781
+ readonly lexicon: 1;
34782
+ readonly id: 'app.bsky.video.uploadPart';
34783
+ readonly defs: {
34784
+ readonly main: {
34785
+ readonly type: 'procedure';
34786
+ 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.';
34787
+ readonly parameters: {
34788
+ readonly type: 'params';
34789
+ readonly required: ["jobId", "partNumber"];
34790
+ readonly properties: {
34791
+ readonly jobId: {
34792
+ readonly type: 'string';
34793
+ readonly minLength: 1;
34794
+ readonly maxLength: 256;
34795
+ };
34796
+ readonly partNumber: {
34797
+ readonly type: 'integer';
34798
+ readonly minimum: 1;
34799
+ };
34800
+ };
34801
+ };
34802
+ readonly input: {
34803
+ readonly encoding: 'application/octet-stream';
34804
+ };
34805
+ readonly output: {
34806
+ readonly encoding: 'application/json';
34807
+ readonly schema: {
34808
+ readonly type: 'object';
34809
+ readonly required: ["partNumber", "sizeBytes"];
34810
+ readonly properties: {
34811
+ readonly partNumber: {
34812
+ readonly type: 'integer';
34813
+ readonly minimum: 1;
34814
+ };
34815
+ readonly sizeBytes: {
34816
+ readonly type: 'integer';
34817
+ };
34818
+ };
34819
+ };
34820
+ };
34821
+ readonly errors: [{
34822
+ readonly name: 'UploadNotFound';
34823
+ readonly description: 'The job ID is unknown or aged out of retention; known terminal sessions are never reported as not found.';
34824
+ }, {
34825
+ readonly name: 'UploadExpired';
34826
+ readonly description: 'The upload session expired before completion.';
34827
+ }, {
34828
+ readonly name: 'InvalidPartNumber';
34829
+ readonly description: "The part number is outside the upload's valid part range.";
34830
+ }, {
34831
+ readonly name: 'PartSizeMismatch';
34832
+ readonly description: 'Content-Length does not exactly match the expected size for this part.';
34833
+ }, {
34834
+ readonly name: 'UploadNotReady';
34835
+ readonly description: 'A finish is in progress; check getUploadStatus and retry.';
34836
+ }, {
34837
+ readonly name: 'UploadFailed';
34838
+ readonly description: 'The session is known to have failed; the error carries its failure reason.';
34839
+ }, {
34840
+ readonly name: 'UploadAborted';
34841
+ readonly description: 'The session is known to have been aborted.';
34842
+ }, {
34843
+ readonly name: 'UploadAlreadyCompleted';
34844
+ readonly description: 'The session is known to have already completed.';
34845
+ }, {
34846
+ readonly name: 'ServiceOverloaded';
34847
+ readonly description: 'The service is draining or temporarily at capacity; retry on another worker.';
34848
+ }];
34849
+ };
34850
+ };
34085
34851
  } | {
34086
34852
  readonly lexicon: 1;
34087
34853
  readonly id: 'app.bsky.video.uploadVideo';
@@ -48786,6 +49552,7 @@ export declare function validate<T extends {
48786
49552
  $type?: string;
48787
49553
  }>(v: unknown, id: string, hash: string, requiredType?: false): ValidationResult<T>;
48788
49554
  export declare const ids: {
49555
+ readonly AppBskyActorContentVisibilityDeclaration: 'app.bsky.actor.contentVisibilityDeclaration';
48789
49556
  readonly AppBskyActorDefs: 'app.bsky.actor.defs';
48790
49557
  readonly AppBskyActorGetPreferences: 'app.bsky.actor.getPreferences';
48791
49558
  readonly AppBskyActorGetProfile: 'app.bsky.actor.getProfile';
@@ -48931,9 +49698,14 @@ export declare const ids: {
48931
49698
  readonly AppBskyUnspeccedSearchActorsSkeleton: 'app.bsky.unspecced.searchActorsSkeleton';
48932
49699
  readonly AppBskyUnspeccedSearchPostsSkeleton: 'app.bsky.unspecced.searchPostsSkeleton';
48933
49700
  readonly AppBskyUnspeccedSearchStarterPacksSkeleton: 'app.bsky.unspecced.searchStarterPacksSkeleton';
49701
+ readonly AppBskyVideoAbortUpload: 'app.bsky.video.abortUpload';
48934
49702
  readonly AppBskyVideoDefs: 'app.bsky.video.defs';
49703
+ readonly AppBskyVideoFinishUpload: 'app.bsky.video.finishUpload';
48935
49704
  readonly AppBskyVideoGetJobStatus: 'app.bsky.video.getJobStatus';
48936
49705
  readonly AppBskyVideoGetUploadLimits: 'app.bsky.video.getUploadLimits';
49706
+ readonly AppBskyVideoGetUploadStatus: 'app.bsky.video.getUploadStatus';
49707
+ readonly AppBskyVideoStartUpload: 'app.bsky.video.startUpload';
49708
+ readonly AppBskyVideoUploadPart: 'app.bsky.video.uploadPart';
48937
49709
  readonly AppBskyVideoUploadVideo: 'app.bsky.video.uploadVideo';
48938
49710
  readonly ChatBskyActorDeclaration: 'chat.bsky.actor.declaration';
48939
49711
  readonly ChatBskyActorDefs: 'chat.bsky.actor.defs';