dfx 0.95.1 → 0.95.3

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 (52) hide show
  1. package/DiscordGateway/Shard/StateStore.d.ts +27 -0
  2. package/DiscordGateway/Shard/StateStore.d.ts.map +1 -0
  3. package/DiscordGateway/Shard/StateStore.js +49 -0
  4. package/DiscordGateway/Shard/StateStore.js.map +1 -0
  5. package/DiscordGateway/Shard/heartbeats.d.ts +2 -2
  6. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  7. package/DiscordGateway/Shard/heartbeats.js +4 -4
  8. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  9. package/DiscordGateway/Shard/identify.d.ts +2 -6
  10. package/DiscordGateway/Shard/identify.d.ts.map +1 -1
  11. package/DiscordGateway/Shard/identify.js +5 -12
  12. package/DiscordGateway/Shard/identify.js.map +1 -1
  13. package/DiscordGateway/Shard/utils.d.ts +1 -8
  14. package/DiscordGateway/Shard/utils.d.ts.map +1 -1
  15. package/DiscordGateway/Shard/utils.js +1 -10
  16. package/DiscordGateway/Shard/utils.js.map +1 -1
  17. package/DiscordGateway/Shard.d.ts +5 -4
  18. package/DiscordGateway/Shard.d.ts.map +1 -1
  19. package/DiscordGateway/Shard.js +41 -26
  20. package/DiscordGateway/Shard.js.map +1 -1
  21. package/DiscordGateway/Sharder.d.ts +1 -1
  22. package/DiscordGateway/Sharder.d.ts.map +1 -1
  23. package/DiscordGateway.d.ts +1 -1
  24. package/DiscordGateway.d.ts.map +1 -1
  25. package/gateway.d.ts +2 -2
  26. package/gateway.d.ts.map +1 -1
  27. package/gateway.js +2 -1
  28. package/gateway.js.map +1 -1
  29. package/mjs/DiscordGateway/Shard/StateStore.mjs +40 -0
  30. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +1 -0
  31. package/mjs/DiscordGateway/Shard/heartbeats.mjs +4 -4
  32. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
  33. package/mjs/DiscordGateway/Shard/identify.mjs +5 -12
  34. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -1
  35. package/mjs/DiscordGateway/Shard/utils.mjs +0 -8
  36. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -1
  37. package/mjs/DiscordGateway/Shard.mjs +41 -26
  38. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  39. package/mjs/gateway.mjs +2 -1
  40. package/mjs/gateway.mjs.map +1 -1
  41. package/mjs/version.mjs +1 -1
  42. package/package.json +2 -2
  43. package/src/DiscordGateway/Shard/StateStore.ts +67 -0
  44. package/src/DiscordGateway/Shard/heartbeats.ts +8 -7
  45. package/src/DiscordGateway/Shard/identify.ts +10 -18
  46. package/src/DiscordGateway/Shard/utils.ts +1 -28
  47. package/src/DiscordGateway/Shard.ts +53 -50
  48. package/src/gateway.ts +2 -0
  49. package/src/version.ts +1 -1
  50. package/version.d.ts +1 -1
  51. package/version.js +1 -1
  52. package/src/DiscordGateway/Shard/invalidSession.ts +0 -11
@@ -0,0 +1,27 @@
1
+ import * as Effect from "effect/Effect";
2
+ import * as Option from "effect/Option";
3
+ import * as Context from "effect/Context";
4
+ import * as Layer from "effect/Layer";
5
+ import * as KVS from "@effect/platform/KeyValueStore";
6
+ export interface ShardState {
7
+ readonly resumeUrl: string;
8
+ readonly sequence: number | null;
9
+ readonly sessionId: string;
10
+ }
11
+ export interface StateStore {
12
+ readonly get: Effect.Effect<Option.Option<ShardState>>;
13
+ readonly set: (state: ShardState) => Effect.Effect<void>;
14
+ readonly clear: Effect.Effect<void>;
15
+ }
16
+ declare const ShardStateStore_base: Context.TagClass<ShardStateStore, "dfx/Shard/StateStore", {
17
+ readonly forShard: (id: [
18
+ id: number,
19
+ count: number
20
+ ]) => StateStore;
21
+ }>;
22
+ export declare class ShardStateStore extends ShardStateStore_base {
23
+ static MemoryLive: Layer.Layer<ShardStateStore>;
24
+ static KVSLive: Layer.Layer<ShardStateStore, never, KVS.KeyValueStore>;
25
+ }
26
+ export {};
27
+ //# sourceMappingURL=StateStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateStore.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,gCAAgC,CAAA;AAErD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACpC;;uBAIsB,CAAC,EAAE,EAAE;QAAC,EAAE,EAAE,MAAM;QAAE,KAAK,EAAE,MAAM;KAAC,KAAK,UAAU;;AAFtE,qBAAa,eAAgB,SAAQ,oBAGlC;IACD,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAsB9C;IAED,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,EAAE,GAAG,CAAC,aAAa,CAAC,CAmBnE;CACJ"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.ShardStateStore = void 0;
7
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
8
+ var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
9
+ var Context = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Context"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
+ var KVS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/platform/KeyValueStore"));
12
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
13
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
+ class ShardStateStore extends Context.Tag("dfx/Shard/StateStore")() {
15
+ static MemoryLive = Layer.sync(ShardStateStore, () => {
16
+ const store = new Map();
17
+ return ShardStateStore.of({
18
+ forShard: ([id, count]) => {
19
+ const key = `${id}-${count}`;
20
+ return {
21
+ get: Effect.sync(() => Option.fromNullable(store.get(key))),
22
+ set(state) {
23
+ return Effect.sync(() => {
24
+ store.set(key, state);
25
+ });
26
+ },
27
+ clear: Effect.sync(() => {
28
+ store.delete(key);
29
+ })
30
+ };
31
+ }
32
+ });
33
+ });
34
+ static KVSLive = Layer.effect(ShardStateStore, Effect.gen(function* (_) {
35
+ const store = yield* KVS.KeyValueStore;
36
+ return ShardStateStore.of({
37
+ forShard([id, count]) {
38
+ const key = `dfx-shard-state-${id}-${count}`;
39
+ return {
40
+ get: Effect.map(Effect.orDie(store.get(key)), Option.map(JSON.parse)),
41
+ set: state => Effect.orDie(store.set(key, JSON.stringify(state))),
42
+ clear: Effect.orDie(store.remove(key))
43
+ };
44
+ }
45
+ });
46
+ }));
47
+ }
48
+ exports.ShardStateStore = ShardStateStore;
49
+ //# sourceMappingURL=StateStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StateStore.js","names":["Effect","_interopRequireWildcard","require","Option","Context","Layer","KVS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","ShardStateStore","Tag","MemoryLive","sync","store","Map","of","forShard","id","count","key","fromNullable","state","clear","delete","KVSLive","effect","gen","_","KeyValueStore","map","orDie","JSON","parse","stringify","remove"],"sources":["../../src/DiscordGateway/Shard/StateStore.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import * as Option from "effect/Option";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as Queue from "effect/Queue";
4
- import * as Ref from "effect/Ref";
5
4
  import * as DiscordWS from "dfx/DiscordGateway/DiscordWS";
6
5
  import type * as Discord from "dfx/types";
7
- export declare const send: (hellos: Queue.Dequeue<Discord.GatewayPayload>, acks: Queue.Dequeue<Discord.GatewayPayload>, seqRef: Ref.Ref<Option.Option<number>>, send: (p: DiscordWS.Message) => Effect.Effect<boolean>) => Effect.Effect<void, never, never>;
6
+ import type { ShardState } from "dfx/DiscordGateway/Shard/StateStore";
7
+ export declare const send: (hellos: Queue.Dequeue<Discord.GatewayPayload>, acks: Queue.Dequeue<Discord.GatewayPayload>, state: Effect.Effect<Option.Option<ShardState>>, send: (p: DiscordWS.Message) => Effect.Effect<boolean>) => Effect.Effect<void, never, never>;
8
8
  //# sourceMappingURL=heartbeats.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAkBzC,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,UACnC,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,QAChC,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,sCA6BpD,CAAA"}
1
+ {"version":3,"file":"heartbeats.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAiBrE,eAAO,MAAM,IAAI,WACP,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QACvC,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,SACpC,OAAO,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,QACzC,CAAC,CAAC,EAAE,UAAU,OAAO,KAAK,OAAO,MAAM,CAAC,OAAO,CAAC,sCA6BpD,CAAA"}
@@ -15,10 +15,10 @@ var SendEvents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx
15
15
  var EffectU = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
16
16
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
17
17
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
- const payload = seqRef => Effect.map(Ref.get(seqRef), seq => SendEvents.heartbeat(Option.getOrNull(seq)));
19
- const payloadOrReconnect = (ref, seqRef) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(seqRef) : Effect.succeed(DiscordWS.Reconnect));
20
- const send = (hellos, acks, seqRef, send) => Effect.flatMap(Ref.make(true), ackedRef => {
21
- const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, seqRef).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
18
+ const payload = state => Effect.map(state, state => SendEvents.heartbeat(Option.getOrNull(Option.map(state, s => s.sequence))));
19
+ const payloadOrReconnect = (ref, state) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(state) : Effect.succeed(DiscordWS.Reconnect));
20
+ const send = (hellos, acks, state, send) => Effect.flatMap(Ref.make(true), ackedRef => {
21
+ const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, state).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
22
22
  const run = Queue.take(acks).pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
23
23
  return Effect.all([run, heartbeats], {
24
24
  concurrency: "unbounded",
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.js","names":["Duration","_interopRequireWildcard","require","Option","Effect","Queue","Ref","Schedule","DiscordWS","SendEvents","EffectU","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","payload","seqRef","map","seq","heartbeat","getOrNull","payloadOrReconnect","ref","flatMap","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"heartbeats.js","names":["Duration","_interopRequireWildcard","require","Option","Effect","Queue","Ref","Schedule","DiscordWS","SendEvents","EffectU","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","payload","state","map","heartbeat","getOrNull","s","sequence","payloadOrReconnect","ref","flatMap","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard","exports"],"sources":["../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,16 +1,12 @@
1
1
  import * as Option from "effect/Option";
2
2
  import * as Effect from "effect/Effect";
3
- import * as Ref from "effect/Ref";
4
3
  import type * as Discord from "dfx/types";
4
+ import type { ShardState } from "dfx/DiscordGateway/Shard/StateStore";
5
5
  export interface Options {
6
6
  readonly token: string;
7
7
  readonly intents: number;
8
8
  readonly shard: [number, number];
9
9
  readonly presence?: Discord.UpdatePresence;
10
10
  }
11
- export interface Requirements {
12
- readonly latestReady: Ref.Ref<Option.Option<Discord.ReadyEvent>>;
13
- readonly latestSequence: Ref.Ref<Option.Option<number>>;
14
- }
15
- export declare const identifyOrResume: (opts: Options, ready: Ref.Ref<Option.Option<Discord.ReadyEvent>>, seq: Ref.Ref<Option.Option<number>>) => Effect.Effect<Discord.GatewayPayload<Discord.Identify> | Discord.GatewayPayload<Discord.Resume>>;
11
+ export declare const identifyOrResume: (opts: Options, state: Effect.Effect<Option.Option<ShardState>>) => Effect.Effect<Discord.GatewayPayload<Discord.Identify> | Discord.GatewayPayload<Discord.Resume>>;
16
12
  //# sourceMappingURL=identify.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AAEjC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAGzC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;CAC3C;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAA;IAChE,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;CACxD;AAsBD,eAAO,MAAM,gBAAgB,SACrB,OAAO,SACN,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,QAAQ,UAAU,CAAC,CAAC,OAC5C,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,KAClC,OAAO,MAAM,CACZ,QAAQ,cAAc,CAAC,QAAQ,QAAQ,CAAC,GACxC,QAAQ,cAAc,CAAC,QAAQ,MAAM,CAAC,CAUvC,CAAA"}
1
+ {"version":3,"file":"identify.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/identify.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qCAAqC,CAAA;AAErE,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;CAC3C;AAsBD,eAAO,MAAM,gBAAgB,SACrB,OAAO,SACN,OAAO,MAAM,CAAC,OAAO,MAAM,CAAC,UAAU,CAAC,CAAC,KAC9C,OAAO,MAAM,CACZ,QAAQ,cAAc,CAAC,QAAQ,QAAQ,CAAC,GACxC,QAAQ,cAAc,CAAC,QAAQ,MAAM,CAAC,CAQvC,CAAA"}
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.identifyOrResume = void 0;
7
7
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
8
8
  var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
- var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
10
9
  var SendEvents = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/sendEvents"));
11
10
  var OS = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("os"));
12
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
@@ -27,20 +26,14 @@ const identify = ({
27
26
  shard,
28
27
  presence
29
28
  });
30
- const resume = (token, ready, seq) => SendEvents.resume({
29
+ const resume = (token, session_id, seq) => SendEvents.resume({
31
30
  token,
32
- session_id: ready.session_id,
33
- seq
31
+ session_id,
32
+ seq: seq
34
33
  });
35
- const identifyOrResume = (opts, ready, seq) => Effect.map(Effect.all([Ref.get(ready), Ref.get(seq)]), ([readyEvent, seqNumber]) => Option.match(Option.all({
36
- readyEvent,
37
- seqNumber
38
- }), {
34
+ const identifyOrResume = (opts, state) => Effect.map(state, Option.match({
39
35
  onNone: () => identify(opts),
40
- onSome: ({
41
- readyEvent,
42
- seqNumber
43
- }) => resume(opts.token, readyEvent, seqNumber)
36
+ onSome: state => resume(opts.token, state.sessionId, state.sequence)
44
37
  }));
45
38
  exports.identifyOrResume = identifyOrResume;
46
39
  //# sourceMappingURL=identify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"identify.js","names":["Option","_interopRequireWildcard","require","Effect","Ref","SendEvents","OS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","identify","intents","presence","shard","token","properties","os","platform","browser","device","resume","ready","seq","session_id","identifyOrResume","opts","map","all","readyEvent","seqNumber","match","onNone","onSome","exports"],"sources":["../../src/DiscordGateway/Shard/identify.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"identify.js","names":["Option","_interopRequireWildcard","require","Effect","SendEvents","OS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","identify","intents","presence","shard","token","properties","os","platform","browser","device","resume","session_id","seq","identifyOrResume","opts","state","map","match","onNone","onSome","sessionId","sequence","exports"],"sources":["../../src/DiscordGateway/Shard/identify.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,UAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAEA,IAAAG,EAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAwB,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAUxB,MAAMW,QAAQ,GAAGA,CAAC;EAAEC,OAAO;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAK,CAAW,KAC5D1B,UAAU,CAACsB,QAAQ,CAAC;EAClBI,KAAK;EACLH,OAAO;EACPI,UAAU,EAAE;IACVC,EAAE,EAAE3B,EAAE,CAAC4B,QAAQ,EAAE;IACjBC,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE;GACT;EACDN,KAAK;EACLD;CACD,CAAC;AAEJ,MAAMQ,MAAM,GAAGA,CAACN,KAAa,EAAEO,UAAkB,EAAEC,GAAkB,KACnElC,UAAU,CAACgC,MAAM,CAAC;EAChBN,KAAK;EACLO,UAAU;EACVC,GAAG,EAAEA;CACN,CAAC;AAEG,MAAMC,gBAAgB,GAAGA,CAC9BC,IAAa,EACbC,KAA+C,KAK/CtC,MAAM,CAACuC,GAAG,CACRD,KAAK,EACLzC,MAAM,CAAC2C,KAAK,CAAC;EACXC,MAAM,EAAEA,CAAA,KAAMlB,QAAQ,CAACc,IAAI,CAAC;EAC5BK,MAAM,EAAEJ,KAAK,IAAIL,MAAM,CAACI,IAAI,CAACV,KAAK,EAAEW,KAAK,CAACK,SAAS,EAAEL,KAAK,CAACM,QAAQ;CACpE,CAAC,CACH;AAAAC,OAAA,CAAAT,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -1,11 +1,4 @@
1
- import * as Option from "effect/Option";
2
- import * as Effect from "effect/Effect";
3
- import * as Ref from "effect/Ref";
4
- import * as Stream from "effect/Stream";
5
1
  import type * as Discord from "dfx/types";
2
+ import * as Stream from "effect/Stream";
6
3
  export declare const opCode: <R, E>(source: Stream.Stream<Discord.GatewayPayload, E, R>) => <T = any>(code: Discord.GatewayOpcode) => Stream.Stream<Discord.GatewayPayload<T>, E, R>;
7
- export declare const latest: <T>(f: (p: Discord.GatewayPayload) => Option.Option<T>) => Effect.Effect<readonly [
8
- Ref.Ref<Option.Option<T>>,
9
- (_: Discord.GatewayPayload<any>) => Effect.Effect<void>
10
- ]>;
11
4
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,GAAG,MAAM,YAAY,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,eAAO,MAAM,MAAM,iBACF,OAAO,MAAM,CAAC,QAAQ,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,qBAElD,QAAQ,aAAa,KAC1B,OAAO,MAAM,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAG7C,CAAA;AAaL,eAAO,MAAM,MAAM,SACd,CAAC,CAAC,EAAE,QAAQ,cAAc,KAAK,OAAO,MAAM,CAAC,CAAC,CAAC,KACjD,OAAO,MAAM,CACd,SAAS;IACP,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,CAAC,EAAE,QAAQ,cAAc,CAAC,GAAG,CAAC,KAAK,OAAO,MAAM,CAAC,IAAI,CAAC;CACxD,CAKA,CAAA"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/DiscordGateway/Shard/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,eAAO,MAAM,MAAM,iBACF,OAAO,MAAM,CAAC,QAAQ,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,qBAElD,QAAQ,aAAa,KAC1B,OAAO,MAAM,CAAC,QAAQ,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAG7C,CAAA"}
@@ -3,19 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.opCode = exports.latest = void 0;
7
- var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
8
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
- var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
6
+ exports.opCode = void 0;
10
7
  var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
11
8
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
9
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
10
  const opCode = source => code => source.pipe(Stream.filter(p => p.op === code));
14
11
  exports.opCode = opCode;
15
- const maybeUpdateRef = (f, ref) => _ => Option.match(f(_), {
16
- onNone: () => Effect.void,
17
- onSome: a => Ref.set(ref, Option.some(a))
18
- });
19
- const latest = f => Effect.map(Ref.make(Option.none()), ref => [ref, maybeUpdateRef(f, ref)]);
20
- exports.latest = latest;
21
12
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["Option","_interopRequireWildcard","require","Effect","Ref","Stream","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","opCode","source","code","pipe","filter","p","op","exports","maybeUpdateRef","f","ref","_","match","onNone","void","onSome","some","latest","map","make","none"],"sources":["../../src/DiscordGateway/Shard/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,eAAAC,OAAA;AACA,IAAAE,GAAA,gBAAAH,uBAAA,eAAAC,OAAA;AACA,IAAAG,MAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAAuC,SAAAI,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAN,wBAAAM,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAGhC,MAAMW,MAAM,GACVC,MAAmD,IAExDC,IAA2B,IAE3BD,MAAM,CAACE,IAAI,CACTxB,MAAM,CAACyB,MAAM,CAAEC,CAAC,IAAqCA,CAAC,CAACC,EAAE,KAAKJ,IAAI,CAAC,CACpE;AAAAK,OAAA,CAAAP,MAAA,GAAAA,MAAA;AAEL,MAAMQ,cAAc,GAClBA,CACEC,CAAkD,EAClDC,GAA8B,KAE/BC,CAAyB,IACxBrC,MAAM,CAACsC,KAAK,CAACH,CAAC,CAACE,CAAC,CAAC,EAAE;EACjBE,MAAM,EAAEA,CAAA,KAAMpC,MAAM,CAACqC,IAAI;EACzBC,MAAM,EAAExB,CAAC,IAAIb,GAAG,CAACqB,GAAG,CAACW,GAAG,EAAEpC,MAAM,CAAC0C,IAAI,CAACzB,CAAC,CAAC;CACzC,CAAC;AAEC,MAAM0B,MAAM,GACjBR,CAAkD,IAOlDhC,MAAM,CAACyC,GAAG,CACRxC,GAAG,CAACyC,IAAI,CAAmB7C,MAAM,CAAC8C,IAAI,EAAE,CAAC,EACzCV,GAAG,IAAI,CAACA,GAAG,EAAEF,cAAc,CAACC,CAAC,EAAEC,GAAG,CAAC,CAAU,CAC9C;AAAAH,OAAA,CAAAU,MAAA,GAAAA,MAAA","ignoreList":[]}
1
+ {"version":3,"file":"utils.js","names":["Stream","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","opCode","source","code","pipe","filter","p","op","exports"],"sources":["../../src/DiscordGateway/Shard/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,MAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAuC,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAEhC,MAAMW,MAAM,GACVC,MAAmD,IAExDC,IAA2B,IAE3BD,MAAM,CAACE,IAAI,CACT1B,MAAM,CAAC2B,MAAM,CAAEC,CAAC,IAAqCA,CAAC,CAACC,EAAE,KAAKJ,IAAI,CAAC,CACpE;AAAAK,OAAA,CAAAP,MAAA,GAAAA,MAAA","ignoreList":[]}
@@ -1,15 +1,16 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Layer from "effect/Layer";
3
1
  import { DiscordConfig } from "dfx/DiscordConfig";
4
2
  import type { Message } from "dfx/DiscordGateway/DiscordWS";
5
3
  import { DiscordWS } from "dfx/DiscordGateway/DiscordWS";
4
+ import { ShardStateStore } from "dfx/DiscordGateway/Shard/StateStore";
6
5
  import { RateLimiter } from "dfx/RateLimit";
6
+ import * as Effect from "effect/Effect";
7
+ import * as Layer from "effect/Layer";
7
8
  export declare const make: Effect.Effect<{
8
9
  readonly connect: (shard: [id: number, count: number]) => Effect.Effect<{
9
10
  readonly id: [id: number, count: number];
10
11
  readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
11
12
  }, never, import("effect/Scope").Scope>;
12
- }, never, DiscordConfig | RateLimiter | import("dfx/DiscordGateway/Messaging").Messsaging | DiscordWS>;
13
+ }, never, DiscordConfig | RateLimiter | ShardStateStore | import("dfx/DiscordGateway/Messaging").Messsaging | DiscordWS>;
13
14
  type ShardService = Effect.Effect.Success<typeof make>;
14
15
  export interface Shard {
15
16
  readonly _: unique symbol;
@@ -20,7 +21,7 @@ export declare const Shard: import("effect/Context").Tag<Shard, {
20
21
  readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
21
22
  }, never, import("effect/Scope").Scope>;
22
23
  }>;
23
- export declare const ShardLive: Layer.Layer<Shard, never, DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec>;
24
+ export declare const ShardLive: Layer.Layer<Shard, never, DiscordConfig | import("dfx/RateLimit").RateLimitStore | ShardStateStore | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec>;
24
25
  export interface RunningShard extends Effect.Effect.Success<ReturnType<ShardService["connect"]>> {
25
26
  }
26
27
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAKrC,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAU5D,eAAO,MAAM,IAAI;8BAMS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;sGA4J5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAEtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,KAAK;8BAlLQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;EAmKkD,CAAA;AAChF,eAAO,MAAM,SAAS,2IAIrB,CAAA;AAED,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAGrE,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAK5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAcrC,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAwB9B,OAAO;;wHAoJ5B,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAEtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,KAAK;8BAnLQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAwB9B,OAAO;;EA2JkD,CAAA;AAChF,eAAO,MAAM,SAAS,6JAIrB,CAAA;AAED,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
@@ -4,26 +4,25 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.make = exports.ShardLive = exports.Shard = void 0;
7
+ var _DiscordConfig = /*#__PURE__*/require("dfx/DiscordConfig");
8
+ var _DiscordWS = /*#__PURE__*/require("dfx/DiscordGateway/DiscordWS");
9
+ var _Messaging = /*#__PURE__*/require("dfx/DiscordGateway/Messaging");
10
+ var _StateStore = /*#__PURE__*/require("dfx/DiscordGateway/Shard/StateStore");
11
+ var Heartbeats = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/heartbeats"));
12
+ var Identify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/identify"));
13
+ var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
14
+ var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
7
15
  var Chunk = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Chunk"));
8
16
  var _Context = /*#__PURE__*/require("effect/Context");
9
17
  var Duration = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Duration"));
18
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
10
19
  var _Function = /*#__PURE__*/require("effect/Function");
20
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
21
  var Option = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Option"));
12
- var Secret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Secret"));
13
- var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
14
22
  var PubSub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PubSub"));
15
- var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
16
23
  var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
17
24
  var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref"));
18
- var _DiscordConfig = /*#__PURE__*/require("dfx/DiscordConfig");
19
- var _DiscordWS = /*#__PURE__*/require("dfx/DiscordGateway/DiscordWS");
20
- var Heartbeats = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/heartbeats"));
21
- var Identify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/identify"));
22
- var InvalidSession = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/invalidSession"));
23
- var Utils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/utils"));
24
- var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
25
- var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
26
- var _Messaging = /*#__PURE__*/require("dfx/DiscordGateway/Messaging");
25
+ var Secret = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Secret"));
27
26
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
28
27
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
29
28
  const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
@@ -37,10 +36,17 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
37
36
  hub,
38
37
  sendQueue
39
38
  } = yield* _Messaging.Messaging;
40
- const connect = shard => Effect.gen(function* () {
39
+ const shardState = yield* _StateStore.ShardStateStore;
40
+ const connect = shard => Effect.gen(function* (_) {
41
41
  const outboundQueue = yield* Queue.unbounded();
42
42
  const pendingQueue = yield* Queue.unbounded();
43
43
  const phase = yield* Ref.make(0 /* Phase.Connecting */);
44
+ const stateStore = shardState.forShard(shard);
45
+ const resumeState = Option.getOrElse(yield* stateStore.get, () => ({
46
+ resumeUrl: "",
47
+ sessionId: "",
48
+ sequence: 0
49
+ }));
44
50
  const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
45
51
  const outbound = Effect.zipLeft(Queue.take(outboundQueue), limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120));
46
52
  const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? Queue.offer(outboundQueue, p) : Queue.offer(pendingQueue, p));
@@ -52,27 +58,32 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
52
58
  outbound,
53
59
  onConnecting
54
60
  });
55
- const isReady = Option.liftPredicate(p => p.op === Discord.GatewayOpcode.DISPATCH && p.t === "READY");
56
- const [latestReady, updateLatestReady] = yield* Utils.latest(p => Option.map(isReady(p), p => p.d));
57
- const [latestSequence, updateLatestSequence] = yield* Utils.latest(p => Option.fromNullable(p.s));
58
- const maybeUpdateUrl = p => Option.match(Option.map(isReady(p), p => p.d), {
59
- onNone: () => Effect.void,
60
- onSome: ({
61
- resume_gateway_url
62
- }) => socket.setUrl(resume_gateway_url)
63
- });
64
61
  const hellos = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
65
62
  const acks = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
66
63
  // heartbeats
67
- yield* Heartbeats.send(hellos, acks, latestSequence, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
64
+ yield* Heartbeats.send(hellos, acks, stateStore.get, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
68
65
  // identify
69
66
  const identify = Identify.identifyOrResume({
70
67
  token: Secret.value(token),
71
68
  shard,
72
69
  intents: gateway.intents,
73
70
  presence: gateway.presence
74
- }, latestReady, latestSequence);
75
- const onPayload = p => (0, _Function.pipe)(updateLatestReady(p), Effect.zipRight(updateLatestSequence(p)), Effect.zipRight(maybeUpdateUrl(p)), Effect.tap(() => {
71
+ }, stateStore.get);
72
+ const onPayload = p => (0, _Function.pipe)(Effect.suspend(() => {
73
+ if (typeof p.s === "number") {
74
+ resumeState.sequence = p.s;
75
+ }
76
+ if (p.op === Discord.GatewayOpcode.DISPATCH && p.t === "READY") {
77
+ const payload = p.d;
78
+ resumeState.sessionId = payload.session_id;
79
+ resumeState.resumeUrl = payload.resume_gateway_url;
80
+ return Effect.zipRight(stateStore.set(resumeState), socket.setUrl(payload.resume_gateway_url));
81
+ }
82
+ if (resumeState.resumeUrl !== "" && resumeState.sessionId !== "") {
83
+ return stateStore.set(resumeState);
84
+ }
85
+ return Effect.void;
86
+ }), Effect.tap(() => {
76
87
  switch (p.op) {
77
88
  case Discord.GatewayOpcode.HELLO:
78
89
  {
@@ -84,7 +95,11 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
84
95
  }
85
96
  case Discord.GatewayOpcode.INVALID_SESSION:
86
97
  {
87
- return Effect.tap(InvalidSession.fromPayload(p, latestReady), send);
98
+ if (p.d) {
99
+ return send(_DiscordWS.Reconnect);
100
+ }
101
+ resumeState.sessionId = "";
102
+ return Effect.zipRight(stateStore.clear, send(_DiscordWS.Reconnect));
88
103
  }
89
104
  case Discord.GatewayOpcode.DISPATCH:
90
105
  {
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","_Function","Option","Secret","Effect","PubSub","Layer","Queue","Ref","_DiscordConfig","_DiscordWS","Heartbeats","Identify","InvalidSession","Utils","_RateLimit","Discord","_Messaging","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","gateway","token","DiscordConfig","limiter","RateLimiter","dws","DiscordWS","hub","sendQueue","Messaging","connect","shard","outboundQueue","unbounded","pendingQueue","phase","setPhase","p","zipLeft","annotateLogs","logTrace","outbound","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","pipe","zipRight","takeAll","tap","_","offerAll","asVoid","onConnecting","msgs","filter","msg","Reconnect","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","socket","isReady","liftPredicate","DISPATCH","latestReady","updateLatestReady","latest","map","d","latestSequence","updateLatestSequence","fromNullable","s","maybeUpdateUrl","match","onNone","void","onSome","resume_gateway_url","setUrl","hellos","acquireRelease","shutdown","acks","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","onPayload","HELLO","HEARTBEAT_ACK","INVALID_SESSION","fromPayload","publish","RECONNECT","forever","id","package","module","Shard","GenericTag","ShardLive","effect","provide","DiscordWSLive","MesssagingLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Shard.js","names":["_DiscordConfig","require","_DiscordWS","_Messaging","_StateStore","Heartbeats","_interopRequireWildcard","Identify","_RateLimit","Discord","Chunk","_Context","Duration","Effect","_Function","Layer","Option","PubSub","Queue","Ref","Secret","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","gateway","token","DiscordConfig","limiter","RateLimiter","dws","DiscordWS","hub","sendQueue","Messaging","shardState","ShardStateStore","connect","shard","_","outboundQueue","unbounded","pendingQueue","phase","stateStore","forShard","resumeState","getOrElse","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","annotateLogs","logTrace","outbound","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","pipe","zipRight","takeAll","tap","offerAll","asVoid","onConnecting","msgs","filter","msg","Reconnect","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","socket","hellos","acquireRelease","shutdown","acks","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","onPayload","suspend","s","DISPATCH","payload","d","session_id","resume_gateway_url","setUrl","void","HELLO","HEARTBEAT_ACK","INVALID_SESSION","clear","publish","RECONNECT","forever","id","package","module","Shard","GenericTag","ShardLive","effect","provide","DiscordWSLive","MesssagingLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -10,5 +10,5 @@ export interface Sharder {
10
10
  export declare const Sharder: import("effect/Context").Tag<Sharder, {
11
11
  readonly shards: Effect.Effect<HashSet.HashSet<RunningShard>, never, never>;
12
12
  }>;
13
- export declare const SharderLive: Layer.Layer<Sharder, never, DiscordConfig | import("@effect/platform/Http/Client").Client.Default | import("dfx/RateLimit").RateLimitStore | ShardStore | import("./DiscordWS").DiscordWSCodec>;
13
+ export declare const SharderLive: Layer.Layer<Sharder, never, DiscordConfig | import("@effect/platform/Http/Client").Client.Default | import("dfx/RateLimit").RateLimitStore | import("./Shard/StateStore").ShardStateStore | ShardStore | import("./DiscordWS").DiscordWSCodec>;
14
14
  //# sourceMappingURL=Sharder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sharder.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA2FrC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,OAAO;;EAEnB,CAAA;AACD,eAAO,MAAM,WAAW,iMAIvB,CAAA"}
1
+ {"version":3,"file":"Sharder.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA2FrC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,OAAO;;EAEnB,CAAA;AACD,eAAO,MAAM,WAAW,gPAIvB,CAAA"}
@@ -17,5 +17,5 @@ export interface DiscordGateway {
17
17
  }
18
18
  export declare const DiscordGateway: import("effect/Context").Tag<DiscordGateway, DiscordGateway>;
19
19
  export declare const make: Effect.Effect<DiscordGateway, never, import("dfx/DiscordGateway/Messaging").Messsaging | Sharder>;
20
- export declare const DiscordGatewayLive: Layer.Layer<DiscordGateway, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default | import("./RateLimit").RateLimitStore | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec>;
20
+ export declare const DiscordGatewayLive: Layer.Layer<DiscordGateway, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default | import("./RateLimit").RateLimitStore | import("./DiscordGateway/Shard/StateStore").ShardStateStore | import("./DiscordGateway/ShardStore").ShardStore | import("./DiscordGateway/DiscordWS").DiscordWSCodec>;
21
21
  //# sourceMappingURL=DiscordGateway.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["./src/DiscordGateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,eAAO,MAAM,MAAM,eAAmC,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAC3D,KAAK,EAAE,CAAC,KACL,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAChE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;CAC9D;AAED,eAAO,MAAM,cAAc,8DAAmD,CAAA;AAE9E,eAAO,MAAM,IAAI,mGAYf,CAAA;AAEF,eAAO,MAAM,kBAAkB,qRAG9B,CAAA"}
1
+ {"version":3,"file":"DiscordGateway.d.ts","sourceRoot":"","sources":["./src/DiscordGateway.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,OAAO,EAAe,MAAM,4BAA4B,CAAA;AACjE,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAEzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAE5C,eAAO,MAAM,MAAM,eAAmC,CAAA;AACtD,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAA;AAElC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IAEzB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;IAC9E,QAAQ,CAAC,YAAY,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAC3D,KAAK,EAAE,CAAC,KACL,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAA;IAC5C,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,MAAM,OAAO,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EACtE,KAAK,EAAE,CAAC,EACR,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAChE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,QAAQ,CAAC,IAAI,EAAE,CACb,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,KAC/C,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAA;CAC9D;AAED,eAAO,MAAM,cAAc,8DAAmD,CAAA;AAE9E,eAAO,MAAM,IAAI,mGAYf,CAAA;AAEF,eAAO,MAAM,kBAAkB,mVAG9B,CAAA"}
package/gateway.d.ts CHANGED
@@ -7,6 +7,6 @@ import * as Layer from "effect/Layer";
7
7
  export { DiscordGateway, DiscordGatewayLive } from "dfx/DiscordGateway";
8
8
  export { InteractionsRegistry, InteractionsRegistryLive, interactionsSync, run as runIx, setInteractionsSync, } from "dfx/Interactions/gateway";
9
9
  export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore };
10
- export declare const DiscordLive: Layer.Layer<import("dfx/DiscordREST").DiscordREST | import("dfx/RateLimit").RateLimiter | import("dfx/DiscordGateway").DiscordGateway, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default>;
11
- export declare const DiscordIxLive: Layer.Layer<import("dfx/DiscordREST").DiscordREST | import("dfx/RateLimit").RateLimiter | import("dfx/DiscordGateway").DiscordGateway | import("dfx/Interactions/gateway").InteractionsRegistry, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default>;
10
+ export declare const DiscordLive: Layer.Layer<import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default>;
11
+ export declare const DiscordIxLive: Layer.Layer<import("dfx/RateLimit").RateLimiter | import("dfx/DiscordREST").DiscordREST | import("dfx/DiscordGateway").DiscordGateway | import("dfx/Interactions/gateway").InteractionsRegistry, never, import("./DiscordConfig").DiscordConfig | import("@effect/platform/Http/Client").Client.Default>;
12
12
  //# sourceMappingURL=gateway.d.ts.map
package/gateway.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAK3D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,GAAG,IAAI,KAAK,EACZ,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,WAAW,gPAQvB,CAAA;AAED,eAAO,MAAM,aAAa,0SAEzB,CAAA"}
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AAEjD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AAEjD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAK3D,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,GAAG,IAAI,KAAK,EACZ,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,WAAW,gPASvB,CAAA;AAED,eAAO,MAAM,aAAa,0SAEzB,CAAA"}