export interface ActivityIconObject {
type: 'Image'
url: string
- mediaType: 'image/jpeg' | 'image/png'
+ mediaType: string
width?: number
height?: number
}
href: string
}
-export type ActivityVideoFileMetadataObject = {
+export type ActivityVideoFileMetadataUrlObject = {
type: 'Link'
rel: [ 'metadata', any ]
mediaType: 'application/json'
fps: number
}
-export type ActivityPlaylistInfohashesObject = {
+export type ActivityTrackerUrlObject = {
+ type: 'Link'
+ rel: [ 'tracker', 'websocket' | 'http' ]
+ name: string
+ href: string
+}
+
+export type ActivityStreamingPlaylistInfohashesObject = {
type: 'Infohash'
name: string
}
export type ActivityTagObject =
ActivityPlaylistSegmentHashesObject
- | ActivityPlaylistInfohashesObject
+ | ActivityStreamingPlaylistInfohashesObject
| ActivityVideoUrlObject
| ActivityHashTagObject
| ActivityMentionObject
| ActivityBitTorrentUrlObject
| ActivityMagnetUrlObject
- | ActivityVideoFileMetadataObject
+ | ActivityVideoFileMetadataUrlObject
export type ActivityUrlObject =
ActivityVideoUrlObject
| ActivityBitTorrentUrlObject
| ActivityMagnetUrlObject
| ActivityHtmlUrlObject
- | ActivityVideoFileMetadataObject
+ | ActivityVideoFileMetadataUrlObject
+ | ActivityTrackerUrlObject
export interface ActivityPubAttributedTo {
type: 'Group' | 'Person'