@lootlog/sdk 0.1.0 → 0.2.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.
Files changed (38) hide show
  1. package/README.md +261 -40
  2. package/dist/activity.d.ts +9 -2
  3. package/dist/activity.d.ts.map +1 -1
  4. package/dist/activity.js +2 -2
  5. package/dist/activity.js.map +1 -1
  6. package/dist/battlelog.d.ts +280 -5
  7. package/dist/battlelog.d.ts.map +1 -1
  8. package/dist/battlelog.js +11 -6
  9. package/dist/battlelog.js.map +1 -1
  10. package/dist/index.d.ts +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/main.d.ts +1457 -918
  13. package/dist/main.d.ts.map +1 -1
  14. package/dist/main.js +400 -284
  15. package/dist/main.js.map +1 -1
  16. package/dist/{mutators-Da_vMUva.d.ts → mutators-BaZDDfwh.d.ts} +2 -2
  17. package/dist/{mutators-Da_vMUva.d.ts.map → mutators-BaZDDfwh.d.ts.map} +1 -1
  18. package/dist/{mutators-CaBTxpi-.js → mutators-Dj5qBH3y.js} +2 -2
  19. package/dist/{mutators-CaBTxpi-.js.map → mutators-Dj5qBH3y.js.map} +1 -1
  20. package/dist/realtime.d.ts +427 -12
  21. package/dist/realtime.d.ts.map +1 -1
  22. package/dist/realtime.js +768 -471
  23. package/dist/realtime.js.map +1 -1
  24. package/dist/search.d.ts +247 -5
  25. package/dist/search.d.ts.map +1 -1
  26. package/dist/search.js +115 -2
  27. package/dist/search.js.map +1 -1
  28. package/dist/{transport-CIfewyM7.js → transport-Cn1V6y-o.js} +46 -8
  29. package/dist/transport-Cn1V6y-o.js.map +1 -0
  30. package/dist/{transport-BHbtsYo_.d.ts → transport-CoTymLxF.d.ts} +3 -1
  31. package/dist/transport-CoTymLxF.d.ts.map +1 -0
  32. package/openapi/activity.json +16 -1
  33. package/openapi/battlelog.json +805 -14
  34. package/openapi/main.json +5752 -4060
  35. package/openapi/search.json +721 -53
  36. package/package.json +4 -4
  37. package/dist/transport-BHbtsYo_.d.ts.map +0 -1
  38. package/dist/transport-CIfewyM7.js.map +0 -1
@@ -3,7 +3,7 @@ import { Schema } from "effect";
3
3
  export declare const REALTIME_SUBPROTOCOL = "lootlog.realtime.v1";
4
4
  export declare const REALTIME_JSON_SUBPROTOCOL = "lootlog.realtime.json.v1";
5
5
  declare const SubscriptionScope: Schema.Struct<{
6
- readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room"]>;
6
+ readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room", "global.chat", "global.chat.world"]>;
7
7
  readonly organizationId: Schema.optional<Schema.NonEmptyString>;
8
8
  readonly eventId: Schema.optional<Schema.NonEmptyString>;
9
9
  readonly world: Schema.optional<Schema.NonEmptyString>;
@@ -97,6 +97,11 @@ declare const ClientCommand: Schema.Union<readonly [Schema.Struct<{
97
97
  readonly data: Schema.Struct<{
98
98
  readonly sessionId: Schema.NonEmptyString;
99
99
  }>;
100
+ }>, Schema.Struct<{
101
+ readonly v: Schema.Literal<1>;
102
+ readonly type: Schema.Literal<"connection.ping">;
103
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
104
+ readonly data: Schema.Struct<{}>;
100
105
  }>, Schema.Struct<{
101
106
  readonly v: Schema.Literal<1>;
102
107
  readonly type: Schema.Literal<"presence.publish">;
@@ -133,13 +138,14 @@ declare const ClientCommand: Schema.Union<readonly [Schema.Struct<{
133
138
  readonly data: Schema.Struct<{
134
139
  readonly organizationId: Schema.NonEmptyString;
135
140
  readonly world: Schema.optional<Schema.NonEmptyString>;
141
+ readonly delivery: Schema.optional<Schema.Literal<"response">>;
136
142
  }>;
137
143
  }>, Schema.Struct<{
138
144
  readonly v: Schema.Literal<1>;
139
145
  readonly type: Schema.Literal<"subscription.subscribe">;
140
146
  readonly requestId: Schema.optional<Schema.NonEmptyString>;
141
147
  readonly data: Schema.Struct<{
142
- readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room"]>;
148
+ readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room", "global.chat", "global.chat.world"]>;
143
149
  readonly organizationId: Schema.optional<Schema.NonEmptyString>;
144
150
  readonly eventId: Schema.optional<Schema.NonEmptyString>;
145
151
  readonly world: Schema.optional<Schema.NonEmptyString>;
@@ -150,7 +156,7 @@ declare const ClientCommand: Schema.Union<readonly [Schema.Struct<{
150
156
  readonly type: Schema.Literal<"subscription.unsubscribe">;
151
157
  readonly requestId: Schema.optional<Schema.NonEmptyString>;
152
158
  readonly data: Schema.Struct<{
153
- readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room"]>;
159
+ readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room", "global.chat", "global.chat.world"]>;
154
160
  readonly organizationId: Schema.optional<Schema.NonEmptyString>;
155
161
  readonly eventId: Schema.optional<Schema.NonEmptyString>;
156
162
  readonly world: Schema.optional<Schema.NonEmptyString>;
@@ -161,10 +167,39 @@ declare const ClientCommand: Schema.Union<readonly [Schema.Struct<{
161
167
  readonly type: Schema.Literal<"map-ping.send">;
162
168
  readonly requestId: Schema.optional<Schema.NonEmptyString>;
163
169
  readonly data: Schema.Struct<{
164
- readonly expectedMapId: Schema.Int;
165
170
  readonly type: Schema.Literals<readonly ["attention", "enemy", "regroup", "avoid"]>;
166
171
  readonly x: Schema.Int;
167
172
  readonly y: Schema.Int;
173
+ readonly npcId: Schema.optionalKey<Schema.Int>;
174
+ readonly playerId: Schema.optionalKey<Schema.Int>;
175
+ readonly expectedMapId: Schema.Int;
176
+ }>;
177
+ }>, Schema.Struct<{
178
+ readonly v: Schema.Literal<1>;
179
+ readonly type: Schema.Literal<"battle-ping.send">;
180
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
181
+ readonly data: Schema.Struct<{
182
+ readonly expectedMapId: Schema.Int;
183
+ readonly type: Schema.Literals<readonly ["attack", "caution", "spare", "attack-speed-aura", "atmo", "cleanse", "emanating-arrow", "fury", "heal", "healing-wave", "need-heal", "poison", "protection-aura", "rime", "stigma", "taunt", "quick-fight"]>;
184
+ readonly warriorId: Schema.Int;
185
+ readonly recipientCharacterIds: Schema.$Array<Schema.String>;
186
+ }>;
187
+ }>, Schema.Struct<{
188
+ readonly v: Schema.Literal<1>;
189
+ readonly type: Schema.Literal<"loot-split.send">;
190
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
191
+ readonly data: Schema.Struct<{
192
+ readonly splitId: Schema.String;
193
+ readonly choices: Schema.$Record<Schema.String, Schema.Literals<readonly [0, 1, 2]>>;
194
+ readonly accepted: Schema.Boolean;
195
+ readonly recipientCharacterIds: Schema.$Array<Schema.String>;
196
+ }>;
197
+ }>, Schema.Struct<{
198
+ readonly v: Schema.Literal<1>;
199
+ readonly type: Schema.Literal<"loot-split.auto-accept">;
200
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
201
+ readonly data: Schema.Struct<{
202
+ readonly recipientCharacterIds: Schema.$Array<Schema.String>;
168
203
  }>;
169
204
  }>, Schema.Struct<{
170
205
  readonly v: Schema.Literal<1>;
@@ -191,11 +226,56 @@ declare const ClientCommand: Schema.Union<readonly [Schema.Struct<{
191
226
  readonly relation: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8]>;
192
227
  readonly x: Schema.Int;
193
228
  readonly y: Schema.Int;
229
+ readonly lvl: Schema.optionalKey<Schema.Int>;
230
+ readonly prof: Schema.optionalKey<Schema.NonEmptyString>;
231
+ readonly stasis: Schema.optionalKey<Schema.Boolean>;
232
+ }>>;
233
+ readonly departures: Schema.optionalKey<Schema.$Array<Schema.Struct<{
234
+ readonly targetId: Schema.NonEmptyString;
235
+ readonly reason: Schema.Literals<readonly ["left-map", "out-of-sight"]>;
236
+ }>>>;
237
+ }>;
238
+ }>, Schema.Struct<{
239
+ readonly v: Schema.Literal<1>;
240
+ readonly type: Schema.Literal<"air-tag.map-threats.fetch">;
241
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
242
+ readonly data: Schema.Struct<{
243
+ readonly organizationId: Schema.NonEmptyString;
244
+ readonly world: Schema.NonEmptyString;
245
+ }>;
246
+ }>, Schema.Struct<{
247
+ readonly v: Schema.Literal<1>;
248
+ readonly type: Schema.Literal<"npc-presence.report">;
249
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
250
+ readonly data: Schema.Struct<{
251
+ readonly world: Schema.NonEmptyString;
252
+ readonly organizationIds: Schema.$Array<Schema.NonEmptyString>;
253
+ readonly npcs: Schema.$Array<Schema.Struct<{
254
+ readonly id: Schema.Int;
255
+ readonly lvl: Schema.Int;
256
+ readonly wt: Schema.Int;
257
+ readonly prof: Schema.optionalKey<Schema.String>;
258
+ readonly type: Schema.optionalKey<Schema.Int>;
194
259
  }>>;
195
260
  }>;
261
+ }>, Schema.Struct<{
262
+ readonly v: Schema.Literal<1>;
263
+ readonly type: Schema.Literal<"npc-presence.fetch">;
264
+ readonly requestId: Schema.optional<Schema.NonEmptyString>;
265
+ readonly data: Schema.Struct<{
266
+ readonly organizationId: Schema.NonEmptyString;
267
+ readonly world: Schema.NonEmptyString;
268
+ }>;
196
269
  }>]>;
197
270
  type ClientCommand = typeof ClientCommand.Type;
198
271
  declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
272
+ readonly v: Schema.Literal<1>;
273
+ readonly type: Schema.Literal<"session.hello">;
274
+ readonly sequence: Schema.optional<Schema.Int>;
275
+ readonly data: Schema.Struct<{
276
+ readonly connectionId: Schema.NonEmptyString;
277
+ }>;
278
+ }>, Schema.Struct<{
199
279
  readonly v: Schema.Literal<1>;
200
280
  readonly type: Schema.Literal<"session.joined">;
201
281
  readonly sequence: Schema.optional<Schema.Int>;
@@ -203,7 +283,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
203
283
  readonly connectionId: Schema.NonEmptyString;
204
284
  readonly organizationIds: Schema.$Array<Schema.NonEmptyString>;
205
285
  readonly subscriptionScopes: Schema.$Array<Schema.Struct<{
206
- readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room"]>;
286
+ readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room", "global.chat", "global.chat.world"]>;
207
287
  readonly organizationId: Schema.optional<Schema.NonEmptyString>;
208
288
  readonly eventId: Schema.optional<Schema.NonEmptyString>;
209
289
  readonly world: Schema.optional<Schema.NonEmptyString>;
@@ -224,6 +304,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
224
304
  }>>;
225
305
  }>>;
226
306
  }>>;
307
+ readonly capabilities: Schema.optional<Schema.$Array<Schema.NonEmptyString>>;
227
308
  }>;
228
309
  }>, Schema.Struct<{
229
310
  readonly v: Schema.Literal<1>;
@@ -238,7 +319,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
238
319
  }>>>;
239
320
  readonly organizationIds: Schema.$Array<Schema.NonEmptyString>;
240
321
  readonly subscriptionScopes: Schema.$Array<Schema.Struct<{
241
- readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room"]>;
322
+ readonly topic: Schema.Literals<readonly ["organization.activity", "organization.chat", "organization.loots", "organization.members", "organization.notifications", "organization.presence", "organization.reservations", "organization.timers", "event.coordination", "map.air-tags", "map.pings", "party.ready-room", "global.chat", "global.chat.world"]>;
242
323
  readonly organizationId: Schema.optional<Schema.NonEmptyString>;
243
324
  readonly eventId: Schema.optional<Schema.NonEmptyString>;
244
325
  readonly world: Schema.optional<Schema.NonEmptyString>;
@@ -427,6 +508,52 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
427
508
  readonly organizationId: Schema.NonEmptyString;
428
509
  readonly payload: Schema.Unknown;
429
510
  }>;
511
+ }>, Schema.Struct<{
512
+ readonly v: Schema.Literal<1>;
513
+ readonly type: Schema.Literal<"global-chat.created">;
514
+ readonly sequence: Schema.optional<Schema.Int>;
515
+ readonly data: Schema.Struct<{
516
+ readonly id: Schema.NonEmptyString;
517
+ readonly displayName: Schema.NonEmptyString;
518
+ readonly message: Schema.String;
519
+ readonly timestamp: Schema.String;
520
+ readonly world: Schema.optionalKey<Schema.NonEmptyString>;
521
+ readonly originWorld: Schema.optionalKey<Schema.NonEmptyString>;
522
+ readonly isAdmin: Schema.optionalKey<Schema.Boolean>;
523
+ }>;
524
+ }>, Schema.Struct<{
525
+ readonly v: Schema.Literal<1>;
526
+ readonly type: Schema.Literal<"global-chat.deleted">;
527
+ readonly sequence: Schema.optional<Schema.Int>;
528
+ readonly data: Schema.Struct<{
529
+ readonly world: Schema.optionalKey<Schema.NonEmptyString>;
530
+ readonly id: Schema.NonEmptyString;
531
+ }>;
532
+ }>, Schema.Struct<{
533
+ readonly v: Schema.Literal<1>;
534
+ readonly type: Schema.Literal<"global-chat.pinned">;
535
+ readonly sequence: Schema.optional<Schema.Int>;
536
+ readonly data: Schema.Struct<{
537
+ readonly world: Schema.optionalKey<Schema.NonEmptyString>;
538
+ readonly message: Schema.NullOr<Schema.Struct<{
539
+ readonly id: Schema.NonEmptyString;
540
+ readonly displayName: Schema.NonEmptyString;
541
+ readonly message: Schema.String;
542
+ readonly timestamp: Schema.String;
543
+ readonly world: Schema.optionalKey<Schema.NonEmptyString>;
544
+ readonly originWorld: Schema.optionalKey<Schema.NonEmptyString>;
545
+ readonly isAdmin: Schema.optionalKey<Schema.Boolean>;
546
+ }>>;
547
+ }>;
548
+ }>, Schema.Struct<{
549
+ readonly v: Schema.Literal<1>;
550
+ readonly type: Schema.Literal<"global-chat.stats">;
551
+ readonly sequence: Schema.optional<Schema.Int>;
552
+ readonly data: Schema.Struct<{
553
+ readonly world: Schema.optionalKey<Schema.NonEmptyString>;
554
+ readonly online: Schema.Int;
555
+ readonly listeners: Schema.Int;
556
+ }>;
430
557
  }>, Schema.Struct<{
431
558
  readonly v: Schema.Literal<1>;
432
559
  readonly type: Schema.Literal<"feed.entry">;
@@ -502,7 +629,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
502
629
  readonly lvl: Schema.NullOr<Schema.Number>;
503
630
  readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
504
631
  readonly icon: Schema.NullOr<Schema.String>;
505
- readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "NPC"]>>;
632
+ readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "HERO_TRACKER", "NPC"]>>;
506
633
  readonly margonemType: Schema.NullOr<Schema.Number>;
507
634
  }>>;
508
635
  readonly lootShare: Schema.$Record<Schema.String, Schema.$Array<Schema.String>>;
@@ -602,7 +729,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
602
729
  readonly lvl: Schema.NullOr<Schema.Number>;
603
730
  readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
604
731
  readonly icon: Schema.NullOr<Schema.String>;
605
- readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "NPC"]>>;
732
+ readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "HERO_TRACKER", "NPC"]>>;
606
733
  readonly margonemType: Schema.NullOr<Schema.Number>;
607
734
  }>>;
608
735
  readonly lootShare: Schema.$Record<Schema.String, Schema.$Array<Schema.String>>;
@@ -705,7 +832,7 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
705
832
  readonly lvl: Schema.NullOr<Schema.Number>;
706
833
  readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
707
834
  readonly icon: Schema.NullOr<Schema.String>;
708
- readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "NPC"]>>;
835
+ readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "HERO_TRACKER", "NPC"]>>;
709
836
  readonly margonemType: Schema.NullOr<Schema.Number>;
710
837
  }>>;
711
838
  readonly lootShare: Schema.$Record<Schema.String, Schema.$Array<Schema.String>>;
@@ -733,6 +860,87 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
733
860
  }>>;
734
861
  readonly lootShare: Schema.$Record<Schema.String, Schema.$Array<Schema.String>>;
735
862
  }>;
863
+ }>, Schema.Struct<{
864
+ readonly v: Schema.Literal<1>;
865
+ readonly type: Schema.Literal<"loot.snapshot">;
866
+ readonly sequence: Schema.optional<Schema.Int>;
867
+ readonly data: Schema.Struct<{
868
+ version: Schema.Literal<2>;
869
+ guildId: Schema.NonEmptyString;
870
+ lootId: Schema.Int;
871
+ npcs: Schema.$Array<Schema.Struct<{
872
+ readonly lvl: Schema.optional<Schema.NullOr<Schema.Number>>;
873
+ readonly prof: Schema.optional<Schema.NullOr<Schema.String>>;
874
+ readonly type: Schema.optional<Schema.NullOr<Schema.Union<readonly [Schema.Number, Schema.String]>>>;
875
+ readonly wt: Schema.optional<Schema.NullOr<Schema.Union<readonly [Schema.Number, Schema.String]>>>;
876
+ }>>;
877
+ loot: Schema.optional<Schema.Struct<{
878
+ readonly id: Schema.Number;
879
+ readonly uniqueId: Schema.String;
880
+ readonly world: Schema.String;
881
+ readonly source: Schema.Literals<readonly ["LOOTBOX", "DIALOG", "FIGHT"]>;
882
+ readonly location: Schema.String;
883
+ readonly items: Schema.$Array<Schema.Struct<{
884
+ readonly id: Schema.Number;
885
+ readonly hid: Schema.String;
886
+ readonly name: Schema.String;
887
+ readonly icon: Schema.String;
888
+ readonly stat: Schema.String;
889
+ readonly type: Schema.NullOr<Schema.String>;
890
+ readonly rarity: Schema.NullOr<Schema.Literals<readonly ["UNIQUE", "HEROIC", "LEGENDARY", "UPGRADED"]>>;
891
+ readonly lvl: Schema.Number;
892
+ readonly prof: Schema.$Array<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
893
+ }>>;
894
+ readonly players: Schema.$Array<Schema.Struct<{
895
+ readonly id: Schema.Union<readonly [Schema.String, Schema.Number]>;
896
+ readonly name: Schema.String;
897
+ readonly lvl: Schema.NullOr<Schema.Number>;
898
+ readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
899
+ readonly icon: Schema.NullOr<Schema.String>;
900
+ readonly characterId: Schema.NullOr<Schema.Number>;
901
+ readonly accountId: Schema.NullOr<Schema.Number>;
902
+ readonly hpp: Schema.NullOr<Schema.Number>;
903
+ }>>;
904
+ readonly mapPlayersSnapshot: Schema.NullOr<Schema.$Array<Schema.Struct<{
905
+ readonly accountId: Schema.Number;
906
+ readonly characterId: Schema.Number;
907
+ readonly name: Schema.String;
908
+ readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
909
+ readonly icon: Schema.NullOr<Schema.String>;
910
+ }>>>;
911
+ readonly npcs: Schema.$Array<Schema.Struct<{
912
+ readonly id: Schema.Number;
913
+ readonly name: Schema.String;
914
+ readonly wt: Schema.NullOr<Schema.Number>;
915
+ readonly lvl: Schema.NullOr<Schema.Number>;
916
+ readonly prof: Schema.NullOr<Schema.Literals<readonly ["WARRIOR", "PALADIN", "HUNTER", "MAGE", "BLADE_DANCER", "TRACKER"]>>;
917
+ readonly icon: Schema.NullOr<Schema.String>;
918
+ readonly type: Schema.NullOr<Schema.Literals<readonly ["COMMON", "ELITE", "ELITE2", "ELITE3", "HERO", "EVENT_HERO", "COLOSSUS", "TITAN", "HERO_TRACKER", "NPC"]>>;
919
+ readonly margonemType: Schema.NullOr<Schema.Number>;
920
+ }>>;
921
+ readonly lootShare: Schema.$Record<Schema.String, Schema.$Array<Schema.String>>;
922
+ readonly createdAt: Schema.String;
923
+ readonly updatedAt: Schema.String;
924
+ readonly submissions: Schema.optionalKey<Schema.$Array<Schema.Struct<{
925
+ readonly guildId: Schema.String;
926
+ readonly memberId: Schema.Number;
927
+ readonly lootId: Schema.Number;
928
+ readonly member: Schema.Struct<{
929
+ readonly id: Schema.Number;
930
+ readonly name: Schema.String;
931
+ readonly avatar: Schema.NullOr<Schema.String>;
932
+ readonly userId: Schema.String;
933
+ }>;
934
+ }>>>;
935
+ readonly commentsCount: Schema.Number;
936
+ readonly likes: Schema.optionalKey<Schema.$Array<Schema.Struct<{
937
+ readonly id: Schema.Number;
938
+ readonly name: Schema.String;
939
+ readonly avatar: Schema.NullOr<Schema.String>;
940
+ readonly userId: Schema.String;
941
+ }>>>;
942
+ }>>;
943
+ }>;
736
944
  }>, Schema.Struct<{
737
945
  readonly v: Schema.Literal<1>;
738
946
  readonly type: Schema.Literal<"timer.created">;
@@ -749,6 +957,14 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
749
957
  readonly organizationId: Schema.NonEmptyString;
750
958
  readonly payload: Schema.Unknown;
751
959
  }>;
960
+ }>, Schema.Struct<{
961
+ readonly v: Schema.Literal<1>;
962
+ readonly type: Schema.Literal<"hero-sighting.updated">;
963
+ readonly sequence: Schema.optional<Schema.Int>;
964
+ readonly data: Schema.Struct<{
965
+ readonly organizationId: Schema.NonEmptyString;
966
+ readonly payload: Schema.Unknown;
967
+ }>;
752
968
  }>, Schema.Struct<{
753
969
  readonly v: Schema.Literal<1>;
754
970
  readonly type: Schema.Literal<"reservation.created">;
@@ -809,6 +1025,69 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
809
1025
  readonly organizationId: Schema.NonEmptyString;
810
1026
  readonly payload: Schema.Unknown;
811
1027
  }>;
1028
+ }>, Schema.Struct<{
1029
+ readonly v: Schema.Literal<1>;
1030
+ readonly type: Schema.Literal<"party-gathering.state-updated">;
1031
+ readonly sequence: Schema.optional<Schema.Int>;
1032
+ readonly data: Schema.Struct<{
1033
+ readonly organizationId: Schema.NonEmptyString;
1034
+ readonly payload: Schema.Union<readonly [Schema.Struct<{
1035
+ readonly type: Schema.Literal<"UPSERT">;
1036
+ readonly gathering: Schema.Struct<{
1037
+ readonly notificationId: Schema.String;
1038
+ readonly organizerName: Schema.String;
1039
+ readonly organizerDiscordId: Schema.optionalKey<Schema.String>;
1040
+ readonly organizerLvl: Schema.optionalKey<Schema.Number>;
1041
+ readonly organizerProf: Schema.optionalKey<Schema.String>;
1042
+ readonly applicantCount: Schema.Number;
1043
+ readonly inPartyCount: Schema.Number;
1044
+ readonly partyMemberCount: Schema.optionalKey<Schema.Number>;
1045
+ readonly revision: Schema.optionalKey<Schema.Number>;
1046
+ readonly volunteers: Schema.optionalKey<Schema.$Array<Schema.Struct<{
1047
+ readonly characterId: Schema.String;
1048
+ readonly nick: Schema.String;
1049
+ readonly icon: Schema.String;
1050
+ readonly lvl: Schema.Number;
1051
+ readonly prof: Schema.String;
1052
+ readonly partyPresence: Schema.Literals<readonly ["OUTSIDE", "IN_PARTY"]>;
1053
+ }>>>;
1054
+ readonly partyState: Schema.optionalKey<Schema.Union<readonly [Schema.Struct<{
1055
+ readonly status: Schema.Literal<"UNKNOWN">;
1056
+ }>, Schema.Struct<{
1057
+ readonly status: Schema.Literal<"OBSERVED">;
1058
+ readonly observedAt: Schema.String;
1059
+ readonly members: Schema.$Array<Schema.Struct<{
1060
+ readonly characterId: Schema.String;
1061
+ readonly nick: Schema.optionalKey<Schema.String>;
1062
+ readonly icon: Schema.optionalKey<Schema.String>;
1063
+ readonly lvl: Schema.optionalKey<Schema.Number>;
1064
+ readonly prof: Schema.optionalKey<Schema.String>;
1065
+ }>>;
1066
+ }>]>>;
1067
+ readonly guildIds: Schema.$Array<Schema.String>;
1068
+ readonly world: Schema.String;
1069
+ readonly description: Schema.optionalKey<Schema.String>;
1070
+ readonly minLvl: Schema.optionalKey<Schema.Number>;
1071
+ readonly maxLvl: Schema.optionalKey<Schema.Number>;
1072
+ readonly npc: Schema.optionalKey<Schema.Struct<{
1073
+ readonly prof: Schema.optionalKey<Schema.String>;
1074
+ readonly icon: Schema.optionalKey<Schema.String>;
1075
+ readonly name: Schema.String;
1076
+ readonly location: Schema.String;
1077
+ readonly lvl: Schema.Number;
1078
+ readonly x: Schema.optionalKey<Schema.Number>;
1079
+ readonly y: Schema.optionalKey<Schema.Number>;
1080
+ readonly type: Schema.optionalKey<Schema.String>;
1081
+ }>>;
1082
+ readonly createdAt: Schema.String;
1083
+ readonly expiresAt: Schema.String;
1084
+ }>;
1085
+ }>, Schema.Struct<{
1086
+ readonly type: Schema.Literal<"REMOVE">;
1087
+ readonly notificationId: Schema.String;
1088
+ readonly revision: Schema.Number;
1089
+ }>]>;
1090
+ }>;
812
1091
  }>, Schema.Struct<{
813
1092
  readonly v: Schema.Literal<1>;
814
1093
  readonly type: Schema.Literal<"party-ready-room.updated">;
@@ -822,18 +1101,63 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
822
1101
  readonly type: Schema.Literal<"map-ping.received">;
823
1102
  readonly sequence: Schema.optional<Schema.Int>;
824
1103
  readonly data: Schema.Struct<{
825
- readonly pingId: Schema.NonEmptyString;
826
- readonly world: Schema.NonEmptyString;
827
- readonly mapId: Schema.Int;
828
1104
  readonly type: Schema.Literals<readonly ["attention", "enemy", "regroup", "avoid"]>;
829
1105
  readonly x: Schema.Int;
830
1106
  readonly y: Schema.Int;
1107
+ readonly npcId: Schema.optionalKey<Schema.Int>;
1108
+ readonly playerId: Schema.optionalKey<Schema.Int>;
1109
+ readonly pingId: Schema.NonEmptyString;
1110
+ readonly world: Schema.NonEmptyString;
1111
+ readonly mapId: Schema.Int;
1112
+ readonly sender: Schema.Struct<{
1113
+ readonly characterId: Schema.NonEmptyString;
1114
+ readonly name: Schema.NonEmptyString;
1115
+ }>;
1116
+ readonly createdAt: Schema.Int;
1117
+ }>;
1118
+ }>, Schema.Struct<{
1119
+ readonly v: Schema.Literal<1>;
1120
+ readonly type: Schema.Literal<"battle-ping.received">;
1121
+ readonly sequence: Schema.optional<Schema.Int>;
1122
+ readonly data: Schema.Struct<{
1123
+ readonly pingId: Schema.NonEmptyString;
1124
+ readonly world: Schema.NonEmptyString;
1125
+ readonly mapId: Schema.Int;
1126
+ readonly type: Schema.Literals<readonly ["attack", "caution", "spare", "attack-speed-aura", "atmo", "cleanse", "emanating-arrow", "fury", "heal", "healing-wave", "need-heal", "poison", "protection-aura", "rime", "stigma", "taunt", "quick-fight"]>;
1127
+ readonly warriorId: Schema.Int;
831
1128
  readonly sender: Schema.Struct<{
832
1129
  readonly characterId: Schema.NonEmptyString;
833
1130
  readonly name: Schema.NonEmptyString;
834
1131
  }>;
835
1132
  readonly createdAt: Schema.Int;
836
1133
  }>;
1134
+ }>, Schema.Struct<{
1135
+ readonly v: Schema.Literal<1>;
1136
+ readonly type: Schema.Literal<"loot-split.received">;
1137
+ readonly sequence: Schema.optional<Schema.Int>;
1138
+ readonly data: Schema.Struct<{
1139
+ readonly splitId: Schema.String;
1140
+ readonly world: Schema.NonEmptyString;
1141
+ readonly sender: Schema.Struct<{
1142
+ readonly characterId: Schema.NonEmptyString;
1143
+ readonly name: Schema.NonEmptyString;
1144
+ }>;
1145
+ readonly choices: Schema.$Record<Schema.String, Schema.Literals<readonly [0, 1, 2]>>;
1146
+ readonly accepted: Schema.Boolean;
1147
+ readonly sentAt: Schema.Int;
1148
+ }>;
1149
+ }>, Schema.Struct<{
1150
+ readonly v: Schema.Literal<1>;
1151
+ readonly type: Schema.Literal<"loot-split.auto-accepted">;
1152
+ readonly sequence: Schema.optional<Schema.Int>;
1153
+ readonly data: Schema.Struct<{
1154
+ readonly world: Schema.NonEmptyString;
1155
+ readonly sender: Schema.Struct<{
1156
+ readonly characterId: Schema.NonEmptyString;
1157
+ readonly name: Schema.NonEmptyString;
1158
+ }>;
1159
+ readonly sentAt: Schema.Int;
1160
+ }>;
837
1161
  }>, Schema.Struct<{
838
1162
  readonly v: Schema.Literal<1>;
839
1163
  readonly type: Schema.Literal<"air-tag.updated">;
@@ -855,11 +1179,85 @@ declare const ServerEvent: Schema.Union<readonly [Schema.Struct<{
855
1179
  readonly relation: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8]>;
856
1180
  readonly x: Schema.Int;
857
1181
  readonly y: Schema.Int;
1182
+ readonly lvl: Schema.optionalKey<Schema.Int>;
1183
+ readonly prof: Schema.optionalKey<Schema.NonEmptyString>;
1184
+ readonly stasis: Schema.optionalKey<Schema.Boolean>;
858
1185
  readonly observedAt: Schema.Int;
859
1186
  readonly enemyObservedAt: Schema.optionalKey<Schema.Int>;
860
1187
  readonly clanEnemyObservedAt: Schema.optionalKey<Schema.Int>;
861
1188
  }>;
862
1189
  }>;
1190
+ }>, Schema.Struct<{
1191
+ readonly v: Schema.Literal<1>;
1192
+ readonly type: Schema.Literal<"air-tag.scope-updated">;
1193
+ readonly sequence: Schema.optional<Schema.Int>;
1194
+ readonly data: Schema.Struct<{
1195
+ readonly guildId: Schema.NonEmptyString;
1196
+ readonly world: Schema.NonEmptyString;
1197
+ readonly mapId: Schema.Int;
1198
+ readonly epochId: Schema.NonEmptyString;
1199
+ readonly epochStartedAt: Schema.Int;
1200
+ readonly revision: Schema.Int;
1201
+ readonly targets: Schema.$Array<Schema.Struct<{
1202
+ readonly targetId: Schema.NonEmptyString;
1203
+ readonly nickname: Schema.NonEmptyString;
1204
+ readonly clan: Schema.optionalKey<Schema.Struct<{
1205
+ readonly id: Schema.Int;
1206
+ readonly name: Schema.NonEmptyString;
1207
+ }>>;
1208
+ readonly relation: Schema.Literals<readonly [1, 2, 3, 4, 5, 6, 7, 8]>;
1209
+ readonly x: Schema.Int;
1210
+ readonly y: Schema.Int;
1211
+ readonly lvl: Schema.optionalKey<Schema.Int>;
1212
+ readonly prof: Schema.optionalKey<Schema.NonEmptyString>;
1213
+ readonly stasis: Schema.optionalKey<Schema.Boolean>;
1214
+ readonly observedAt: Schema.Int;
1215
+ readonly enemyObservedAt: Schema.optionalKey<Schema.Int>;
1216
+ readonly clanEnemyObservedAt: Schema.optionalKey<Schema.Int>;
1217
+ }>>;
1218
+ readonly removedTargetIds: Schema.$Array<Schema.NonEmptyString>;
1219
+ }>;
1220
+ }>, Schema.Struct<{
1221
+ readonly v: Schema.Literal<1>;
1222
+ readonly type: Schema.Literal<"air-tag.map-threat-updated">;
1223
+ readonly sequence: Schema.optional<Schema.Int>;
1224
+ readonly data: Schema.Struct<{
1225
+ readonly guildId: Schema.NonEmptyString;
1226
+ readonly world: Schema.NonEmptyString;
1227
+ readonly mapId: Schema.Int;
1228
+ readonly mapName: Schema.NonEmptyString;
1229
+ readonly revision: Schema.Int;
1230
+ readonly enemies: Schema.$Array<Schema.Struct<{
1231
+ readonly targetId: Schema.NonEmptyString;
1232
+ readonly nickname: Schema.NonEmptyString;
1233
+ readonly clan: Schema.optionalKey<Schema.Struct<{
1234
+ readonly id: Schema.Int;
1235
+ readonly name: Schema.NonEmptyString;
1236
+ }>>;
1237
+ readonly lvl: Schema.optionalKey<Schema.Int>;
1238
+ readonly prof: Schema.optionalKey<Schema.NonEmptyString>;
1239
+ readonly stasis: Schema.optionalKey<Schema.Boolean>;
1240
+ readonly ageMs: Schema.Int;
1241
+ }>>;
1242
+ }>;
1243
+ }>, Schema.Struct<{
1244
+ readonly v: Schema.Literal<1>;
1245
+ readonly type: Schema.Literal<"npc-presence.updated">;
1246
+ readonly sequence: Schema.optional<Schema.Int>;
1247
+ readonly data: Schema.Struct<{
1248
+ readonly organizationId: Schema.NonEmptyString;
1249
+ readonly world: Schema.NonEmptyString;
1250
+ readonly revision: Schema.Int;
1251
+ readonly npc: Schema.Struct<{
1252
+ readonly id: Schema.Int;
1253
+ readonly lvl: Schema.Int;
1254
+ readonly wt: Schema.Int;
1255
+ readonly prof: Schema.optionalKey<Schema.String>;
1256
+ readonly type: Schema.optionalKey<Schema.Int>;
1257
+ }>;
1258
+ readonly standing: Schema.Boolean;
1259
+ readonly since: Schema.Int;
1260
+ }>;
863
1261
  }>, Schema.Struct<{
864
1262
  readonly v: Schema.Literal<1>;
865
1263
  readonly type: Schema.Literal<"event.map-status-updated">;
@@ -925,6 +1323,7 @@ interface RealtimeWebSocket {
925
1323
  readonly readyState: number;
926
1324
  addEventListener(type: "open" | "close" | "error" | "message", listener: (event: {
927
1325
  readonly data?: unknown;
1326
+ readonly code?: number;
928
1327
  }) => void): void;
929
1328
  send(data: string | Uint8Array<ArrayBuffer>): void;
930
1329
  close(code?: number, reason?: string): void;
@@ -958,15 +1357,22 @@ export declare class RealtimeClient {
958
1357
  private readonly frameEncoding;
959
1358
  private readonly eventListeners;
960
1359
  private readonly stateListeners;
1360
+ private heartbeatLatencyMs;
1361
+ private readonly heartbeatLatencyListeners;
961
1362
  private readonly pending;
962
1363
  private readonly subscriptions;
963
1364
  private socket;
964
1365
  private stateValue;
965
1366
  private joinData;
1367
+ private joinAttempt;
966
1368
  private reconnectAttempt;
1369
+ private reconnectNotBeforeMs;
967
1370
  private reconnectTimeout;
968
1371
  private heartbeatTimeout;
969
1372
  private presenceSessionId;
1373
+ private presenceRefreshedAt;
1374
+ private pingSupported;
1375
+ private latencyProbeInFlight;
970
1376
  private manuallyClosed;
971
1377
  private messageChain;
972
1378
  private rejoinHandler;
@@ -977,14 +1383,23 @@ export declare class RealtimeClient {
977
1383
  disconnect(): void;
978
1384
  subscribe(listener: (event: ServerEvent) => void): () => void;
979
1385
  subscribeState(listener: (state: RealtimeConnectionState) => void): () => void;
1386
+ subscribeHeartbeatLatency(listener: (latencyMs: number | null) => void): () => void;
1387
+ /**
1388
+ * Measures the round trip now instead of at the next heartbeat. A gateway
1389
+ * that does not advertise `connection.ping` keeps the heartbeat measurement.
1390
+ */
1391
+ probeLatency(): void;
1392
+ private setHeartbeatLatency;
980
1393
  setReconnectHandler(handler: (() => Promise<void>) | null): void;
981
1394
  join(data: CommandData<"session.join">): Promise<unknown>;
982
1395
  subscribeScope(scope: SubscriptionScope): Promise<unknown>;
983
1396
  unsubscribeScope(scope: SubscriptionScope): Promise<unknown>;
984
1397
  request<Type extends CommandType>(type: Type, data: CommandData<Type>): Promise<unknown>;
1398
+ private requestWithTimeout;
985
1399
  send<Type extends CommandType>(type: Type, data: CommandData<Type>): void;
986
1400
  private open;
987
1401
  private performJoin;
1402
+ private restoreSession;
988
1403
  private handleMessage;
989
1404
  private encodeFrame;
990
1405
  private decodeFrame;
@@ -1 +1 @@
1
- {"version":3,"file":"realtime.d.ts","names":[],"sources":["../../protocol/src/realtime/protocol.ts","../../client/src/realtime/realtime-client.ts"],"mappings":";;qBA4Ba;qBAEA;cA6BA,mBAAiB,OAAA;;;;;;;KAQlB,2BAA2B,kBAAkB;cAgC5C,eAAa,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAad,uBAAuB,cAAc;cAEpC,sBAAoB,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKrB,8BAA8B,qBAAqB;cA+IlD,eAAa,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAYd,uBAAuB,cAAc;cAgDpC,aAAW,OAAA,gBAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0DZ,qBAAqB,YAAY;;;KC7WxC,cAAc;KAEd,YAAY,aAAa,eAAe,QAC3C;EACE,MAAM;;KAGE;UAQK;EACf,YAAY;WACH;EACT,iBACE,8CACA,WAAW;aAAkB;;EAE/B,KAAK,eAAe,WAAW;EAC/B,MAAM,eAAe;;KAGX,4BACV,aACA,yBACG;UAEY;WACN;WACA;WACA,YAAY;WACZ;WACA;WACA;WACA;WACA;WACA,mBAAmB;;qBAUjB,6BAA6B;WAE7B;WAEA;WACA;EAJX,YACW,cACT,iBACS,oBACA;;qBAsDA;mBACM;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBACA;mBAGA;mBACA;UACT;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;EAER,YAAY,SAAS;MAWjB,SAAS;MAIT;EAIJ;EAOA;EAWA,UAAU,WAAW,OAAO;EAM5B,eACE,WAAW,OAAO;EAQpB,oBAAoB,gBAAgB;EAIpC,KAAK,MAAM,8BAA8B;EAMzC,eAAe,OAAO,oBAAoB;EAU1C,iBAAiB,OAAO,oBAAoB;EAU5C,QAAQ,aAAa,aACnB,MAAM,MACN,MAAM,YAAY,QACjB;EAmCH,KAAK,aAAa,aAAa,MAAM,MAAM,MAAM,YAAY;UAcrD;UAsCM;UAqBA;UAoCN;UAMM;UAeN;UAgBA;UAcA;UASA;UAOA;UAKA"}
1
+ {"version":3,"file":"realtime.d.ts","names":[],"sources":["../../protocol/src/realtime/protocol.ts","../../client/src/realtime/realtime-client.ts"],"mappings":"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"}