@amityco/ts-sdk 7.11.1-8ef0bbb7.0 → 7.11.1-b50cd2fe.0

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.
@@ -7,7 +7,8 @@ export declare const enum FeedDataTypeEnum {
7
7
  Audio = "audio",
8
8
  LiveStream = "liveStream",
9
9
  Clip = "clip",
10
- Poll = "poll"
10
+ Poll = "poll",
11
+ Room = "room"
11
12
  }
12
13
  export declare const enum FeedSortByEnum {
13
14
  LastCreated = "lastCreated",
@@ -1 +1 @@
1
- {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,0BAAkB,gBAAgB;IAChC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,0BAAkB,cAAc;IAC9B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,0BAAkB,cAAc;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,YAAY,GAAG,gBAAgB,CAAC;QAErC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,IAAI,GAAG;YACV,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,GAAG,KAAK,CAAC,UAAU,CAAC;QAErB,KAAK,eAAe,GAAG;YACrB,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;YACtF,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;QAEF,KAAK,qCAAqC,GAAG,KAAK,CAAC,oBAAoB,CACrE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,CACtD,CAAC;QAEF,KAAK,0CAA0C,GAAG,KAAK,CAAC,mBAAmB,CACzE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhG,KAAK,6BAA6B,GAAG,KAAK,CAAC,mBAAmB,CAC5D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;YACjC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;QAEF,KAAK,sBAAsB,GAAG,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAExE,KAAK,2BAA2B,GAAG,KAAK,CAAC,mBAAmB,CAC1D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,aAAa,CACd,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"feed.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/feed.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,0BAAkB,gBAAgB;IAChC,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;IACf,IAAI,SAAS;IACb,KAAK,UAAU;IACf,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,IAAI,SAAS;CACd;AAED,0BAAkB,cAAc;IAC9B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;IAC7B,WAAW,gBAAgB;IAC3B,YAAY,iBAAiB;CAC9B;AAED,0BAAkB,cAAc;IAC9B,SAAS,cAAc;IACvB,IAAI,SAAS;CACd;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,YAAY,GAAG,gBAAgB,CAAC;QAErC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,UAAU,GAAG,cAAc,CAAC;QAEjC,KAAK,IAAI,GAAG;YACV,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,WAAW,GAAG,WAAW,CAAC;YACpC,UAAU,EAAE,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;YACxD,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;SACnB,GAAG,KAAK,CAAC,UAAU,CAAC;QAErB,KAAK,eAAe,GAAG;YACrB,SAAS,CAAC,EAAE,CAAC,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,EAAE,CAAC;YACtF,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;QAEF,KAAK,qCAAqC,GAAG,KAAK,CAAC,oBAAoB,CACrE,IAAI,CAAC,eAAe,EAAE,eAAe,GAAG,YAAY,CAAC,CACtD,CAAC;QAEF,KAAK,0CAA0C,GAAG,KAAK,CAAC,mBAAmB,CACzE,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,wBAAwB,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC,CAAC;QAEhG,KAAK,6BAA6B,GAAG,KAAK,CAAC,mBAAmB,CAC5D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,eAAe,CAChB,CAAC;QAEF,KAAK,aAAa,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,MAAM,CAAC,EAAE,KAAK,CAAC,UAAU,CAAC;YAC1B,SAAS,CAAC,EAAE,KAAK,CAAC,YAAY,EAAE,CAAC;YACjC,sBAAsB,CAAC,EAAE,OAAO,CAAC;YACjC,WAAW,CAAC,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC;YACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC;SACjC,CAAC;QAEF,KAAK,sBAAsB,GAAG,KAAK,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;QAExE,KAAK,2BAA2B,GAAG,KAAK,CAAC,mBAAmB,CAC1D,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,EAC5B,aAAa,CACd,CAAC;KACH;CACF"}
@@ -28,7 +28,7 @@ declare global {
28
28
  participants: RoomParticipant[];
29
29
  livePlaybackUrl?: string;
30
30
  liveThumbnailUrl?: string;
31
- recordedPlaybackInfo: {
31
+ recordedPlaybackInfos: {
32
32
  url: string;
33
33
  thumbnailUrl: string;
34
34
  }[];
@@ -49,7 +49,13 @@ declare global {
49
49
  path: string;
50
50
  };
51
51
  type InternalRoom = RawRoom;
52
- type Room = InternalRoom;
52
+ type RoomLinkedObject = {
53
+ moderation?: Amity.StreamModeration;
54
+ post?: Amity.InternalPost;
55
+ childRooms: Amity.Room[];
56
+ getLiveChat: () => Promise<Amity.Channel<'live'> | undefined>;
57
+ };
58
+ type Room = InternalRoom & RoomLinkedObject;
53
59
  type RoomLiveCollection = {
54
60
  type?: RoomType;
55
61
  statuses?: RoomStatus[];
@@ -61,7 +67,7 @@ declare global {
61
67
  data: string[];
62
68
  params: Record<string, any>;
63
69
  };
64
- type RoomIngestData = {
70
+ type BroadcasterData = {
65
71
  coHostToken?: string;
66
72
  coHostUrl?: string;
67
73
  directStreamUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/room.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC;AAEV,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,KAAK,CAAC;QACd,KAAK,QAAQ,GAAG,iBAAiB,GAAG,SAAS,CAAC;QAE9C,KAAK,cAAc,GAAG,WAAW,GAAG,MAAM,CAAC;QAE3C,KAAK,oBAAoB,GAAG,QAAQ,GAAG,SAAS,CAAC;QAEjD,KAAK,iBAAiB,GAAG,MAAM,GAAG,OAAO,CAAC;QAE1C,KAAK,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,mBAAmB,GAAG,OAAO,GAAG,UAAU,CAAC;QAE/E,KAAK,eAAe,GAAG;YACrB,IAAI,EAAE,MAAM,CAAC;YACb,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;QAEF,KAAK,OAAO,GAAG;YACb,GAAG,EAAE,MAAM,CAAC;YACZ,MAAM,EAAE,MAAM,CAAC;YACf,IAAI,EAAE,QAAQ,CAAC;YAGf,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,cAAc,CAAC;YAC5B,gBAAgB,CAAC,EAAE,oBAAoB,CAAC;YAExC,aAAa,CAAC,EAAE,iBAAiB,CAAC;YAClC,WAAW,CAAC,EAAE,MAAM,CAAC;YAGrB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,OAAO,CAAC;YAGzB,KAAK,EAAE,MAAM,CAAC;YACd,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,eAAe,CAAC,EAAE,MAAM,CAAC;YAGzB,MAAM,EAAE,UAAU,CAAC;YAGnB,YAAY,EAAE,eAAe,EAAE,CAAC;YAEhC,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAE1B,oBAAoB,EAAE;gBACpB,GAAG,EAAE,MAAM,CAAC;gBACZ,YAAY,EAAE,MAAM,CAAC;aACtB,EAAE,CAAC;YAEJ,eAAe,CAAC,EAAE,MAAM,CAAC;YACzB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;YAGjC,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;YAGxB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAElB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;YAEpB,SAAS,EAAE,OAAO,CAAC;YACnB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAElB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;QAEF,KAAK,YAAY,GAAG,OAAO,CAAC;QAE5B,KAAK,IAAI,GAAG,YAAY,CAAC;QAEzB,KAAK,kBAAkB,GAAG;YACxB,IAAI,CAAC,EAAE,QAAQ,CAAC;YAChB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;YACxB,MAAM,CAAC,EAAE,cAAc,GAAG,aAAa,CAAC;YACxC,KAAK,CAAC,EAAE,MAAM,CAAC;YAEf,cAAc,CAAC,EAAE,OAAO,CAAC;SAC1B,CAAC;QAEF,KAAK,uBAAuB,GAAG;YAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;SAC7B,CAAC;QAEF,KAAK,cAAc,GAAG;YACpB,WAAW,CAAC,EAAE,MAAM,CAAC;YACrB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,eAAe,CAAC,EAAE,MAAM,CAAC;SAC1B,CAAC;KACH;CACF"}
1
+ {"version":3,"file":"room.d.ts","sourceRoot":"","sources":["../../../src/@types/domains/room.ts"],"names":[],"mappings":"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"}
@@ -17,5 +17,6 @@ export declare const createChannel: <T extends Amity.ChannelType>(bundle: {
17
17
  userIds?: string[] | undefined;
18
18
  videoStreamId?: string | undefined;
19
19
  postId?: string | undefined;
20
+ roomId?: string | undefined;
20
21
  } & Pick<Amity.Channel<T>, "displayName" | "avatarFileId" | "isPublic" | "tags" | "metadata">) => Promise<Amity.Cached<Amity.Channel<T>>>;
21
22
  //# sourceMappingURL=createChannel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createChannel.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/api/createChannel.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa;;;;;yIAqCzB,CAAC"}
1
+ {"version":3,"file":"createChannel.d.ts","sourceRoot":"","sources":["../../../src/channelRepository/api/createChannel.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,aAAa;;;;;;yIAsCzB,CAAC"}
@@ -45,5 +45,7 @@ export declare const getSmartFeedSubChannelTopic: () => string;
45
45
  export declare const getSmartFeedMessageTopic: () => string;
46
46
  export declare const getLiveStreamTopic: () => string;
47
47
  export declare const getLiveReactionTopic: (post: Amity.Post) => string;
48
+ export declare const getRoomWatcherTopic: (room: Amity.Room) => string;
49
+ export declare const getRoomStreamerTopic: (room: Amity.Room) => string;
48
50
  export declare function subscribeTopic(topic: string, callback?: Amity.Listener<ASCError | void>): Amity.Unsubscriber;
49
51
  //# sourceMappingURL=subscription.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/core/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAIzC,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;CACd;AAoBD,eAAO,MAAM,iBAAiB,aAClB,MAAM,YAAY,UACrB,QAAQ,kBAAkB,EAAE,mBAAmB,IAAI,CAAC,KAC1D,MAA4C,CAAC;AAEhD,eAAO,MAAM,YAAY,aACb,MAAM,YAAY,UACrB,QAAQ,kBAAkB,EAAE,mBAAmB,SAAS,CAAC,KAC/D,MAIA,CAAC;AAEJ,eAAO,MAAM,YAAY,aACb,MAAM,YAAY,UACrB,mBAAmB,IAAI,GAAG,mBAAmB,OAAO,KAC1D,MAOF,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,MAAM,YAAY,KAAG,MAE9D,CAAC;AAGF,eAAO,MAAM,aAAa,uCAIvB,KAAK,MAAM,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,KAAG,MAG7D,CAAC;AAGF,eAAO,MAAM,wBAAwB,8BAGlC,KAAK,MAAM,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,KAAG,MAGjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAItC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,MAIvC,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,MAAM,YAAY,KAAG,MAA6B,CAAC;AAE5F,eAAO,MAAM,kBAAkB,eAAgB,MAAM,YAAY,KAAG,MAC5C,CAAC;AAEzB,eAAO,MAAM,eAAe,YAAa,MAAM,YAAY,KAAG,MAAsB,CAAC;AAErF,eAAO,MAAM,qBAAqB,iCAG/B,KAAK,MAAM,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC,KAAG,MAIzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAIlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAI3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAO,MAI9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAI3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAIrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,IAAI,WAEpD,CAAC;AAKF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GACzC,KAAK,CAAC,YAAY,CAOpB"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/core/subscription.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAKzC,oBAAY,kBAAkB;IAC5B,SAAS,cAAc;IACvB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,gBAAgB,qBAAqB;IACrC,IAAI,SAAS;CACd;AAoBD,eAAO,MAAM,iBAAiB,aAClB,MAAM,YAAY,UACrB,QAAQ,kBAAkB,EAAE,mBAAmB,IAAI,CAAC,KAC1D,MAA4C,CAAC;AAEhD,eAAO,MAAM,YAAY,aACb,MAAM,YAAY,UACrB,QAAQ,kBAAkB,EAAE,mBAAmB,SAAS,CAAC,KAC/D,MAIA,CAAC;AAEJ,eAAO,MAAM,YAAY,aACb,MAAM,YAAY,UACrB,mBAAmB,IAAI,GAAG,mBAAmB,OAAO,KAC1D,MAOF,CAAC;AAEF,eAAO,MAAM,eAAe,aAAc,MAAM,YAAY,KAAG,MAE9D,CAAC;AAGF,eAAO,MAAM,aAAa,uCAIvB,KAAK,MAAM,KAAK,EAAE,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC,KAAG,MAG7D,CAAC;AAGF,eAAO,MAAM,wBAAwB,8BAGlC,KAAK,MAAM,KAAK,EAAE,UAAU,GAAG,YAAY,CAAC,KAAG,MAGjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,QAAO,MAItC,CAAC;AAEF,eAAO,MAAM,oBAAoB,QAAO,MAIvC,CAAC;AAEF,eAAO,MAAM,eAAe,YAAa,MAAM,YAAY,KAAG,MAA6B,CAAC;AAE5F,eAAO,MAAM,kBAAkB,eAAgB,MAAM,YAAY,KAAG,MAC5C,CAAC;AAEzB,eAAO,MAAM,eAAe,YAAa,MAAM,YAAY,KAAG,MAAsB,CAAC;AAErF,eAAO,MAAM,qBAAqB,iCAG/B,KAAK,MAAM,UAAU,EAAE,WAAW,GAAG,cAAc,CAAC,KAAG,MAIzD,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAIlC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAI3C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,2BAA2B,QAAO,MAI9C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAI3C,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAIrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,IAAI,WAEpD,CAAC;AAEF,eAAO,MAAM,mBAAmB,SAAU,MAAM,IAAI,WAGnD,CAAC;AAEF,eAAO,MAAM,oBAAoB,SAAU,MAAM,IAAI,WAIpD,CAAC;AAKF,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,GACzC,KAAK,CAAC,YAAY,CAOpB"}
package/dist/index.cjs.js CHANGED
@@ -179,6 +179,7 @@ exports.FeedDataTypeEnum = void 0;
179
179
  FeedDataTypeEnum["LiveStream"] = "liveStream";
180
180
  FeedDataTypeEnum["Clip"] = "clip";
181
181
  FeedDataTypeEnum["Poll"] = "poll";
182
+ FeedDataTypeEnum["Room"] = "room";
182
183
  })(exports.FeedDataTypeEnum || (exports.FeedDataTypeEnum = {}));
183
184
  exports.FeedSortByEnum = void 0;
184
185
  (function (FeedSortByEnum) {
@@ -1497,6 +1498,37 @@ async function modifyMqttConnection() {
1497
1498
  }
1498
1499
  }
1499
1500
 
1501
+ const userLinkedObject = (user) => {
1502
+ return Object.assign(Object.assign({}, user), { get avatar() {
1503
+ var _a;
1504
+ if (!user.avatarFileId)
1505
+ return undefined;
1506
+ const avatar = (_a = pullFromCache([
1507
+ 'file',
1508
+ 'get',
1509
+ `${user.avatarFileId}`,
1510
+ ])) === null || _a === void 0 ? void 0 : _a.data;
1511
+ return avatar;
1512
+ } });
1513
+ };
1514
+
1515
+ /* begin_public_function
1516
+ id: client.get_current_user
1517
+ */
1518
+ const getCurrentUser = () => {
1519
+ var _a;
1520
+ const client = getActiveClient();
1521
+ if (!client) {
1522
+ throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
1523
+ }
1524
+ const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
1525
+ if (!cache) {
1526
+ throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
1527
+ }
1528
+ return userLinkedObject(cache);
1529
+ };
1530
+ /* end_public_function */
1531
+
1500
1532
  exports.SubscriptionLevels = void 0;
1501
1533
  (function (SubscriptionLevels) {
1502
1534
  SubscriptionLevels["COMMUNITY"] = "community";
@@ -1602,6 +1634,14 @@ const getLiveStreamTopic = () => {
1602
1634
  const getLiveReactionTopic = (post) => {
1603
1635
  return `${post.path}/liveReaction`;
1604
1636
  };
1637
+ const getRoomWatcherTopic = (room) => {
1638
+ const user = getCurrentUser();
1639
+ return `${getNetworkId(user)}/room/${room._id}`;
1640
+ };
1641
+ const getRoomStreamerTopic = (room) => {
1642
+ const user = getCurrentUser();
1643
+ return `${getNetworkId(user)}/room/${room.roomId}/streamer`;
1644
+ };
1605
1645
  function subscribeTopic(topic, callback) {
1606
1646
  const { mqtt } = getActiveClient();
1607
1647
  if (!mqtt)
@@ -4921,20 +4961,6 @@ const getChannelMessagePreview = (channelId) => {
4921
4961
  return ((_b = (_a = pullFromCache(['messagePreviewChannel', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null);
4922
4962
  };
4923
4963
 
4924
- const userLinkedObject = (user) => {
4925
- return Object.assign(Object.assign({}, user), { get avatar() {
4926
- var _a;
4927
- if (!user.avatarFileId)
4928
- return undefined;
4929
- const avatar = (_a = pullFromCache([
4930
- 'file',
4931
- 'get',
4932
- `${user.avatarFileId}`,
4933
- ])) === null || _a === void 0 ? void 0 : _a.data;
4934
- return avatar;
4935
- } });
4936
- };
4937
-
4938
4964
  const getChannelMessagePreviewWithUser = (channel) => {
4939
4965
  var _a;
4940
4966
  const messagePreview = channel.messagePreviewId
@@ -9017,23 +9043,6 @@ const loginAsVisitor = async (params) => {
9017
9043
  };
9018
9044
  /* end_public_function */
9019
9045
 
9020
- /* begin_public_function
9021
- id: client.get_current_user
9022
- */
9023
- const getCurrentUser = () => {
9024
- var _a;
9025
- const client = getActiveClient();
9026
- if (!client) {
9027
- throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
9028
- }
9029
- const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
9030
- if (!cache) {
9031
- throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
9032
- }
9033
- return userLinkedObject(cache);
9034
- };
9035
- /* end_public_function */
9036
-
9037
9046
  /* begin_public_function
9038
9047
  id: client.renew_access_token
9039
9048
  */
@@ -12035,7 +12044,7 @@ getChannel$1.locally = (channelId) => {
12035
12044
  * @category Stream API
12036
12045
  * @async
12037
12046
  */
12038
- const getLiveChat = async (stream) => {
12047
+ const getLiveChat$1 = async (stream) => {
12039
12048
  var _a;
12040
12049
  const client = getActiveClient();
12041
12050
  client.log('stream/getLiveChat', stream.streamId);
@@ -12102,7 +12111,7 @@ const streamLinkedObject = (stream) => {
12102
12111
  return streamLinkedObject(streamCache);
12103
12112
  })
12104
12113
  .filter(isNonNullable);
12105
- }, getLiveChat: () => getLiveChat(stream), isBanned: !stream.watcherUrl, watcherUrl: null, get [GET_WATCHER_URLS]() {
12114
+ }, getLiveChat: () => getLiveChat$1(stream), isBanned: !stream.watcherUrl, watcherUrl: null, get [GET_WATCHER_URLS]() {
12106
12115
  return stream.watcherUrl;
12107
12116
  } });
12108
12117
  };
@@ -12217,6 +12226,89 @@ function isAmityRoomPost(post) {
12217
12226
  post.dataType === 'room');
12218
12227
  }
12219
12228
 
12229
+ /**
12230
+ * ```js
12231
+ * import { RoomRepository } from '@amityco/ts-sdk'
12232
+ * const stream = await getStream('foobar')
12233
+ * ```
12234
+ *
12235
+ * Fetches a {@link Amity.Channel} object linked with a current stream
12236
+ *
12237
+ * @param stream {@link Amity.Stream} that has linked live channel
12238
+ * @returns the associated {@link Amity.Channel<'live'>} object
12239
+ *
12240
+ * @category Stream API
12241
+ * @async
12242
+ */
12243
+ const getLiveChat = async (room) => {
12244
+ var _a;
12245
+ const client = getActiveClient();
12246
+ client.log('room/getLiveChat', room.roomId);
12247
+ if (room.liveChannelId) {
12248
+ const channel = (_a = pullFromCache([
12249
+ 'channel',
12250
+ 'get',
12251
+ room.liveChannelId,
12252
+ ])) === null || _a === void 0 ? void 0 : _a.data;
12253
+ if (channel)
12254
+ return channelLinkedObject(constructChannelObject(channel));
12255
+ const { data } = await getChannel$1(room.liveChannelId);
12256
+ return channelLinkedObject(constructChannelObject(data));
12257
+ }
12258
+ // No Channel ID
12259
+ // streamer: create a new live channel
12260
+ if (room.createdBy === client.userId) {
12261
+ const { data: channel } = await createChannel({
12262
+ type: 'live',
12263
+ postId: room.referenceId,
12264
+ roomId: room.roomId,
12265
+ });
12266
+ // Update channelId to stream object in cache
12267
+ mergeInCache(['room', 'get', room.roomId], {
12268
+ liveChannelId: channel.channelId,
12269
+ });
12270
+ return channel;
12271
+ }
12272
+ // watcher: return undefined
12273
+ return undefined;
12274
+ };
12275
+
12276
+ const roomLinkedObject = (room) => {
12277
+ return Object.assign(Object.assign({}, room), { get moderation() {
12278
+ var _a;
12279
+ return (_a = pullFromCache(['roomModeration', 'get', room.roomId])) === null || _a === void 0 ? void 0 : _a.data;
12280
+ },
12281
+ get post() {
12282
+ var _a;
12283
+ if (room.referenceType !== 'post')
12284
+ return;
12285
+ return (_a = pullFromCache(['post', 'get', room.referenceId])) === null || _a === void 0 ? void 0 : _a.data;
12286
+ },
12287
+ get community() {
12288
+ var _a;
12289
+ if (room.targetType !== 'community')
12290
+ return;
12291
+ return (_a = pullFromCache(['community', 'get', room.targetId])) === null || _a === void 0 ? void 0 : _a.data;
12292
+ },
12293
+ get user() {
12294
+ var _a;
12295
+ return (_a = pullFromCache(['user', 'get', room.createdBy])) === null || _a === void 0 ? void 0 : _a.data;
12296
+ },
12297
+ get childRooms() {
12298
+ if (!room.childRoomIds || room.childRoomIds.length === 0)
12299
+ return [];
12300
+ return room.childRoomIds
12301
+ .map(id => {
12302
+ var _a;
12303
+ const roomCache = (_a = pullFromCache(['room', 'get', id])) === null || _a === void 0 ? void 0 : _a.data;
12304
+ if (!roomCache)
12305
+ return undefined;
12306
+ return roomLinkedObject(roomCache);
12307
+ })
12308
+ .filter(isNonNullable);
12309
+ }, getLiveChat: () => getLiveChat(room) });
12310
+ };
12311
+
12220
12312
  const postLinkedObject = (post) => {
12221
12313
  return shallowClone(post, {
12222
12314
  childrenPosts: post.children
@@ -12314,7 +12406,8 @@ const postLinkedObject = (post) => {
12314
12406
  var _a, _b;
12315
12407
  if (!isAmityRoomPost(post))
12316
12408
  return;
12317
- return (_b = pullFromCache(['room', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.roomId])) === null || _b === void 0 ? void 0 : _b.data;
12409
+ const room = (_b = pullFromCache(['room', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.roomId])) === null || _b === void 0 ? void 0 : _b.data;
12410
+ return room ? roomLinkedObject(room) : undefined;
12318
12411
  },
12319
12412
  });
12320
12413
  };
@@ -27703,7 +27796,7 @@ const createRoom = async (bundle) => {
27703
27796
  ingestInCache(data, { cachedAt });
27704
27797
  const { rooms } = data;
27705
27798
  return {
27706
- data: rooms[0],
27799
+ data: roomLinkedObject(rooms[0]),
27707
27800
  cachedAt,
27708
27801
  };
27709
27802
  };
@@ -27802,25 +27895,25 @@ const stopRoom = async (roomId) => {
27802
27895
  /* end_public_function */
27803
27896
 
27804
27897
  /* begin_public_function
27805
- id: room.getToken
27898
+ id: room.getBroadcasterData
27806
27899
  */
27807
27900
  /**
27808
27901
  * ```js
27809
- * import { getRoomToken } from '@amityco/ts-sdk'
27810
- * const token = await getRoomToken('roomId')
27902
+ * import { getBroadcasterData } from '@amityco/ts-sdk'
27903
+ * const token = await getBroadcasterData('roomId')
27811
27904
  * ```
27812
27905
  *
27813
- * Gets an access token for a room
27906
+ * Gets broadcaster data for a room
27814
27907
  *
27815
27908
  * @param roomId The ID of the room to get token for
27816
- * @returns The room access token
27909
+ * @returns The broadcaster data of the room including coHostToken, coHostUrl and direactStreamUrl
27817
27910
  *
27818
27911
  * @category Room API
27819
27912
  * @async
27820
27913
  */
27821
- const getRoomToken = async (roomId) => {
27914
+ const getBroadcasterData = async (roomId) => {
27822
27915
  const client = getActiveClient();
27823
- client.log('room/getRoomToken', { roomId });
27916
+ client.log('room/getBroadcasterData', { roomId });
27824
27917
  const { data } = await client.http.get(`/api/v1/rooms/${roomId}/token`);
27825
27918
  return data;
27826
27919
  };
@@ -28381,7 +28474,7 @@ var index$7 = /*#__PURE__*/Object.freeze({
28381
28474
  updateRoom: updateRoom,
28382
28475
  deleteRoom: deleteRoom,
28383
28476
  stopRoom: stopRoom,
28384
- getRoomToken: getRoomToken,
28477
+ getBroadcasterData: getBroadcasterData,
28385
28478
  getRecordedUrl: getRecordedUrl,
28386
28479
  onRoomStartBroadcasting: onRoomStartBroadcasting,
28387
28480
  onRoomWaitingReconnect: onRoomWaitingReconnect,
@@ -31096,6 +31189,8 @@ exports.getMyFollowingsTopic = getMyFollowingsTopic;
31096
31189
  exports.getNetworkTopic = getNetworkTopic;
31097
31190
  exports.getPostTopic = getPostTopic;
31098
31191
  exports.getRole = getRole;
31192
+ exports.getRoomStreamerTopic = getRoomStreamerTopic;
31193
+ exports.getRoomWatcherTopic = getRoomWatcherTopic;
31099
31194
  exports.getSmartFeedChannelTopic = getSmartFeedChannelTopic;
31100
31195
  exports.getSmartFeedMessageTopic = getSmartFeedMessageTopic;
31101
31196
  exports.getSmartFeedSubChannelTopic = getSmartFeedSubChannelTopic;
package/dist/index.esm.js CHANGED
@@ -164,6 +164,7 @@ var FeedDataTypeEnum;
164
164
  FeedDataTypeEnum["LiveStream"] = "liveStream";
165
165
  FeedDataTypeEnum["Clip"] = "clip";
166
166
  FeedDataTypeEnum["Poll"] = "poll";
167
+ FeedDataTypeEnum["Room"] = "room";
167
168
  })(FeedDataTypeEnum || (FeedDataTypeEnum = {}));
168
169
  var FeedSortByEnum;
169
170
  (function (FeedSortByEnum) {
@@ -1482,6 +1483,37 @@ async function modifyMqttConnection() {
1482
1483
  }
1483
1484
  }
1484
1485
 
1486
+ const userLinkedObject = (user) => {
1487
+ return Object.assign(Object.assign({}, user), { get avatar() {
1488
+ var _a;
1489
+ if (!user.avatarFileId)
1490
+ return undefined;
1491
+ const avatar = (_a = pullFromCache([
1492
+ 'file',
1493
+ 'get',
1494
+ `${user.avatarFileId}`,
1495
+ ])) === null || _a === void 0 ? void 0 : _a.data;
1496
+ return avatar;
1497
+ } });
1498
+ };
1499
+
1500
+ /* begin_public_function
1501
+ id: client.get_current_user
1502
+ */
1503
+ const getCurrentUser = () => {
1504
+ var _a;
1505
+ const client = getActiveClient();
1506
+ if (!client) {
1507
+ throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
1508
+ }
1509
+ const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
1510
+ if (!cache) {
1511
+ throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
1512
+ }
1513
+ return userLinkedObject(cache);
1514
+ };
1515
+ /* end_public_function */
1516
+
1485
1517
  var SubscriptionLevels;
1486
1518
  (function (SubscriptionLevels) {
1487
1519
  SubscriptionLevels["COMMUNITY"] = "community";
@@ -1587,6 +1619,14 @@ const getLiveStreamTopic = () => {
1587
1619
  const getLiveReactionTopic = (post) => {
1588
1620
  return `${post.path}/liveReaction`;
1589
1621
  };
1622
+ const getRoomWatcherTopic = (room) => {
1623
+ const user = getCurrentUser();
1624
+ return `${getNetworkId(user)}/room/${room._id}`;
1625
+ };
1626
+ const getRoomStreamerTopic = (room) => {
1627
+ const user = getCurrentUser();
1628
+ return `${getNetworkId(user)}/room/${room.roomId}/streamer`;
1629
+ };
1590
1630
  function subscribeTopic(topic, callback) {
1591
1631
  const { mqtt } = getActiveClient();
1592
1632
  if (!mqtt)
@@ -21013,20 +21053,6 @@ const getChannelMessagePreview = (channelId) => {
21013
21053
  return ((_b = (_a = pullFromCache(['messagePreviewChannel', 'get', channelId])) === null || _a === void 0 ? void 0 : _a.data) !== null && _b !== void 0 ? _b : null);
21014
21054
  };
21015
21055
 
21016
- const userLinkedObject = (user) => {
21017
- return Object.assign(Object.assign({}, user), { get avatar() {
21018
- var _a;
21019
- if (!user.avatarFileId)
21020
- return undefined;
21021
- const avatar = (_a = pullFromCache([
21022
- 'file',
21023
- 'get',
21024
- `${user.avatarFileId}`,
21025
- ])) === null || _a === void 0 ? void 0 : _a.data;
21026
- return avatar;
21027
- } });
21028
- };
21029
-
21030
21056
  const getChannelMessagePreviewWithUser = (channel) => {
21031
21057
  var _a;
21032
21058
  const messagePreview = channel.messagePreviewId
@@ -25109,23 +25135,6 @@ const loginAsVisitor = async (params) => {
25109
25135
  };
25110
25136
  /* end_public_function */
25111
25137
 
25112
- /* begin_public_function
25113
- id: client.get_current_user
25114
- */
25115
- const getCurrentUser = () => {
25116
- var _a;
25117
- const client = getActiveClient();
25118
- if (!client) {
25119
- throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
25120
- }
25121
- const cache = (_a = pullFromCache(['user', 'get', client.userId])) === null || _a === void 0 ? void 0 : _a.data;
25122
- if (!cache) {
25123
- throw new ASCError('Connect client first', 800000 /* Amity.ClientError.UNKNOWN_ERROR */, "fatal" /* Amity.ErrorLevel.FATAL */);
25124
- }
25125
- return userLinkedObject(cache);
25126
- };
25127
- /* end_public_function */
25128
-
25129
25138
  /* begin_public_function
25130
25139
  id: client.renew_access_token
25131
25140
  */
@@ -28127,7 +28136,7 @@ getChannel$1.locally = (channelId) => {
28127
28136
  * @category Stream API
28128
28137
  * @async
28129
28138
  */
28130
- const getLiveChat = async (stream) => {
28139
+ const getLiveChat$1 = async (stream) => {
28131
28140
  var _a;
28132
28141
  const client = getActiveClient();
28133
28142
  client.log('stream/getLiveChat', stream.streamId);
@@ -28194,7 +28203,7 @@ const streamLinkedObject = (stream) => {
28194
28203
  return streamLinkedObject(streamCache);
28195
28204
  })
28196
28205
  .filter(isNonNullable);
28197
- }, getLiveChat: () => getLiveChat(stream), isBanned: !stream.watcherUrl, watcherUrl: null, get [GET_WATCHER_URLS]() {
28206
+ }, getLiveChat: () => getLiveChat$1(stream), isBanned: !stream.watcherUrl, watcherUrl: null, get [GET_WATCHER_URLS]() {
28198
28207
  return stream.watcherUrl;
28199
28208
  } });
28200
28209
  };
@@ -28309,6 +28318,89 @@ function isAmityRoomPost(post) {
28309
28318
  post.dataType === 'room');
28310
28319
  }
28311
28320
 
28321
+ /**
28322
+ * ```js
28323
+ * import { RoomRepository } from '@amityco/ts-sdk'
28324
+ * const stream = await getStream('foobar')
28325
+ * ```
28326
+ *
28327
+ * Fetches a {@link Amity.Channel} object linked with a current stream
28328
+ *
28329
+ * @param stream {@link Amity.Stream} that has linked live channel
28330
+ * @returns the associated {@link Amity.Channel<'live'>} object
28331
+ *
28332
+ * @category Stream API
28333
+ * @async
28334
+ */
28335
+ const getLiveChat = async (room) => {
28336
+ var _a;
28337
+ const client = getActiveClient();
28338
+ client.log('room/getLiveChat', room.roomId);
28339
+ if (room.liveChannelId) {
28340
+ const channel = (_a = pullFromCache([
28341
+ 'channel',
28342
+ 'get',
28343
+ room.liveChannelId,
28344
+ ])) === null || _a === void 0 ? void 0 : _a.data;
28345
+ if (channel)
28346
+ return channelLinkedObject(constructChannelObject(channel));
28347
+ const { data } = await getChannel$1(room.liveChannelId);
28348
+ return channelLinkedObject(constructChannelObject(data));
28349
+ }
28350
+ // No Channel ID
28351
+ // streamer: create a new live channel
28352
+ if (room.createdBy === client.userId) {
28353
+ const { data: channel } = await createChannel({
28354
+ type: 'live',
28355
+ postId: room.referenceId,
28356
+ roomId: room.roomId,
28357
+ });
28358
+ // Update channelId to stream object in cache
28359
+ mergeInCache(['room', 'get', room.roomId], {
28360
+ liveChannelId: channel.channelId,
28361
+ });
28362
+ return channel;
28363
+ }
28364
+ // watcher: return undefined
28365
+ return undefined;
28366
+ };
28367
+
28368
+ const roomLinkedObject = (room) => {
28369
+ return Object.assign(Object.assign({}, room), { get moderation() {
28370
+ var _a;
28371
+ return (_a = pullFromCache(['roomModeration', 'get', room.roomId])) === null || _a === void 0 ? void 0 : _a.data;
28372
+ },
28373
+ get post() {
28374
+ var _a;
28375
+ if (room.referenceType !== 'post')
28376
+ return;
28377
+ return (_a = pullFromCache(['post', 'get', room.referenceId])) === null || _a === void 0 ? void 0 : _a.data;
28378
+ },
28379
+ get community() {
28380
+ var _a;
28381
+ if (room.targetType !== 'community')
28382
+ return;
28383
+ return (_a = pullFromCache(['community', 'get', room.targetId])) === null || _a === void 0 ? void 0 : _a.data;
28384
+ },
28385
+ get user() {
28386
+ var _a;
28387
+ return (_a = pullFromCache(['user', 'get', room.createdBy])) === null || _a === void 0 ? void 0 : _a.data;
28388
+ },
28389
+ get childRooms() {
28390
+ if (!room.childRoomIds || room.childRoomIds.length === 0)
28391
+ return [];
28392
+ return room.childRoomIds
28393
+ .map(id => {
28394
+ var _a;
28395
+ const roomCache = (_a = pullFromCache(['room', 'get', id])) === null || _a === void 0 ? void 0 : _a.data;
28396
+ if (!roomCache)
28397
+ return undefined;
28398
+ return roomLinkedObject(roomCache);
28399
+ })
28400
+ .filter(isNonNullable);
28401
+ }, getLiveChat: () => getLiveChat(room) });
28402
+ };
28403
+
28312
28404
  const postLinkedObject = (post) => {
28313
28405
  return shallowClone(post, {
28314
28406
  childrenPosts: post.children
@@ -28406,7 +28498,8 @@ const postLinkedObject = (post) => {
28406
28498
  var _a, _b;
28407
28499
  if (!isAmityRoomPost(post))
28408
28500
  return;
28409
- return (_b = pullFromCache(['room', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.roomId])) === null || _b === void 0 ? void 0 : _b.data;
28501
+ const room = (_b = pullFromCache(['room', 'get', (_a = post === null || post === void 0 ? void 0 : post.data) === null || _a === void 0 ? void 0 : _a.roomId])) === null || _b === void 0 ? void 0 : _b.data;
28502
+ return room ? roomLinkedObject(room) : undefined;
28410
28503
  },
28411
28504
  });
28412
28505
  };
@@ -43795,7 +43888,7 @@ const createRoom = async (bundle) => {
43795
43888
  ingestInCache(data, { cachedAt });
43796
43889
  const { rooms } = data;
43797
43890
  return {
43798
- data: rooms[0],
43891
+ data: roomLinkedObject(rooms[0]),
43799
43892
  cachedAt,
43800
43893
  };
43801
43894
  };
@@ -43894,25 +43987,25 @@ const stopRoom = async (roomId) => {
43894
43987
  /* end_public_function */
43895
43988
 
43896
43989
  /* begin_public_function
43897
- id: room.getToken
43990
+ id: room.getBroadcasterData
43898
43991
  */
43899
43992
  /**
43900
43993
  * ```js
43901
- * import { getRoomToken } from '@amityco/ts-sdk'
43902
- * const token = await getRoomToken('roomId')
43994
+ * import { getBroadcasterData } from '@amityco/ts-sdk'
43995
+ * const token = await getBroadcasterData('roomId')
43903
43996
  * ```
43904
43997
  *
43905
- * Gets an access token for a room
43998
+ * Gets broadcaster data for a room
43906
43999
  *
43907
44000
  * @param roomId The ID of the room to get token for
43908
- * @returns The room access token
44001
+ * @returns The broadcaster data of the room including coHostToken, coHostUrl and direactStreamUrl
43909
44002
  *
43910
44003
  * @category Room API
43911
44004
  * @async
43912
44005
  */
43913
- const getRoomToken = async (roomId) => {
44006
+ const getBroadcasterData = async (roomId) => {
43914
44007
  const client = getActiveClient();
43915
- client.log('room/getRoomToken', { roomId });
44008
+ client.log('room/getBroadcasterData', { roomId });
43916
44009
  const { data } = await client.http.get(`/api/v1/rooms/${roomId}/token`);
43917
44010
  return data;
43918
44011
  };
@@ -44473,7 +44566,7 @@ var index$7 = /*#__PURE__*/Object.freeze({
44473
44566
  updateRoom: updateRoom,
44474
44567
  deleteRoom: deleteRoom,
44475
44568
  stopRoom: stopRoom,
44476
- getRoomToken: getRoomToken,
44569
+ getBroadcasterData: getBroadcasterData,
44477
44570
  getRecordedUrl: getRecordedUrl,
44478
44571
  onRoomStartBroadcasting: onRoomStartBroadcasting,
44479
44572
  onRoomWaitingReconnect: onRoomWaitingReconnect,
@@ -47123,4 +47216,4 @@ var index = /*#__PURE__*/Object.freeze({
47123
47216
  getReactions: getReactions
47124
47217
  });
47125
47218
 
47126
- export { API_REGIONS, index$3 as AdRepository, index$c as CategoryRepository, index$g as ChannelRepository, index$p as Client, index$b as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$d as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, FeedDataTypeEnum, index$a as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$m as FileRepository, FileType, GET_WATCHER_URLS, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$k as MessageRepository, index$6 as PollRepository, PostContentType, index$9 as PostRepository, PostStructureType, index$l as ReactionRepository, index$7 as RoomRepository, index$4 as StoryRepository, index$8 as StreamRepository, index$j as SubChannelRepository, SubscriptionLevels, index$n as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };
47219
+ export { API_REGIONS, index$3 as AdRepository, index$c as CategoryRepository, index$g as ChannelRepository, index$p as Client, index$b as CommentRepository, CommunityPostSettingMaps, CommunityPostSettings, index$d as CommunityRepository, ContentFeedType, ContentFlagReasonEnum, DefaultCommunityPostSetting, FeedDataTypeEnum, index$a as FeedRepository, FeedSortByEnum, FeedSourceEnum, FileAccessTypeEnum, index$m as FileRepository, FileType, GET_WATCHER_URLS, index$1 as InvitationRepository, InvitationSortByEnum, InvitationStatusEnum, InvitationTypeEnum, JoinRequestStatusEnum, JoinResultStatusEnum, index as LiveReactionRepository, index$5 as LiveStreamPlayer, MembershipAcceptanceTypeEnum, MessageContentType, index$k as MessageRepository, index$6 as PollRepository, PostContentType, index$9 as PostRepository, PostStructureType, index$l as ReactionRepository, index$7 as RoomRepository, index$4 as StoryRepository, index$8 as StreamRepository, index$j as SubChannelRepository, SubscriptionLevels, index$n as UserRepository, UserTypeEnum, VERSION, VideoResolution, VideoSize, VideoTranscodingStatus, backupCache, createQuery, createReport, createUserToken, deleteReport, disableCache, dropFromCache, enableCache, filterByChannelMembership, filterByCommunityMembership, filterByFeedType, filterByPostDataTypes, filterByPropEquality, filterByPropInclusion, filterByPropIntersection, filterBySearchTerm, filterByStringComparePartially, getChannelTopic, getCommentTopic, getCommunityStoriesTopic, getCommunityTopic, getLiveReactionTopic, getLiveStreamTopic, getMarkedMessageTopic, getMarkerUserFeedTopic, getMessageTopic, getMyFollowersTopic, getMyFollowingsTopic, getNetworkTopic, getPostTopic, getRole, getRoomStreamerTopic, getRoomWatcherTopic, getSmartFeedChannelTopic, getSmartFeedMessageTopic, getSmartFeedSubChannelTopic, getStoryTopic, getSubChannelTopic, getUserTopic, isAfterBefore, isAfterBeforeRaw, isCachable, isFetcher, isFresh, isLocal, isMutator, isOffline, isPaged, isReportedByMe, isSkip, mergeInCache, index$2 as notificationTray, onChannelMarkerFetched, onFeedMarkerFetched, onFeedMarkerUpdated, onMessageMarked, onMessageMarkerFetched, onSubChannelMarkerFetched, onSubChannelMarkerUpdated, onUserMarkerFetched, onUserMarkerFetchedLegacy, pullFromCache, pushToCache, queryCache, queryOptions, queryRoles, restoreCache, runQuery, sortByChannelSegment, sortByDisplayName, sortByFirstCreated, sortByFirstUpdated, sortByLastActivity, sortByLastCreated, sortByLastUpdated, sortByLocalSortingDate, sortByName, sortBySegmentNumber, subscribeTopic, toPage, toPageRaw, toToken, upsertInCache, wipeCache };