dfx 0.101.1 → 0.102.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 (43) hide show
  1. package/DiscordGateway/DiscordWS.d.ts +2 -1
  2. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  3. package/DiscordGateway/DiscordWS.js +11 -6
  4. package/DiscordGateway/DiscordWS.js.map +1 -1
  5. package/DiscordGateway/Messaging.d.ts +3 -3
  6. package/DiscordGateway/Messaging.d.ts.map +1 -1
  7. package/DiscordGateway/Messaging.js +4 -4
  8. package/DiscordGateway/Messaging.js.map +1 -1
  9. package/DiscordGateway/Shard/heartbeats.d.ts +2 -2
  10. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
  11. package/DiscordGateway/Shard/heartbeats.js +2 -3
  12. package/DiscordGateway/Shard/heartbeats.js.map +1 -1
  13. package/DiscordGateway/Shard.d.ts.map +1 -1
  14. package/DiscordGateway/Shard.js +15 -15
  15. package/DiscordGateway/Shard.js.map +1 -1
  16. package/DiscordGateway/Sharder.d.ts +1 -1
  17. package/DiscordGateway.d.ts +1 -1
  18. package/DiscordREST.d.ts +1 -1
  19. package/DiscordREST.js +3 -3
  20. package/DiscordREST.js.map +1 -1
  21. package/gateway.d.ts +2 -2
  22. package/index.d.ts +1 -1
  23. package/mjs/DiscordGateway/DiscordWS.mjs +11 -6
  24. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  25. package/mjs/DiscordGateway/Messaging.mjs +4 -4
  26. package/mjs/DiscordGateway/Messaging.mjs.map +1 -1
  27. package/mjs/DiscordGateway/Shard/heartbeats.mjs +2 -3
  28. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
  29. package/mjs/DiscordGateway/Shard.mjs +15 -15
  30. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  31. package/mjs/DiscordREST.mjs +3 -3
  32. package/mjs/DiscordREST.mjs.map +1 -1
  33. package/mjs/version.mjs +1 -1
  34. package/package.json +4 -4
  35. package/src/DiscordGateway/DiscordWS.ts +14 -10
  36. package/src/DiscordGateway/Messaging.ts +6 -6
  37. package/src/DiscordGateway/Shard/heartbeats.ts +5 -5
  38. package/src/DiscordGateway/Shard.ts +26 -23
  39. package/src/DiscordREST.ts +3 -3
  40. package/src/version.ts +1 -1
  41. package/version.d.ts +1 -1
  42. package/version.js +1 -1
  43. package/webhooks.d.ts +1 -1
@@ -3,10 +3,14 @@ import * as Effect from "effect/Effect";
3
3
  import * as Layer from "effect/Layer";
4
4
  import * as Ref from "effect/Ref";
5
5
  import * as Socket from "@effect/platform/Socket";
6
- import * as Queue from "effect/Queue";
6
+ import * as Mailbox from "effect/Mailbox";
7
7
  import * as Schedule from "effect/Schedule";
8
+ import * as Cause from "effect/Cause";
9
+ import * as Option from "effect/Option";
10
+ import * as LogLevel from "effect/LogLevel";
8
11
  export const Reconnect = /*#__PURE__*/Symbol.for("dfx/DiscordGateway/WS/Reconnect");
9
12
  const decoder = /*#__PURE__*/new TextDecoder();
13
+ const logLevelDebug = /*#__PURE__*/Option.some(LogLevel.Debug);
10
14
  export const DiscordWSCodec = /*#__PURE__*/GenericTag("dfx/DiscordGateway/DiscordWS/Codec");
11
15
  export const JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
12
16
  type: "json",
@@ -23,7 +27,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
23
27
  }) => Effect.gen(function* () {
24
28
  const urlRef = yield* Ref.make(`${url}?v=${version}&encoding=${encoding.type}`);
25
29
  const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
26
- const messages = yield* Queue.unbounded();
30
+ const messages = yield* Mailbox.make();
27
31
  const socket = yield* Socket.makeWebSocket(Ref.get(urlRef), {
28
32
  closeCodeIsError: _ => true,
29
33
  openTimeout: 5000
@@ -35,14 +39,15 @@ const make = /*#__PURE__*/Effect.gen(function* () {
35
39
  }
36
40
  return Effect.zipRight(Effect.logTrace(_), write(encoding.encode(_)));
37
41
  }), Effect.forever, Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
38
- yield* onConnecting.pipe(Effect.zipRight(socket.runRaw(_ => {
42
+ yield* onConnecting.pipe(Effect.zipRight(Effect.withFiberRuntime(fiber => socket.runRaw(_ => {
39
43
  const message = encoding.decode(_);
40
- return Effect.zipRight(Effect.logTrace(message), messages.offer(message));
41
- })), Effect.retry({
44
+ messages.unsafeOffer(message);
45
+ fiber.log([message], Cause.empty, logLevelDebug);
46
+ }))), Effect.retry({
42
47
  while: e => e.reason === "Close" && e.code === 1012
43
48
  }), Effect.catchAllCause(cause => Effect.logDebug("Got socket error, reconnecting", cause)), Effect.repeat(Schedule.exponential(500).pipe(Schedule.union(Schedule.spaced(10000)))), Effect.annotateLogs("channel", "inbound"), Effect.forkScoped, Effect.interruptible);
44
49
  return {
45
- take: Queue.take(messages),
50
+ take: messages.take,
46
51
  setUrl
47
52
  };
48
53
  }).pipe(Effect.annotateLogs({
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Queue","Schedule","Reconnect","Symbol","for","decoder","TextDecoder","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","set","messages","unbounded","socket","makeWebSocket","get","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","runRaw","message","offer","retry","while","e","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Reconnect","Symbol","for","decoder","TextDecoder","logLevelDebug","some","Debug","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","set","messages","socket","makeWebSocket","get","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","withFiberRuntime","fiber","runRaw","message","unsafeOffer","log","empty","retry","while","e","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@ import { GenericTag } from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
3
  import * as PubSub from "effect/PubSub";
4
4
  import * as Layer from "effect/Layer";
5
- import * as Queue from "effect/Queue";
5
+ import * as Mailbox from "effect/Mailbox";
6
6
  import * as Stream from "effect/Stream";
7
7
  import * as EffectUtils from "dfx/utils/Effect";
8
8
  const fromDispatchFactory = source => event => Stream.map(Stream.filter(source, p => p.t === event), p => p.d);
@@ -14,14 +14,14 @@ const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeFor
14
14
  });
15
15
  export const make = /*#__PURE__*/Effect.gen(function* () {
16
16
  const hub = yield* Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown);
17
- const sendQueue = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
18
- const send = payload => sendQueue.offer(payload);
17
+ const sendMailbox = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
18
+ const send = payload => sendMailbox.offer(payload);
19
19
  const dispatch = Stream.fromPubSub(hub);
20
20
  const fromDispatch = fromDispatchFactory(dispatch);
21
21
  const handleDispatch = handleDispatchFactory(hub);
22
22
  return {
23
23
  hub,
24
- sendQueue,
24
+ sendMailbox,
25
25
  dispatch,
26
26
  fromDispatch,
27
27
  handleDispatch,
@@ -1 +1 @@
1
- {"version":3,"file":"Messaging.mjs","names":["GenericTag","Effect","PubSub","Layer","Queue","Stream","EffectUtils","fromDispatchFactory","source","event","map","filter","p","t","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","void","make","gen","acquireRelease","unbounded","shutdown","sendQueue","send","payload","offer","dispatch","fromPubSub","fromDispatch","handleDispatch","Messaging","MesssagingLive","scoped"],"sources":["../../src/DiscordGateway/Messaging.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C,MAAMC,mBAAmB,GAErBC,MAAyE,IAGzEC,KAAQ,IAERJ,MAAM,CAACK,GAAG,CACRL,MAAM,CAACM,MAAM,CAACH,MAAM,EAAEI,CAAC,IAAIA,CAAC,CAACC,CAAC,KAAKJ,KAAK,CAAC,EACzCG,CAAC,IAAIA,CAAC,CAACE,CAAS,CACjB;AAEL,MAAMC,qBAAqB,GACxBC,GAAgE,IACjE,CACEP,KAAQ,EACRQ,MAAmE,KAEnEX,WAAW,CAACY,mBAAmB,CAACF,GAAG,EAAEG,CAAC,IAAG;EACvC,IAAIA,CAAC,CAACN,CAAC,KAAKJ,KAAK,EAAE;IACjB,OAAOQ,MAAM,CAACE,CAAC,CAACL,CAAQ,CAAC;EAC3B;EACA,OAAOb,MAAM,CAACmB,IAAW;AAC3B,CAAC,CAAC;AAEN,OAAO,MAAMC,IAAI,gBAAGpB,MAAM,CAACqB,GAAG,CAAC,aAAS;EACtC,MAAMN,GAAG,GAAG,OAAOf,MAAM,CAACsB,cAAc,CACtCrB,MAAM,CAACsB,SAAS,EAAgD,EAChEtB,MAAM,CAACuB,QAAQ,CAChB;EAED,MAAMC,SAAS,GAAG,OAAOzB,MAAM,CAACsB,cAAc,CAC5CnB,KAAK,CAACoB,SAAS,EAA6C,EAC5DpB,KAAK,CAACqB,QAAQ,CACf;EACD,MAAME,IAAI,GAAIC,OAAkD,IAC9DF,SAAS,CAACG,KAAK,CAACD,OAAO,CAAC;EAE1B,MAAME,QAAQ,GAAGzB,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC;EACvC,MAAMgB,YAAY,GAAGzB,mBAAmB,CAACuB,QAAQ,CAAC;EAClD,MAAMG,cAAc,GAAGlB,qBAAqB,CAACC,GAAG,CAAC;EAEjD,OAAO;IACLA,GAAG;IACHU,SAAS;IACTI,QAAQ;IACRE,YAAY;IACZC,cAAc;IACdN;GACQ;AACZ,CAAC,CAAC;AAKF,OAAO,MAAMO,SAAS,gBAAGlC,UAAU,CAGjC,8BAA8B,CAAC;AACjC,OAAO,MAAMmC,cAAc,gBAAGhC,KAAK,CAACiC,MAAM,CAACF,SAAS,EAAEb,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"Messaging.mjs","names":["GenericTag","Effect","PubSub","Layer","Mailbox","Stream","EffectUtils","fromDispatchFactory","source","event","map","filter","p","t","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","void","make","gen","acquireRelease","unbounded","shutdown","sendMailbox","send","payload","offer","dispatch","fromPubSub","fromDispatch","handleDispatch","Messaging","MesssagingLive","scoped"],"sources":["../../src/DiscordGateway/Messaging.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C,MAAMC,mBAAmB,GAErBC,MAAyE,IAGzEC,KAAQ,IAERJ,MAAM,CAACK,GAAG,CACRL,MAAM,CAACM,MAAM,CAACH,MAAM,EAAEI,CAAC,IAAIA,CAAC,CAACC,CAAC,KAAKJ,KAAK,CAAC,EACzCG,CAAC,IAAIA,CAAC,CAACE,CAAS,CACjB;AAEL,MAAMC,qBAAqB,GACxBC,GAAgE,IACjE,CACEP,KAAQ,EACRQ,MAAmE,KAEnEX,WAAW,CAACY,mBAAmB,CAACF,GAAG,EAAEG,CAAC,IAAG;EACvC,IAAIA,CAAC,CAACN,CAAC,KAAKJ,KAAK,EAAE;IACjB,OAAOQ,MAAM,CAACE,CAAC,CAACL,CAAQ,CAAC;EAC3B;EACA,OAAOb,MAAM,CAACmB,IAAW;AAC3B,CAAC,CAAC;AAEN,OAAO,MAAMC,IAAI,gBAAGpB,MAAM,CAACqB,GAAG,CAAC,aAAS;EACtC,MAAMN,GAAG,GAAG,OAAOf,MAAM,CAACsB,cAAc,CACtCrB,MAAM,CAACsB,SAAS,EAAgD,EAChEtB,MAAM,CAACuB,QAAQ,CAChB;EAED,MAAMC,WAAW,GAAG,OAAOzB,MAAM,CAACsB,cAAc,CAC9CnB,OAAO,CAACiB,IAAI,EAA6C,EACzDF,CAAC,IAAIA,CAAC,CAACM,QAAQ,CAChB;EACD,MAAME,IAAI,GAAIC,OAAkD,IAC9DF,WAAW,CAACG,KAAK,CAACD,OAAO,CAAC;EAE5B,MAAME,QAAQ,GAAGzB,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC;EACvC,MAAMgB,YAAY,GAAGzB,mBAAmB,CAACuB,QAAQ,CAAC;EAClD,MAAMG,cAAc,GAAGlB,qBAAqB,CAACC,GAAG,CAAC;EAEjD,OAAO;IACLA,GAAG;IACHU,WAAW;IACXI,QAAQ;IACRE,YAAY;IACZC,cAAc;IACdN;GACQ;AACZ,CAAC,CAAC;AAKF,OAAO,MAAMO,SAAS,gBAAGlC,UAAU,CAGjC,8BAA8B,CAAC;AACjC,OAAO,MAAMmC,cAAc,gBAAGhC,KAAK,CAACiC,MAAM,CAACF,SAAS,EAAEb,IAAI,CAAC","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import * as Duration from "effect/Duration";
2
2
  import * as Option from "effect/Option";
3
3
  import * as Effect from "effect/Effect";
4
- import * as Queue from "effect/Queue";
5
4
  import * as Ref from "effect/Ref";
6
5
  import * as Schedule from "effect/Schedule";
7
6
  import * as DiscordWS from "dfx/DiscordGateway/DiscordWS";
@@ -10,8 +9,8 @@ import * as EffectU from "dfx/utils/Effect";
10
9
  const payload = state => Effect.map(state, state => SendEvents.heartbeat(Option.getOrNull(Option.map(state, s => s.sequence))));
11
10
  const payloadOrReconnect = (ref, state) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(state) : Effect.succeed(DiscordWS.Reconnect));
12
11
  export const send = (hellos, acks, state, send) => Effect.flatMap(Ref.make(true), ackedRef => {
13
- 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))))));
14
- const run = Queue.take(acks).pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
12
+ const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(hellos.take, 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))))));
13
+ const run = acks.take.pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
15
14
  return Effect.all([run, heartbeats], {
16
15
  concurrency: "unbounded",
17
16
  discard: true
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeats.mjs","names":["Duration","Option","Effect","Queue","Ref","Schedule","DiscordWS","SendEvents","EffectU","payload","state","map","heartbeat","getOrNull","s","sequence","payloadOrReconnect","ref","flatMap","get","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","set","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard"],"sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,8BAA8B;AACzD,OAAO,KAAKC,UAAU,MAAM,qCAAqC;AAEjE,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAG3C,MAAMC,OAAO,GAAIC,KAA+C,IAC9DR,MAAM,CAACS,GAAG,CAACD,KAAK,EAAEA,KAAK,IACrBH,UAAU,CAACK,SAAS,CAACX,MAAM,CAACY,SAAS,CAACZ,MAAM,CAACU,GAAG,CAACD,KAAK,EAAEI,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CAC3E;AAEH,MAAMC,kBAAkB,GAAGA,CACzBC,GAAqB,EACrBP,KAA+C,KAE/CR,MAAM,CAACgB,OAAO,CACZd,GAAG,CAACe,GAAG,CAACF,GAAG,CAAC,EACXG,KAAK,IACJA,KAAK,GAAGX,OAAO,CAACC,KAAK,CAAC,GAAGR,MAAM,CAACmB,OAAO,CAACf,SAAS,CAACgB,SAAS,CAAC,CAC/D;AAEH,OAAO,MAAMC,IAAI,GAAGA,CAClBC,MAA6C,EAC7CC,IAA2C,EAC3Cf,KAA+C,EAC/Ca,IAAsD,KAEtDrB,MAAM,CAACgB,OAAO,CAACd,GAAG,CAACsB,IAAI,CAAC,IAAI,CAAC,EAAEC,QAAQ,IAAG;EACxC,MAAMC,UAAU,GAAGpB,OAAO,CAACqB,aAAa,CACtC3B,MAAM,CAAC4B,OAAO,CAAC3B,KAAK,CAAC4B,IAAI,CAACP,MAAM,CAAC,EAAEpB,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EAC3DM,CAAC,IACCjB,kBAAkB,CAACW,QAAQ,EAAEjB,KAAK,CAAC,CAACwB,IAAI,CACtChC,MAAM,CAAC4B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxCzB,MAAM,CAACiC,GAAG,CAACZ,IAAI,CAAC,EAChBrB,MAAM,CAACkC,QAAQ,CACb/B,QAAQ,CAACgC,OAAO,CACdhC,QAAQ,CAACiC,QAAQ,CACftC,QAAQ,CAACuC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CACzD,EACDtC,QAAQ,CAACuC,MAAM,CAAC5C,QAAQ,CAACuC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAC1D,CACF,CACF,CACJ;EAED,MAAMI,GAAG,GAAG1C,KAAK,CAAC4B,IAAI,CAACN,IAAI,CAAC,CAACS,IAAI,CAC/BhC,MAAM,CAAC4B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACvCzB,MAAM,CAAC4C,OAAO,CACf;EAED,OAAO5C,MAAM,CAAC6C,GAAG,CAAC,CAACF,GAAG,EAAEjB,UAAU,CAAC,EAAE;IACnCoB,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"heartbeats.mjs","names":["Duration","Option","Effect","Ref","Schedule","DiscordWS","SendEvents","EffectU","payload","state","map","heartbeat","getOrNull","s","sequence","payloadOrReconnect","ref","flatMap","get","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","set","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard"],"sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,8BAA8B;AACzD,OAAO,KAAKC,UAAU,MAAM,qCAAqC;AAEjE,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAI3C,MAAMC,OAAO,GAAIC,KAA+C,IAC9DP,MAAM,CAACQ,GAAG,CAACD,KAAK,EAAEA,KAAK,IACrBH,UAAU,CAACK,SAAS,CAACV,MAAM,CAACW,SAAS,CAACX,MAAM,CAACS,GAAG,CAACD,KAAK,EAAEI,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CAC3E;AAEH,MAAMC,kBAAkB,GAAGA,CACzBC,GAAqB,EACrBP,KAA+C,KAE/CP,MAAM,CAACe,OAAO,CACZd,GAAG,CAACe,GAAG,CAACF,GAAG,CAAC,EACXG,KAAK,IACJA,KAAK,GAAGX,OAAO,CAACC,KAAK,CAAC,GAAGP,MAAM,CAACkB,OAAO,CAACf,SAAS,CAACgB,SAAS,CAAC,CAC/D;AAEH,OAAO,MAAMC,IAAI,GAAGA,CAClBC,MAAuD,EACvDC,IAAqD,EACrDf,KAA+C,EAC/Ca,IAAsD,KAEtDpB,MAAM,CAACe,OAAO,CAACd,GAAG,CAACsB,IAAI,CAAC,IAAI,CAAC,EAAEC,QAAQ,IAAG;EACxC,MAAMC,UAAU,GAAGpB,OAAO,CAACqB,aAAa,CACtC1B,MAAM,CAAC2B,OAAO,CAACN,MAAM,CAACO,IAAI,EAAE3B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACpDM,CAAC,IACCjB,kBAAkB,CAACW,QAAQ,EAAEjB,KAAK,CAAC,CAACwB,IAAI,CACtC/B,MAAM,CAAC2B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxCxB,MAAM,CAACgC,GAAG,CAACZ,IAAI,CAAC,EAChBpB,MAAM,CAACiC,QAAQ,CACb/B,QAAQ,CAACgC,OAAO,CACdhC,QAAQ,CAACiC,QAAQ,CACfrC,QAAQ,CAACsC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CACzD,EACDtC,QAAQ,CAACuC,MAAM,CAAC3C,QAAQ,CAACsC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAC1D,CACF,CACF,CACJ;EAED,MAAMI,GAAG,GAAGpB,IAAI,CAACM,IAAI,CAACG,IAAI,CACxB/B,MAAM,CAAC2B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACvCxB,MAAM,CAAC2C,OAAO,CACf;EAED,OAAO3C,MAAM,CAAC4C,GAAG,CAAC,CAACF,GAAG,EAAEjB,UAAU,CAAC,EAAE;IACnCoB,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
@@ -14,7 +14,7 @@ import { pipe } from "effect/Function";
14
14
  import * as Layer from "effect/Layer";
15
15
  import * as Option from "effect/Option";
16
16
  import * as PubSub from "effect/PubSub";
17
- import * as Queue from "effect/Queue";
17
+ import * as Mailbox from "effect/Mailbox";
18
18
  import * as Redacted from "effect/Redacted";
19
19
  import * as Ref from "effect/Ref";
20
20
  export const make = /*#__PURE__*/Effect.gen(function* () {
@@ -26,12 +26,12 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
26
26
  const dws = yield* DiscordWS;
27
27
  const {
28
28
  hub,
29
- sendQueue
29
+ sendMailbox
30
30
  } = yield* Messaging;
31
31
  const shardState = yield* ShardStateStore;
32
32
  const connect = shard => Effect.gen(function* (_) {
33
- const outboundQueue = yield* Queue.unbounded();
34
- const pendingQueue = yield* Queue.unbounded();
33
+ const outboundQueue = yield* Mailbox.make();
34
+ const pendingQueue = yield* Mailbox.make();
35
35
  const phase = yield* Ref.make(0 /* Phase.Connecting */);
36
36
  const stateStore = shardState.forShard(shard);
37
37
  const resumeState = Option.getOrElse(yield* stateStore.get, () => ({
@@ -40,18 +40,18 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
40
40
  sequence: 0
41
41
  }));
42
42
  const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
43
- const outbound = Effect.zipLeft(Queue.take(outboundQueue), limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120));
44
- const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? Queue.offer(outboundQueue, p) : Queue.offer(pendingQueue, p));
45
- const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ? Queue.offer(outboundQueue, p) : Effect.succeed(false));
46
- const prioritySend = p => Queue.offer(outboundQueue, p);
47
- const resume = pipe(setPhase(2 /* Phase.Connected */), Effect.zipRight(Queue.takeAll(pendingQueue)), Effect.tap(_ => Queue.offerAll(outboundQueue, _)), Effect.asVoid);
48
- const onConnecting = pipe(Queue.takeAll(outboundQueue), Effect.tap(msgs => Queue.offerAll(pendingQueue, Chunk.filter(msgs, msg => msg !== Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT))), Effect.zipRight(setPhase(0 /* Phase.Connecting */)));
43
+ const outbound = Effect.orDie(Effect.zipLeft(outboundQueue.take, limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120)));
44
+ const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? outboundQueue.offer(p) : pendingQueue.offer(p));
45
+ const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ? outboundQueue.offer(p) : Effect.succeed(false));
46
+ const prioritySend = p => outboundQueue.offer(p);
47
+ const resume = pipe(setPhase(2 /* Phase.Connected */), Effect.zipRight(pendingQueue.clear), Effect.tap(_ => outboundQueue.offerAll(_)), Effect.asVoid);
48
+ const onConnecting = pipe(outboundQueue.clear, Effect.tap(msgs => pendingQueue.offerAll(Chunk.filter(msgs, msg => msg !== Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT))), Effect.zipRight(setPhase(0 /* Phase.Connecting */)));
49
49
  const socket = yield* dws.connect({
50
50
  outbound,
51
51
  onConnecting
52
52
  });
53
- const hellos = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
54
- const acks = yield* Effect.acquireRelease(Queue.unbounded(), Queue.shutdown);
53
+ const hellos = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
54
+ const acks = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
55
55
  // heartbeats
56
56
  yield* Heartbeats.send(hellos, acks, stateStore.get, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
57
57
  // identify
@@ -79,11 +79,11 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
79
79
  switch (p.op) {
80
80
  case Discord.GatewayOpcode.HELLO:
81
81
  {
82
- return pipe(Effect.tap(identify, prioritySend), Effect.zipRight(setPhase(1 /* Phase.Handshake */)), Effect.zipRight(Queue.offer(hellos, p)));
82
+ return pipe(Effect.tap(identify, prioritySend), Effect.zipRight(setPhase(1 /* Phase.Handshake */)), Effect.zipRight(hellos.offer(p)));
83
83
  }
84
84
  case Discord.GatewayOpcode.HEARTBEAT_ACK:
85
85
  {
86
- return Queue.offer(acks, p);
86
+ return acks.offer(p);
87
87
  }
88
88
  case Discord.GatewayOpcode.INVALID_SESSION:
89
89
  {
@@ -110,7 +110,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
110
110
  }
111
111
  }
112
112
  }));
113
- yield* Queue.take(sendQueue).pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
113
+ yield* sendMailbox.take.pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
114
114
  yield* socket.take.pipe(Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped, Effect.interruptible);
115
115
  return {
116
116
  id: shard,
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","Chunk","GenericTag","Duration","Effect","pipe","Layer","Option","PubSub","Queue","Redacted","Ref","make","gen","gateway","token","limiter","dws","hub","sendQueue","shardState","connect","shard","_","outboundQueue","unbounded","pendingQueue","phase","stateStore","forShard","resumeState","getOrElse","get","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","set","annotateLogs","logTrace","outbound","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","zipRight","takeAll","tap","offerAll","asVoid","onConnecting","msgs","filter","msg","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","socket","hellos","acquireRelease","shutdown","acks","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","onPayload","suspend","s","DISPATCH","t","payload","d","session_id","resume_gateway_url","setUrl","void","HELLO","HEARTBEAT_ACK","INVALID_SESSION","clear","publish","RECONNECT","forever","id","package","module","Shard","ShardLive","effect","provide"],"sources":["../../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","Chunk","GenericTag","Duration","Effect","pipe","Layer","Option","PubSub","Mailbox","Redacted","Ref","make","gen","gateway","token","limiter","dws","hub","sendMailbox","shardState","connect","shard","_","outboundQueue","pendingQueue","phase","stateStore","forShard","resumeState","getOrElse","get","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","set","annotateLogs","logTrace","outbound","orDie","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","zipRight","clear","tap","offerAll","asVoid","onConnecting","msgs","filter","msg","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","socket","hellos","acquireRelease","shutdown","acks","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","onPayload","suspend","s","DISPATCH","t","payload","d","session_id","resume_gateway_url","setUrl","void","HELLO","HEARTBEAT_ACK","INVALID_SESSION","publish","RECONNECT","forever","id","package","module","Shard","ShardLive","effect","provide"],"sources":["../../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -73,7 +73,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
73
73
  discard: true
74
74
  });
75
75
  }), Effect.ignore);
76
- const httpExecutor = pipe(HttpClient.filterStatusOk(http), HttpClient.mapRequest(req => pipe(HttpRequest.prependUrl(req, rest.baseUrl), HttpRequest.setHeaders({
76
+ const httpClient = pipe(HttpClient.filterStatusOk(http), HttpClient.mapRequest(req => pipe(HttpRequest.prependUrl(req, rest.baseUrl), HttpRequest.setHeaders({
77
77
  Authorization: `Bot ${Redacted.value(token)}`,
78
78
  "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${LIB_VERSION})`
79
79
  }))), HttpClient.catchAll(cause => cause.reason === "StatusCode" ? cause.response.json.pipe(Effect.mapError(_ => new DiscordRESTError({
@@ -84,7 +84,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
84
84
  })))) : Effect.fail(new DiscordRESTError({
85
85
  cause
86
86
  }))));
87
- const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(httpExecutor(request)), Effect.tap(response => updateBuckets(request, response)), Effect.catchTag("DiscordRESTError", e => {
87
+ const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(httpClient.execute(request)), Effect.tap(response => updateBuckets(request, response)), Effect.catchTag("DiscordRESTError", e => {
88
88
  if (e.cause.reason !== "StatusCode") {
89
89
  return Effect.fail(e);
90
90
  }
@@ -118,7 +118,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
118
118
  } else if (params && request.body._tag === "FormData") {
119
119
  request.body.formData.append("payload_json", JSON.stringify(params));
120
120
  } else if (params) {
121
- request = HttpRequest.unsafeJsonBody(request, params);
121
+ request = HttpRequest.bodyUnsafeJson(request, params);
122
122
  }
123
123
  return new RestResponseImpl(executor(request));
124
124
  });
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordREST.mjs","names":["TypeIdError","HttpClient","HttpRequest","DiscordConfig","rateLimitFromHeaders","retryAfter","routeFromConfig","RateLimitStore","RateLimiter","RateLimiterLive","Discord","LIB_VERSION","GenericTag","Duration","millis","Effect","Effectable","pipe","HashSet","Layer","Option","Ref","Redacted","DiscordRESTErrorTypeId","Symbol","for","DiscordRESTError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","http","store","maybeWait","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","get","has","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","path","request","Do","let","method","bind","getBucketForRoute","flatMap","maybeBucket","match","onNone","onSome","bucket","key","resetAfter","updateBuckets","response","url","headers","rateLimit","hasBucket","effectsToRun","putBucketRoute","remaining","push","removeCounter","putBucket","all","concurrency","discard","ignore","httpExecutor","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","value","catchAll","reason","json","mapError","_","fail","executor","zipLeft","catchTag","e","status","sleep","getOrElse","seconds","package","module","routes","createRoutes","options","params","hasBody","appendUrlParams","_tag","formData","append","unsafeJsonBody","RestResponseImpl","Class","effect","constructor","commit","scoped","DiscordREST","DiscordRESTLive","provide"],"sources":["../src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DiscordREST.mjs","names":["TypeIdError","HttpClient","HttpRequest","DiscordConfig","rateLimitFromHeaders","retryAfter","routeFromConfig","RateLimitStore","RateLimiter","RateLimiterLive","Discord","LIB_VERSION","GenericTag","Duration","millis","Effect","Effectable","pipe","HashSet","Layer","Option","Ref","Redacted","DiscordRESTErrorTypeId","Symbol","for","DiscordRESTError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","http","store","maybeWait","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","get","has","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","path","request","Do","let","method","bind","getBucketForRoute","flatMap","maybeBucket","match","onNone","onSome","bucket","key","resetAfter","updateBuckets","response","url","headers","rateLimit","hasBucket","effectsToRun","putBucketRoute","remaining","push","removeCounter","putBucket","all","concurrency","discard","ignore","httpClient","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","value","catchAll","reason","json","mapError","_","fail","executor","zipLeft","execute","catchTag","e","status","sleep","getOrElse","seconds","package","module","routes","createRoutes","options","params","hasBody","appendUrlParams","_tag","formData","append","bodyUnsafeJson","RestResponseImpl","Class","effect","constructor","commit","scoped","DiscordREST","DiscordRESTLive","provide"],"sources":["../src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/mjs/version.mjs CHANGED
@@ -1,2 +1,2 @@
1
- export const LIB_VERSION = "0.101.1";
1
+ export const LIB_VERSION = "0.102.0";
2
2
  //# sourceMappingURL=version.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.101.1",
3
+ "version": "0.102.0",
4
4
  "description": "Effect-TS discord library",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,12 +35,12 @@
35
35
  "sideEffects": [],
36
36
  "author": "Tim Smart <hello@timsmart.co>",
37
37
  "peerDependencies": {
38
- "@effect/platform": "^0.64",
39
- "effect": "^3.7"
38
+ "@effect/platform": "^0.65",
39
+ "effect": "^3.8"
40
40
  },
41
41
  "optionalDependencies": {
42
42
  "discord-verify": "^1.2.0"
43
43
  },
44
- "gitHead": "a9a4a51fad247c2168ca8e7028c7363a6f50e66f",
44
+ "gitHead": "5d94ef063e7afd8fa6535a626fad81c8d0a54aa4",
45
45
  "main": "./index.js"
46
46
  }
@@ -4,8 +4,11 @@ import * as Layer from "effect/Layer"
4
4
  import * as Ref from "effect/Ref"
5
5
  import type * as Discord from "dfx/types"
6
6
  import * as Socket from "@effect/platform/Socket"
7
- import * as Queue from "effect/Queue"
7
+ import * as Mailbox from "effect/Mailbox"
8
8
  import * as Schedule from "effect/Schedule"
9
+ import * as Cause from "effect/Cause"
10
+ import * as Option from "effect/Option"
11
+ import * as LogLevel from "effect/LogLevel"
9
12
 
10
13
  export type Message = Discord.GatewayPayload | Reconnect
11
14
 
@@ -30,6 +33,7 @@ export interface DiscordWSCodec {
30
33
  }
31
34
 
32
35
  const decoder = new TextDecoder()
36
+ const logLevelDebug = Option.some(LogLevel.Debug)
33
37
 
34
38
  export const DiscordWSCodec = GenericTag<DiscordWSCodec, DiscordWSCodecService>(
35
39
  "dfx/DiscordGateway/DiscordWS/Codec",
@@ -55,7 +59,7 @@ const make = Effect.gen(function* () {
55
59
  )
56
60
  const setUrl = (url: string) =>
57
61
  Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`)
58
- const messages = yield* Queue.unbounded<Discord.GatewayPayload>()
62
+ const messages = yield* Mailbox.make<Discord.GatewayPayload>()
59
63
  const socket = yield* Socket.makeWebSocket(Ref.get(urlRef), {
60
64
  closeCodeIsError: _ => true,
61
65
  openTimeout: 5000,
@@ -78,13 +82,13 @@ const make = Effect.gen(function* () {
78
82
  )
79
83
  yield* onConnecting.pipe(
80
84
  Effect.zipRight(
81
- socket.runRaw(_ => {
82
- const message = encoding.decode(_)
83
- return Effect.zipRight(
84
- Effect.logTrace(message),
85
- messages.offer(message),
86
- )
87
- }),
85
+ Effect.withFiberRuntime<void, Socket.SocketError>(fiber =>
86
+ socket.runRaw(_ => {
87
+ const message = encoding.decode(_)
88
+ messages.unsafeOffer(message)
89
+ ;(fiber as any).log([message], Cause.empty, logLevelDebug)
90
+ }),
91
+ ),
88
92
  ),
89
93
  Effect.retry({
90
94
  while: e => e.reason === "Close" && e.code === 1012,
@@ -103,7 +107,7 @@ const make = Effect.gen(function* () {
103
107
  )
104
108
 
105
109
  return {
106
- take: Queue.take(messages),
110
+ take: messages.take,
107
111
  setUrl,
108
112
  } as const
109
113
  }).pipe(
@@ -2,7 +2,7 @@ import { GenericTag } from "effect/Context"
2
2
  import * as Effect from "effect/Effect"
3
3
  import * as PubSub from "effect/PubSub"
4
4
  import * as Layer from "effect/Layer"
5
- import * as Queue from "effect/Queue"
5
+ import * as Mailbox from "effect/Mailbox"
6
6
  import * as Stream from "effect/Stream"
7
7
  import type * as Discord from "dfx/types"
8
8
  import * as EffectUtils from "dfx/utils/Effect"
@@ -38,12 +38,12 @@ export const make = Effect.gen(function* () {
38
38
  PubSub.shutdown,
39
39
  )
40
40
 
41
- const sendQueue = yield* Effect.acquireRelease(
42
- Queue.unbounded<Discord.GatewayPayload<Discord.SendEvent>>(),
43
- Queue.shutdown,
41
+ const sendMailbox = yield* Effect.acquireRelease(
42
+ Mailbox.make<Discord.GatewayPayload<Discord.SendEvent>>(),
43
+ _ => _.shutdown,
44
44
  )
45
45
  const send = (payload: Discord.GatewayPayload<Discord.SendEvent>) =>
46
- sendQueue.offer(payload)
46
+ sendMailbox.offer(payload)
47
47
 
48
48
  const dispatch = Stream.fromPubSub(hub)
49
49
  const fromDispatch = fromDispatchFactory(dispatch)
@@ -51,7 +51,7 @@ export const make = Effect.gen(function* () {
51
51
 
52
52
  return {
53
53
  hub,
54
- sendQueue,
54
+ sendMailbox,
55
55
  dispatch,
56
56
  fromDispatch,
57
57
  handleDispatch,
@@ -1,7 +1,6 @@
1
1
  import * as Duration from "effect/Duration"
2
2
  import * as Option from "effect/Option"
3
3
  import * as Effect from "effect/Effect"
4
- import * as Queue from "effect/Queue"
5
4
  import * as Ref from "effect/Ref"
6
5
  import * as Schedule from "effect/Schedule"
7
6
  import * as DiscordWS from "dfx/DiscordGateway/DiscordWS"
@@ -9,6 +8,7 @@ import * as SendEvents from "dfx/DiscordGateway/Shard/sendEvents"
9
8
  import type * as Discord from "dfx/types"
10
9
  import * as EffectU from "dfx/utils/Effect"
11
10
  import type { ShardState } from "dfx/DiscordGateway/Shard/StateStore"
11
+ import type * as Mailbox from "effect/Mailbox"
12
12
 
13
13
  const payload = (state: Effect.Effect<Option.Option<ShardState>>) =>
14
14
  Effect.map(state, state =>
@@ -26,14 +26,14 @@ const payloadOrReconnect = (
26
26
  )
27
27
 
28
28
  export const send = (
29
- hellos: Queue.Dequeue<Discord.GatewayPayload>,
30
- acks: Queue.Dequeue<Discord.GatewayPayload>,
29
+ hellos: Mailbox.ReadonlyMailbox<Discord.GatewayPayload>,
30
+ acks: Mailbox.ReadonlyMailbox<Discord.GatewayPayload>,
31
31
  state: Effect.Effect<Option.Option<ShardState>>,
32
32
  send: (p: DiscordWS.Message) => Effect.Effect<boolean>,
33
33
  ) =>
34
34
  Effect.flatMap(Ref.make(true), ackedRef => {
35
35
  const heartbeats = EffectU.foreverSwitch(
36
- Effect.zipLeft(Queue.take(hellos), Ref.set(ackedRef, true)),
36
+ Effect.zipLeft(hellos.take, Ref.set(ackedRef, true)),
37
37
  p =>
38
38
  payloadOrReconnect(ackedRef, state).pipe(
39
39
  Effect.zipLeft(Ref.set(ackedRef, false)),
@@ -49,7 +49,7 @@ export const send = (
49
49
  ),
50
50
  )
51
51
 
52
- const run = Queue.take(acks).pipe(
52
+ const run = acks.take.pipe(
53
53
  Effect.zipLeft(Ref.set(ackedRef, true)),
54
54
  Effect.forever,
55
55
  )