@atproto/ozone 0.1.41 → 0.1.43

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 (171) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/api/communication/createTemplate.d.ts.map +1 -1
  3. package/dist/api/communication/createTemplate.js +21 -10
  4. package/dist/api/communication/createTemplate.js.map +1 -1
  5. package/dist/api/communication/updateTemplate.d.ts.map +1 -1
  6. package/dist/api/communication/updateTemplate.js +17 -8
  7. package/dist/api/communication/updateTemplate.js.map +1 -1
  8. package/dist/api/moderation/emitEvent.d.ts.map +1 -1
  9. package/dist/api/moderation/emitEvent.js +3 -7
  10. package/dist/api/moderation/emitEvent.js.map +1 -1
  11. package/dist/api/report/createReport.d.ts.map +1 -1
  12. package/dist/api/report/createReport.js +3 -7
  13. package/dist/api/report/createReport.js.map +1 -1
  14. package/dist/communication-service/template.d.ts +2 -2
  15. package/dist/communication-service/template.d.ts.map +1 -1
  16. package/dist/communication-service/template.js +5 -2
  17. package/dist/communication-service/template.js.map +1 -1
  18. package/dist/communication-service/util.d.ts +2 -0
  19. package/dist/communication-service/util.d.ts.map +1 -0
  20. package/dist/communication-service/util.js +11 -0
  21. package/dist/communication-service/util.js.map +1 -0
  22. package/dist/db/migrations/20240903T205730722Z-add-template-lang.d.ts +4 -0
  23. package/dist/db/migrations/20240903T205730722Z-add-template-lang.d.ts.map +1 -0
  24. package/dist/db/migrations/20240903T205730722Z-add-template-lang.js +15 -0
  25. package/dist/db/migrations/20240903T205730722Z-add-template-lang.js.map +1 -0
  26. package/dist/db/migrations/index.d.ts +1 -0
  27. package/dist/db/migrations/index.d.ts.map +1 -1
  28. package/dist/db/migrations/index.js +2 -1
  29. package/dist/db/migrations/index.js.map +1 -1
  30. package/dist/db/schema/communication_template.d.ts +1 -0
  31. package/dist/db/schema/communication_template.d.ts.map +1 -1
  32. package/dist/lexicon/index.d.ts +11 -0
  33. package/dist/lexicon/index.d.ts.map +1 -1
  34. package/dist/lexicon/index.js +32 -1
  35. package/dist/lexicon/index.js.map +1 -1
  36. package/dist/lexicon/lexicons.d.ts +367 -18
  37. package/dist/lexicon/lexicons.d.ts.map +1 -1
  38. package/dist/lexicon/lexicons.js +390 -24
  39. package/dist/lexicon/lexicons.js.map +1 -1
  40. package/dist/lexicon/types/app/bsky/embed/defs.d.ts +13 -0
  41. package/dist/lexicon/types/app/bsky/embed/defs.d.ts.map +1 -0
  42. package/dist/lexicon/types/app/bsky/embed/defs.js +16 -0
  43. package/dist/lexicon/types/app/bsky/embed/defs.js.map +1 -0
  44. package/dist/lexicon/types/app/bsky/embed/images.d.ts +3 -10
  45. package/dist/lexicon/types/app/bsky/embed/images.d.ts.map +1 -1
  46. package/dist/lexicon/types/app/bsky/embed/images.js +1 -11
  47. package/dist/lexicon/types/app/bsky/embed/images.js.map +1 -1
  48. package/dist/lexicon/types/app/bsky/embed/record.d.ts +2 -1
  49. package/dist/lexicon/types/app/bsky/embed/record.d.ts.map +1 -1
  50. package/dist/lexicon/types/app/bsky/embed/record.js.map +1 -1
  51. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts +3 -2
  52. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.d.ts.map +1 -1
  53. package/dist/lexicon/types/app/bsky/embed/recordWithMedia.js.map +1 -1
  54. package/dist/lexicon/types/app/bsky/embed/video.d.ts +33 -0
  55. package/dist/lexicon/types/app/bsky/embed/video.d.ts.map +1 -0
  56. package/dist/lexicon/types/app/bsky/embed/video.js +35 -0
  57. package/dist/lexicon/types/app/bsky/embed/video.js.map +1 -0
  58. package/dist/lexicon/types/app/bsky/feed/defs.d.ts +2 -1
  59. package/dist/lexicon/types/app/bsky/feed/defs.d.ts.map +1 -1
  60. package/dist/lexicon/types/app/bsky/feed/defs.js.map +1 -1
  61. package/dist/lexicon/types/app/bsky/feed/post.d.ts +2 -1
  62. package/dist/lexicon/types/app/bsky/feed/post.d.ts.map +1 -1
  63. package/dist/lexicon/types/app/bsky/feed/post.js.map +1 -1
  64. package/dist/lexicon/types/app/bsky/video/defs.d.ts +19 -0
  65. package/dist/lexicon/types/app/bsky/video/defs.d.ts.map +1 -0
  66. package/dist/lexicon/types/app/bsky/video/defs.js +16 -0
  67. package/dist/lexicon/types/app/bsky/video/defs.js.map +1 -0
  68. package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts +36 -0
  69. package/dist/lexicon/types/app/bsky/video/getJobStatus.d.ts.map +1 -0
  70. package/dist/lexicon/types/app/bsky/video/getJobStatus.js +3 -0
  71. package/dist/lexicon/types/app/bsky/video/getJobStatus.js.map +1 -0
  72. package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts +38 -0
  73. package/dist/lexicon/types/app/bsky/video/getUploadLimits.d.ts.map +1 -0
  74. package/dist/lexicon/types/app/bsky/video/getUploadLimits.js +3 -0
  75. package/dist/lexicon/types/app/bsky/video/getUploadLimits.js.map +1 -0
  76. package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts +41 -0
  77. package/dist/lexicon/types/app/bsky/video/uploadVideo.d.ts.map +1 -0
  78. package/dist/lexicon/types/app/bsky/video/uploadVideo.js +3 -0
  79. package/dist/lexicon/types/app/bsky/video/uploadVideo.js.map +1 -0
  80. package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts +38 -4
  81. package/dist/lexicon/types/com/atproto/repo/applyWrites.d.ts.map +1 -1
  82. package/dist/lexicon/types/com/atproto/repo/applyWrites.js +31 -1
  83. package/dist/lexicon/types/com/atproto/repo/applyWrites.js.map +1 -1
  84. package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts +5 -2
  85. package/dist/lexicon/types/com/atproto/repo/createRecord.d.ts.map +1 -1
  86. package/dist/lexicon/types/com/atproto/repo/defs.d.ts +12 -0
  87. package/dist/lexicon/types/com/atproto/repo/defs.d.ts.map +1 -0
  88. package/dist/lexicon/types/com/atproto/repo/defs.js +16 -0
  89. package/dist/lexicon/types/com/atproto/repo/defs.js.map +1 -0
  90. package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts +14 -2
  91. package/dist/lexicon/types/com/atproto/repo/deleteRecord.d.ts.map +1 -1
  92. package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts +5 -2
  93. package/dist/lexicon/types/com/atproto/repo/putRecord.d.ts.map +1 -1
  94. package/dist/lexicon/types/tools/ozone/communication/createTemplate.d.ts +3 -0
  95. package/dist/lexicon/types/tools/ozone/communication/createTemplate.d.ts.map +1 -1
  96. package/dist/lexicon/types/tools/ozone/communication/defs.d.ts +2 -0
  97. package/dist/lexicon/types/tools/ozone/communication/defs.d.ts.map +1 -1
  98. package/dist/lexicon/types/tools/ozone/communication/defs.js.map +1 -1
  99. package/dist/lexicon/types/tools/ozone/communication/updateTemplate.d.ts +3 -0
  100. package/dist/lexicon/types/tools/ozone/communication/updateTemplate.d.ts.map +1 -1
  101. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts +1 -1
  102. package/dist/lexicon/types/tools/ozone/moderation/emitEvent.d.ts.map +1 -1
  103. package/dist/mod-service/index.d.ts +1 -1
  104. package/dist/mod-service/index.d.ts.map +1 -1
  105. package/dist/mod-service/index.js +1 -1
  106. package/dist/mod-service/index.js.map +1 -1
  107. package/dist/tag-service/content-tagger.d.ts +15 -0
  108. package/dist/tag-service/content-tagger.d.ts.map +1 -0
  109. package/dist/tag-service/content-tagger.js +36 -0
  110. package/dist/tag-service/content-tagger.js.map +1 -0
  111. package/dist/tag-service/embed-tagger.d.ts +8 -0
  112. package/dist/tag-service/embed-tagger.d.ts.map +1 -0
  113. package/dist/tag-service/embed-tagger.js +64 -0
  114. package/dist/tag-service/embed-tagger.js.map +1 -0
  115. package/dist/tag-service/index.d.ts +13 -0
  116. package/dist/tag-service/index.d.ts.map +1 -0
  117. package/dist/tag-service/index.js +77 -0
  118. package/dist/tag-service/index.js.map +1 -0
  119. package/dist/{mod-service/lang-data.d.ts → tag-service/language-data.d.ts} +1 -1
  120. package/dist/tag-service/language-data.d.ts.map +1 -0
  121. package/dist/{mod-service/lang-data.js → tag-service/language-data.js} +1 -1
  122. package/dist/tag-service/language-data.js.map +1 -0
  123. package/dist/tag-service/language-tagger.d.ts +9 -0
  124. package/dist/tag-service/language-tagger.d.ts.map +1 -0
  125. package/dist/{mod-service/lang.js → tag-service/language-tagger.js} +32 -39
  126. package/dist/tag-service/language-tagger.js.map +1 -0
  127. package/package.json +3 -3
  128. package/src/api/communication/createTemplate.ts +23 -9
  129. package/src/api/communication/updateTemplate.ts +18 -7
  130. package/src/api/moderation/emitEvent.ts +7 -6
  131. package/src/api/report/createReport.ts +6 -5
  132. package/src/communication-service/template.ts +5 -0
  133. package/src/communication-service/util.ts +8 -0
  134. package/src/db/migrations/20240903T205730722Z-add-template-lang.ts +12 -0
  135. package/src/db/migrations/index.ts +1 -0
  136. package/src/db/schema/communication_template.ts +1 -0
  137. package/src/lexicon/index.ts +46 -0
  138. package/src/lexicon/lexicons.ts +393 -25
  139. package/src/lexicon/types/app/bsky/embed/defs.ts +26 -0
  140. package/src/lexicon/types/app/bsky/embed/images.ts +3 -21
  141. package/src/lexicon/types/app/bsky/embed/record.ts +2 -0
  142. package/src/lexicon/types/app/bsky/embed/recordWithMedia.ts +3 -0
  143. package/src/lexicon/types/app/bsky/embed/video.ts +67 -0
  144. package/src/lexicon/types/app/bsky/feed/defs.ts +2 -0
  145. package/src/lexicon/types/app/bsky/feed/post.ts +2 -0
  146. package/src/lexicon/types/app/bsky/video/defs.ts +32 -0
  147. package/src/lexicon/types/app/bsky/video/getJobStatus.ts +46 -0
  148. package/src/lexicon/types/app/bsky/video/getUploadLimits.ts +47 -0
  149. package/src/lexicon/types/app/bsky/video/uploadVideo.ts +48 -0
  150. package/src/lexicon/types/com/atproto/repo/applyWrites.ts +70 -3
  151. package/src/lexicon/types/com/atproto/repo/createRecord.ts +5 -2
  152. package/src/lexicon/types/com/atproto/repo/defs.ts +25 -0
  153. package/src/lexicon/types/com/atproto/repo/deleteRecord.ts +13 -1
  154. package/src/lexicon/types/com/atproto/repo/putRecord.ts +5 -2
  155. package/src/lexicon/types/tools/ozone/communication/createTemplate.ts +3 -0
  156. package/src/lexicon/types/tools/ozone/communication/defs.ts +2 -0
  157. package/src/lexicon/types/tools/ozone/communication/updateTemplate.ts +3 -0
  158. package/src/lexicon/types/tools/ozone/moderation/emitEvent.ts +1 -0
  159. package/src/mod-service/index.ts +2 -2
  160. package/src/tag-service/content-tagger.ts +30 -0
  161. package/src/tag-service/embed-tagger.ts +68 -0
  162. package/src/tag-service/index.ts +59 -0
  163. package/src/{mod-service/lang.ts → tag-service/language-tagger.ts} +25 -49
  164. package/tests/content-tagger.test.ts +141 -0
  165. package/dist/mod-service/lang-data.d.ts.map +0 -1
  166. package/dist/mod-service/lang-data.js.map +0 -1
  167. package/dist/mod-service/lang.d.ts +0 -17
  168. package/dist/mod-service/lang.d.ts.map +0 -1
  169. package/dist/mod-service/lang.js.map +0 -1
  170. package/tests/lang.test.ts +0 -106
  171. /package/src/{mod-service/lang-data.ts → tag-service/language-data.ts} +0 -0
@@ -4,7 +4,7 @@ import { getReasonType } from '../util'
4
4
  import { subjectFromInput } from '../../mod-service/subject'
5
5
  import { REASONAPPEAL } from '../../lexicon/types/com/atproto/moderation/defs'
6
6
  import { ForbiddenError } from '@atproto/xrpc-server'
7
- import { ModerationLangService } from '../../mod-service/lang'
7
+ import { TagService } from '../../tag-service'
8
8
 
9
9
  export default function (server: Server, ctx: AppContext) {
10
10
  server.com.atproto.moderation.createReport({
@@ -31,12 +31,13 @@ export default function (server: Server, ctx: AppContext) {
31
31
  reportedBy: requester || ctx.cfg.service.did,
32
32
  })
33
33
 
34
- const moderationLangService = new ModerationLangService(moderationTxn)
35
- await moderationLangService.tagSubjectWithLang({
34
+ const tagService = new TagService(
36
35
  subject,
37
36
  subjectStatus,
38
- createdBy: ctx.cfg.service.did,
39
- })
37
+ ctx.cfg.service.did,
38
+ moderationTxn,
39
+ )
40
+ await tagService.evaluateForSubject()
40
41
 
41
42
  return reportEvent
42
43
  })
@@ -27,6 +27,7 @@ export class CommunicationTemplateService {
27
27
  name,
28
28
  contentMarkdown,
29
29
  subject,
30
+ lang,
30
31
  disabled,
31
32
  updatedAt,
32
33
  createdAt,
@@ -44,6 +45,7 @@ export class CommunicationTemplateService {
44
45
  name,
45
46
  contentMarkdown,
46
47
  subject,
48
+ lang,
47
49
  disabled,
48
50
  lastUpdatedBy,
49
51
  updatedAt: updatedAt || new Date(),
@@ -62,6 +64,7 @@ export class CommunicationTemplateService {
62
64
  contentMarkdown,
63
65
  subject,
64
66
  disabled,
67
+ lang,
65
68
  updatedAt,
66
69
  lastUpdatedBy,
67
70
  }: Partial<Omit<Selectable<CommunicationTemplate>, 'id' | 'createdAt'>>,
@@ -73,6 +76,7 @@ export class CommunicationTemplateService {
73
76
  name,
74
77
  contentMarkdown,
75
78
  subject,
79
+ lang,
76
80
  disabled,
77
81
  lastUpdatedBy,
78
82
  updatedAt: updatedAt || new Date(),
@@ -96,6 +100,7 @@ export class CommunicationTemplateService {
96
100
  name: template.name,
97
101
  contentMarkdown: template.contentMarkdown,
98
102
  disabled: template.disabled,
103
+ lang: template.lang || undefined,
99
104
  subject: template.subject || undefined,
100
105
  createdAt: template.createdAt.toISOString(),
101
106
  updatedAt: template.updatedAt.toISOString(),
@@ -0,0 +1,8 @@
1
+ // Postgresql will throw a specific error code with the constraint when trying to create a template with duplicate name
2
+ // see https://www.postgresql.org/docs/current/errcodes-appendix.html
3
+ export const isDuplicateTemplateNameError = (err: any) => {
4
+ return (
5
+ err?.['code'] === '23505' &&
6
+ err?.['constraint'] === 'communication_template_unique_name'
7
+ )
8
+ }
@@ -0,0 +1,12 @@
1
+ import { Kysely } from 'kysely'
2
+
3
+ export async function up(db: Kysely<unknown>): Promise<void> {
4
+ await db.schema
5
+ .alterTable('communication_template')
6
+ .addColumn('lang', 'varchar')
7
+ .execute()
8
+ }
9
+
10
+ export async function down(db: Kysely<unknown>): Promise<void> {
11
+ await db.schema.alterTable('moderation_event').dropColumn('lang').execute()
12
+ }
@@ -11,3 +11,4 @@ export * as _20240408T192432676Z from './20240408T192432676Z-mute-reporting'
11
11
  export * as _20240506T225055595Z from './20240506T225055595Z-message-subject'
12
12
  export * as _20240430T211332580Z from './20240521T211332580Z-member'
13
13
  export * as _20240814T003647759Z from './20240814T003647759Z-event-created-at-index'
14
+ export * as _20240903T205730722Z from './20240903T205730722Z-add-template-lang'
@@ -7,6 +7,7 @@ export interface CommunicationTemplate {
7
7
  name: string
8
8
  contentMarkdown: string
9
9
  subject: string | null
10
+ lang: string | null
10
11
  disabled: Generated<boolean>
11
12
  createdAt: Date
12
13
  updatedAt: Date
@@ -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