dfx 0.106.0 → 0.107.1

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.
@@ -30,7 +30,7 @@ export declare const DiscordWS: import("effect/Context").Tag<DiscordWS, {
30
30
  readonly connect: ({ onConnecting, outbound, url, version, }: OpenOpts) => Effect.Effect<{
31
31
  readonly take: Effect.Effect<Discord.GatewayPayload<any>, Cause.NoSuchElementException, never>;
32
32
  readonly setUrl: (url: string) => Effect.Effect<void, never, never>;
33
- }, never, import("effect/Scope").Scope | Socket.WebSocketConstructor>;
33
+ }, never, Socket.WebSocketConstructor | import("effect/Scope").Scope>;
34
34
  }>;
35
35
  export declare const DiscordWSLive: Layer.Layer<DiscordWS, never, DiscordWSCodec>;
36
36
  //# sourceMappingURL=DiscordWS.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAGjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,eAAO,MAAM,SAAS,eAAgD,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAExC,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,UAAU,GAAG,MAAM,CAAA;IAC1D,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,cAAc,CAAA;CAC3D;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAKD,eAAO,MAAM,cAAc,qEAE1B,CAAA;AACD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AA6EF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS;kEAtEjB,QAAQ;;+BAKc,MAAM;;EAoEA,CAAA;AACjC,eAAO,MAAM,aAAa,+CAAgC,CAAA"}
1
+ {"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAGjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAKrC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,eAAO,MAAM,SAAS,eAAgD,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAExC,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAChC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,UAAU,GAAG,MAAM,CAAA;IAC1D,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,cAAc,CAAA;CAC3D;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAMD,eAAO,MAAM,cAAc,qEAE1B,CAAA;AACD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AA+EF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS;kEAxEjB,QAAQ;;+BAKc,MAAM;;EAsEA,CAAA;AACjC,eAAO,MAAM,aAAa,+CAAgC,CAAA"}
@@ -14,11 +14,13 @@ var Schedule = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect
14
14
  var Cause = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Cause"));
15
15
  var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
16
16
  var LogLevel = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/LogLevel"));
17
+ var Fiber = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Fiber"));
17
18
  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); }
18
19
  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; }
19
20
  const Reconnect = exports.Reconnect = /*#__PURE__*/Symbol.for("dfx/DiscordGateway/WS/Reconnect");
20
21
  const decoder = /*#__PURE__*/new TextDecoder();
21
22
  const logLevelDebug = /*#__PURE__*/Option.some(LogLevel.Debug);
23
+ const logLevelTrace = /*#__PURE__*/Option.some(LogLevel.Trace);
22
24
  const DiscordWSCodec = exports.DiscordWSCodec = /*#__PURE__*/(0, _Context.GenericTag)("dfx/DiscordGateway/DiscordWS/Codec");
23
25
  const JsonDiscordWSCodecLive = exports.JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
24
26
  type: "json",
@@ -41,12 +43,21 @@ const make = /*#__PURE__*/Effect.gen(function* () {
41
43
  openTimeout: 5000
42
44
  });
43
45
  const write = yield* socket.writer;
44
- yield* outbound.pipe(Effect.flatMap(_ => {
45
- if (_ === Reconnect) {
46
- return Effect.zipRight(Effect.logTrace("Reconnecting"), write(new Socket.CloseEvent(1012, "reconnecting")));
46
+ yield* Effect.gen(function* () {
47
+ const fiber = Option.getOrThrow(Fiber.getCurrentFiber());
48
+ while (true) {
49
+ const message = yield* outbound;
50
+ if (message === Reconnect) {
51
+ ;
52
+ fiber.log(["Reconnecting"], Cause.empty, logLevelTrace);
53
+ yield* write(new Socket.CloseEvent(1012, "reconnecting"));
54
+ return;
55
+ }
56
+ ;
57
+ fiber.log([message], Cause.empty, logLevelTrace);
58
+ yield* write(encoding.encode(message));
47
59
  }
48
- return Effect.zipRight(Effect.logTrace(_), write(encoding.encode(_)));
49
- }), Effect.forever, Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
60
+ }).pipe(Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
50
61
  yield* onConnecting.pipe(Effect.zipRight(Effect.withFiberRuntime(fiber => socket.runRaw(_ => {
51
62
  const message = encoding.decode(_);
52
63
  messages.unsafeOffer(message);
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","logLevelDebug","some","Debug","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","messages","socket","makeWebSocket","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","withFiberRuntime","fiber","runRaw","message","unsafeOffer","log","empty","retry","while","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAC,uBAAA,cAAAF,OAAA;AACA,IAAAG,KAAA,gBAAAD,uBAAA,cAAAF,OAAA;AACA,IAAAI,GAAA,gBAAAF,uBAAA,cAAAF,OAAA;AAEA,IAAAK,MAAA,gBAAAH,uBAAA,cAAAF,OAAA;AACA,IAAAM,OAAA,gBAAAJ,uBAAA,cAAAF,OAAA;AACA,IAAAO,QAAA,gBAAAL,uBAAA,cAAAF,OAAA;AACA,IAAAQ,KAAA,gBAAAN,uBAAA,cAAAF,OAAA;AACA,IAAAS,MAAA,gBAAAP,uBAAA,cAAAF,OAAA;AACA,IAAAU,QAAA,gBAAAR,uBAAA,cAAAF,OAAA;AAA2C,SAAAW,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,SAAAV,wBAAAU,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;AAIpC,MAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAoBtE,MAAMC,OAAO,gBAAG,IAAIC,WAAW,EAAE;AACjC,MAAMC,aAAa,gBAAG5B,MAAM,CAAC6B,IAAI,CAAC5B,QAAQ,CAAC6B,KAAK,CAAC;AAE1C,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,gBAAG,IAAAC,mBAAU,EACtC,oCAAoC,CACrC;AACM,MAAMC,sBAAsB,GAAAV,OAAA,CAAAU,sBAAA,gBAAGvC,KAAK,CAACwC,OAAO,CAACH,cAAc,EAAE;EAClEI,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEC,CAAC,IAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAAC;EAC9BG,MAAM,EAAEH,CAAC,IAAIC,IAAI,CAACG,KAAK,CAAC,OAAOJ,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGX,OAAO,CAACc,MAAM,CAACH,CAAC,CAAC;CACtE,CAAC;AAEF,MAAMK,IAAI,gBAAGlD,MAAM,CAACmD,GAAG,CAAC,aAAS;EAC/B,MAAMC,QAAQ,GAAG,OAAOb,cAAc;EAEtC,MAAMc,OAAO,GAAGA,CAAC;IACfC,YAAY;IACZC,QAAQ;IACRC,GAAG,GAAG,2BAA2B;IACjCC,OAAO,GAAG;EAAE,CACH,KACTzD,MAAM,CAACmD,GAAG,CAAC,aAAS;IAClB,MAAMO,MAAM,GAAG,OAAOvD,GAAG,CAAC+C,IAAI,CAC5B,GAAGM,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACT,IAAI,EAAE,CAChD;IACD,MAAMgB,MAAM,GAAIH,GAAW,IACzBrD,GAAG,CAAC0B,GAAG,CAAC6B,MAAM,EAAE,GAAGF,GAAG,MAAMC,OAAO,aAAaL,QAAQ,CAACT,IAAI,EAAE,CAAC;IAClE,MAAMiB,QAAQ,GAAG,OAAOvD,OAAO,CAAC6C,IAAI,EAA0B;IAC9D,MAAMW,MAAM,GAAG,OAAOzD,MAAM,CAAC0D,aAAa,CAAC3D,GAAG,CAACe,GAAG,CAACwC,MAAM,CAAC,EAAE;MAC1DK,gBAAgB,EAAEC,CAAC,IAAI,IAAI;MAC3BC,WAAW,EAAE;KACd,CAAC;IACF,MAAMC,KAAK,GAAG,OAAOL,MAAM,CAACM,MAAM;IAClC,OAAOZ,QAAQ,CAACa,IAAI,CAClBpE,MAAM,CAACqE,OAAO,CAACL,CAAC,IAAG;MACjB,IAAIA,CAAC,KAAKlC,SAAS,EAAE;QACnB,OAAO9B,MAAM,CAACsE,QAAQ,CACpBtE,MAAM,CAACuE,QAAQ,CAAC,cAAc,CAAC,EAC/BL,KAAK,CAAC,IAAI9D,MAAM,CAACoE,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CACnD;MACH;MACA,OAAOxE,MAAM,CAACsE,QAAQ,CAACtE,MAAM,CAACuE,QAAQ,CAACP,CAAC,CAAC,EAAEE,KAAK,CAACd,QAAQ,CAACR,MAAM,CAACoB,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,EACFhE,MAAM,CAACyE,OAAO,EACdzE,MAAM,CAAC0E,YAAY,CAAC,SAAS,EAAE,UAAU,CAAC,EAC1C1E,MAAM,CAAC2E,UAAU,EACjB3E,MAAM,CAAC4E,aAAa,CACrB;IACD,OAAOtB,YAAY,CAACc,IAAI,CACtBpE,MAAM,CAACsE,QAAQ,CACbtE,MAAM,CAAC6E,gBAAgB,CAA2BC,KAAK,IACrDjB,MAAM,CAACkB,MAAM,CAACf,CAAC,IAAG;MAChB,MAAMgB,OAAO,GAAG5B,QAAQ,CAACJ,MAAM,CAACgB,CAAC,CAAC;MAClCJ,QAAQ,CAACqB,WAAW,CAACD,OAAO,CAAC;MAC3BF,KAAa,CAACI,GAAG,CAAC,CAACF,OAAO,CAAC,EAAEzE,KAAK,CAAC4E,KAAK,EAAE/C,aAAa,CAAC;IAC5D,CAAC,CAAC,CACH,CACF,EACDpC,MAAM,CAACoF,KAAK,CAAC;MACXC,KAAK,EAAE1E,CAAC,IAAIA,CAAC,CAAC2E,MAAM,KAAK,OAAO,IAAI3E,CAAC,CAAC4E,IAAI,KAAK;KAChD,CAAC,EACFvF,MAAM,CAACwF,aAAa,CAACC,KAAK,IACxBzF,MAAM,CAAC0F,QAAQ,CAAC,gCAAgC,EAAED,KAAK,CAAC,CACzD,EACDzF,MAAM,CAAC2F,MAAM,CACXrF,QAAQ,CAACsF,WAAW,CAAC,GAAG,CAAC,CAACxB,IAAI,CAC5B9D,QAAQ,CAACuF,KAAK,CAACvF,QAAQ,CAACwF,MAAM,CAAC,KAAK,CAAC,CAAC,CACvC,CACF,EACD9F,MAAM,CAAC0E,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,EACzC1E,MAAM,CAAC2E,UAAU,EACjB3E,MAAM,CAAC4E,aAAa,CACrB;IAED,OAAO;MACLmB,IAAI,EAAEnC,QAAQ,CAACmC,IAAI;MACnBpC;KACQ;EACZ,CAAC,CAAC,CAACS,IAAI,CACLpE,MAAM,CAAC0E,YAAY,CAAC;IAClBsB,MAAM,EAAE;GACT,CAAC,CACH;EAEH,OAAO;IAAE3C;EAAO,CAAW;AAC7B,CAAC,CAAC;AAKK,MAAM4C,SAAS,GAAAlE,OAAA,CAAAkE,SAAA,gBAAG,IAAAzD,mBAAU,EAGjC,8BAA8B,CAAC;AAC1B,MAAM0D,aAAa,GAAAnE,OAAA,CAAAmE,aAAA,gBAAGhG,KAAK,CAACiG,MAAM,CAACF,SAAS,EAAE/C,IAAI,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Fiber","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","logLevelDebug","some","Debug","logLevelTrace","Trace","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","messages","socket","makeWebSocket","closeCodeIsError","_","openTimeout","write","writer","fiber","getOrThrow","getCurrentFiber","message","log","empty","CloseEvent","pipe","annotateLogs","forkScoped","interruptible","zipRight","withFiberRuntime","runRaw","unsafeOffer","retry","while","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":[]}
@@ -5,12 +5,17 @@ import { ShardStateStore } from "dfx/DiscordGateway/Shard/StateStore";
5
5
  import { RateLimiter } from "dfx/RateLimit";
6
6
  import * as Effect from "effect/Effect";
7
7
  import * as Layer from "effect/Layer";
8
+ declare const enum Phase {
9
+ Connecting = 0,
10
+ Handshake = 1,
11
+ Connected = 2
12
+ }
8
13
  export declare const make: Effect.Effect<{
9
14
  readonly connect: (shard: [id: number, count: number]) => Effect.Effect<{
10
15
  readonly id: [id: number, count: number];
11
- readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
12
- }, never, import("effect/Scope").Scope | import("@effect/platform/Socket").WebSocketConstructor>;
13
- }, never, DiscordConfig | RateLimiter | DiscordWS | import("dfx/DiscordGateway/Messaging").Messsaging | ShardStateStore>;
16
+ readonly send: (p: Message) => Generator<import("effect/Utils").YieldWrap<Effect.Effect<Phase, never, never>>, void, any>;
17
+ }, never, import("@effect/platform/Socket").WebSocketConstructor | import("effect/Scope").Scope>;
18
+ }, never, import("dfx/DiscordGateway/Messaging").Messsaging | DiscordConfig | ShardStateStore | RateLimiter | DiscordWS>;
14
19
  type ShardService = Effect.Effect.Success<typeof make>;
15
20
  export interface Shard {
16
21
  readonly _: unique symbol;
@@ -18,8 +23,8 @@ export interface Shard {
18
23
  export declare const Shard: import("effect/Context").Tag<Shard, {
19
24
  readonly connect: (shard: [id: number, count: number]) => Effect.Effect<{
20
25
  readonly id: [id: number, count: number];
21
- readonly send: (p: Message) => Effect.Effect<boolean, never, never>;
22
- }, never, import("effect/Scope").Scope | import("@effect/platform/Socket").WebSocketConstructor>;
26
+ readonly send: (p: Message) => Generator<import("effect/Utils").YieldWrap<Effect.Effect<Phase, never, never>>, void, any>;
27
+ }, never, import("@effect/platform/Socket").WebSocketConstructor | import("effect/Scope").Scope>;
23
28
  }>;
24
29
  export declare const ShardLive: Layer.Layer<Shard, never, DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec | ShardStateStore>;
25
30
  export interface RunningShard extends Effect.Effect.Success<ReturnType<ShardService["connect"]>> {
@@ -1 +1 @@
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;AAerC,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BA0B9B,OAAO;;wHAmJ5B,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;8BApLQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BA0B9B,OAAO;;EA0JkD,CAAA;AAChF,eAAO,MAAM,SAAS,6JAIrB,CAAA;AAGD,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;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AASrC,mBAAW,KAAK;IACd,UAAU,IAAA;IACV,SAAS,IAAA;IACT,SAAS,IAAA;CACV;AAED,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BA2B7B,OAAO;;wHA4J7B,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;8BA9LQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BA2B7B,OAAO;;EAmKiD,CAAA;AAChF,eAAO,MAAM,SAAS,6JAIrB,CAAA;AAGD,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
@@ -16,13 +16,13 @@ var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Ch
16
16
  var _Context = /*#__PURE__*/require("effect/Context");
17
17
  var Duration = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Duration"));
18
18
  var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
19
- var _Function = /*#__PURE__*/require("effect/Function");
20
19
  var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
21
20
  var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
22
- var PubSub = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/PubSub"));
23
21
  var Mailbox = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Mailbox"));
24
22
  var Redacted = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Redacted"));
25
23
  var Ref = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Ref"));
24
+ var _Effect2 = /*#__PURE__*/require("dfx/utils/Effect");
25
+ var FiberHandle = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/FiberHandle"));
26
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); }
27
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; }
28
28
  const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
@@ -40,6 +40,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
40
40
  const connect = shard => Effect.gen(function* (_) {
41
41
  const outboundQueue = yield* Mailbox.make();
42
42
  const pendingQueue = yield* Mailbox.make();
43
+ const reconnectHandle = yield* FiberHandle.make();
43
44
  const phase = yield* Ref.make(0 /* Phase.Connecting */);
44
45
  const stateStore = shardState.forShard(shard);
45
46
  const resumeState = Option.getOrElse(yield* stateStore.get, () => ({
@@ -49,11 +50,32 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
49
50
  }));
50
51
  const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
51
52
  const outbound = Effect.orDie(Effect.zipLeft(outboundQueue.take, limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120)));
52
- const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? outboundQueue.offer(p) : pendingQueue.offer(p));
53
- const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ? outboundQueue.offer(p) : Effect.succeed(false));
53
+ function* send(p) {
54
+ if ((yield* Ref.get(phase)) === 2 /* Phase.Connected */) {
55
+ outboundQueue.unsafeOffer(p);
56
+ } else {
57
+ pendingQueue.unsafeOffer(p);
58
+ }
59
+ }
60
+ const heartbeatSend = (0, _Effect2.genFn)(function* (p) {
61
+ if ((yield* Ref.get(phase)) !== 0 /* Phase.Connecting */) {
62
+ outboundQueue.unsafeOffer(p);
63
+ return true;
64
+ }
65
+ return false;
66
+ });
54
67
  const prioritySend = p => outboundQueue.offer(p);
55
- const resume = (0, _Function.pipe)(setPhase(2 /* Phase.Connected */), Effect.zipRight(pendingQueue.clear), Effect.tap(_ => outboundQueue.offerAll(_)), Effect.asVoid);
56
- const onConnecting = (0, _Function.pipe)(outboundQueue.clear, Effect.tap(msgs => pendingQueue.offerAll(Chunk.filter(msgs, msg => msg !== _DiscordWS.Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT))), Effect.zipRight(setPhase(0 /* Phase.Connecting */)));
68
+ const resume = Effect.gen(function* () {
69
+ yield* FiberHandle.clear(reconnectHandle);
70
+ yield* setPhase(2 /* Phase.Connected */);
71
+ const msgs = yield* pendingQueue.clear;
72
+ outboundQueue.unsafeOfferAll(Chunk.filter(msgs, msg => msg !== _DiscordWS.Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT));
73
+ });
74
+ const onConnecting = Effect.gen(function* () {
75
+ const msgs = yield* outboundQueue.clear;
76
+ pendingQueue.unsafeOfferAll(Chunk.filter(msgs, msg => msg !== _DiscordWS.Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT));
77
+ yield* setPhase(0 /* Phase.Connecting */);
78
+ });
57
79
  const socket = yield* dws.connect({
58
80
  outbound,
59
81
  onConnecting
@@ -69,7 +91,12 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
69
91
  intents: gateway.intents,
70
92
  presence: gateway.presence
71
93
  }, stateStore.get);
72
- const onPayload = p => (0, _Function.pipe)(Effect.suspend(() => {
94
+ // delayed reconnect
95
+ const delayedReconnect = Effect.gen(function* () {
96
+ yield* Effect.sleep(30_000);
97
+ yield* prioritySend(_DiscordWS.Reconnect);
98
+ });
99
+ function* onPayload(p) {
73
100
  if (typeof p.s === "number") {
74
101
  resumeState.sequence = p.s;
75
102
  }
@@ -77,49 +104,59 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
77
104
  const payload = p.d;
78
105
  resumeState.sessionId = payload.session_id;
79
106
  resumeState.resumeUrl = payload.resume_gateway_url;
80
- return Effect.zipRight(stateStore.set(resumeState), socket.setUrl(payload.resume_gateway_url));
107
+ yield* stateStore.set(resumeState);
108
+ yield* socket.setUrl(payload.resume_gateway_url);
109
+ } else if (resumeState.resumeUrl !== "" && resumeState.sessionId !== "") {
110
+ yield* stateStore.set(resumeState);
81
111
  }
82
- if (resumeState.resumeUrl !== "" && resumeState.sessionId !== "") {
83
- return stateStore.set(resumeState);
84
- }
85
- return Effect.void;
86
- }), Effect.tap(() => {
87
112
  switch (p.op) {
88
113
  case Discord.GatewayOpcode.HELLO:
89
114
  {
90
- return (0, _Function.pipe)(Effect.tap(identify, prioritySend), Effect.zipRight(setPhase(1 /* Phase.Handshake */)), Effect.zipRight(hellos.offer(p)));
115
+ yield* prioritySend(yield* identify);
116
+ yield* setPhase(1 /* Phase.Handshake */);
117
+ hellos.unsafeOffer(p);
118
+ yield* FiberHandle.run(reconnectHandle, delayedReconnect);
119
+ break;
91
120
  }
92
121
  case Discord.GatewayOpcode.HEARTBEAT_ACK:
93
122
  {
94
- return acks.offer(p);
123
+ acks.unsafeOffer(p);
124
+ break;
95
125
  }
96
126
  case Discord.GatewayOpcode.INVALID_SESSION:
97
127
  {
98
- if (p.d) {
99
- return send(_DiscordWS.Reconnect);
128
+ if (!p.d) {
129
+ resumeState.sessionId = "";
130
+ yield* stateStore.clear;
100
131
  }
101
- resumeState.sessionId = "";
102
- return Effect.zipRight(stateStore.clear, send(_DiscordWS.Reconnect));
132
+ yield* send(_DiscordWS.Reconnect);
133
+ break;
103
134
  }
104
135
  case Discord.GatewayOpcode.DISPATCH:
105
136
  {
106
137
  if (p.t === "READY" || p.t === "RESUMED") {
107
- return Effect.zipRight(resume, PubSub.publish(hub, p));
138
+ yield* resume;
108
139
  }
109
- return PubSub.publish(hub, p);
140
+ hub.unsafeOffer(p);
141
+ break;
110
142
  }
111
143
  case Discord.GatewayOpcode.RECONNECT:
112
144
  {
113
- return prioritySend(_DiscordWS.Reconnect);
114
- }
115
- default:
116
- {
117
- return Effect.void;
145
+ yield* prioritySend(_DiscordWS.Reconnect);
146
+ break;
118
147
  }
119
148
  }
120
- }));
121
- yield* sendMailbox.take.pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
122
- yield* socket.take.pipe(Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped, Effect.interruptible);
149
+ }
150
+ yield* Effect.gen(function* () {
151
+ while (true) {
152
+ yield* send(yield* sendMailbox.take);
153
+ }
154
+ }).pipe(Effect.forkScoped, Effect.interruptible);
155
+ yield* Effect.gen(function* () {
156
+ while (true) {
157
+ yield* onPayload(yield* socket.take);
158
+ }
159
+ }).pipe(Effect.forkScoped, Effect.interruptible);
123
160
  return {
124
161
  id: shard,
125
162
  send
@@ -1 +1 @@
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","Mailbox","Redacted","Ref","_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","sendMailbox","Messaging","shardState","ShardStateStore","connect","shard","_","outboundQueue","pendingQueue","phase","stateStore","forShard","resumeState","getOrElse","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","annotateLogs","logTrace","outbound","orDie","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","pipe","zipRight","clear","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","publish","RECONNECT","forever","id","package","module","Shard","GenericTag","ShardLive","effect","provide","DiscordWSLive","MesssagingLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,cAAA,gBAAAC,OAAA;AAEA,IAAAC,UAAA,gBAAAD,OAAA;AAKA,IAAAE,UAAA,gBAAAF,OAAA;AAEA,IAAAG,WAAA,gBAAAH,OAAA;AACA,IAAAI,UAAA,gBAAAC,uBAAA,cAAAL,OAAA;AACA,IAAAM,QAAA,gBAAAD,uBAAA,cAAAL,OAAA;AACA,IAAAO,UAAA,gBAAAP,OAAA;AACA,IAAAQ,OAAA,gBAAAH,uBAAA,cAAAL,OAAA;AACA,IAAAS,KAAA,gBAAAJ,uBAAA,cAAAL,OAAA;AACA,IAAAU,QAAA,gBAAAV,OAAA;AACA,IAAAW,QAAA,gBAAAN,uBAAA,cAAAL,OAAA;AACA,IAAAY,MAAA,gBAAAP,uBAAA,cAAAL,OAAA;AACA,IAAAa,SAAA,gBAAAb,OAAA;AACA,IAAAc,KAAA,gBAAAT,uBAAA,cAAAL,OAAA;AACA,IAAAe,MAAA,gBAAAV,uBAAA,cAAAL,OAAA;AACA,IAAAgB,MAAA,gBAAAX,uBAAA,cAAAL,OAAA;AACA,IAAAiB,OAAA,gBAAAZ,uBAAA,cAAAL,OAAA;AAEA,IAAAkB,QAAA,gBAAAb,uBAAA,cAAAL,OAAA;AACA,IAAAmB,GAAA,gBAAAd,uBAAA,cAAAL,OAAA;AAAiC,SAAAoB,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,SAAAhB,wBAAAgB,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;AAS1B,MAAMW,IAAI,GAAAC,OAAA,CAAAD,IAAA,gBAAG5B,MAAM,CAAC8B,GAAG,CAAC,aAAS;EACtC,MAAM;IAAEC,OAAO;IAAEC;EAAK,CAAE,GAAG,OAAOC,4BAAa;EAC/C,MAAMC,OAAO,GAAG,OAAOC,sBAAW;EAClC,MAAMC,GAAG,GAAG,OAAOC,oBAAS;EAC5B,MAAM;IAAEC,GAAG;IAAEC;EAAW,CAAE,GAAG,OAAOC,oBAAS;EAC7C,MAAMC,UAAU,GAAG,OAAOC,2BAAe;EAEzC,MAAMC,OAAO,GAAIC,KAAkC,IACjD5C,MAAM,CAAC8B,GAAG,CAAC,WAAWe,CAAC;IACrB,MAAMC,aAAa,GAAG,OAAOzC,OAAO,CAACuB,IAAI,EAAW;IACpD,MAAMmB,YAAY,GAAG,OAAO1C,OAAO,CAACuB,IAAI,EAAW;IACnD,MAAMoB,KAAK,GAAG,OAAOzC,GAAG,CAACqB,IAAI,0BAAkB;IAC/C,MAAMqB,UAAU,GAAGR,UAAU,CAACS,QAAQ,CAACN,KAAK,CAAC;IAC7C,MAAMO,WAAW,GAA8BhD,MAAM,CAACiD,SAAS,CAC7D,OAAOH,UAAU,CAACjC,GAAG,EACrB,OAAO;MACLqC,SAAS,EAAE,EAAE;MACbC,SAAS,EAAE,EAAE;MACbC,QAAQ,EAAE;KACX,CAAC,CACH;IACD,MAAMC,QAAQ,GAAIC,CAAQ,IACxBzD,MAAM,CAAC0D,OAAO,CACZnD,GAAG,CAACoB,GAAG,CAACqB,KAAK,EAAES,CAAC,CAAC,EACjBzD,MAAM,CAAC2D,YAAY,CAAC3D,MAAM,CAAC4D,QAAQ,CAAC,kBAAkB,CAAC,EAAE,OAAO,EAAEH,CAAC,CAAC,CACrE;IACH,MAAMI,QAAQ,GAAG7D,MAAM,CAAC8D,KAAK,CAC3B9D,MAAM,CAAC0D,OAAO,CACZZ,aAAa,CAACiB,IAAI,EAClB7B,OAAO,CAAC8B,SAAS,CAAC,gBAAgB,EAAEjE,QAAQ,CAACkE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAC9D,CACF;IAED,MAAMC,IAAI,GAAIT,CAAU,IACtBzD,MAAM,CAACmE,OAAO,CAAC5D,GAAG,CAACS,GAAG,CAACgC,KAAK,CAAC,EAAEA,KAAK,IAClCA,KAAK,+BACDF,aAAa,CAACsB,KAAK,CAACX,CAAC,CAAC,GACtBV,YAAY,CAACqB,KAAK,CAACX,CAAC,CAAC,CAC1B;IAEH,MAAMY,aAAa,GAAIZ,CAAU,IAC/BzD,MAAM,CAACmE,OAAO,CAAC5D,GAAG,CAACS,GAAG,CAACgC,KAAK,CAAC,EAAEA,KAAK,IAClCA,KAAK,gCACDF,aAAa,CAACsB,KAAK,CAACX,CAAC,CAAC,GACtBzD,MAAM,CAACsE,OAAO,CAAC,KAAK,CAAC,CAC1B;IAEH,MAAMC,YAAY,GAAId,CAAU,IAAKX,aAAa,CAACsB,KAAK,CAACX,CAAC,CAAC;IAE3D,MAAMe,MAAM,GAAG,IAAAC,cAAI,EACjBjB,QAAQ,yBAAiB,EACzBxD,MAAM,CAAC0E,QAAQ,CAAC3B,YAAY,CAAC4B,KAAK,CAAC,EACnC3E,MAAM,CAAC4E,GAAG,CAAC/B,CAAC,IAAIC,aAAa,CAAC+B,QAAQ,CAAChC,CAAC,CAAC,CAAC,EAC1C7C,MAAM,CAAC8E,MAAM,CACd;IAED,MAAMC,YAAY,GAAG,IAAAN,cAAI,EACvB3B,aAAa,CAAC6B,KAAK,EACnB3E,MAAM,CAAC4E,GAAG,CAACI,IAAI,IACbjC,YAAY,CAAC8B,QAAQ,CACnBhF,KAAK,CAACoF,MAAM,CACVD,IAAI,EACJE,GAAG,IACDA,GAAG,KAAKC,oBAAS,IACjBD,GAAG,CAACE,EAAE,KAAKxF,OAAO,CAACyF,aAAa,CAACC,QAAQ,IACzCJ,GAAG,CAACE,EAAE,KAAKxF,OAAO,CAACyF,aAAa,CAACE,MAAM,IACvCL,GAAG,CAACE,EAAE,KAAKxF,OAAO,CAACyF,aAAa,CAACG,SAAS,CAC7C,CACF,CACF,EACDxF,MAAM,CAAC0E,QAAQ,CAAClB,QAAQ,0BAAkB,CAAC,CAC5C;IAED,MAAMiC,MAAM,GAAG,OAAOrD,GAAG,CAACO,OAAO,CAAC;MAAEkB,QAAQ;MAAEkB;IAAY,CAAE,CAAC;IAE7D,MAAMW,MAAM,GAAG,OAAO1F,MAAM,CAAC2F,cAAc,CACzCtF,OAAO,CAACuB,IAAI,EAA0B,EACtCiB,CAAC,IAAIA,CAAC,CAAC+C,QAAQ,CAChB;IACD,MAAMC,IAAI,GAAG,OAAO7F,MAAM,CAAC2F,cAAc,CACvCtF,OAAO,CAACuB,IAAI,EAA0B,EACtCiB,CAAC,IAAIA,CAAC,CAAC+C,QAAQ,CAChB;IAED;IACA,OAAOpG,UAAU,CAAC0E,IAAI,CAACwB,MAAM,EAAEG,IAAI,EAAE5C,UAAU,CAACjC,GAAG,EAAEqD,aAAa,CAAC,CAACI,IAAI,CACtEzE,MAAM,CAAC8F,UAAU,EACjB9F,MAAM,CAAC+F,aAAa,CACrB;IAED;IACA,MAAMC,QAAQ,GAAGtG,QAAQ,CAACuG,gBAAgB,CACxC;MACEjE,KAAK,EAAE1B,QAAQ,CAAC4F,KAAK,CAAClE,KAAK,CAAC;MAC5BY,KAAK;MACLuD,OAAO,EAAEpE,OAAO,CAACoE,OAAO;MACxBC,QAAQ,EAAErE,OAAO,CAACqE;KACnB,EACDnD,UAAU,CAACjC,GAAG,CACf;IAED,MAAMqF,SAAS,GAAI5C,CAAyB,IAC1C,IAAAgB,cAAI,EACFzE,MAAM,CAACsG,OAAO,CAAC,MAAK;MAClB,IAAI,OAAO7C,CAAC,CAAC8C,CAAC,KAAK,QAAQ,EAAE;QAC3BpD,WAAW,CAACI,QAAQ,GAAGE,CAAC,CAAC8C,CAAC;MAC5B;MACA,IAAI9C,CAAC,CAAC2B,EAAE,KAAKxF,OAAO,CAACyF,aAAa,CAACmB,QAAQ,IAAI/C,CAAC,CAAC7C,CAAC,KAAK,OAAO,EAAE;QAC9D,MAAM6F,OAAO,GAAGhD,CAAC,CAACiD,CAAuB;QACzCvD,WAAW,CAACG,SAAS,GAAGmD,OAAO,CAACE,UAAU;QAC1CxD,WAAW,CAACE,SAAS,GAAGoD,OAAO,CAACG,kBAAkB;QAClD,OAAO5G,MAAM,CAAC0E,QAAQ,CACpBzB,UAAU,CAACtB,GAAG,CAACwB,WAAW,CAAC,EAC3BsC,MAAM,CAACoB,MAAM,CAACJ,OAAO,CAACG,kBAAkB,CAAC,CAC1C;MACH;MACA,IAAIzD,WAAW,CAACE,SAAS,KAAK,EAAE,IAAIF,WAAW,CAACG,SAAS,KAAK,EAAE,EAAE;QAChE,OAAOL,UAAU,CAACtB,GAAG,CAACwB,WAAW,CAAC;MACpC;MACA,OAAOnD,MAAM,CAAC8G,IAAI;IACpB,CAAC,CAAC,EACF9G,MAAM,CAAC4E,GAAG,CAAC,MAAK;MACd,QAAQnB,CAAC,CAAC2B,EAAE;QACV,KAAKxF,OAAO,CAACyF,aAAa,CAAC0B,KAAK;UAAE;YAChC,OAAO,IAAAtC,cAAI,EACTzE,MAAM,CAAC4E,GAAG,CAACoB,QAAQ,EAAEzB,YAAY,CAAC,EAClCvE,MAAM,CAAC0E,QAAQ,CAAClB,QAAQ,yBAAiB,CAAC,EAC1CxD,MAAM,CAAC0E,QAAQ,CAACgB,MAAM,CAACtB,KAAK,CAACX,CAAC,CAAC,CAAC,CACjC;UACH;QACA,KAAK7D,OAAO,CAACyF,aAAa,CAAC2B,aAAa;UAAE;YACxC,OAAOnB,IAAI,CAACzB,KAAK,CAACX,CAAC,CAAC;UACtB;QACA,KAAK7D,OAAO,CAACyF,aAAa,CAAC4B,eAAe;UAAE;YAC1C,IAAIxD,CAAC,CAACiD,CAAC,EAAE;cACP,OAAOxC,IAAI,CAACiB,oBAAS,CAAC;YACxB;YACAhC,WAAW,CAACG,SAAS,GAAG,EAAE;YAC1B,OAAOtD,MAAM,CAAC0E,QAAQ,CAACzB,UAAU,CAAC0B,KAAK,EAAET,IAAI,CAACiB,oBAAS,CAAC,CAAC;UAC3D;QACA,KAAKvF,OAAO,CAACyF,aAAa,CAACmB,QAAQ;UAAE;YACnC,IAAI/C,CAAC,CAAC7C,CAAC,KAAK,OAAO,IAAI6C,CAAC,CAAC7C,CAAC,KAAK,SAAS,EAAE;cACxC,OAAOZ,MAAM,CAAC0E,QAAQ,CAACF,MAAM,EAAEpE,MAAM,CAAC8G,OAAO,CAAC5E,GAAG,EAAEmB,CAAC,CAAC,CAAC;YACxD;YACA,OAAOrD,MAAM,CAAC8G,OAAO,CAAC5E,GAAG,EAAEmB,CAAC,CAAC;UAC/B;QACA,KAAK7D,OAAO,CAACyF,aAAa,CAAC8B,SAAS;UAAE;YACpC,OAAO5C,YAAY,CAACY,oBAAS,CAAC;UAChC;QACA;UAAS;YACP,OAAOnF,MAAM,CAAC8G,IAAI;UACpB;MACF;IACF,CAAC,CAAC,CACH;IAEH,OAAOvE,WAAW,CAACwB,IAAI,CAACU,IAAI,CAC1BzE,MAAM,CAAC4E,GAAG,CAACV,IAAI,CAAC,EAChBlE,MAAM,CAACoH,OAAO,EACdpH,MAAM,CAAC8F,UAAU,EACjB9F,MAAM,CAAC+F,aAAa,CACrB;IAED,OAAON,MAAM,CAAC1B,IAAI,CAACU,IAAI,CACrBzE,MAAM,CAACmE,OAAO,CAACkC,SAAS,CAAC,EACzBrG,MAAM,CAACoH,OAAO,EACdpH,MAAM,CAAC8F,UAAU,EACjB9F,MAAM,CAAC+F,aAAa,CACrB;IAED,OAAO;MAAEsB,EAAE,EAAEzE,KAAK;MAAEsB;IAAI,CAAW;EACrC,CAAC,CAAC,CAACO,IAAI,CACLzE,MAAM,CAAC2D,YAAY,CAAC;IAClB2D,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE,sBAAsB;IAC9B3E;GACD,CAAC,CACH;EAEH,OAAO;IAAED;EAAO,CAAW;AAC7B,CAAC,CAAC;AAOK,MAAM6E,KAAK,GAAA3F,OAAA,CAAA2F,KAAA,gBAAG,IAAAC,mBAAU,EAAsB,0BAA0B,CAAC;AACzE,MAAMC,SAAS,GAAA7F,OAAA,CAAA6F,SAAA,gBAAGxH,KAAK,CAACyH,MAAM,CAACH,KAAK,EAAE5F,IAAI,CAAC,CAAC6C,IAAI,cACrDvE,KAAK,CAAC0H,OAAO,CAACC,wBAAa,CAAC,eAC5B3H,KAAK,CAAC0H,OAAO,CAACE,yBAAc,CAAC,eAC7B5H,KAAK,CAAC0H,OAAO,CAACG,0BAAe,CAAC,CAC/B","ignoreList":[]}
1
+ {"version":3,"file":"Shard.js","names":["_DiscordConfig","require","_DiscordWS","_Messaging","_StateStore","Heartbeats","_interopRequireWildcard","Identify","_RateLimit","Discord","Chunk","_Context","Duration","Effect","Layer","Option","Mailbox","Redacted","Ref","_Effect2","FiberHandle","_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","sendMailbox","Messaging","shardState","ShardStateStore","connect","shard","_","outboundQueue","pendingQueue","reconnectHandle","phase","stateStore","forShard","resumeState","getOrElse","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","annotateLogs","logTrace","outbound","orDie","take","maybeWait","minutes","send","unsafeOffer","heartbeatSend","genFn","prioritySend","offer","resume","clear","msgs","unsafeOfferAll","filter","msg","Reconnect","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","onConnecting","socket","hellos","acquireRelease","shutdown","acks","pipe","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","delayedReconnect","sleep","onPayload","s","DISPATCH","payload","d","session_id","resume_gateway_url","setUrl","HELLO","run","HEARTBEAT_ACK","INVALID_SESSION","RECONNECT","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/HttpClient").HttpClient<import("@effect/platform/HttpClientError").HttpClientError, import("effect/Scope").Scope> | import("dfx/RateLimit").RateLimitStore | import("./DiscordWS").DiscordWSCodec | import("@effect/platform/Socket").WebSocketConstructor | import("./Shard/StateStore").ShardStateStore | ShardStore>;
13
+ export declare const SharderLive: Layer.Layer<Sharder, never, ShardStore | DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("./DiscordWS").DiscordWSCodec | import("./Shard/StateStore").ShardStateStore | import("@effect/platform/Socket").WebSocketConstructor | import("@effect/platform/HttpClient").HttpClient<import("@effect/platform/HttpClientError").HttpClientError, import("effect/Scope").Scope>>;
14
14
  //# sourceMappingURL=Sharder.d.ts.map
@@ -11,35 +11,35 @@ export declare class GlobalApplicationCommand<R, E> {
11
11
  readonly _tag = "GlobalApplicationCommand";
12
12
  constructor(command: Discord.CreateGlobalApplicationCommandParams, handle: CommandHandler<R, E>);
13
13
  }
14
- export declare const global: <R, E, const A extends Discord.CreateGlobalApplicationCommandParams>(command: A, handle: CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand>, E>;
14
+ export declare const global: <R, E, const A extends Discord.CreateGlobalApplicationCommandParams>(command: A, handle: CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, DiscordInteraction | DiscordApplicationCommand | Scope>, E>;
15
15
  export declare class GuildApplicationCommand<R, E> {
16
16
  readonly command: Discord.CreateGuildApplicationCommandParams;
17
17
  readonly handle: CommandHandler<R, E>;
18
18
  readonly _tag = "GuildApplicationCommand";
19
19
  constructor(command: Discord.CreateGuildApplicationCommandParams, handle: CommandHandler<R, E>);
20
20
  }
21
- export declare const guild: <R, E, const A extends Discord.CreateGuildApplicationCommandParams>(command: A, handle: CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand>, E>;
21
+ export declare const guild: <R, E, const A extends Discord.CreateGuildApplicationCommandParams>(command: A, handle: CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, DiscordInteraction | DiscordApplicationCommand | Scope>, E>;
22
22
  export declare class MessageComponent<R, E> {
23
23
  readonly predicate: (customId: string) => boolean;
24
24
  readonly handle: Effect.Effect<Discord.InteractionResponse, E, R>;
25
25
  readonly _tag = "MessageComponent";
26
26
  constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>);
27
27
  }
28
- export declare const messageComponent: <R, E>(pred: (customId: string) => boolean, handle: CommandHandler<R, E, Discord.InteractionResponse>) => MessageComponent<Exclude<R, Scope | DiscordInteraction | DiscordMessageComponent>, E>;
28
+ export declare const messageComponent: <R, E>(pred: (customId: string) => boolean, handle: CommandHandler<R, E, Discord.InteractionResponse>) => MessageComponent<Exclude<R, DiscordInteraction | DiscordMessageComponent | Scope>, E>;
29
29
  export declare class ModalSubmit<R, E> {
30
30
  readonly predicate: (customId: string) => boolean;
31
31
  readonly handle: Effect.Effect<Discord.InteractionResponse, E, R>;
32
32
  readonly _tag = "ModalSubmit";
33
33
  constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>);
34
34
  }
35
- export declare const modalSubmit: <R, E>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>) => ModalSubmit<Exclude<R, Scope | DiscordInteraction | DiscordModalSubmit>, E>;
35
+ export declare const modalSubmit: <R, E>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>) => ModalSubmit<Exclude<R, DiscordInteraction | DiscordModalSubmit | Scope>, E>;
36
36
  export declare class Autocomplete<R, E> {
37
37
  readonly predicate: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => boolean;
38
38
  readonly handle: Effect.Effect<Discord.InteractionResponse, E, R>;
39
39
  readonly _tag = "Autocomplete";
40
40
  constructor(predicate: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>);
41
41
  }
42
- export declare const autocomplete: <R, E>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>) => Autocomplete<Exclude<R, Scope | DiscordInteraction | DiscordApplicationCommand | DiscordFocusedOption>, E>;
42
+ export declare const autocomplete: <R, E>(pred: (data: Discord.ApplicationCommandDatum, focusedOption: Discord.ApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.InteractionResponse, E, R>) => Autocomplete<Exclude<R, DiscordInteraction | DiscordApplicationCommand | DiscordFocusedOption | Scope>, E>;
43
43
  export type CommandHandler<R, E, A = any> = Effect.Effect<Discord.InteractionResponse, E, R> | CommandHandlerFn<R, E, A>;
44
44
  export interface CommandHelper<A> {
45
45
  resolve: <T>(name: AllResolvables<A>["name"], f: (id: Discord.Snowflake, data: Discord.ResolvedDatum) => T | undefined) => Effect.Effect<T, NoSuchElementException, DiscordInteraction>;
@@ -8,9 +8,11 @@ import * as Schedule from "effect/Schedule";
8
8
  import * as Cause from "effect/Cause";
9
9
  import * as Option from "effect/Option";
10
10
  import * as LogLevel from "effect/LogLevel";
11
+ import * as Fiber from "effect/Fiber";
11
12
  export const Reconnect = /*#__PURE__*/Symbol.for("dfx/DiscordGateway/WS/Reconnect");
12
13
  const decoder = /*#__PURE__*/new TextDecoder();
13
14
  const logLevelDebug = /*#__PURE__*/Option.some(LogLevel.Debug);
15
+ const logLevelTrace = /*#__PURE__*/Option.some(LogLevel.Trace);
14
16
  export const DiscordWSCodec = /*#__PURE__*/GenericTag("dfx/DiscordGateway/DiscordWS/Codec");
15
17
  export const JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
16
18
  type: "json",
@@ -33,12 +35,21 @@ const make = /*#__PURE__*/Effect.gen(function* () {
33
35
  openTimeout: 5000
34
36
  });
35
37
  const write = yield* socket.writer;
36
- yield* outbound.pipe(Effect.flatMap(_ => {
37
- if (_ === Reconnect) {
38
- return Effect.zipRight(Effect.logTrace("Reconnecting"), write(new Socket.CloseEvent(1012, "reconnecting")));
38
+ yield* Effect.gen(function* () {
39
+ const fiber = Option.getOrThrow(Fiber.getCurrentFiber());
40
+ while (true) {
41
+ const message = yield* outbound;
42
+ if (message === Reconnect) {
43
+ ;
44
+ fiber.log(["Reconnecting"], Cause.empty, logLevelTrace);
45
+ yield* write(new Socket.CloseEvent(1012, "reconnecting"));
46
+ return;
47
+ }
48
+ ;
49
+ fiber.log([message], Cause.empty, logLevelTrace);
50
+ yield* write(encoding.encode(message));
39
51
  }
40
- return Effect.zipRight(Effect.logTrace(_), write(encoding.encode(_)));
41
- }), Effect.forever, Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
52
+ }).pipe(Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
42
53
  yield* onConnecting.pipe(Effect.zipRight(Effect.withFiberRuntime(fiber => socket.runRaw(_ => {
43
54
  const message = encoding.decode(_);
44
55
  messages.unsafeOffer(message);
@@ -1 +1 @@
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":[]}
1
+ {"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Fiber","Reconnect","Symbol","for","decoder","TextDecoder","logLevelDebug","some","Debug","logLevelTrace","Trace","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","fiber","getOrThrow","getCurrentFiber","message","log","empty","CloseEvent","pipe","annotateLogs","forkScoped","interruptible","zipRight","withFiberRuntime","runRaw","unsafeOffer","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":[]}