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.
- package/Cache/prelude.d.ts +3 -3
- package/DiscordConfig.d.ts +7 -6
- package/DiscordConfig.d.ts.map +1 -1
- package/DiscordConfig.js +1 -3
- package/DiscordConfig.js.map +1 -1
- package/DiscordGateway/DiscordWS.d.ts +12 -11
- package/DiscordGateway/DiscordWS.d.ts.map +1 -1
- package/DiscordGateway/DiscordWS.js +8 -5
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Messaging.d.ts +28 -0
- package/DiscordGateway/Messaging.d.ts.map +1 -0
- package/DiscordGateway/Messaging.js +41 -0
- package/DiscordGateway/Messaging.js.map +1 -0
- package/DiscordGateway/Shard.d.ts +14 -11
- package/DiscordGateway/Shard.d.ts.map +1 -1
- package/DiscordGateway/Shard.js +20 -17
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/ShardStore.d.ts +5 -2
- package/DiscordGateway/ShardStore.d.ts.map +1 -1
- package/DiscordGateway/ShardStore.js +1 -1
- package/DiscordGateway/ShardStore.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +9 -18
- package/DiscordGateway/Sharder.d.ts.map +1 -1
- package/DiscordGateway/Sharder.js +36 -45
- package/DiscordGateway/Sharder.js.map +1 -1
- package/DiscordGateway/WS.d.ts +14 -10
- package/DiscordGateway/WS.d.ts.map +1 -1
- package/DiscordGateway/WS.js +31 -21
- package/DiscordGateway/WS.js.map +1 -1
- package/DiscordGateway.d.ts +10 -7
- package/DiscordGateway.d.ts.map +1 -1
- package/DiscordGateway.js +13 -31
- package/DiscordGateway.js.map +1 -1
- package/DiscordREST.d.ts +6 -4
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +7 -6
- package/DiscordREST.js.map +1 -1
- package/Interactions/context.d.ts +35 -17
- package/Interactions/context.d.ts.map +1 -1
- package/Interactions/context.js +6 -6
- package/Interactions/context.js.map +1 -1
- package/Interactions/definitions.d.ts +11 -11
- package/Interactions/definitions.d.ts.map +1 -1
- package/Interactions/definitions.js.map +1 -1
- package/Interactions/gateway.d.ts +7 -6
- package/Interactions/gateway.d.ts.map +1 -1
- package/Interactions/gateway.js +1 -1
- package/Interactions/gateway.js.map +1 -1
- package/Interactions/handlers.d.ts +2 -1
- package/Interactions/handlers.d.ts.map +1 -1
- package/Interactions/webhook.d.ts +5 -6
- package/Interactions/webhook.d.ts.map +1 -1
- package/Interactions/webhook.js +1 -1
- package/Interactions/webhook.js.map +1 -1
- package/RateLimit/memory.d.ts +2 -2
- package/RateLimit/memory.d.ts.map +1 -1
- package/RateLimit/memory.js.map +1 -1
- package/RateLimit.d.ts +10 -9
- package/RateLimit.d.ts.map +1 -1
- package/RateLimit.js +4 -5
- package/RateLimit.js.map +1 -1
- package/gateway.d.ts +2 -2
- package/gateway.d.ts.map +1 -1
- package/gateway.js +1 -2
- package/gateway.js.map +1 -1
- package/index.d.ts +1 -2
- package/index.d.ts.map +1 -1
- package/index.js +1 -3
- package/index.js.map +1 -1
- package/mjs/DiscordConfig.mjs +1 -3
- package/mjs/DiscordConfig.mjs.map +1 -1
- package/mjs/DiscordGateway/DiscordWS.mjs +8 -5
- package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
- package/mjs/DiscordGateway/Messaging.mjs +33 -0
- package/mjs/DiscordGateway/Messaging.mjs.map +1 -0
- package/mjs/DiscordGateway/Shard.mjs +20 -17
- package/mjs/DiscordGateway/Shard.mjs.map +1 -1
- package/mjs/DiscordGateway/ShardStore.mjs +1 -1
- package/mjs/DiscordGateway/ShardStore.mjs.map +1 -1
- package/mjs/DiscordGateway/Sharder.mjs +35 -44
- package/mjs/DiscordGateway/Sharder.mjs.map +1 -1
- package/mjs/DiscordGateway/WS.mjs +32 -22
- package/mjs/DiscordGateway/WS.mjs.map +1 -1
- package/mjs/DiscordGateway.mjs +12 -30
- package/mjs/DiscordGateway.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +7 -6
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/Interactions/context.mjs +6 -6
- package/mjs/Interactions/context.mjs.map +1 -1
- package/mjs/Interactions/definitions.mjs.map +1 -1
- package/mjs/Interactions/gateway.mjs +1 -1
- package/mjs/Interactions/gateway.mjs.map +1 -1
- package/mjs/Interactions/webhook.mjs +1 -1
- package/mjs/Interactions/webhook.mjs.map +1 -1
- package/mjs/RateLimit/memory.mjs.map +1 -1
- package/mjs/RateLimit.mjs +4 -5
- package/mjs/RateLimit.mjs.map +1 -1
- package/mjs/gateway.mjs +1 -2
- package/mjs/gateway.mjs.map +1 -1
- package/mjs/index.mjs +1 -2
- package/mjs/index.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/mjs/webhooks.mjs +1 -2
- package/mjs/webhooks.mjs.map +1 -1
- package/package.json +2 -2
- package/src/DiscordConfig.ts +10 -8
- package/src/DiscordGateway/DiscordWS.ts +23 -13
- package/src/DiscordGateway/Messaging.ts +72 -0
- package/src/DiscordGateway/Shard.ts +51 -33
- package/src/DiscordGateway/ShardStore.ts +8 -3
- package/src/DiscordGateway/Sharder.ts +72 -97
- package/src/DiscordGateway/WS.ts +64 -32
- package/src/DiscordGateway.ts +22 -71
- package/src/DiscordREST.ts +40 -27
- package/src/Interactions/context.ts +47 -10
- package/src/Interactions/definitions.ts +22 -20
- package/src/Interactions/gateway.ts +14 -6
- package/src/Interactions/handlers.ts +1 -1
- package/src/Interactions/webhook.ts +18 -4
- package/src/RateLimit/memory.ts +2 -2
- package/src/RateLimit.ts +17 -8
- package/src/gateway.ts +0 -2
- package/src/index.ts +0 -2
- package/src/version.ts +1 -1
- package/src/webhooks.ts +1 -2
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/webhooks.d.ts +1 -2
- package/webhooks.d.ts.map +1 -1
- package/webhooks.js +1 -2
- package/webhooks.js.map +1 -1
- package/src/Log.ts +0 -24
package/Cache/prelude.d.ts
CHANGED
|
@@ -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<
|
|
31
|
-
export declare const channels: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>) => Effect.Effect<
|
|
32
|
-
export declare const roles: <RM, EM, E>(makeDriver: Effect.Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>) => Effect.Effect<
|
|
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
|
package/DiscordConfig.d.ts
CHANGED
|
@@ -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,
|
|
27
|
+
export declare const DiscordConfig: Tag<DiscordConfig, DiscordConfigService>;
|
|
26
28
|
export interface MakeOpts {
|
|
27
29
|
readonly token: ConfigSecret.ConfigSecret;
|
|
28
|
-
readonly
|
|
29
|
-
readonly
|
|
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: ({
|
|
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
|
package/DiscordConfig.d.ts.map
CHANGED
|
@@ -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,
|
|
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 ?? {}),
|
package/DiscordConfig.js.map
CHANGED
|
@@ -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","
|
|
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
|
|
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
|
|
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
|
|
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
|
-
|
|
24
|
-
readonly
|
|
25
|
-
|
|
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
|
|
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,
|
|
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(
|
|
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","
|
|
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
|
-
|
|
12
|
-
|
|
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
|
-
|
|
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,
|
|
22
|
-
|
|
23
|
-
|
|
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;
|
|
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"}
|
package/DiscordGateway/Shard.js
CHANGED
|
@@ -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
|
|
38
|
-
|
|
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),
|
|
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
|
-
|
|
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
|
-
|
|
91
|
-
|
|
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.
|
|
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","
|
|
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
|
|
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
|
|
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,
|
|
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;
|
|
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
|
|
12
|
-
import
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
|
|
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
|
|
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":"
|
|
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"}
|