dfx 0.21.14 → 0.21.16
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/DiscordConfig/index.d.ts +3 -3
- package/DiscordGateway/Shard/index.js +11 -10
- package/DiscordGateway/Shard/index.js.map +1 -1
- package/DiscordGateway/Sharder/index.js.map +1 -1
- package/DiscordGateway/index.js.map +1 -1
- package/DiscordREST/index.js +13 -12
- package/DiscordREST/index.js.map +1 -1
- package/Interactions/webhook.d.ts +2 -2
- package/Interactions/webhook.js +13 -12
- package/Interactions/webhook.js.map +1 -1
- package/README.md +5 -3
- package/RateLimit/index.d.ts +1 -0
- package/RateLimit/index.js +1 -1
- package/RateLimit/index.js.map +1 -1
- package/RateLimit/memory.js +5 -1
- package/RateLimit/memory.js.map +1 -1
- package/_common.d.ts +1 -0
- package/_common.js.map +1 -1
- package/gateway.d.ts +2 -1
- package/gateway.js +6 -0
- package/gateway.js.map +1 -1
- package/global.d.ts +5 -1
- package/package.json +8 -5
- package/utils/tsplus.d.ts +0 -1
- package/webhooks.d.ts +3 -2
- package/webhooks.js +9 -2
- package/webhooks.js.map +1 -1
package/DiscordConfig/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Duration, Discord, Config } from "dfx/_common";
|
|
1
|
+
import { ConfigSecret, Duration, Discord, Config } from "dfx/_common";
|
|
2
2
|
export interface DiscordConfig {
|
|
3
|
-
token:
|
|
3
|
+
token: ConfigSecret;
|
|
4
4
|
rest: {
|
|
5
5
|
baseUrl: string;
|
|
6
6
|
globalRateLimit: {
|
|
@@ -17,7 +17,7 @@ export interface DiscordConfig {
|
|
|
17
17
|
}
|
|
18
18
|
export declare const DiscordConfig: import("../_common.js").Tag<DiscordConfig>;
|
|
19
19
|
export interface MakeOpts {
|
|
20
|
-
token:
|
|
20
|
+
token: ConfigSecret;
|
|
21
21
|
rest?: Partial<DiscordConfig["rest"]>;
|
|
22
22
|
gateway?: Partial<DiscordConfig["gateway"]>;
|
|
23
23
|
}
|
|
@@ -1,28 +1,29 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@effect/io/Effect";
|
|
2
2
|
import * as tsplus_module_2 from "dfx/gateway";
|
|
3
3
|
import * as tsplus_module_3 from "@effect/stream/Stream";
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "
|
|
6
|
-
import * as tsplus_module_6 from "@fp-ts/data/
|
|
7
|
-
import * as tsplus_module_7 from "@
|
|
8
|
-
import * as tsplus_module_8 from "
|
|
4
|
+
import * as tsplus_module_4 from "@effect/io/Config/Secret";
|
|
5
|
+
import * as tsplus_module_5 from "dfx/_common";
|
|
6
|
+
import * as tsplus_module_6 from "@fp-ts/data/Option";
|
|
7
|
+
import * as tsplus_module_7 from "@fp-ts/data/Duration";
|
|
8
|
+
import * as tsplus_module_8 from "@effect/io/Queue";
|
|
9
|
+
import * as tsplus_module_9 from "dfx";
|
|
9
10
|
import * as Heartbeats from "./heartbeats.js";
|
|
10
11
|
import * as Identify from "./identify.js";
|
|
11
12
|
import * as InvalidSession from "./invalidSession.js";
|
|
12
13
|
import * as Utils from "./utils.js";
|
|
13
14
|
export const make = (shard) => tsplus_module_1.flatMap(({ token, gateway }) => tsplus_module_1.flatMap(limiter => tsplus_module_1.flatMap(outboundQueue => {
|
|
14
|
-
const outbound = tsplus_module_1.tap(() => limiter.maybeWait("dfx.shard.send",
|
|
15
|
+
const outbound = tsplus_module_1.tap(() => limiter.maybeWait("dfx.shard.send", tsplus_module_7.minutes(1), 120))(outboundQueue
|
|
15
16
|
.take());
|
|
16
17
|
const send = (p) => outboundQueue.offer(p);
|
|
17
18
|
return tsplus_module_1.flatMap(socket => tsplus_module_1.flatMap(raw => tsplus_module_1.flatMap(([latestReady, updateLatestReady]) => tsplus_module_1.map(([latestSequence, updateLatestSequence]) => {
|
|
18
|
-
const maybeUpdateUrl = (p) =>
|
|
19
|
+
const maybeUpdateUrl = (p) => tsplus_module_6.match(() => tsplus_module_1.unit(), (a) => socket.setUrl(a.resume_gateway_url))(tsplus_module_6.map((p) => p.d)(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p))));
|
|
19
20
|
const updateRefs = tsplus_module_3.runDrain(tsplus_module_3.tap(maybeUpdateUrl)(tsplus_module_3.tap(updateLatestSequence)(tsplus_module_3.tap(updateLatestReady)(raw))));
|
|
20
21
|
// heartbeats
|
|
21
22
|
const heartbeatEffects = tsplus_module_3.runForEach(send)(Heartbeats.fromRaw(raw, latestSequence));
|
|
22
23
|
const dispatch = tsplus_module_3.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */)(raw);
|
|
23
24
|
// identify
|
|
24
25
|
const identifyEffects = tsplus_module_3.runForEach(send)(Identify.fromRaw(raw, {
|
|
25
|
-
token,
|
|
26
|
+
token: tsplus_module_4.value(token),
|
|
26
27
|
shard,
|
|
27
28
|
intents: gateway.intents,
|
|
28
29
|
presence: gateway.presence,
|
|
@@ -38,6 +39,6 @@ export const make = (shard) => tsplus_module_1.flatMap(({ token, gateway }) => t
|
|
|
38
39
|
send: (p) => send(p),
|
|
39
40
|
reconnect: send(tsplus_module_2.WS.Reconnect),
|
|
40
41
|
};
|
|
41
|
-
})(Utils.latest((p) =>
|
|
42
|
-
})(
|
|
42
|
+
})(Utils.latest((p) => tsplus_module_6.fromNullable(p.s))))(Utils.latest((p) => tsplus_module_6.map((p) => p.d)(tsplus_module_6.filter((p) => p.op === 0 /* Discord.GatewayOpcode.DISPATCH */ && p.t === "READY")(tsplus_module_6.some(p))))))(tsplus_module_3.broadcastDynamic(1)(socket.source)))(tsplus_module_2.DiscordWS.make({ outbound }));
|
|
43
|
+
})(tsplus_module_8.unbounded()))(tsplus_module_1.service(tsplus_module_9.RateLimiter)))(tsplus_module_1.service(tsplus_module_9.DiscordConfig.DiscordConfig));
|
|
43
44
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Sharder/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAwC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAS,EAA1D,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,CAAwB,CAAA;AAE/D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,gBAAA,IAAI,CACF,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,EACnC,2BAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC,CACrE,CAAS,CAAA;AAEd,MAAM,CAAC,MAAM,IAAI,2BACT,OAAO,4BACP,GAAG,wBAMH,QAAQ;IAMd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;GAbC,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC3C,CAAoB,GATrB,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACtC,CAAoB,GALL,wBAAe,OAAO,CAAC,CAsBzC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordGateway/index.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAE5C,MAAM,mBAAmB,GACvB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACgC,EAAE,CAC1C,oBAAwC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAS,EAA1D,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,CAAwB,CAAA;AAE/D,MAAM,qBAAqB,GACzB,CAAO,MAAkE,EAAE,EAAE,CAC7E,CACE,KAAQ,EACR,MAA8D,EAChC,EAAE,0BAChC,gBAAA,IAAI,CACF,uBAAc,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,EAAlC,MAAM,CAA6B,EACnC,2BAAkB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,2BAAkB,MAAM,CAAC,CAAC,CAAC,CAAQ,CAAC,CAAC,CAAC,CACrE,CAAS,CAAA;AAEd,MAAM,CAAC,MAAM,IAAI,2BACT,OAAO,4BACP,GAAG,wBAMH,QAAQ;IAMd,MAAM,YAAY,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAA;IAClD,MAAM,cAAc,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAEtD,OAAO;QACL,GAAG;QACH,QAAQ;QACR,YAAY;QACZ,cAAc;KACf,CAAA;GAbC,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAC3C,CAAoB,GATrB,iCAGmB,CAAC,EAHpB,gBAAA,IAAI,CACF,OAAO,CAAC,MAAM,EACd,2BAAkB,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CACtC,CAAoB,GALL,wBAAe,OAAO,CAAC,CAsBzC,CAAA;AAGF,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAa,cAAc,CAAC,CAAC,IAAI,CAAC,CAAA"}
|
package/DiscordREST/index.js
CHANGED
|
@@ -2,10 +2,11 @@ import * as tsplus_module_1 from "dfx/_common";
|
|
|
2
2
|
import * as tsplus_module_2 from "@effect/io/Effect";
|
|
3
3
|
import * as tsplus_module_3 from "@fp-ts/data/Duration";
|
|
4
4
|
import * as tsplus_module_4 from "@fp-ts/data/Option";
|
|
5
|
-
import * as tsplus_module_5 from "@
|
|
6
|
-
import * as tsplus_module_6 from "@
|
|
7
|
-
import * as tsplus_module_7 from "
|
|
8
|
-
import * as tsplus_module_8 from "
|
|
5
|
+
import * as tsplus_module_5 from "@effect/io/Config/Secret";
|
|
6
|
+
import * as tsplus_module_6 from "@fp-ts/data/HashSet";
|
|
7
|
+
import * as tsplus_module_7 from "@effect/io/Ref";
|
|
8
|
+
import * as tsplus_module_8 from "dfx";
|
|
9
|
+
import * as tsplus_module_9 from "@effect/io/Layer";
|
|
9
10
|
import { millis } from "@fp-ts/data/Duration";
|
|
10
11
|
import Pkg from "../package.json" assert { type: "json" };
|
|
11
12
|
import { rateLimitFromHeaders, retryAfter, routeFromConfig } from "./utils.js";
|
|
@@ -14,11 +15,11 @@ const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, r
|
|
|
14
15
|
return tsplus_module_2.map(badRoutesRef => {
|
|
15
16
|
const addBadRoute = (route) => tsplus_module_2.collectAllParDiscard([
|
|
16
17
|
log.info("DiscordREST", "addBadRoute", route),
|
|
17
|
-
|
|
18
|
+
tsplus_module_7.update((s) => tsplus_module_6.add(route)(s))(badRoutesRef),
|
|
18
19
|
store.incrementCounter("dfx.rest.invalid", tsplus_module_3.minutes(10).millis, 10000),
|
|
19
20
|
]);
|
|
20
|
-
const isBadRoute = (route) => tsplus_module_2.map((s) =>
|
|
21
|
-
const removeBadRoute = (route) =>
|
|
21
|
+
const isBadRoute = (route) => tsplus_module_2.map((s) => tsplus_module_6.has(route)(s))(tsplus_module_7.get(badRoutesRef));
|
|
22
|
+
const removeBadRoute = (route) => tsplus_module_7.update((s) => tsplus_module_6.remove(route)(s))(badRoutesRef);
|
|
22
23
|
const invalidRateLimit = (route) => tsplus_module_2.asUnit(tsplus_module_2.tap((invalid) => invalid
|
|
23
24
|
? maybeWait("dfx.rest.invalid", tsplus_module_3.minutes(10), 10000)
|
|
24
25
|
: tsplus_module_2.unit())(isBadRoute(route)));
|
|
@@ -45,7 +46,7 @@ const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, r
|
|
|
45
46
|
];
|
|
46
47
|
return tsplus_module_2.flatMap(hasBucket => {
|
|
47
48
|
if (!hasBucket || limit - 1 === remaining) {
|
|
48
|
-
effectsToRun.push(store.putBucket({
|
|
49
|
+
effectsToRun.push(store.removeCounter(`dfx.rest.?.${route}`), store.putBucket({
|
|
49
50
|
key: bucket,
|
|
50
51
|
resetAfter: retryAfter.millis,
|
|
51
52
|
limit: !hasBucket && remaining > 0 ? remaining : limit,
|
|
@@ -76,7 +77,7 @@ const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, r
|
|
|
76
77
|
...init,
|
|
77
78
|
headers: {
|
|
78
79
|
...(init?.headers ?? {}),
|
|
79
|
-
Authorization: `Bot ${token}`,
|
|
80
|
+
Authorization: `Bot ${tsplus_module_5.value(token)}`,
|
|
80
81
|
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
|
|
81
82
|
},
|
|
82
83
|
})))(globalRateLimit))(requestRateLimit(path, init)));
|
|
@@ -114,8 +115,8 @@ const make = tsplus_module_2.flatMap(http => tsplus_module_2.flatMap(({ token, r
|
|
|
114
115
|
});
|
|
115
116
|
});
|
|
116
117
|
return { request, ...routes };
|
|
117
|
-
})(
|
|
118
|
-
})(tsplus_module_2.service(
|
|
118
|
+
})(tsplus_module_7.make(tsplus_module_6.empty()));
|
|
119
|
+
})(tsplus_module_2.service(tsplus_module_8.RateLimiter)))(tsplus_module_2.service(tsplus_module_8.RateLimitStore)))(tsplus_module_2.service(tsplus_module_8.Log.Log)))(tsplus_module_2.service(tsplus_module_8.DiscordConfig.DiscordConfig)))(tsplus_module_2.service(tsplus_module_8.Http));
|
|
119
120
|
export const DiscordREST = tsplus_module_1.Tag();
|
|
120
|
-
export const LiveDiscordREST =
|
|
121
|
+
export const LiveDiscordREST = tsplus_module_9.effect(DiscordREST)(make);
|
|
121
122
|
//# sourceMappingURL=index.js.map
|
package/DiscordREST/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Config, Discord, Effect, Cause } from "dfx/_common";
|
|
1
|
+
import { ConfigSecret, Config, Discord, Effect, Cause } from "dfx/_common";
|
|
2
2
|
import { DefinitionNotFound } from "./handlers.js";
|
|
3
3
|
import { InteractionBuilder } from "./index.js";
|
|
4
4
|
export declare class BadWebhookSignature {
|
|
@@ -7,7 +7,7 @@ export declare class BadWebhookSignature {
|
|
|
7
7
|
export type Headers = Record<string, string | string[] | undefined>;
|
|
8
8
|
export interface MakeConfigOpts {
|
|
9
9
|
applicationId: string;
|
|
10
|
-
publicKey:
|
|
10
|
+
publicKey: ConfigSecret;
|
|
11
11
|
}
|
|
12
12
|
declare const makeConfig: ({ applicationId, publicKey }: MakeConfigOpts) => {
|
|
13
13
|
applicationId: string;
|
package/Interactions/webhook.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@fp-ts/data/Option";
|
|
2
2
|
import * as tsplus_module_2 from "@fp-ts/data/Either";
|
|
3
|
-
import * as tsplus_module_3 from "
|
|
4
|
-
import * as tsplus_module_4 from "
|
|
5
|
-
import * as tsplus_module_5 from "@
|
|
6
|
-
import * as tsplus_module_6 from "@
|
|
3
|
+
import * as tsplus_module_3 from "@effect/io/Config/Secret";
|
|
4
|
+
import * as tsplus_module_4 from "dfx/_common";
|
|
5
|
+
import * as tsplus_module_5 from "@effect/io/Layer";
|
|
6
|
+
import * as tsplus_module_6 from "@fp-ts/data/Function";
|
|
7
|
+
import * as tsplus_module_7 from "@effect/io/Effect";
|
|
7
8
|
import Nacl from "tweetnacl";
|
|
8
9
|
import { handlers } from "./handlers.js";
|
|
9
10
|
import { InteractionContext } from "./index.js";
|
|
@@ -20,11 +21,11 @@ const checkSignature = (publicKey, headers, body) => tsplus_module_2.asUnit(tspl
|
|
|
20
21
|
}))));
|
|
21
22
|
const makeConfig = ({ applicationId, publicKey }) => ({
|
|
22
23
|
applicationId,
|
|
23
|
-
publicKey: fromHex(publicKey),
|
|
24
|
+
publicKey: fromHex(tsplus_module_3.value(publicKey)),
|
|
24
25
|
});
|
|
25
|
-
export const WebhookConfig =
|
|
26
|
-
export const makeConfigLayer =
|
|
27
|
-
export const makeFromConfig = (a) =>
|
|
26
|
+
export const WebhookConfig = tsplus_module_4.Tag();
|
|
27
|
+
export const makeConfigLayer = tsplus_module_6.flow(makeConfig, tsplus_module_5.succeed(WebhookConfig));
|
|
28
|
+
export const makeFromConfig = (a) => tsplus_module_7.toLayer(WebhookConfig)(tsplus_module_7.map(makeConfig)(tsplus_module_7.config(a)));
|
|
28
29
|
export class WebhookParseError {
|
|
29
30
|
reason;
|
|
30
31
|
_tag = "WebhookParseError";
|
|
@@ -32,11 +33,11 @@ export class WebhookParseError {
|
|
|
32
33
|
this.reason = reason;
|
|
33
34
|
}
|
|
34
35
|
}
|
|
35
|
-
const fromHeadersAndBody = (headers, body) =>
|
|
36
|
+
const fromHeadersAndBody = (headers, body) => tsplus_module_7.flatMap(({ publicKey }) => tsplus_module_7.flatMap(() => tsplus_module_7.tryCatch(() => JSON.parse(body), (reason) => new WebhookParseError(reason)))(tsplus_module_7.fromEither(checkSignature(publicKey, headers, body))))(tsplus_module_7.service(WebhookConfig));
|
|
36
37
|
const run = (definitions) => {
|
|
37
38
|
const handler = handlers(definitions);
|
|
38
|
-
return (headers, body) =>
|
|
39
|
-
const provide =
|
|
39
|
+
return (headers, body) => tsplus_module_7.flatMap(interaction => {
|
|
40
|
+
const provide = tsplus_module_7.provideService(InteractionContext)(interaction);
|
|
40
41
|
return provide(handler[interaction.type](interaction));
|
|
41
42
|
})(fromHeadersAndBody(headers, body));
|
|
42
43
|
};
|
|
@@ -45,7 +46,7 @@ const run = (definitions) => {
|
|
|
45
46
|
*/
|
|
46
47
|
export const makeHandler = (ix) => {
|
|
47
48
|
const handle = run(ix.definitions);
|
|
48
|
-
return ({ headers, body, success, error, }) =>
|
|
49
|
+
return ({ headers, body, success, error, }) => tsplus_module_7.catchAllCause(error)(tsplus_module_7.flatMap(success)(handle(headers, body)));
|
|
49
50
|
};
|
|
50
51
|
/**
|
|
51
52
|
* @tsplus getter dfx/InteractionBuilder simpleWebhookHandler
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/Interactions/webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../src/Interactions/webhook.ts"],"names":[],"mappings":"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"}
|
package/README.md
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# dfx
|
|
2
2
|
|
|
3
|
+
[](https://discord.gg/dtR2Mtu66Q)
|
|
4
|
+
|
|
3
5
|
A Discord library built on top of @effect/io
|
|
4
6
|
|
|
5
7
|
- Supports both the gateway and webhooks
|
|
@@ -12,12 +14,12 @@ import * as Config from "@effect/io/Config"
|
|
|
12
14
|
import * as Effect from "@effect/io/Effect"
|
|
13
15
|
import { pipe } from "@fp-ts/data/Function"
|
|
14
16
|
import { Ix } from "dfx"
|
|
15
|
-
import { runIx,
|
|
17
|
+
import { runIx, makeFromConfig } from "dfx/gateway"
|
|
16
18
|
|
|
17
19
|
// Create the dependencies layer
|
|
18
|
-
const Dependencies =
|
|
20
|
+
const Dependencies = makeFromConfig(
|
|
19
21
|
Config.struct({
|
|
20
|
-
token: Config.
|
|
22
|
+
token: Config.secret("DISCORD_BOT_TOKEN"),
|
|
21
23
|
}),
|
|
22
24
|
)
|
|
23
25
|
|
package/RateLimit/index.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface RateLimitStore {
|
|
|
11
11
|
getBucketForRoute: (route: string) => Effect<never, never, Maybe<BucketDetails>>;
|
|
12
12
|
putBucketRoute: (route: string, bucketKey: string) => Effect<never, never, void>;
|
|
13
13
|
incrementCounter: (key: string, window: number, limit: number) => Effect<never, never, readonly [count: number, ttl: number]>;
|
|
14
|
+
removeCounter: (key: string) => Effect<never, never, void>;
|
|
14
15
|
}
|
|
15
16
|
export declare const RateLimitStore: import("../_common.js").Tag<RateLimitStore>;
|
|
16
17
|
export declare const LiveMemoryRateLimitStore: import("../_common.js").Layer<never, never, RateLimitStore>;
|
package/RateLimit/index.js
CHANGED
|
@@ -21,5 +21,5 @@ const makeLimiter = tsplus_module_3.flatMap(store => tsplus_module_3.map(log =>
|
|
|
21
21
|
return { maybeWait };
|
|
22
22
|
})(tsplus_module_3.service(tsplus_module_4.Log.Log)))(tsplus_module_3.service(RateLimitStore));
|
|
23
23
|
export const RateLimiter = tsplus_module_1.Tag();
|
|
24
|
-
export const LiveRateLimiter = tsplus_module_2.
|
|
24
|
+
export const LiveRateLimiter = tsplus_module_2.effect(RateLimiter)(makeLimiter);
|
|
25
25
|
//# sourceMappingURL=index.js.map
|
package/RateLimit/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RateLimit/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/RateLimit/index.ts"],"names":[],"mappings":";;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AACtC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AAgCrC,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAW,cAAc,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;AAE/E,MAAM,WAAW,2BACT,KAAK,wBACL,GAAG;IAET,MAAM,SAAS,GAAG,CAChB,GAAW,EACX,MAAgB,EAChB,KAAa,EACb,UAAU,GAAG,IAAI,EACjB,EAAE;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;QAE3C,8BAAO,2CAAA,oBAGA,CAAC,CAAC,EAAE,EAAE,CACT,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACpC,GAAG;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;YACR,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,MAAM;SAChB,CAAC,EAVC,oBAEA,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,EAFxD,KAAK;aACT,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CACuB,CAS7D,CACiB,EAAO;IAC7B,CAAC,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,CAAA;GAzBN,wBAAe,gBAAA,GAAG,CAAC,GAAG,CAAC,GADrB,wBAAe,cAAc,CAAC,CA2B9C,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAA,GAAG,EAAe,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAa,WAAW,CAAC,CAAC,WAAW,CAAC,CAAA"}
|
package/RateLimit/memory.js
CHANGED
|
@@ -5,15 +5,19 @@ export const make = () => {
|
|
|
5
5
|
const routes = new Map();
|
|
6
6
|
const counters = new Map();
|
|
7
7
|
const getCounter = (key) => tsplus_module_1.filter((c) => c.expires > Date.now())(tsplus_module_1.fromNullable(counters.get(key)));
|
|
8
|
+
const getBucketForRoute = (route) => tsplus_module_2.sync(() => tsplus_module_1.fromNullable(buckets.get(routes.get(route))));
|
|
8
9
|
return {
|
|
9
10
|
hasBucket: (key) => tsplus_module_2.sync(() => buckets.has(key)),
|
|
10
11
|
putBucket: (bucket) => tsplus_module_2.sync(() => {
|
|
11
12
|
buckets.set(bucket.key, bucket);
|
|
12
13
|
}),
|
|
13
|
-
getBucketForRoute
|
|
14
|
+
getBucketForRoute,
|
|
14
15
|
putBucketRoute: (route, bucket) => tsplus_module_2.sync(() => {
|
|
15
16
|
routes.set(route, bucket);
|
|
16
17
|
}),
|
|
18
|
+
removeCounter: (key) => tsplus_module_2.sync(() => {
|
|
19
|
+
counters.delete(key);
|
|
20
|
+
}),
|
|
17
21
|
incrementCounter: (key, window, limit) => tsplus_module_2.sync(() => {
|
|
18
22
|
const now = Date.now();
|
|
19
23
|
const perRequest = Math.ceil(window / limit);
|
package/RateLimit/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/RateLimit/memory.ts"],"names":[],"mappings":";;AAOA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE3C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,uBAA6C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAA1E,6BAAmB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAsC,CAAA;IAE7E,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAY,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,qBAAY,GAAG,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;QAEJ,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/RateLimit/memory.ts"],"names":[],"mappings":";;AAOA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE3C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,uBAA6C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAA1E,6BAAmB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAsC,CAAA;IAE7E,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC1C,qBAAY,GAAG,EAAE,CAAC,6BAAmB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAA;IAExE,OAAO;QACL,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,qBAAY,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEvD,SAAS,EAAE,CAAC,MAAM,EAAE,EAAE,CACpB,qBAAY,GAAG,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;QAEJ,iBAAiB;QAEjB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChC,qBAAY,GAAG,EAAE;YACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3B,CAAC,CAAC;QAEJ,aAAa,EAAE,CAAC,GAAG,EAAE,EAAE,CACrB,qBAAY,GAAG,EAAE;YACf,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC,CAAC;QAEJ,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CACvC,qBAAY,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;YAC5C,MAAM,OAAO,GAAG,0BACd,GAAY,EAAE,CAAC,CAAC;gBACd,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE,CAAC;aACT,CAAC,EAJY,UAAU,CAAC,GAAG,CAAC,CAK9B,CAAA;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAA;YAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YAEjD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,CAAA;QAC/B,CAAC,CAAC;KACL,CAAA;AACH,CAAC,CAAA"}
|
package/_common.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { Schedule as _Schedule } from "@effect/io/Schedule";
|
|
2
2
|
export type { Cause } from "@effect/io/Cause";
|
|
3
3
|
export type { Config } from "@effect/io/Config";
|
|
4
|
+
export type { ConfigSecret } from "@effect/io/Config/Secret";
|
|
4
5
|
export type { ConfigError } from "@effect/io/Config/Error";
|
|
5
6
|
export type { Effect } from "@effect/io/Effect";
|
|
6
7
|
export type { Exit } from "@effect/io/Exit";
|
package/_common.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_common.js","sourceRoot":"","sources":["../src/_common.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"_common.js","sourceRoot":"","sources":["../src/_common.ts"],"names":[],"mappings":"AAeA,OAAO,EAAW,GAAG,EAAE,MAAM,qBAAqB,CAAA;AASlD,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA"}
|
package/gateway.d.ts
CHANGED
|
@@ -12,4 +12,5 @@ export declare const MemoryREST: import("./_common.js").Layer<DiscordConfig.Disc
|
|
|
12
12
|
export declare const MemorySharder: import("./_common.js").Layer<DiscordConfig.DiscordConfig | Log.Log, never, import("./DiscordGateway/Sharder/index.js").Sharder>;
|
|
13
13
|
export declare const MemoryGateway: import("./_common.js").Layer<DiscordConfig.DiscordConfig | Log.Log, never, import("./DiscordGateway/index.js").DiscordGateway>;
|
|
14
14
|
export declare const MemoryBot: import("./_common.js").Layer<DiscordConfig.DiscordConfig | Log.Log, never, import("dfx").DiscordREST | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway/index.js").DiscordGateway>;
|
|
15
|
-
export declare const make: (config:
|
|
15
|
+
export declare const make: (config: DiscordConfig.MakeOpts, debug?: boolean) => import("./_common.js").Layer<never, never, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway/index.js").DiscordGateway>;
|
|
16
|
+
export declare const makeFromConfig: (config: Config<DiscordConfig.MakeOpts>, debug?: boolean) => import("./_common.js").Layer<never, import("./_common.js").ConfigError, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway/index.js").DiscordGateway>;
|
package/gateway.js
CHANGED
|
@@ -19,6 +19,12 @@ export const MemorySharder = tsplus_module_1.provideTo(LiveSharder)((tsplus_modu
|
|
|
19
19
|
export const MemoryGateway = tsplus_module_1.provideTo(LiveDiscordGateway)(MemorySharder);
|
|
20
20
|
export const MemoryBot = tsplus_module_1.provideToAndMerge(tsplus_module_1.merge(MemoryRateLimit)(MemoryGateway))(MemoryREST);
|
|
21
21
|
export const make = (config, debug = false) => {
|
|
22
|
+
const LiveLog = debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
23
|
+
const LiveConfig = DiscordConfig.makeLayer(config);
|
|
24
|
+
const LiveEnv = tsplus_module_1.provideToAndMerge(MemoryBot)(tsplus_module_1.merge(LiveConfig)(LiveLog));
|
|
25
|
+
return LiveEnv;
|
|
26
|
+
};
|
|
27
|
+
export const makeFromConfig = (config, debug = false) => {
|
|
22
28
|
const LiveLog = debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
23
29
|
const LiveConfig = DiscordConfig.makeFromConfig(config);
|
|
24
30
|
const LiveEnv = tsplus_module_1.provideToAndMerge(MemoryBot)(tsplus_module_1.merge(LiveConfig)(LiveLog));
|
package/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEhF,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,iCAAiC,CAAA;AACxD,OAAO,KAAK,UAAU,MAAM,sCAAsC,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,CAAC,MAAM,eAAe,qCAA8B,eAAe,EAA1C,wBAAwB,CAAkB,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,6BAAmC,eAAe,EAA/C,uBAAY,eAAe,EAA1B,QAAQ,EAAmB,CAAmB,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,6BAKxB,WAAW,EAJX,uBAGE,sBAAsB,wBADtB,eAAe,wBADf,oBAAoB,EADrB,UAAU,IAGc,CACd,CAAA;AAEb,MAAM,CAAC,MAAM,aAAa,6BAAoB,kBAAkB,EAAnC,aAAa,CAAsB,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,2DAAgC,eAAe,EAA/B,aAAa,GAA1B,UAAU,CAAkC,CAAA;AAErE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAA;AAC3E,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEhF,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,OAAO,MAAM,2BAA2B,CAAA;AACpD,OAAO,KAAK,KAAK,MAAM,iCAAiC,CAAA;AACxD,OAAO,KAAK,UAAU,MAAM,sCAAsC,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAClD,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,CAAC,MAAM,eAAe,qCAA8B,eAAe,EAA1C,wBAAwB,CAAkB,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,6BAAmC,eAAe,EAA/C,uBAAY,eAAe,EAA1B,QAAQ,EAAmB,CAAmB,CAAA;AAEzE,MAAM,CAAC,MAAM,aAAa,6BAKxB,WAAW,EAJX,uBAGE,sBAAsB,wBADtB,eAAe,wBADf,oBAAoB,EADrB,UAAU,IAGc,CACd,CAAA;AAEb,MAAM,CAAC,MAAM,aAAa,6BAAoB,kBAAkB,EAAnC,aAAa,CAAsB,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,2DAAgC,eAAe,EAA/B,aAAa,GAA1B,UAAU,CAAkC,CAAA;AAErE,MAAM,CAAC,MAAM,IAAI,GAAG,CAAC,MAA8B,EAAE,KAAK,GAAG,KAAK,EAAE,EAAE;IACpE,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,qCAA0B,SAAS,wBAAtB,UAAU,EAApB,OAAO,EAAyB,CAAA;IAEhD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAsC,EACtC,KAAK,GAAG,KAAK,EACb,EAAE;IACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,OAAO,qCAA0B,SAAS,wBAAtB,UAAU,EAApB,OAAO,EAAyB,CAAA;IAEhD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|
package/global.d.ts
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @tsplus global
|
|
3
3
|
*/
|
|
4
|
-
import { Cause, Config, ConfigError, Effect, Exit, Layer, Queue, Schedule, Scope, Stream, Chunk, Context,
|
|
4
|
+
import type { Cause, Config, ConfigSecret, ConfigError, Effect, Exit, Layer, Queue, Schedule, Scope, Stream, Chunk, Context, Duration, Equal, Either, HashMap, Maybe, Ref, HashSet, } from "dfx/_common";
|
|
5
|
+
/**
|
|
6
|
+
* @tsplus global
|
|
7
|
+
*/
|
|
8
|
+
import { Tag, Discord } from "dfx/_common";
|
|
5
9
|
/**
|
|
6
10
|
* @tsplus global
|
|
7
11
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.21.
|
|
3
|
+
"version": "0.21.16",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -27,14 +27,17 @@
|
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@tim-smart/discord-api-docs-parser": "^0.5.0",
|
|
30
|
+
"@tsplus-types/effect__io": "0.0.62-a7577f9",
|
|
31
|
+
"@tsplus-types/effect__stream": "0.0.12-a7577f9",
|
|
32
|
+
"@tsplus-types/fp-ts__data": "0.0.38-a7577f9",
|
|
30
33
|
"@types/ws": "^8.5.4",
|
|
31
34
|
"lerna": "^6.4.0",
|
|
32
35
|
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.163/compiler/typescript.tgz"
|
|
33
36
|
},
|
|
34
37
|
"dependencies": {
|
|
35
|
-
"@effect/io": "~0.0.
|
|
36
|
-
"@effect/stream": "~0.0.
|
|
37
|
-
"@fp-ts/data": "~0.0.
|
|
38
|
+
"@effect/io": "~0.0.62",
|
|
39
|
+
"@effect/stream": "~0.0.12",
|
|
40
|
+
"@fp-ts/data": "~0.0.38",
|
|
38
41
|
"tweetnacl": "^1.0.3"
|
|
39
42
|
},
|
|
40
43
|
"optionalDependencies": {
|
|
@@ -44,5 +47,5 @@
|
|
|
44
47
|
"ws": "^8.12.0"
|
|
45
48
|
},
|
|
46
49
|
"sideEffects": false,
|
|
47
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "578df2066e5e90104ccdb4b3a316d74471ca42ca"
|
|
48
51
|
}
|
package/utils/tsplus.d.ts
CHANGED
package/webhooks.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { Config } from "dfx/_common";
|
|
2
1
|
import { DiscordConfig } from "dfx";
|
|
2
|
+
import { Config } from "dfx/_common";
|
|
3
3
|
import { MakeConfigOpts } from "./Interactions/webhook.js";
|
|
4
4
|
export { BadWebhookSignature, makeConfigLayer, makeHandler, makeSimpleHandler, WebhookConfig, WebhookParseError, } from "./Interactions/webhook.js";
|
|
5
5
|
export declare const MemoryRateLimit: import("./_common.js").Layer<import("./Log/index.js").Log, never, import("./RateLimit/index.js").RateLimitStore | import("./RateLimit/index.js").RateLimiter>;
|
|
6
6
|
export declare const MemoryREST: import("./_common.js").Layer<import("./DiscordConfig/index.js").DiscordConfig | import("./Log/index.js").Log, never, import("./DiscordREST/index.js").DiscordREST>;
|
|
7
|
-
export declare const make: (config:
|
|
7
|
+
export declare const make: (config: DiscordConfig.MakeOpts & MakeConfigOpts, debug?: boolean) => import("./_common.js").Layer<never, never, import("./DiscordREST/index.js").DiscordREST | import("./RateLimit/index.js").RateLimitStore | import("./RateLimit/index.js").RateLimiter | import("./Interactions/webhook.js").WebhookConfig>;
|
|
8
|
+
export declare const makeFromConfig: (config: Config<DiscordConfig.MakeOpts & MakeConfigOpts>, debug?: boolean) => import("./_common.js").Layer<never, import("./_common.js").ConfigError, import("./DiscordREST/index.js").DiscordREST | import("./RateLimit/index.js").RateLimitStore | import("./RateLimit/index.js").RateLimiter | import("./Interactions/webhook.js").WebhookConfig>;
|
package/webhooks.js
CHANGED
|
@@ -2,13 +2,20 @@ import * as tsplus_module_1 from "@effect/io/Layer";
|
|
|
2
2
|
import * as tsplus_module_2 from "dfx";
|
|
3
3
|
import { LiveDiscordREST } from "./DiscordREST/index.js";
|
|
4
4
|
import { LiveHttp } from "./Http/index.js";
|
|
5
|
-
import { makeFromConfig } from "./Interactions/webhook.js";
|
|
5
|
+
import { makeConfigLayer, makeFromConfig as makeConfigFromConfig, } from "./Interactions/webhook.js";
|
|
6
6
|
import { LiveMemoryRateLimitStore, LiveRateLimiter } from "./RateLimit/index.js";
|
|
7
7
|
export { BadWebhookSignature, makeConfigLayer, makeHandler, makeSimpleHandler, WebhookConfig, WebhookParseError, } from "./Interactions/webhook.js";
|
|
8
8
|
export const MemoryRateLimit = tsplus_module_1.provideToAndMerge(LiveRateLimiter)(LiveMemoryRateLimitStore);
|
|
9
9
|
export const MemoryREST = tsplus_module_1.provideTo(LiveDiscordREST)((tsplus_module_1.merge(LiveHttp)(MemoryRateLimit)));
|
|
10
10
|
export const make = (config, debug = false) => {
|
|
11
|
-
const LiveWebhook =
|
|
11
|
+
const LiveWebhook = makeConfigLayer(config);
|
|
12
|
+
const LiveLog = debug ? tsplus_module_2.Log.LiveLogDebug : tsplus_module_2.Log.LiveLog;
|
|
13
|
+
const LiveConfig = tsplus_module_2.DiscordConfig.makeLayer(config);
|
|
14
|
+
const LiveEnv = tsplus_module_1.provideTo((tsplus_module_1.merge(MemoryRateLimit)(tsplus_module_1.merge(LiveWebhook)(MemoryREST))))((tsplus_module_1.merge(LiveConfig)(LiveLog)));
|
|
15
|
+
return LiveEnv;
|
|
16
|
+
};
|
|
17
|
+
export const makeFromConfig = (config, debug = false) => {
|
|
18
|
+
const LiveWebhook = makeConfigFromConfig(config);
|
|
12
19
|
const LiveLog = debug ? tsplus_module_2.Log.LiveLogDebug : tsplus_module_2.Log.LiveLog;
|
|
13
20
|
const LiveConfig = tsplus_module_2.DiscordConfig.makeFromConfig(config);
|
|
14
21
|
const LiveEnv = tsplus_module_1.provideTo((tsplus_module_1.merge(MemoryRateLimit)(tsplus_module_1.merge(LiveWebhook)(MemoryREST))))((tsplus_module_1.merge(LiveConfig)(LiveLog)));
|
package/webhooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../src/webhooks.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAC1C,OAAO,EAEL,eAAe,EACf,cAAc,IAAI,oBAAoB,GACvC,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAEhF,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,WAAW,EACX,iBAAiB,EACjB,aAAa,EACb,iBAAiB,GAClB,MAAM,2BAA2B,CAAA;AAElC,MAAM,CAAC,MAAM,eAAe,qCAA8B,eAAe,EAA1C,wBAAwB,CAAkB,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,6BAAmC,eAAe,EAA/C,uBAAmB,QAAQ,EAA1B,eAAe,EAAY,CAAmB,CAAA;AAEzE,MAAM,CAAC,MAAM,IAAI,GAAG,CAClB,MAA+C,EAC/C,KAAK,GAAG,KAAK,EACb,EAAE;IACF,MAAM,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,OAAO,6BACe,uBAA4B,eAAe,wBAA7B,WAAW,EAAxB,UAAU,GAAiC,EAAtE,uBAAW,UAAU,EAApB,OAAO,EAAc,CAAgD,CAAA;IAExE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAAuD,EACvD,KAAK,GAAG,KAAK,EACb,EAAE;IACF,MAAM,WAAW,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAA,GAAG,CAAC,OAAO,CAAA;IACtD,MAAM,UAAU,GAAG,gBAAA,aAAa,CAAC,cAAc,CAAC,MAAM,CAAC,CAAA;IACvD,MAAM,OAAO,6BACe,uBAA4B,eAAe,wBAA7B,WAAW,EAAxB,UAAU,GAAiC,EAAtE,uBAAW,UAAU,EAApB,OAAO,EAAc,CAAgD,CAAA;IAExE,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA"}
|