@atproto/ozone 0.1.40 → 0.1.42

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 (66) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/lexicon/index.d.ts +11 -0
  3. package/dist/lexicon/index.d.ts.map +1 -1
  4. package/dist/lexicon/index.js +32 -1
  5. package/dist/lexicon/index.js.map +1 -1
  6. package/dist/lexicon/lexicons.d.ts +240 -15
  7. package/dist/lexicon/lexicons.d.ts.map +1 -1
  8. package/dist/lexicon/lexicons.js +251 -18
  9. package/dist/lexicon/lexicons.js.map +1 -1
  10. package/dist/lexicon/types/app/bsky/embed/defs.d.ts +13 -0
  11. package/dist/lexicon/types/app/bsky/embed/defs.d.ts.map +1 -0
  12. package/dist/lexicon/types/app/bsky/embed/defs.js +16 -0
  13. package/dist/lexicon/types/app/bsky/embed/defs.js.map +1 -0
  14. package/dist/lexicon/types/app/bsky/embed/images.d.ts +3 -10
  15. package/dist/lexicon/types/app/bsky/embed/images.d.ts.map +1 -1
  16. package/dist/lexicon/types/app/bsky/embed/images.js +1 -11
  17. package/dist/lexicon/types/app/bsky/embed/images.js.map +1 -1
  18. package/dist/lexicon/types/app/bsky/embed/record.d.ts +2 -1
  19. package/dist/lexicon/types/app/bsky/embed/record.d.ts.map +1 -1
  20. package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
  21. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts +3 -2
  22. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
  23. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  24. package/dist/lexicon/types/app/bsky/embed/video.d.ts +33 -0
  25. package/dist/lexicon/types/app/bsky/embed/video.d.ts.map +1 -0
  26. package/dist/lexicon/types/app/bsky/embed/video.js +35 -0
  27. package/dist/lexicon/types/app/bsky/embed/video.js.map +1 -0
  28. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +2 -1
  29. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  30. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  31. package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts +1 -0
  32. package/dist/lexicon/types/app/bsky/feed/getPostThread.d.ts.map +1 -1
  33. package/dist/lexicon/types/app/bsky/feed/post.d.ts +2 -1
  34. package/dist/lexicon/types/app/bsky/feed/post.d.ts.map +1 -1
  35. package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
  36. package/dist/lexicon/types/app/bsky/video/defs.d.ts +19 -0
  37. package/dist/lexicon/types/app/bsky/video/defs.d.ts.map +1 -0
  38. package/dist/lexicon/types/app/bsky/video/defs.js +16 -0
  39. package/dist/lexicon/types/app/bsky/video/defs.js.map +1 -0
  40. package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts +36 -0
  41. package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts.map +1 -0
  42. package/dist/lexicon/types/app/bsky/video/getJobStatus.js +3 -0
  43. package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -0
  44. package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts +38 -0
  45. package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts.map +1 -0
  46. package/dist/lexicon/types/app/bsky/video/getUploadLimits.js +3 -0
  47. package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -0
  48. package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts +41 -0
  49. package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts.map +1 -0
  50. package/dist/lexicon/types/app/bsky/video/uploadVideo.js +3 -0
  51. package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -0
  52. package/package.json +7 -7
  53. package/src/lexicon/index.ts +46 -0
  54. package/src/lexicon/lexicons.ts +254 -19
  55. package/src/lexicon/types/app/bsky/embed/defs.ts +26 -0
  56. package/src/lexicon/types/app/bsky/embed/images.ts +3 -21
  57. package/src/lexicon/types/app/bsky/embed/record.ts +2 -0
  58. package/src/lexicon/types/app/bsky/embed/recordWithMedia.ts +3 -0
  59. package/src/lexicon/types/app/bsky/embed/video.ts +67 -0
  60. package/src/lexicon/types/app/bsky/feed/defs.ts +2 -0
  61. package/src/lexicon/types/app/bsky/feed/getPostThread.ts +1 -0
  62. package/src/lexicon/types/app/bsky/feed/post.ts +2 -0
  63. package/src/lexicon/types/app/bsky/video/defs.ts +32 -0
  64. package/src/lexicon/types/app/bsky/video/getJobStatus.ts +46 -0
  65. package/src/lexicon/types/app/bsky/video/getUploadLimits.ts +47 -0
  66. package/src/lexicon/types/app/bsky/video/uploadVideo.ts +48 -0
@@ -0,0 +1,41 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /**
4
+ * GENERATED CODE - DO NOT MODIFY
5
+ */
6
+ import express from 'express';
7
+ import stream from 'stream';
8
+ import { HandlerAuth, HandlerPipeThrough } from '@atproto/xrpc-server';
9
+ import * as AppBskyVideoDefs from './defs';
10
+ export interface QueryParams {
11
+ }
12
+ export type InputSchema = string | Uint8Array | Blob;
13
+ export interface OutputSchema {
14
+ jobStatus: AppBskyVideoDefs.JobStatus;
15
+ [k: string]: unknown;
16
+ }
17
+ export interface HandlerInput {
18
+ encoding: 'video/mp4';
19
+ body: stream.Readable;
20
+ }
21
+ export interface HandlerSuccess {
22
+ encoding: 'application/json';
23
+ body: OutputSchema;
24
+ headers?: {
25
+ [key: string]: string;
26
+ };
27
+ }
28
+ export interface HandlerError {
29
+ status: number;
30
+ message?: string;
31
+ }
32
+ export type HandlerOutput = HandlerError | HandlerSuccess | HandlerPipeThrough;
33
+ export type HandlerReqCtx<HA extends HandlerAuth = never> = {
34
+ auth: HA;
35
+ params: QueryParams;
36
+ input: HandlerInput;
37
+ req: express.Request;
38
+ res: express.Response;
39
+ };
40
+ export type Handler<HA extends HandlerAuth = never> = (ctx: HandlerReqCtx<HA>) => Promise<HandlerOutput> | HandlerOutput;
41
+ //# sourceMappingURL=uploadVideo.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadVideo.d.ts","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/video/uploadVideo.ts"],"names":[],"mappings":";;AAAA;;GAEG;AACH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,MAAM,MAAM,QAAQ,CAAA;AAK3B,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACtE,OAAO,KAAK,gBAAgB,MAAM,QAAQ,CAAA;AAE1C,MAAM,WAAW,WAAW;CAAG;AAE/B,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI,CAAA;AAEpD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAA;IACrC,CAAC,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,WAAW,CAAA;IACrB,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,kBAAkB,CAAA;IAC5B,IAAI,EAAE,YAAY,CAAA;IAClB,OAAO,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAA;CACpC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAA;AAC9E,MAAM,MAAM,aAAa,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI;IAC1D,IAAI,EAAE,EAAE,CAAA;IACR,MAAM,EAAE,WAAW,CAAA;IACnB,KAAK,EAAE,YAAY,CAAA;IACnB,GAAG,EAAE,OAAO,CAAC,OAAO,CAAA;IACpB,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAA;CACtB,CAAA;AACD,MAAM,MAAM,OAAO,CAAC,EAAE,SAAS,WAAW,GAAG,KAAK,IAAI,CACpD,GAAG,EAAE,aAAa,CAAC,EAAE,CAAC,KACnB,OAAO,CAAC,aAAa,CAAC,GAAG,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=uploadVideo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uploadVideo.js","sourceRoot":"","sources":["../../../../../../src/lexicon/types/app/bsky/video/uploadVideo.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atproto/ozone",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "license": "MIT",
5
5
  "description": "Backend service for moderating the Bluesky network.",
6
6
  "keywords": [
@@ -32,14 +32,14 @@
32
32
  "structured-headers": "^1.0.1",
33
33
  "typed-emitter": "^2.1.0",
34
34
  "uint8arrays": "3.0.0",
35
- "@atproto/api": "^0.13.3",
35
+ "@atproto/api": "^0.13.5",
36
36
  "@atproto/common": "^0.4.1",
37
- "@atproto/crypto": "^0.4.0",
38
- "@atproto/identity": "^0.4.0",
37
+ "@atproto/crypto": "^0.4.1",
38
+ "@atproto/identity": "^0.4.1",
39
39
  "@atproto/lexicon": "^0.4.1",
40
40
  "@atproto/syntax": "^0.3.0",
41
- "@atproto/xrpc": "^0.6.0",
42
- "@atproto/xrpc-server": "^0.6.2"
41
+ "@atproto/xrpc": "^0.6.1",
42
+ "@atproto/xrpc-server": "^0.6.3"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@did-plc/server": "^0.0.1",
@@ -52,7 +52,7 @@
52
52
  "jest": "^28.1.2",
53
53
  "ts-node": "^10.8.2",
54
54
  "@atproto/lex-cli": "^0.5.0",
55
- "@atproto/pds": "^0.4.53"
55
+ "@atproto/pds": "^0.4.56"
56
56
  },
57
57
  "scripts": {
58
58
  "codegen": "lex gen-server --yes ./src/lexicon ../../lexicons/com/atproto/*/* ../../lexicons/app/bsky/*/* ../../lexicons/chat/bsky/*/* ../../lexicons/tools/ozone/*/*",
@@ -139,6 +139,9 @@ import * as AppBskyUnspeccedGetSuggestionsSkeleton from './types/app/bsky/unspec
139
139
  import * as AppBskyUnspeccedGetTaggedSuggestions from './types/app/bsky/unspecced/getTaggedSuggestions'
140
140
  import * as AppBskyUnspeccedSearchActorsSkeleton from './types/app/bsky/unspecced/searchActorsSkeleton'
141
141
  import * as AppBskyUnspeccedSearchPostsSkeleton from './types/app/bsky/unspecced/searchPostsSkeleton'
142
+ import * as AppBskyVideoGetJobStatus from './types/app/bsky/video/getJobStatus'
143
+ import * as AppBskyVideoGetUploadLimits from './types/app/bsky/video/getUploadLimits'
144
+ import * as AppBskyVideoUploadVideo from './types/app/bsky/video/uploadVideo'
142
145
  import * as ChatBskyActorDeleteAccount from './types/chat/bsky/actor/deleteAccount'
143
146
  import * as ChatBskyActorExportAccountData from './types/chat/bsky/actor/exportAccountData'
144
147
  import * as ChatBskyConvoDeleteMessageForSelf from './types/chat/bsky/convo/deleteMessageForSelf'
@@ -1169,6 +1172,7 @@ export class AppBskyNS {
1169
1172
  notification: AppBskyNotificationNS
1170
1173
  richtext: AppBskyRichtextNS
1171
1174
  unspecced: AppBskyUnspeccedNS
1175
+ video: AppBskyVideoNS
1172
1176
 
1173
1177
  constructor(server: Server) {
1174
1178
  this._server = server
@@ -1180,6 +1184,7 @@ export class AppBskyNS {
1180
1184
  this.notification = new AppBskyNotificationNS(server)
1181
1185
  this.richtext = new AppBskyRichtextNS(server)
1182
1186
  this.unspecced = new AppBskyUnspeccedNS(server)
1187
+ this.video = new AppBskyVideoNS(server)
1183
1188
  }
1184
1189
  }
1185
1190
 
@@ -1863,6 +1868,47 @@ export class AppBskyUnspeccedNS {
1863
1868
  }
1864
1869
  }
1865
1870
 
1871
+ export class AppBskyVideoNS {
1872
+ _server: Server
1873
+
1874
+ constructor(server: Server) {
1875
+ this._server = server
1876
+ }
1877
+
1878
+ getJobStatus<AV extends AuthVerifier>(
1879
+ cfg: ConfigOf<
1880
+ AV,
1881
+ AppBskyVideoGetJobStatus.Handler<ExtractAuth<AV>>,
1882
+ AppBskyVideoGetJobStatus.HandlerReqCtx<ExtractAuth<AV>>
1883
+ >,
1884
+ ) {
1885
+ const nsid = 'app.bsky.video.getJobStatus' // @ts-ignore
1886
+ return this._server.xrpc.method(nsid, cfg)
1887
+ }
1888
+
1889
+ getUploadLimits<AV extends AuthVerifier>(
1890
+ cfg: ConfigOf<
1891
+ AV,
1892
+ AppBskyVideoGetUploadLimits.Handler<ExtractAuth<AV>>,
1893
+ AppBskyVideoGetUploadLimits.HandlerReqCtx<ExtractAuth<AV>>
1894
+ >,
1895
+ ) {
1896
+ const nsid = 'app.bsky.video.getUploadLimits' // @ts-ignore
1897
+ return this._server.xrpc.method(nsid, cfg)
1898
+ }
1899
+
1900
+ uploadVideo<AV extends AuthVerifier>(
1901
+ cfg: ConfigOf<
1902
+ AV,
1903
+ AppBskyVideoUploadVideo.Handler<ExtractAuth<AV>>,
1904
+ AppBskyVideoUploadVideo.HandlerReqCtx<ExtractAuth<AV>>
1905
+ >,
1906
+ ) {
1907
+ const nsid = 'app.bsky.video.uploadVideo' // @ts-ignore
1908
+ return this._server.xrpc.method(nsid, cfg)
1909
+ }
1910
+ }
1911
+
1866
1912
  export class ChatNS {
1867
1913
  _server: Server
1868
1914
  bsky: ChatBskyNS
@@ -4796,6 +4796,28 @@ export const schemaDict = {
4796
4796
  },
4797
4797
  },
4798
4798
  },
4799
+ AppBskyEmbedDefs: {
4800
+ lexicon: 1,
4801
+ id: 'app.bsky.embed.defs',
4802
+ defs: {
4803
+ aspectRatio: {
4804
+ type: 'object',
4805
+ description:
4806
+ 'width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.',
4807
+ required: ['width', 'height'],
4808
+ properties: {
4809
+ width: {
4810
+ type: 'integer',
4811
+ minimum: 1,
4812
+ },
4813
+ height: {
4814
+ type: 'integer',
4815
+ minimum: 1,
4816
+ },
4817
+ },
4818
+ },
4819
+ },
4820
+ },
4799
4821
  AppBskyEmbedExternal: {
4800
4822
  lexicon: 1,
4801
4823
  id: 'app.bsky.embed.external',
@@ -4900,23 +4922,7 @@ export const schemaDict = {
4900
4922
  },
4901
4923
  aspectRatio: {
4902
4924
  type: 'ref',
4903
- ref: 'lex:app.bsky.embed.images#aspectRatio',
4904
- },
4905
- },
4906
- },
4907
- aspectRatio: {
4908
- type: 'object',
4909
- description:
4910
- 'width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit.',
4911
- required: ['width', 'height'],
4912
- properties: {
4913
- width: {
4914
- type: 'integer',
4915
- minimum: 1,
4916
- },
4917
- height: {
4918
- type: 'integer',
4919
- minimum: 1,
4925
+ ref: 'lex:app.bsky.embed.defs#aspectRatio',
4920
4926
  },
4921
4927
  },
4922
4928
  },
@@ -4957,7 +4963,7 @@ export const schemaDict = {
4957
4963
  },
4958
4964
  aspectRatio: {
4959
4965
  type: 'ref',
4960
- ref: 'lex:app.bsky.embed.images#aspectRatio',
4966
+ ref: 'lex:app.bsky.embed.defs#aspectRatio',
4961
4967
  },
4962
4968
  },
4963
4969
  },
@@ -5043,6 +5049,7 @@ export const schemaDict = {
5043
5049
  type: 'union',
5044
5050
  refs: [
5045
5051
  'lex:app.bsky.embed.images#view',
5052
+ 'lex:app.bsky.embed.video#view',
5046
5053
  'lex:app.bsky.embed.external#view',
5047
5054
  'lex:app.bsky.embed.record#view',
5048
5055
  'lex:app.bsky.embed.recordWithMedia#view',
@@ -5119,7 +5126,11 @@ export const schemaDict = {
5119
5126
  },
5120
5127
  media: {
5121
5128
  type: 'union',
5122
- refs: ['lex:app.bsky.embed.images', 'lex:app.bsky.embed.external'],
5129
+ refs: [
5130
+ 'lex:app.bsky.embed.images',
5131
+ 'lex:app.bsky.embed.video',
5132
+ 'lex:app.bsky.embed.external',
5133
+ ],
5123
5134
  },
5124
5135
  },
5125
5136
  },
@@ -5135,6 +5146,7 @@ export const schemaDict = {
5135
5146
  type: 'union',
5136
5147
  refs: [
5137
5148
  'lex:app.bsky.embed.images#view',
5149
+ 'lex:app.bsky.embed.video#view',
5138
5150
  'lex:app.bsky.embed.external#view',
5139
5151
  ],
5140
5152
  },
@@ -5142,6 +5154,85 @@ export const schemaDict = {
5142
5154
  },
5143
5155
  },
5144
5156
  },
5157
+ AppBskyEmbedVideo: {
5158
+ lexicon: 1,
5159
+ id: 'app.bsky.embed.video',
5160
+ description: 'A video embedded in a Bluesky record (eg, a post).',
5161
+ defs: {
5162
+ main: {
5163
+ type: 'object',
5164
+ required: ['video'],
5165
+ properties: {
5166
+ video: {
5167
+ type: 'blob',
5168
+ accept: ['video/mp4'],
5169
+ maxSize: 50000000,
5170
+ },
5171
+ captions: {
5172
+ type: 'array',
5173
+ items: {
5174
+ type: 'ref',
5175
+ ref: 'lex:app.bsky.embed.video#caption',
5176
+ },
5177
+ maxLength: 20,
5178
+ },
5179
+ alt: {
5180
+ type: 'string',
5181
+ description:
5182
+ 'Alt text description of the video, for accessibility.',
5183
+ maxGraphemes: 1000,
5184
+ maxLength: 10000,
5185
+ },
5186
+ aspectRatio: {
5187
+ type: 'ref',
5188
+ ref: 'lex:app.bsky.embed.defs#aspectRatio',
5189
+ },
5190
+ },
5191
+ },
5192
+ caption: {
5193
+ type: 'object',
5194
+ required: ['lang', 'file'],
5195
+ properties: {
5196
+ lang: {
5197
+ type: 'string',
5198
+ format: 'language',
5199
+ },
5200
+ file: {
5201
+ type: 'blob',
5202
+ accept: ['text/vtt'],
5203
+ maxSize: 20000,
5204
+ },
5205
+ },
5206
+ },
5207
+ view: {
5208
+ type: 'object',
5209
+ required: ['cid', 'playlist'],
5210
+ properties: {
5211
+ cid: {
5212
+ type: 'string',
5213
+ format: 'cid',
5214
+ },
5215
+ playlist: {
5216
+ type: 'string',
5217
+ format: 'uri',
5218
+ },
5219
+ thumbnail: {
5220
+ type: 'string',
5221
+ format: 'uri',
5222
+ },
5223
+ alt: {
5224
+ type: 'string',
5225
+ maxGraphemes: 1000,
5226
+ maxLength: 10000,
5227
+ },
5228
+ aspectRatio: {
5229
+ type: 'ref',
5230
+ ref: 'lex:app.bsky.embed.defs#aspectRatio',
5231
+ },
5232
+ },
5233
+ },
5234
+ },
5235
+ },
5145
5236
  AppBskyFeedDefs: {
5146
5237
  lexicon: 1,
5147
5238
  id: 'app.bsky.feed.defs',
@@ -5169,6 +5260,7 @@ export const schemaDict = {
5169
5260
  type: 'union',
5170
5261
  refs: [
5171
5262
  'lex:app.bsky.embed.images#view',
5263
+ 'lex:app.bsky.embed.video#view',
5172
5264
  'lex:app.bsky.embed.external#view',
5173
5265
  'lex:app.bsky.embed.record#view',
5174
5266
  'lex:app.bsky.embed.recordWithMedia#view',
@@ -6251,6 +6343,10 @@ export const schemaDict = {
6251
6343
  'lex:app.bsky.feed.defs#blockedPost',
6252
6344
  ],
6253
6345
  },
6346
+ threadgate: {
6347
+ type: 'ref',
6348
+ ref: 'lex:app.bsky.feed.defs#threadgateView',
6349
+ },
6254
6350
  },
6255
6351
  },
6256
6352
  },
@@ -6592,6 +6688,7 @@ export const schemaDict = {
6592
6688
  type: 'union',
6593
6689
  refs: [
6594
6690
  'lex:app.bsky.embed.images',
6691
+ 'lex:app.bsky.embed.video',
6595
6692
  'lex:app.bsky.embed.external',
6596
6693
  'lex:app.bsky.embed.record',
6597
6694
  'lex:app.bsky.embed.recordWithMedia',
@@ -9195,6 +9292,138 @@ export const schemaDict = {
9195
9292
  },
9196
9293
  },
9197
9294
  },
9295
+ AppBskyVideoDefs: {
9296
+ lexicon: 1,
9297
+ id: 'app.bsky.video.defs',
9298
+ defs: {
9299
+ jobStatus: {
9300
+ type: 'object',
9301
+ required: ['jobId', 'did', 'state'],
9302
+ properties: {
9303
+ jobId: {
9304
+ type: 'string',
9305
+ },
9306
+ did: {
9307
+ type: 'string',
9308
+ format: 'did',
9309
+ },
9310
+ state: {
9311
+ type: 'string',
9312
+ description:
9313
+ 'The state of the video processing job. All values not listed as a known value indicate that the job is in process.',
9314
+ knownValues: ['JOB_STATE_COMPLETED', 'JOB_STATE_FAILED'],
9315
+ },
9316
+ progress: {
9317
+ type: 'integer',
9318
+ minimum: 0,
9319
+ maximum: 100,
9320
+ description: 'Progress within the current processing state.',
9321
+ },
9322
+ blob: {
9323
+ type: 'blob',
9324
+ },
9325
+ error: {
9326
+ type: 'string',
9327
+ },
9328
+ message: {
9329
+ type: 'string',
9330
+ },
9331
+ },
9332
+ },
9333
+ },
9334
+ },
9335
+ AppBskyVideoGetJobStatus: {
9336
+ lexicon: 1,
9337
+ id: 'app.bsky.video.getJobStatus',
9338
+ defs: {
9339
+ main: {
9340
+ type: 'query',
9341
+ description: 'Get status details for a video processing job.',
9342
+ parameters: {
9343
+ type: 'params',
9344
+ required: ['jobId'],
9345
+ properties: {
9346
+ jobId: {
9347
+ type: 'string',
9348
+ },
9349
+ },
9350
+ },
9351
+ output: {
9352
+ encoding: 'application/json',
9353
+ schema: {
9354
+ type: 'object',
9355
+ required: ['jobStatus'],
9356
+ properties: {
9357
+ jobStatus: {
9358
+ type: 'ref',
9359
+ ref: 'lex:app.bsky.video.defs#jobStatus',
9360
+ },
9361
+ },
9362
+ },
9363
+ },
9364
+ },
9365
+ },
9366
+ },
9367
+ AppBskyVideoGetUploadLimits: {
9368
+ lexicon: 1,
9369
+ id: 'app.bsky.video.getUploadLimits',
9370
+ defs: {
9371
+ main: {
9372
+ type: 'query',
9373
+ description: 'Get video upload limits for the authenticated user.',
9374
+ output: {
9375
+ encoding: 'application/json',
9376
+ schema: {
9377
+ type: 'object',
9378
+ required: ['canUpload'],
9379
+ properties: {
9380
+ canUpload: {
9381
+ type: 'boolean',
9382
+ },
9383
+ remainingDailyVideos: {
9384
+ type: 'integer',
9385
+ },
9386
+ remainingDailyBytes: {
9387
+ type: 'integer',
9388
+ },
9389
+ message: {
9390
+ type: 'string',
9391
+ },
9392
+ error: {
9393
+ type: 'string',
9394
+ },
9395
+ },
9396
+ },
9397
+ },
9398
+ },
9399
+ },
9400
+ },
9401
+ AppBskyVideoUploadVideo: {
9402
+ lexicon: 1,
9403
+ id: 'app.bsky.video.uploadVideo',
9404
+ defs: {
9405
+ main: {
9406
+ type: 'procedure',
9407
+ description: 'Upload a video to be processed then stored on the PDS.',
9408
+ input: {
9409
+ encoding: 'video/mp4',
9410
+ },
9411
+ output: {
9412
+ encoding: 'application/json',
9413
+ schema: {
9414
+ type: 'object',
9415
+ required: ['jobStatus'],
9416
+ properties: {
9417
+ jobStatus: {
9418
+ type: 'ref',
9419
+ ref: 'lex:app.bsky.video.defs#jobStatus',
9420
+ },
9421
+ },
9422
+ },
9423
+ },
9424
+ },
9425
+ },
9426
+ },
9198
9427
  ChatBskyActorDeclaration: {
9199
9428
  lexicon: 1,
9200
9429
  id: 'chat.bsky.actor.declaration',
@@ -11920,10 +12149,12 @@ export const ids = {
11920
12149
  AppBskyActorPutPreferences: 'app.bsky.actor.putPreferences',
11921
12150
  AppBskyActorSearchActors: 'app.bsky.actor.searchActors',
11922
12151
  AppBskyActorSearchActorsTypeahead: 'app.bsky.actor.searchActorsTypeahead',
12152
+ AppBskyEmbedDefs: 'app.bsky.embed.defs',
11923
12153
  AppBskyEmbedExternal: 'app.bsky.embed.external',
11924
12154
  AppBskyEmbedImages: 'app.bsky.embed.images',
11925
12155
  AppBskyEmbedRecord: 'app.bsky.embed.record',
11926
12156
  AppBskyEmbedRecordWithMedia: 'app.bsky.embed.recordWithMedia',
12157
+ AppBskyEmbedVideo: 'app.bsky.embed.video',
11927
12158
  AppBskyFeedDefs: 'app.bsky.feed.defs',
11928
12159
  AppBskyFeedDescribeFeedGenerator: 'app.bsky.feed.describeFeedGenerator',
11929
12160
  AppBskyFeedGenerator: 'app.bsky.feed.generator',
@@ -11997,6 +12228,10 @@ export const ids = {
11997
12228
  AppBskyUnspeccedSearchActorsSkeleton:
11998
12229
  'app.bsky.unspecced.searchActorsSkeleton',
11999
12230
  AppBskyUnspeccedSearchPostsSkeleton: 'app.bsky.unspecced.searchPostsSkeleton',
12231
+ AppBskyVideoDefs: 'app.bsky.video.defs',
12232
+ AppBskyVideoGetJobStatus: 'app.bsky.video.getJobStatus',
12233
+ AppBskyVideoGetUploadLimits: 'app.bsky.video.getUploadLimits',
12234
+ AppBskyVideoUploadVideo: 'app.bsky.video.uploadVideo',
12000
12235
  ChatBskyActorDeclaration: 'chat.bsky.actor.declaration',
12001
12236
  ChatBskyActorDefs: 'chat.bsky.actor.defs',
12002
12237
  ChatBskyActorDeleteAccount: 'chat.bsky.actor.deleteAccount',
@@ -0,0 +1,26 @@
1
+ /**
2
+ * GENERATED CODE - DO NOT MODIFY
3
+ */
4
+ import { ValidationResult, BlobRef } from '@atproto/lexicon'
5
+ import { lexicons } from '../../../../lexicons'
6
+ import { isObj, hasProp } from '../../../../util'
7
+ import { CID } from 'multiformats/cid'
8
+
9
+ /** width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. */
10
+ export interface AspectRatio {
11
+ width: number
12
+ height: number
13
+ [k: string]: unknown
14
+ }
15
+
16
+ export function isAspectRatio(v: unknown): v is AspectRatio {
17
+ return (
18
+ isObj(v) &&
19
+ hasProp(v, '$type') &&
20
+ v.$type === 'app.bsky.embed.defs#aspectRatio'
21
+ )
22
+ }
23
+
24
+ export function validateAspectRatio(v: unknown): ValidationResult {
25
+ return lexicons.validate('app.bsky.embed.defs#aspectRatio', v)
26
+ }
@@ -5,6 +5,7 @@ import { ValidationResult, BlobRef } from '@atproto/lexicon'
5
5
  import { lexicons } from '../../../../lexicons'
6
6
  import { isObj, hasProp } from '../../../../util'
7
7
  import { CID } from 'multiformats/cid'
8
+ import * as AppBskyEmbedDefs from './defs'
8
9
 
9
10
  export interface Main {
10
11
  images: Image[]
@@ -28,7 +29,7 @@ export interface Image {
28
29
  image: BlobRef
29
30
  /** Alt text description of the image, for accessibility. */
30
31
  alt: string
31
- aspectRatio?: AspectRatio
32
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio
32
33
  [k: string]: unknown
33
34
  }
34
35
 
@@ -42,25 +43,6 @@ export function validateImage(v: unknown): ValidationResult {
42
43
  return lexicons.validate('app.bsky.embed.images#image', v)
43
44
  }
44
45
 
45
- /** width:height represents an aspect ratio. It may be approximate, and may not correspond to absolute dimensions in any given unit. */
46
- export interface AspectRatio {
47
- width: number
48
- height: number
49
- [k: string]: unknown
50
- }
51
-
52
- export function isAspectRatio(v: unknown): v is AspectRatio {
53
- return (
54
- isObj(v) &&
55
- hasProp(v, '$type') &&
56
- v.$type === 'app.bsky.embed.images#aspectRatio'
57
- )
58
- }
59
-
60
- export function validateAspectRatio(v: unknown): ValidationResult {
61
- return lexicons.validate('app.bsky.embed.images#aspectRatio', v)
62
- }
63
-
64
46
  export interface View {
65
47
  images: ViewImage[]
66
48
  [k: string]: unknown
@@ -83,7 +65,7 @@ export interface ViewImage {
83
65
  fullsize: string
84
66
  /** Alt text description of the image, for accessibility. */
85
67
  alt: string
86
- aspectRatio?: AspectRatio
68
+ aspectRatio?: AppBskyEmbedDefs.AspectRatio
87
69
  [k: string]: unknown
88
70
  }
89
71
 
@@ -12,6 +12,7 @@ import * as AppBskyLabelerDefs from '../labeler/defs'
12
12
  import * as AppBskyActorDefs from '../actor/defs'
13
13
  import * as ComAtprotoLabelDefs from '../../../com/atproto/label/defs'
14
14
  import * as AppBskyEmbedImages from './images'
15
+ import * as AppBskyEmbedVideo from './video'
15
16
  import * as AppBskyEmbedExternal from './external'
16
17
  import * as AppBskyEmbedRecordWithMedia from './recordWithMedia'
17
18
 
@@ -70,6 +71,7 @@ export interface ViewRecord {
70
71
  quoteCount?: number
71
72
  embeds?: (
72
73
  | AppBskyEmbedImages.View
74
+ | AppBskyEmbedVideo.View
73
75
  | AppBskyEmbedExternal.View
74
76
  | View
75
77
  | AppBskyEmbedRecordWithMedia.View
@@ -7,12 +7,14 @@ import { isObj, hasProp } from '../../../../util'
7
7
  import { CID } from 'multiformats/cid'
8
8
  import * as AppBskyEmbedRecord from './record'
9
9
  import * as AppBskyEmbedImages from './images'
10
+ import * as AppBskyEmbedVideo from './video'
10
11
  import * as AppBskyEmbedExternal from './external'
11
12
 
12
13
  export interface Main {
13
14
  record: AppBskyEmbedRecord.Main
14
15
  media:
15
16
  | AppBskyEmbedImages.Main
17
+ | AppBskyEmbedVideo.Main
16
18
  | AppBskyEmbedExternal.Main
17
19
  | { $type: string; [k: string]: unknown }
18
20
  [k: string]: unknown
@@ -35,6 +37,7 @@ export interface View {
35
37
  record: AppBskyEmbedRecord.View
36
38
  media:
37
39
  | AppBskyEmbedImages.View
40
+ | AppBskyEmbedVideo.View
38
41
  | AppBskyEmbedExternal.View
39
42
  | { $type: string; [k: string]: unknown }
40
43
  [k: string]: unknown