dfx 0.77.2 → 0.78.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 (132) hide show
  1. package/Cache/prelude.d.ts +3 -3
  2. package/DiscordConfig.d.ts +7 -6
  3. package/DiscordConfig.d.ts.map +1 -1
  4. package/DiscordConfig.js +1 -3
  5. package/DiscordConfig.js.map +1 -1
  6. package/DiscordGateway/DiscordWS.d.ts +12 -11
  7. package/DiscordGateway/DiscordWS.d.ts.map +1 -1
  8. package/DiscordGateway/DiscordWS.js +8 -5
  9. package/DiscordGateway/DiscordWS.js.map +1 -1
  10. package/DiscordGateway/Messaging.d.ts +28 -0
  11. package/DiscordGateway/Messaging.d.ts.map +1 -0
  12. package/DiscordGateway/Messaging.js +41 -0
  13. package/DiscordGateway/Messaging.js.map +1 -0
  14. package/DiscordGateway/Shard.d.ts +14 -11
  15. package/DiscordGateway/Shard.d.ts.map +1 -1
  16. package/DiscordGateway/Shard.js +20 -17
  17. package/DiscordGateway/Shard.js.map +1 -1
  18. package/DiscordGateway/ShardStore.d.ts +5 -2
  19. package/DiscordGateway/ShardStore.d.ts.map +1 -1
  20. package/DiscordGateway/ShardStore.js +1 -1
  21. package/DiscordGateway/ShardStore.js.map +1 -1
  22. package/DiscordGateway/Sharder.d.ts +9 -18
  23. package/DiscordGateway/Sharder.d.ts.map +1 -1
  24. package/DiscordGateway/Sharder.js +36 -45
  25. package/DiscordGateway/Sharder.js.map +1 -1
  26. package/DiscordGateway/WS.d.ts +14 -10
  27. package/DiscordGateway/WS.d.ts.map +1 -1
  28. package/DiscordGateway/WS.js +31 -21
  29. package/DiscordGateway/WS.js.map +1 -1
  30. package/DiscordGateway.d.ts +10 -7
  31. package/DiscordGateway.d.ts.map +1 -1
  32. package/DiscordGateway.js +13 -31
  33. package/DiscordGateway.js.map +1 -1
  34. package/DiscordREST.d.ts +6 -4
  35. package/DiscordREST.d.ts.map +1 -1
  36. package/DiscordREST.js +7 -6
  37. package/DiscordREST.js.map +1 -1
  38. package/Interactions/context.d.ts +35 -17
  39. package/Interactions/context.d.ts.map +1 -1
  40. package/Interactions/context.js +6 -6
  41. package/Interactions/context.js.map +1 -1
  42. package/Interactions/definitions.d.ts +11 -11
  43. package/Interactions/definitions.d.ts.map +1 -1
  44. package/Interactions/definitions.js.map +1 -1
  45. package/Interactions/gateway.d.ts +7 -6
  46. package/Interactions/gateway.d.ts.map +1 -1
  47. package/Interactions/gateway.js +1 -1
  48. package/Interactions/gateway.js.map +1 -1
  49. package/Interactions/handlers.d.ts +2 -1
  50. package/Interactions/handlers.d.ts.map +1 -1
  51. package/Interactions/webhook.d.ts +5 -6
  52. package/Interactions/webhook.d.ts.map +1 -1
  53. package/Interactions/webhook.js +1 -1
  54. package/Interactions/webhook.js.map +1 -1
  55. package/RateLimit/memory.d.ts +2 -2
  56. package/RateLimit/memory.d.ts.map +1 -1
  57. package/RateLimit/memory.js.map +1 -1
  58. package/RateLimit.d.ts +10 -9
  59. package/RateLimit.d.ts.map +1 -1
  60. package/RateLimit.js +4 -5
  61. package/RateLimit.js.map +1 -1
  62. package/gateway.d.ts +2 -2
  63. package/gateway.d.ts.map +1 -1
  64. package/gateway.js +1 -2
  65. package/gateway.js.map +1 -1
  66. package/index.d.ts +1 -2
  67. package/index.d.ts.map +1 -1
  68. package/index.js +1 -3
  69. package/index.js.map +1 -1
  70. package/mjs/DiscordConfig.mjs +1 -3
  71. package/mjs/DiscordConfig.mjs.map +1 -1
  72. package/mjs/DiscordGateway/DiscordWS.mjs +8 -5
  73. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
  74. package/mjs/DiscordGateway/Messaging.mjs +33 -0
  75. package/mjs/DiscordGateway/Messaging.mjs.map +1 -0
  76. package/mjs/DiscordGateway/Shard.mjs +20 -17
  77. package/mjs/DiscordGateway/Shard.mjs.map +1 -1
  78. package/mjs/DiscordGateway/ShardStore.mjs +1 -1
  79. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -1
  80. package/mjs/DiscordGateway/Sharder.mjs +35 -44
  81. package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
  82. package/mjs/DiscordGateway/WS.mjs +32 -22
  83. package/mjs/DiscordGateway/WS.mjs.map +1 -1
  84. package/mjs/DiscordGateway.mjs +12 -30
  85. package/mjs/DiscordGateway.mjs.map +1 -1
  86. package/mjs/DiscordREST.mjs +7 -6
  87. package/mjs/DiscordREST.mjs.map +1 -1
  88. package/mjs/Interactions/context.mjs +6 -6
  89. package/mjs/Interactions/context.mjs.map +1 -1
  90. package/mjs/Interactions/definitions.mjs.map +1 -1
  91. package/mjs/Interactions/gateway.mjs +1 -1
  92. package/mjs/Interactions/gateway.mjs.map +1 -1
  93. package/mjs/Interactions/webhook.mjs +1 -1
  94. package/mjs/Interactions/webhook.mjs.map +1 -1
  95. package/mjs/RateLimit/memory.mjs.map +1 -1
  96. package/mjs/RateLimit.mjs +4 -5
  97. package/mjs/RateLimit.mjs.map +1 -1
  98. package/mjs/gateway.mjs +1 -2
  99. package/mjs/gateway.mjs.map +1 -1
  100. package/mjs/index.mjs +1 -2
  101. package/mjs/index.mjs.map +1 -1
  102. package/mjs/version.mjs +1 -1
  103. package/mjs/webhooks.mjs +1 -2
  104. package/mjs/webhooks.mjs.map +1 -1
  105. package/package.json +2 -2
  106. package/src/DiscordConfig.ts +10 -8
  107. package/src/DiscordGateway/DiscordWS.ts +23 -13
  108. package/src/DiscordGateway/Messaging.ts +72 -0
  109. package/src/DiscordGateway/Shard.ts +51 -33
  110. package/src/DiscordGateway/ShardStore.ts +8 -3
  111. package/src/DiscordGateway/Sharder.ts +72 -97
  112. package/src/DiscordGateway/WS.ts +64 -32
  113. package/src/DiscordGateway.ts +22 -71
  114. package/src/DiscordREST.ts +40 -27
  115. package/src/Interactions/context.ts +47 -10
  116. package/src/Interactions/definitions.ts +22 -20
  117. package/src/Interactions/gateway.ts +14 -6
  118. package/src/Interactions/handlers.ts +1 -1
  119. package/src/Interactions/webhook.ts +18 -4
  120. package/src/RateLimit/memory.ts +2 -2
  121. package/src/RateLimit.ts +17 -8
  122. package/src/gateway.ts +0 -2
  123. package/src/index.ts +0 -2
  124. package/src/version.ts +1 -1
  125. package/src/webhooks.ts +1 -2
  126. package/version.d.ts +1 -1
  127. package/version.js +1 -1
  128. package/webhooks.d.ts +1 -2
  129. package/webhooks.d.ts.map +1 -1
  130. package/webhooks.js +1 -2
  131. package/webhooks.js.map +1 -1
  132. package/src/Log.ts +0 -24
@@ -27,7 +27,7 @@ export interface OpsOptions<E, A> {
27
27
  remove: Stream.Stream<never, E, string>;
28
28
  }
29
29
  export declare const ops: <E, T>({ create, id, remove, update, }: OpsOptions<E, T>) => Stream.Stream<never, E, CacheOp<T>>;
30
- export declare const guilds: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, CacheDriver<E, Discord.Guild>>) => Effect.Effect<Scope.Scope | DiscordREST | DiscordGateway | RM, EM, Cache<E, DiscordRESTError | ResponseError, Discord.Guild>>;
31
- export declare const channels: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>) => Effect.Effect<Scope.Scope | DiscordREST | DiscordGateway | RM, EM, ParentCache<E, DiscordRESTError | ResponseError, DiscordRESTError | ResponseError, Discord.Channel>>;
32
- export declare const roles: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>) => Effect.Effect<Scope.Scope | DiscordREST | DiscordGateway | RM, EM, ParentCache<E, CacheMissError, DiscordRESTError | ResponseError, Discord.Role>>;
30
+ export declare const guilds: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, CacheDriver<E, Discord.Guild>>) => Effect.Effect<DiscordREST | DiscordGateway | Scope.Scope | RM, EM, Cache<E, DiscordRESTError | ResponseError, Discord.Guild>>;
31
+ export declare const channels: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>) => Effect.Effect<DiscordREST | DiscordGateway | Scope.Scope | RM, EM, ParentCache<E, DiscordRESTError | ResponseError, DiscordRESTError | ResponseError, Discord.Channel>>;
32
+ export declare const roles: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>) => Effect.Effect<DiscordREST | DiscordGateway | Scope.Scope | RM, EM, ParentCache<E, CacheMissError, DiscordRESTError | ResponseError, Discord.Role>>;
33
33
  //# sourceMappingURL=prelude.d.ts.map
@@ -6,8 +6,10 @@ import type * as ConfigSecret from "effect/ConfigSecret";
6
6
  import * as Layer from "effect/Layer";
7
7
  import * as Discord from "dfx/types";
8
8
  export interface DiscordConfig {
9
+ readonly _: unique symbol;
10
+ }
11
+ export interface DiscordConfigService {
9
12
  readonly token: ConfigSecret.ConfigSecret;
10
- readonly debug: boolean;
11
13
  readonly rest: {
12
14
  readonly baseUrl: string;
13
15
  readonly globalRateLimit: {
@@ -22,14 +24,13 @@ export interface DiscordConfig {
22
24
  readonly identifyRateLimit: readonly [window: number, limit: number];
23
25
  };
24
26
  }
25
- export declare const DiscordConfig: Tag<DiscordConfig, DiscordConfig>;
27
+ export declare const DiscordConfig: Tag<DiscordConfig, DiscordConfigService>;
26
28
  export interface MakeOpts {
27
29
  readonly token: ConfigSecret.ConfigSecret;
28
- readonly debug?: boolean;
29
- readonly rest?: Partial<DiscordConfig["rest"]>;
30
- readonly gateway?: Partial<DiscordConfig["gateway"]>;
30
+ readonly rest?: Partial<DiscordConfigService["rest"]>;
31
+ readonly gateway?: Partial<DiscordConfigService["gateway"]>;
31
32
  }
32
- export declare const make: ({ debug, gateway, rest, token, }: MakeOpts) => DiscordConfig;
33
+ export declare const make: ({ gateway, rest, token, }: MakeOpts) => DiscordConfigService;
33
34
  export declare const layer: (opts: MakeOpts) => Layer.Layer<never, never, DiscordConfig>;
34
35
  export declare const layerConfig: (_: Config.Config.Wrap<MakeOpts>) => Layer.Layer<never, ConfigError.ConfigError, DiscordConfig>;
35
36
  //# sourceMappingURL=DiscordConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordConfig.d.ts","sourceRoot":"","sources":["./src/DiscordConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAIpC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,eAAe,EAAE;YACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;SACxC,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;QAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAE5B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KACrE,CAAA;CACF;AACD,eAAO,MAAM,aAAa,mCAAuB,CAAA;AAEjD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;IACzC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAA;IAC9C,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAA;CACrD;AAED,eAAO,MAAM,IAAI,qCAKd,QAAQ,KAAG,aAiBZ,CAAA;AAEF,eAAO,MAAM,KAAK,SACV,QAAQ,KACb,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CACA,CAAA;AAE1C,eAAO,MAAM,WAAW,MACnB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAC9B,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,aAAa,CACoB,CAAA"}
1
+ {"version":3,"file":"DiscordConfig.d.ts","sourceRoot":"","sources":["./src/DiscordConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,KAAK,YAAY,MAAM,qBAAqB,CAAA;AAExD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAIpC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;IACzC,QAAQ,CAAC,IAAI,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,eAAe,EAAE;YACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;YACtB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAA;SACxC,CAAA;KACF,CAAA;IACD,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,cAAc,CAAA;QAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;QAE5B,QAAQ,CAAC,iBAAiB,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;KACrE,CAAA;CACF;AACD,eAAO,MAAM,aAAa,0CAEzB,CAAA;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,YAAY,CAAA;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAA;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC,CAAA;CAC5D;AAED,eAAO,MAAM,IAAI,8BAId,QAAQ,KAAG,oBAgBZ,CAAA;AAEF,eAAO,MAAM,KAAK,SACV,QAAQ,KACb,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,aAAa,CACA,CAAA;AAE1C,eAAO,MAAM,WAAW,MACnB,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAC9B,WAAW,CAAC,KAAK,EAAE,uBAAuB,EAAE,aAAa,CACoB,CAAA"}
package/DiscordConfig.js CHANGED
@@ -13,15 +13,13 @@ var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/ty
13
13
  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); }
14
14
  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 && Object.prototype.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; }
15
15
  const VERSION = 10;
16
- const DiscordConfig = exports.DiscordConfig = /*#__PURE__*/(0, _Context.Tag)();
16
+ const DiscordConfig = exports.DiscordConfig = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordConfig");
17
17
  const make = ({
18
- debug = false,
19
18
  gateway,
20
19
  rest,
21
20
  token
22
21
  }) => ({
23
22
  token,
24
- debug,
25
23
  rest: {
26
24
  baseUrl: `https://discord.com/api/v${VERSION}`,
27
25
  ...(rest ?? {}),
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordConfig.js","names":["_Context","require","Duration","_interopRequireWildcard","Config","Effect","Layer","Discord","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","VERSION","DiscordConfig","exports","Tag","make","debug","gateway","rest","token","baseUrl","globalRateLimit","limit","window","seconds","intents","GatewayIntents","GUILDS","identifyRateLimit","layer","opts","succeed","layerConfig","_","effect","map","config","unwrap"],"sources":["./src/DiscordConfig.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"DiscordConfig.js","names":["_Context","require","Duration","_interopRequireWildcard","Config","Effect","Layer","Discord","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","VERSION","DiscordConfig","exports","Tag","make","gateway","rest","token","baseUrl","globalRateLimit","limit","window","seconds","intents","GatewayIntents","GUILDS","identifyRateLimit","layer","opts","succeed","layerConfig","_","effect","map","config","unwrap"],"sources":["./src/DiscordConfig.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  import { Tag } from "effect/Context";
3
3
  import * as Effect from "effect/Effect";
4
4
  import * as Layer from "effect/Layer";
5
- import { Reconnect, WS } from "dfx/DiscordGateway/WS";
5
+ import { Reconnect } from "dfx/DiscordGateway/WS";
6
6
  import type * as Discord from "dfx/types";
7
7
  import type WebSocket from "isomorphic-ws";
8
8
  export type Message = Discord.GatewayPayload | Reconnect;
@@ -13,23 +13,24 @@ export interface OpenOpts {
13
13
  outbound: Effect.Effect<never, never, Message>;
14
14
  onConnecting?: Effect.Effect<never, never, void>;
15
15
  }
16
- export interface DiscordWSCodec {
16
+ export interface DiscordWSCodecService {
17
17
  type: "json" | "etf";
18
18
  encode: (p: Discord.GatewayPayload) => string;
19
19
  decode: (p: WebSocket.Data) => Discord.GatewayPayload;
20
20
  }
21
- export declare const DiscordWSCodec: Tag<DiscordWSCodec, DiscordWSCodec>;
21
+ export interface DiscordWSCodec {
22
+ readonly _: unique symbol;
23
+ }
24
+ export declare const DiscordWSCodec: Tag<DiscordWSCodec, DiscordWSCodecService>;
22
25
  export declare const JsonDiscordWSCodecLive: Layer.Layer<never, never, DiscordWSCodec>;
23
- declare const make: Effect.Effect<DiscordWSCodec | WS, never, {
24
- readonly connect: ({ onConnecting, outbound, url, version, }: OpenOpts) => Effect.Effect<never, never, {
25
- readonly run: Effect.Effect<never, import("dfx/DiscordGateway/WS").WebSocketError | import("dfx/DiscordGateway/WS").WebSocketCloseError, void>;
26
+ export interface DiscordWS {
27
+ readonly _: unique symbol;
28
+ }
29
+ export declare const DiscordWS: Tag<DiscordWS, {
30
+ readonly connect: ({ onConnecting, outbound, url, version, }: OpenOpts) => Effect.Effect<import("effect/Scope").Scope, never, {
26
31
  readonly take: Effect.Effect<never, never, Discord.GatewayPayload<any>>;
27
32
  readonly setUrl: (url: string) => Effect.Effect<never, never, void>;
28
33
  }>;
29
34
  }>;
30
- export interface DiscordWS extends Effect.Effect.Success<typeof make> {
31
- }
32
- export declare const DiscordWS: Tag<DiscordWS, DiscordWS>;
33
- export declare const DiscordWSLive: Layer.Layer<DiscordWSCodec | import("../Log").Log, never, DiscordWS>;
34
- export {};
35
+ export declare const DiscordWSLive: Layer.Layer<DiscordWSCodec, never, DiscordWS>;
35
36
  //# sourceMappingURL=DiscordWS.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAU,SAAS,EAAE,EAAE,EAAE,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,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,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,CAAA;IAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAA;CACtD;AACD,eAAO,MAAM,cAAc,qCAAwB,CAAA;AACnD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AAEF,QAAA,MAAM,IAAI;kEASL,QAAQ;;;+BAKc,MAAM;;EAuB/B,CAAA;AAEF,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACxE,eAAO,MAAM,SAAS,2BAAmB,CAAA;AACzC,eAAO,MAAM,aAAa,sEAGzB,CAAA"}
1
+ {"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAU,SAAS,EAAM,MAAM,uBAAuB,CAAA;AAC7D,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,SAAS,MAAM,eAAe,CAAA;AAE1C,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,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,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,CAAA;IAC7C,MAAM,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,KAAK,OAAO,CAAC,cAAc,CAAA;CACtD;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,cAAc,4CAE1B,CAAA;AACD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AA0CF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS;kEAlCjB,QAAQ;;+BAKc,MAAM;;EA+BhC,CAAA;AACD,eAAO,MAAM,aAAa,+CAGzB,CAAA"}
@@ -11,7 +11,7 @@ var Ref = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Ref
11
11
  var _WS = /*#__PURE__*/require("dfx/DiscordGateway/WS");
12
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
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 && Object.prototype.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
- const DiscordWSCodec = exports.DiscordWSCodec = /*#__PURE__*/(0, _Context.Tag)();
14
+ const DiscordWSCodec = exports.DiscordWSCodec = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordGateway/DiscordWS/Codec");
15
15
  const JsonDiscordWSCodecLive = exports.JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
16
16
  type: "json",
17
17
  encode: p => JSON.stringify(p),
@@ -29,11 +29,14 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
29
29
  const urlRef = yield* _(Ref.make(`${url}?v=${version}&encoding=${encoding.type}`));
30
30
  const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
31
31
  const takeOutbound = Effect.map(outbound, msg => msg === _WS.Reconnect ? msg : encoding.encode(msg));
32
- const socket = yield* _(ws.connect(urlRef, takeOutbound, onConnecting));
32
+ const socket = yield* _(ws.connect({
33
+ urlRef,
34
+ takeOutbound,
35
+ onConnecting,
36
+ reconnectWhen: e => e._tag === "WebSocketCloseError" && e.code < 2000 || e._tag === "WebSocketError" && e.reason === "open-timeout"
37
+ }));
33
38
  const take = Effect.map(socket.take, encoding.decode);
34
- const run = Effect.retryWhile(socket.run, e => e._tag === "WebSocketCloseError" && e.code < 2000 || e._tag === "WebSocketError" && e.reason === "open-timeout");
35
39
  return {
36
- run,
37
40
  take,
38
41
  setUrl
39
42
  };
@@ -42,6 +45,6 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
42
45
  connect
43
46
  };
44
47
  });
45
- const DiscordWS = exports.DiscordWS = /*#__PURE__*/(0, _Context.Tag)();
48
+ const DiscordWS = exports.DiscordWS = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordGateway/DiscordWS");
46
49
  const DiscordWSLive = exports.DiscordWSLive = /*#__PURE__*/Layer.provide( /*#__PURE__*/Layer.effect(DiscordWS, make), _WS.WSLive);
47
50
  //# sourceMappingURL=DiscordWS.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","_WS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DiscordWSCodec","exports","Tag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","toString","make","gen","_","ws","WS","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","takeOutbound","map","msg","Reconnect","socket","take","run","retryWhile","_tag","code","reason","DiscordWS","DiscordWSLive","provide","effect","WSLive"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","_WS","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","DiscordWSCodec","exports","Tag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","toString","make","gen","_","ws","WS","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","takeOutbound","map","msg","Reconnect","socket","reconnectWhen","_tag","code","reason","take","DiscordWS","DiscordWSLive","provide","effect","WSLive"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Tag } from "effect/Context";
2
+ import * as Effect from "effect/Effect";
3
+ import * as PubSub from "effect/PubSub";
4
+ import * as Layer from "effect/Layer";
5
+ import * as Queue from "effect/Queue";
6
+ import * as Stream from "effect/Stream";
7
+ import type * as Discord from "dfx/types";
8
+ export declare const make: Effect.Effect<import("effect/Scope").Scope, never, {
9
+ readonly hub: PubSub.PubSub<Discord.GatewayPayload<Discord.ReceiveEvent>>;
10
+ readonly sendQueue: Queue.Queue<Discord.GatewayPayload<Discord.SendEvent>>;
11
+ readonly dispatch: Stream.Stream<never, never, Discord.GatewayPayload<Discord.ReceiveEvent>>;
12
+ readonly fromDispatch: <K extends keyof Discord.ReceiveEvents>(event: K) => Stream.Stream<never, never, Discord.ReceiveEvents[K]>;
13
+ readonly handleDispatch: <K_1 extends keyof Discord.ReceiveEvents, R, E, A>(event: K_1, handle: (event: Discord.ReceiveEvents[K_1]) => Effect.Effect<R, E, A>) => Effect.Effect<R, E, never>;
14
+ readonly send: (payload: Discord.GatewayPayload<Discord.SendEvent>) => Effect.Effect<never, never, boolean>;
15
+ }>;
16
+ export interface Messsaging {
17
+ readonly _: unique symbol;
18
+ }
19
+ export declare const Messaging: Tag<Messsaging, {
20
+ readonly hub: PubSub.PubSub<Discord.GatewayPayload<Discord.ReceiveEvent>>;
21
+ readonly sendQueue: Queue.Queue<Discord.GatewayPayload<Discord.SendEvent>>;
22
+ readonly dispatch: Stream.Stream<never, never, Discord.GatewayPayload<Discord.ReceiveEvent>>;
23
+ readonly fromDispatch: <K extends keyof Discord.ReceiveEvents>(event: K) => Stream.Stream<never, never, Discord.ReceiveEvents[K]>;
24
+ readonly handleDispatch: <K_1 extends keyof Discord.ReceiveEvents, R, E, A>(event: K_1, handle: (event: Discord.ReceiveEvents[K_1]) => Effect.Effect<R, E, A>) => Effect.Effect<R, E, never>;
25
+ readonly send: (payload: Discord.GatewayPayload<Discord.SendEvent>) => Effect.Effect<never, never, boolean>;
26
+ }>;
27
+ export declare const MesssagingLive: Layer.Layer<never, never, Messsaging>;
28
+ //# sourceMappingURL=Messaging.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messaging.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Messaging.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AA4BzC,eAAO,MAAM,IAAI;;;;;;6BAcQ,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC;EAehE,CAAA;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS;;;;;;6BApBG,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC;EAsBjE,CAAA;AACD,eAAO,MAAM,cAAc,uCAAgC,CAAA"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = exports.MesssagingLive = exports.Messaging = void 0;
7
+ var _Context = /*#__PURE__*/require("effect/Context");
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Effect"));
9
+ var PubSub = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/PubSub"));
10
+ var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
+ var Queue = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Queue"));
12
+ var Stream = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Stream"));
13
+ var EffectUtils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/utils/Effect"));
14
+ 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); }
15
+ 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 && Object.prototype.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; }
16
+ const fromDispatchFactory = source => event => Stream.map(Stream.filter(source, p => p.t === event), p => p.d);
17
+ const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeForEachPar(hub, _ => {
18
+ if (_.t === event) {
19
+ return handle(_.d);
20
+ }
21
+ return Effect.unit;
22
+ });
23
+ const make = exports.make = /*#__PURE__*/Effect.gen(function* (_) {
24
+ const hub = yield* _(Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown));
25
+ const sendQueue = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
26
+ const send = payload => sendQueue.offer(payload);
27
+ const dispatch = Stream.fromPubSub(hub);
28
+ const fromDispatch = fromDispatchFactory(dispatch);
29
+ const handleDispatch = handleDispatchFactory(hub);
30
+ return {
31
+ hub,
32
+ sendQueue,
33
+ dispatch,
34
+ fromDispatch,
35
+ handleDispatch,
36
+ send
37
+ };
38
+ });
39
+ const Messaging = exports.Messaging = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordGateway/Messaging");
40
+ const MesssagingLive = exports.MesssagingLive = /*#__PURE__*/Layer.scoped(Messaging, make);
41
+ //# sourceMappingURL=Messaging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Messaging.js","names":["_Context","require","Effect","_interopRequireWildcard","PubSub","Layer","Queue","Stream","EffectUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","fromDispatchFactory","source","event","map","filter","p","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","unit","make","exports","gen","acquireRelease","unbounded","shutdown","sendQueue","send","payload","offer","dispatch","fromPubSub","fromDispatch","handleDispatch","Messaging","Tag","MesssagingLive","scoped"],"sources":["../src/DiscordGateway/Messaging.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -1,25 +1,28 @@
1
1
  import { Tag } from "effect/Context";
2
2
  import * as Effect from "effect/Effect";
3
- import * as PubSub from "effect/PubSub";
4
3
  import * as Layer from "effect/Layer";
5
- import * as Queue from "effect/Queue";
6
4
  import { DiscordConfig } from "dfx/DiscordConfig";
7
5
  import type { Message } from "dfx/DiscordGateway/DiscordWS";
8
6
  import { DiscordWS } from "dfx/DiscordGateway/DiscordWS";
9
- import { Log } from "dfx/Log";
10
7
  import { RateLimiter } from "dfx/RateLimit";
11
- import * as Discord from "dfx/types";
12
- export declare const make: Effect.Effect<Log | DiscordWS | RateLimiter | DiscordConfig, never, {
13
- readonly connect: (shard: [id: number, count: number], hub: PubSub.PubSub<Discord.GatewayPayload<Discord.ReceiveEvent>>, sendQueue: Queue.Dequeue<Discord.GatewayPayload<Discord.SendEvent>>) => Effect.Effect<never, never, {
8
+ export declare const make: Effect.Effect<RateLimiter | DiscordConfig | import("dfx/DiscordGateway/Messaging").Messsaging | DiscordWS, never, {
9
+ readonly connect: (shard: [id: number, count: number]) => Effect.Effect<import("effect/Scope").Scope, never, {
14
10
  readonly id: [id: number, count: number];
15
11
  readonly send: (p: Message) => Effect.Effect<never, never, boolean>;
16
- readonly run: Effect.Effect<never, import("dfx/DiscordGateway/WS").WebSocketError | import("dfx/DiscordGateway/WS").WebSocketCloseError, void>;
17
12
  }>;
18
13
  }>;
19
- export interface Shard extends Effect.Effect.Success<typeof make> {
14
+ type ShardService = Effect.Effect.Success<typeof make>;
15
+ export interface Shard {
16
+ readonly _: unique symbol;
20
17
  }
21
- export declare const Shard: Tag<Shard, Shard>;
22
- export declare const ShardLive: Layer.Layer<import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec | Log | import("dfx/RateLimit").RateLimitStore | DiscordConfig, never, Shard>;
23
- export interface RunningShard extends Effect.Effect.Success<ReturnType<Shard["connect"]>> {
18
+ export declare const Shard: Tag<Shard, {
19
+ readonly connect: (shard: [id: number, count: number]) => Effect.Effect<import("effect/Scope").Scope, never, {
20
+ readonly id: [id: number, count: number];
21
+ readonly send: (p: Message) => Effect.Effect<never, never, boolean>;
22
+ }>;
23
+ }>;
24
+ export declare const ShardLive: Layer.Layer<import("dfx/RateLimit").RateLimitStore | DiscordConfig | import("dfx/DiscordGateway/DiscordWS").DiscordWSCodec, never, Shard>;
25
+ export interface RunningShard extends Effect.Effect.Success<ReturnType<ShardService["connect"]>> {
24
26
  }
27
+ export {};
25
28
  //# sourceMappingURL=Shard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAKpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAiB,MAAM,8BAA8B,CAAA;AAMvE,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAQpC,eAAO,MAAM,IAAI;8BAON,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAC7B,aAAa,CAAC,QAAQ,cAAc,CAAC,QAAQ,YAAY,CAAC,CAAC,aACrD,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC,CAAC;;2BAahD,OAAO;;;EA0I5B,CAAA;AAEF,MAAM,WAAW,KAAM,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACpE,eAAO,MAAM,KAAK,mBAAe,CAAA;AACjC,eAAO,MAAM,SAAS,iJAGrB,CAAA;AAED,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
1
+ {"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAKpC,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,EAAE,SAAS,EAAiB,MAAM,8BAA8B,CAAA;AAMvE,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAU5D,eAAO,MAAM,IAAI;8BAMS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;EAwJ5B,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;8BA9KQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;2BAe9B,OAAO;;EA+J2C,CAAA;AACzE,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"}
@@ -22,9 +22,9 @@ var Identify = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/D
22
22
  var InvalidSession = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/invalidSession"));
23
23
  var Utils = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordGateway/Shard/utils"));
24
24
  var _WS = /*#__PURE__*/require("dfx/DiscordGateway/WS");
25
- var _Log = /*#__PURE__*/require("dfx/Log");
26
25
  var _RateLimit = /*#__PURE__*/require("dfx/RateLimit");
27
26
  var Discord = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/types"));
27
+ var _Messaging = /*#__PURE__*/require("dfx/DiscordGateway/Messaging");
28
28
  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); }
29
29
  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 && Object.prototype.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; }
30
30
  const make = exports.make = /*#__PURE__*/Effect.gen(function* (_) {
@@ -34,12 +34,15 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* (_) {
34
34
  } = yield* _(_DiscordConfig.DiscordConfig);
35
35
  const limiter = yield* _(_RateLimit.RateLimiter);
36
36
  const dws = yield* _(_DiscordWS.DiscordWS);
37
- const log = yield* _(_Log.Log);
38
- const connect = (shard, hub, sendQueue) => Effect.gen(function* (_) {
37
+ const {
38
+ hub,
39
+ sendQueue
40
+ } = yield* _(_Messaging.Messaging);
41
+ const connect = shard => Effect.gen(function* (_) {
39
42
  const outboundQueue = yield* _(Queue.unbounded());
40
43
  const pendingQueue = yield* _(Queue.unbounded());
41
44
  const phase = yield* _(Ref.make(0 /* Phase.Connecting */));
42
- const setPhase = p => Effect.zipLeft(Ref.set(phase, p), log.debug("Shard", shard, "phase", p));
45
+ const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
43
46
  const outbound = Effect.zipLeft(Queue.take(outboundQueue), limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120));
44
47
  const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? Queue.offer(outboundQueue, p) : Queue.offer(pendingQueue, p));
45
48
  const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ? Queue.offer(outboundQueue, p) : Effect.succeed(false));
@@ -59,10 +62,10 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* (_) {
59
62
  resume_gateway_url
60
63
  }) => socket.setUrl(resume_gateway_url)
61
64
  });
62
- const hellos = yield* _(Queue.unbounded());
63
- const acks = yield* _(Queue.unbounded());
65
+ const hellos = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
66
+ const acks = yield* _(Effect.acquireRelease(Queue.unbounded(), Queue.shutdown));
64
67
  // heartbeats
65
- const heartbeats = Heartbeats.send(hellos, acks, latestSequence, heartbeatSend);
68
+ yield* _(Heartbeats.send(hellos, acks, latestSequence, heartbeatSend), Effect.forkScoped);
66
69
  // identify
67
70
  const identify = Identify.identifyOrResume({
68
71
  token: ConfigSecret.value(token),
@@ -87,21 +90,21 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* (_) {
87
90
  return Effect.unit;
88
91
  }
89
92
  }));
90
- const drainSendQueue = Effect.forever(Effect.tap(Queue.take(sendQueue), send));
91
- const run = Effect.all([Effect.forever(Effect.flatMap(socket.take, onPayload)), heartbeats, drainSendQueue, socket.run], {
92
- discard: true,
93
- concurrency: "unbounded"
94
- });
93
+ yield* _(Queue.take(sendQueue), Effect.tap(send), Effect.forever, Effect.forkScoped);
94
+ yield* _(socket.take, Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped);
95
95
  return {
96
96
  id: shard,
97
- send,
98
- run
97
+ send
99
98
  };
100
- });
99
+ }).pipe(Effect.annotateLogs({
100
+ package: "dfx",
101
+ module: "DiscordGateway/Shard",
102
+ shard
103
+ }));
101
104
  return {
102
105
  connect
103
106
  };
104
107
  });
105
- const Shard = exports.Shard = /*#__PURE__*/(0, _Context.Tag)();
106
- const ShardLive = exports.ShardLive = /*#__PURE__*/Layer.provide( /*#__PURE__*/Layer.effect(Shard, make), /*#__PURE__*/Layer.merge(_DiscordWS.DiscordWSLive, _RateLimit.RateLimiterLive));
108
+ const Shard = exports.Shard = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordGateway/Shard");
109
+ const ShardLive = exports.ShardLive = /*#__PURE__*/Layer.effect(Shard, make).pipe( /*#__PURE__*/Layer.provide(_DiscordWS.DiscordWSLive), /*#__PURE__*/Layer.provide(_Messaging.MesssagingLive), /*#__PURE__*/Layer.provide(_RateLimit.RateLimiterLive));
107
110
  //# sourceMappingURL=Shard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Shard.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","_Function","Option","ConfigSecret","Effect","PubSub","Layer","Queue","Ref","_DiscordConfig","_DiscordWS","Heartbeats","Identify","InvalidSession","Utils","_WS","_Log","_RateLimit","Discord","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","make","exports","gen","_","gateway","token","DiscordConfig","limiter","RateLimiter","dws","DiscordWS","log","Log","connect","shard","hub","sendQueue","outboundQueue","unbounded","pendingQueue","phase","setPhase","p","zipLeft","debug","outbound","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","pipe","zipRight","takeAll","tap","offerAll","asUnit","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","unit","onSome","resume_gateway_url","setUrl","hellos","acks","heartbeats","identify","identifyOrResume","value","intents","presence","onPayload","HELLO","HEARTBEAT_ACK","INVALID_SESSION","fromPayload","publish","drainSendQueue","forever","run","all","discard","concurrency","id","Shard","Tag","ShardLive","provide","effect","merge","DiscordWSLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"Shard.js","names":["Chunk","_interopRequireWildcard","require","_Context","Duration","_Function","Option","ConfigSecret","Effect","PubSub","Layer","Queue","Ref","_DiscordConfig","_DiscordWS","Heartbeats","Identify","InvalidSession","Utils","_WS","_RateLimit","Discord","_Messaging","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","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","asUnit","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","unit","onSome","resume_gateway_url","setUrl","hellos","acquireRelease","shutdown","acks","forkScoped","identify","identifyOrResume","value","intents","presence","onPayload","HELLO","HEARTBEAT_ACK","INVALID_SESSION","fromPayload","publish","forever","id","package","module","Shard","Tag","ShardLive","effect","provide","DiscordWSLive","MesssagingLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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"}
@@ -6,11 +6,14 @@ export interface ClaimIdContext {
6
6
  sharderCount: number;
7
7
  totalCount: number;
8
8
  }
9
- export interface ShardStore {
9
+ export interface ShardStoreService {
10
10
  claimId: (ctx: ClaimIdContext) => Effect.Effect<never, never, Option.Option<number>>;
11
11
  allClaimed: (totalCount: number) => Effect.Effect<never, never, boolean>;
12
12
  heartbeat?: (shardId: number) => Effect.Effect<never, never, void>;
13
13
  }
14
- export declare const ShardStore: Tag<ShardStore, ShardStore>;
14
+ export interface ShardStore {
15
+ readonly _: unique symbol;
16
+ }
17
+ export declare const ShardStore: Tag<ShardStore, ShardStoreService>;
15
18
  export declare const MemoryShardStoreLive: Layer.Layer<never, never, ShardStore>;
16
19
  //# sourceMappingURL=ShardStore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShardStore.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/ShardStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,CACP,GAAG,EAAE,cAAc,KAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACxE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACnE;AACD,eAAO,MAAM,UAAU,6BAAoB,CAAA;AAsB3C,eAAO,MAAM,oBAAoB,uCAAsC,CAAA"}
1
+ {"version":3,"file":"ShardStore.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/ShardStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,CACP,GAAG,EAAE,cAAc,KAChB,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACvD,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IACxE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACnE;AACD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,UAAU,oCAEtB,CAAA;AAsBD,eAAO,MAAM,oBAAoB,uCAAsC,CAAA"}
@@ -10,7 +10,7 @@ var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/
10
10
  var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("effect/Layer"));
11
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); }
12
12
  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 && Object.prototype.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
- const ShardStore = exports.ShardStore = /*#__PURE__*/(0, _Context.Tag)();
13
+ const ShardStore = exports.ShardStore = /*#__PURE__*/(0, _Context.Tag)("dfx/DiscordGateway/ShardStore");
14
14
  // Very basic shard id store, that does no health checks
15
15
  const memoryStore = () => {
16
16
  let currentId = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"ShardStore.js","names":["_Context","require","Option","_interopRequireWildcard","Effect","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ShardStore","exports","Tag","memoryStore","currentId","claimId","totalCount","sync","none","id","some","allClaimed","MemoryShardStoreLive"],"sources":["../src/DiscordGateway/ShardStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,MAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,KAAA,gBAAAF,uBAAA,eAAAF,OAAA;AAAqC,SAAAK,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,SAAAJ,wBAAAI,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAc9B,MAAMY,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAG,IAAAE,YAAG,GAAc;AAE3C;AACA,MAAMC,WAAW,GAAGA,CAAA,KAAiB;EACnC,IAAIC,SAAS,GAAG,CAAC;EAEjB,OAAO;IACLC,OAAO,EAAEA,CAAC;MAAEC;IAAU,CAAE,KACtB7B,MAAM,CAAC8B,IAAI,CAAC,MAAK;MACf,IAAIH,SAAS,IAAIE,UAAU,EAAE;QAC3B,OAAO/B,MAAM,CAACiC,IAAI,EAAE;MACtB;MAEA,MAAMC,EAAE,GAAGL,SAAS;MACpBA,SAAS,EAAE;MACX,OAAO7B,MAAM,CAACmC,IAAI,CAACD,EAAE,CAAC;IACxB,CAAC,CAAC;IAEJE,UAAU,EAAEL,UAAU,IAAI7B,MAAM,CAAC8B,IAAI,CAAC,MAAMH,SAAS,IAAIE,UAAU;GACpE;AACH,CAAC;AAEM,MAAMM,oBAAoB,GAAAX,OAAA,CAAAW,oBAAA,gBAAGlC,KAAK,CAAC6B,IAAI,CAACP,UAAU,EAAEG,WAAW,CAAC"}
1
+ {"version":3,"file":"ShardStore.js","names":["_Context","require","Option","_interopRequireWildcard","Effect","Layer","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ShardStore","exports","Tag","memoryStore","currentId","claimId","totalCount","sync","none","id","some","allClaimed","MemoryShardStoreLive"],"sources":["../src/DiscordGateway/ShardStore.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAC,uBAAA,eAAAF,OAAA;AACA,IAAAG,MAAA,gBAAAD,uBAAA,eAAAF,OAAA;AACA,IAAAI,KAAA,gBAAAF,uBAAA,eAAAF,OAAA;AAAqC,SAAAK,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,SAAAJ,wBAAAI,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,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAiB9B,MAAMY,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAG,IAAAE,YAAG,EAC3B,+BAA+B,CAChC;AAED;AACA,MAAMC,WAAW,GAAGA,CAAA,KAAwB;EAC1C,IAAIC,SAAS,GAAG,CAAC;EAEjB,OAAO;IACLC,OAAO,EAAEA,CAAC;MAAEC;IAAU,CAAE,KACtB7B,MAAM,CAAC8B,IAAI,CAAC,MAAK;MACf,IAAIH,SAAS,IAAIE,UAAU,EAAE;QAC3B,OAAO/B,MAAM,CAACiC,IAAI,EAAE;MACtB;MAEA,MAAMC,EAAE,GAAGL,SAAS;MACpBA,SAAS,EAAE;MACX,OAAO7B,MAAM,CAACmC,IAAI,CAACD,EAAE,CAAC;IACxB,CAAC,CAAC;IAEJE,UAAU,EAAEL,UAAU,IAAI7B,MAAM,CAAC8B,IAAI,CAAC,MAAMH,SAAS,IAAIE,UAAU;GACpE;AACH,CAAC;AAEM,MAAMM,oBAAoB,GAAAX,OAAA,CAAAW,oBAAA,gBAAGlC,KAAK,CAAC6B,IAAI,CAACP,UAAU,EAAEG,WAAW,CAAC"}
@@ -1,24 +1,15 @@
1
- import { Tag } from "effect/Context";
2
- import * as HashSet from "effect/HashSet";
3
- import * as Effect from "effect/Effect";
4
- import type * as PubSub from "effect/PubSub";
5
- import * as Layer from "effect/Layer";
6
- import type * as Queue from "effect/Queue";
7
1
  import { DiscordConfig } from "dfx/DiscordConfig";
8
2
  import type { RunningShard } from "dfx/DiscordGateway/Shard";
9
- import { Shard } from "dfx/DiscordGateway/Shard";
10
3
  import { ShardStore } from "dfx/DiscordGateway/ShardStore";
11
- import type { WebSocketCloseError, WebSocketError } from "dfx/DiscordGateway/WS";
12
- import { DiscordREST } from "dfx/DiscordREST";
13
- import { RateLimiter } from "dfx/RateLimit";
14
- import type * as Discord from "dfx/types";
15
- declare const make: Effect.Effect<RateLimiter | ShardStore | DiscordREST | DiscordConfig | Shard, never, {
4
+ import { Tag } from "effect/Context";
5
+ import * as Effect from "effect/Effect";
6
+ import * as HashSet from "effect/HashSet";
7
+ import * as Layer from "effect/Layer";
8
+ export interface Sharder {
9
+ readonly _: unique symbol;
10
+ }
11
+ export declare const Sharder: Tag<Sharder, {
16
12
  readonly shards: Effect.Effect<never, never, HashSet.HashSet<RunningShard>>;
17
- readonly run: (hub: PubSub.PubSub<Discord.GatewayPayload<Discord.ReceiveEvent>>, sendQueue: Queue.Dequeue<Discord.GatewayPayload<Discord.SendEvent>>) => Effect.Effect<never, WebSocketError | WebSocketCloseError, never>;
18
13
  }>;
19
- export interface Sharder extends Effect.Effect.Success<typeof make> {
20
- }
21
- export declare const Sharder: Tag<Sharder, Sharder>;
22
- export declare const SharedLive: Layer.Layer<import("./DiscordWS").DiscordWSCodec | import("../Log").Log | import("dfx/RateLimit").RateLimitStore | ShardStore | DiscordREST | DiscordConfig, never, Sharder>;
23
- export {};
14
+ export declare const SharderLive: Layer.Layer<DiscordConfig | import("dfx/RateLimit").RateLimitStore | ShardStore | import("./DiscordWS").DiscordWSCodec, never, Sharder>;
24
15
  //# sourceMappingURL=Sharder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Sharder.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAGpC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAGzC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAG1C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAa,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAChF,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAmB,WAAW,EAAE,MAAM,eAAe,CAAA;AAC5D,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AAOzC,QAAA,MAAM,IAAI;;wBAiDD,aAAa,CAAC,QAAQ,cAAc,CAAC,QAAQ,YAAY,CAAC,CAAC,aACrD,MAAM,OAAO,CAAC,QAAQ,cAAc,CAAC,QAAQ,SAAS,CAAC,CAAC;EAuDrE,CAAA;AAEF,MAAM,WAAW,OAAQ,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC;CAAG;AACtE,eAAO,MAAM,OAAO,uBAAiB,CAAA;AACrC,eAAO,MAAM,UAAU,8KAGtB,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;AAI1D,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AAEpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA4FrC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,OAAO;;EAEnB,CAAA;AACD,eAAO,MAAM,WAAW,yIAIvB,CAAA"}