dfx 0.22.2 → 0.23.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 +4 -4
- package/DiscordConfig.d.ts +2 -2
- package/DiscordGateway/DiscordWS.d.ts +1 -1
- package/DiscordGateway/Shard/heartbeats.js.map +1 -1
- package/DiscordGateway/Shard/utils.d.ts +1 -1
- package/DiscordGateway/ShardStore.d.ts +1 -1
- package/DiscordGateway/Sharder.d.ts +1 -1
- package/DiscordGateway/WS.js +2 -3
- package/DiscordGateway/WS.js.map +1 -1
- package/DiscordGateway.d.ts +1 -1
- package/DiscordREST/types.d.ts +1 -1
- package/DiscordREST/utils.d.ts +3 -3
- package/DiscordREST.d.ts +3 -3
- package/DiscordREST.js +12 -14
- package/DiscordREST.js.map +1 -1
- package/Interactions/context.d.ts +2 -2
- package/Interactions/gateway.d.ts +1 -1
- package/Interactions/index.d.ts +1 -1
- package/Interactions/webhook.d.ts +2 -2
- package/Log.d.ts +2 -2
- package/RateLimit.d.ts +2 -2
- package/gateway.d.ts +7 -7
- package/gateway.js +5 -7
- package/gateway.js.map +1 -1
- package/package.json +12 -12
- package/webhooks.d.ts +4 -4
package/Cache/prelude.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface OpsOptions<E, A> {
|
|
|
19
19
|
}
|
|
20
20
|
export declare const ops: <E, T>({ id, create, update, remove }: OpsOptions<E, T>) => Stream<never, E, CacheOp<T>>;
|
|
21
21
|
export declare const guilds: <RM, EM, E>(makeDriver: Effect<RM, EM, CacheDriver<E, Discord.Guild>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
|
|
22
|
-
get: (id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").
|
|
22
|
+
get: (id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").ResponseDecodeError | E, Discord.Guild>;
|
|
23
23
|
run: Effect<never, E, void>;
|
|
24
24
|
size: Effect<never, E, number>;
|
|
25
25
|
set: (resourceId: string, resource: Discord.Guild) => Effect<never, E, void>;
|
|
@@ -27,8 +27,8 @@ export declare const guilds: <RM, EM, E>(makeDriver: Effect<RM, EM, CacheDriver<
|
|
|
27
27
|
refreshTTL: (resourceId: string) => Effect<never, E, void>;
|
|
28
28
|
}>;
|
|
29
29
|
export declare const channels: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCacheDriver<E, Discord.Channel>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
|
|
30
|
-
get: (parentId: string, id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").
|
|
31
|
-
getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").
|
|
30
|
+
get: (parentId: string, id: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").ResponseDecodeError | E, Discord.Channel>;
|
|
31
|
+
getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").ResponseDecodeError | E, ReadonlyMap<string, Discord.Channel>>;
|
|
32
32
|
run: Effect<never, E, void>;
|
|
33
33
|
size: Effect<never, E, number>;
|
|
34
34
|
sizeForParent: (parentId: string) => Effect<never, E, number>;
|
|
@@ -39,7 +39,7 @@ export declare const channels: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCach
|
|
|
39
39
|
}>;
|
|
40
40
|
export declare const roles: <RM, EM, E>(makeDriver: Effect<RM, EM, ParentCacheDriver<E, Discord.Role>>) => Effect<DiscordREST | Gateway.DiscordGateway | RM, EM, {
|
|
41
41
|
get: (parentId: string, id: string) => Effect<never, CacheMissError | E, Discord.Role>;
|
|
42
|
-
getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").
|
|
42
|
+
getForParent: (parentId: string) => Effect<never, import("../DiscordREST.js").DiscordRESTError | import("@effect-http/client").ResponseDecodeError | E, ReadonlyMap<string, Discord.Role>>;
|
|
43
43
|
run: Effect<never, E, void>;
|
|
44
44
|
size: Effect<never, E, number>;
|
|
45
45
|
sizeForParent: (parentId: string) => Effect<never, E, number>;
|
package/DiscordConfig.d.ts
CHANGED
|
@@ -22,5 +22,5 @@ export interface MakeOpts {
|
|
|
22
22
|
gateway?: Partial<DiscordConfig["gateway"]>;
|
|
23
23
|
}
|
|
24
24
|
export declare const make: ({ token, rest, gateway }: MakeOpts) => DiscordConfig;
|
|
25
|
-
export declare const makeLayer: (a_0: MakeOpts) => import("
|
|
26
|
-
export declare const makeFromConfig: (_: Config.Wrap<MakeOpts>) => import("
|
|
25
|
+
export declare const makeLayer: (a_0: MakeOpts) => import("@effect-http/client/_common").Layer<never, never, DiscordConfig>;
|
|
26
|
+
export declare const makeFromConfig: (_: Config.Wrap<MakeOpts>) => import("@effect-http/client/_common").Layer<never, import("./_common.js").ConfigError, DiscordConfig>;
|
|
@@ -15,7 +15,7 @@ export interface DiscordWSCodec {
|
|
|
15
15
|
decode: (p: WebSocket.Data) => Discord.GatewayPayload;
|
|
16
16
|
}
|
|
17
17
|
export declare const DiscordWSCodec: import("@effect-http/client/_common").Tag<DiscordWSCodec>;
|
|
18
|
-
export declare const LiveJsonDiscordWSCodec: import("
|
|
18
|
+
export declare const LiveJsonDiscordWSCodec: import("@effect-http/client/_common").Layer<never, never, DiscordWSCodec>;
|
|
19
19
|
export declare const make: ({ url, version, outbound, }: OpenOpts) => import("@effect-http/client/_common").Effect<import("../Log.js").Log | DiscordWSCodec, never, {
|
|
20
20
|
source: import("@effect-http/client/_common").Stream<never, never, import("../types.js").GatewayPayload<any>>;
|
|
21
21
|
setUrl: (url: string) => import("@effect-http/client/_common").Effect<never, never, void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeats.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,IAAI,GAAG,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE,CAC7D,oBAAA,wCAAA,MAAM,GACC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,2BAAC,CAAC,EAAW,CAAC,EACvC,GAAG,EAAE,CAAC,oBAAA,GAAG,EAAK,KAAK,CAAC,CAAC,CAAA;AAE9B,MAAM,SAAS,GAAG,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE,CAClE,4CAAA,GAAG,GACD,CAAC,KAAK,EAA2C,EAAE,CACjD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,wBAAe,gBAAA,EAAE,CAAC,SAAS,CAAC,CAC3D,CAAA;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA4C,EAC5C,MAA0B,EAC1B,EAAE,
|
|
1
|
+
{"version":3,"file":"heartbeats.js","sourceRoot":"","sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,MAAM,IAAI,GAAG,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE,CAC7D,oBAAA,wCAAA,MAAM,GACC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,2BAAC,CAAC,EAAW,CAAC,EACvC,GAAG,EAAE,CAAC,oBAAA,GAAG,EAAK,KAAK,CAAC,CAAC,CAAA;AAE9B,MAAM,SAAS,GAAG,CAAC,GAAiB,EAAE,MAA0B,EAAE,EAAE,CAClE,4CAAA,GAAG,GACD,CAAC,KAAK,EAA2C,EAAE,CACjD,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,wBAAe,gBAAA,EAAE,CAAC,SAAS,CAAC,CAC3D,CAAA;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,CACrB,MAA4C,EAC5C,MAA0B,EAC1B,EAAE,wBACF,oBAAA,qBAAS,IAAI,CAAC,EAAK,QAAQ,CAAC,EAAE;IAC5B,MAAM,UAAU,GAAG,0BAAA,iCAAA,oBAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,sCAEtC,EACM,GAAG,EAAE,CAAC,oBAAA,QAAQ,EAAK,IAAI,CAAC,CAAC,EAE5B,CAAC,CAAC,EAAE,CACF,6BACE,wBAAA,yBACE,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,kBAAkB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAChD,EAAS,uBAAgB,MAAM,CAAC,CAAC,CAAC,CAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC5D,EACH,CAAC,CACF,EACU,GAAG,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAA;IAE/C,MAAM,IAAI,yBAAG,oBAAA,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,8CAAqC,EACpE,GAAG,EAAE,CAAC,oBAAA,QAAQ,EAAK,IAAI,CAAC,CACzB,CAAM,CAAA;IAEP,OAAO,sBAAA,UAAU,EAAO,IAAI,CAAC,CAAA;AAC/B,CAAC,CAAC,CAAa,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Stream, Discord, Maybe, Ref } from "dfx/_common";
|
|
2
2
|
export declare const opCode: <R, E>(source: import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>) => <T = any>(code: Discord.GatewayOpcode) => import("@effect-http/client/_common").Stream<R, E, import("../../types.js").GatewayPayload<any>>;
|
|
3
|
-
export declare const latest: <T>(f: (p: Discord.GatewayPayload) => import("
|
|
3
|
+
export declare const latest: <T>(f: (p: Discord.GatewayPayload) => import("@effect-http/client/_common").Maybe<T>) => import("@effect-http/client/_common").Effect<never, never, readonly [import("../../_common.js").Ref<import("@effect-http/client/_common").Maybe<T>>, (p: import("../../types.js").GatewayPayload<any>) => import("@effect-http/client/_common").Effect<never, never, void>]>;
|
|
@@ -9,4 +9,4 @@ export interface ShardStore {
|
|
|
9
9
|
heartbeat?: (shardId: number) => Effect<never, never, void>;
|
|
10
10
|
}
|
|
11
11
|
export declare const ShardStore: import("@effect-http/client/_common").Tag<ShardStore>;
|
|
12
|
-
export declare const LiveMemoryShardStore: import("
|
|
12
|
+
export declare const LiveMemoryShardStore: import("@effect-http/client/_common").Layer<never, never, ShardStore>;
|
|
@@ -12,5 +12,5 @@ declare const make: import("@effect-http/client/_common").Effect<import("../_com
|
|
|
12
12
|
export interface Sharder extends Effect.Success<typeof make> {
|
|
13
13
|
}
|
|
14
14
|
export declare const Sharder: import("@effect-http/client/_common").Tag<Sharder>;
|
|
15
|
-
export declare const LiveSharder: import("
|
|
15
|
+
export declare const LiveSharder: import("@effect-http/client/_common").Layer<import("../DiscordREST.js").DiscordREST | import("../DiscordConfig.js").DiscordConfig | ShardStore | import("../Log.js").Log | import("../RateLimit.js").RateLimiter | import("./DiscordWS.js").DiscordWSCodec, never, Sharder>;
|
|
16
16
|
export {};
|
package/DiscordGateway/WS.js
CHANGED
|
@@ -3,7 +3,6 @@ import * as tsplus_module_2 from "@effect/io/Ref";
|
|
|
3
3
|
import * as tsplus_module_3 from "@effect/stream/Stream";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/io/Schedule";
|
|
5
5
|
import * as tsplus_module_5 from "dfx";
|
|
6
|
-
import * as tsplus_module_6 from "@fp-ts/core/Function";
|
|
7
6
|
import WebSocket from "isomorphic-ws";
|
|
8
7
|
export const Reconnect = Symbol();
|
|
9
8
|
export class WebSocketError {
|
|
@@ -56,8 +55,8 @@ const send = (ws, take, log) => tsplus_module_1.forever(tsplus_module_1.tap(tspl
|
|
|
56
55
|
ws.send(data);
|
|
57
56
|
});
|
|
58
57
|
}));
|
|
59
|
-
export const make = (url, takeOutbound) =>
|
|
58
|
+
export const make = (url, takeOutbound) => tsplus_module_3.unwrapScoped(tsplus_module_1.flatMap(tsplus_module_1.service(tsplus_module_5.Log.Log), log => tsplus_module_1.map(socket(url), ws => {
|
|
60
59
|
const sendEffect = send(ws, takeOutbound, log);
|
|
61
60
|
return tsplus_module_3.retry(tsplus_module_3.merge(recv(ws), tsplus_module_3.fromEffect(sendEffect)), tsplus_module_4.recurWhile(e => e._tag === "WebSocketCloseError" && e.code === 1012));
|
|
62
|
-
}))
|
|
61
|
+
})));
|
|
63
62
|
//# sourceMappingURL=WS.js.map
|
package/DiscordGateway/WS.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WS.js","sourceRoot":"","sources":["../../src/DiscordGateway/WS.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"WS.js","sourceRoot":"","sources":["../../src/DiscordGateway/WS.ts"],"names":[],"mappings":"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"}
|
package/DiscordGateway.d.ts
CHANGED
|
@@ -9,4 +9,4 @@ export declare const make: import("@effect-http/client/_common").Effect<import("
|
|
|
9
9
|
export interface DiscordGateway extends Effect.Success<typeof make> {
|
|
10
10
|
}
|
|
11
11
|
export declare const DiscordGateway: import("@effect-http/client/_common").Tag<DiscordGateway>;
|
|
12
|
-
export declare const LiveDiscordGateway: import("
|
|
12
|
+
export declare const LiveDiscordGateway: import("@effect-http/client/_common").Layer<Sharder, never, DiscordGateway>;
|
package/DiscordREST/types.d.ts
CHANGED
|
@@ -2,6 +2,6 @@ import * as Http from "@effect-http/client";
|
|
|
2
2
|
import { DiscordRESTError } from "dfx/DiscordREST";
|
|
3
3
|
import { Effect } from "dfx/_common";
|
|
4
4
|
export interface ResponseWithData<A> extends Http.response.Response {
|
|
5
|
-
readonly json: Effect<never, Http.
|
|
5
|
+
readonly json: Effect<never, Http.ResponseDecodeError, A>;
|
|
6
6
|
}
|
|
7
7
|
export type RestResponse<T> = Effect<never, DiscordRESTError, ResponseWithData<T>>;
|
package/DiscordREST/utils.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export declare const routeFromConfig: (path: string, method: string) => string;
|
|
2
|
-
export declare const numberHeader: (headers: Headers) => (key: string) => import("
|
|
3
|
-
export declare const retryAfter: (headers: Headers) => import("
|
|
4
|
-
export declare const rateLimitFromHeaders: (headers: Headers) => import("
|
|
2
|
+
export declare const numberHeader: (headers: Headers) => (key: string) => import("@effect-http/client/_common").Maybe<number>;
|
|
3
|
+
export declare const retryAfter: (headers: Headers) => import("@effect-http/client/_common").Maybe<import("../_common.js").Duration>;
|
|
4
|
+
export declare const rateLimitFromHeaders: (headers: Headers) => import("@effect-http/client/_common").Maybe<{
|
|
5
5
|
bucket: string;
|
|
6
6
|
retryAfter: import("../_common.js").Duration;
|
|
7
7
|
limit: number;
|
package/DiscordREST.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { BucketDetails } from "dfx";
|
|
2
2
|
import { Effect, Discord } from "dfx/_common";
|
|
3
|
-
import { ResponseWithData, RestResponse } from "./DiscordREST/types.js";
|
|
4
3
|
import * as Http from "@effect-http/client";
|
|
4
|
+
import { ResponseWithData, RestResponse } from "./DiscordREST/types.js";
|
|
5
5
|
export declare class DiscordRESTError {
|
|
6
6
|
readonly error: Http.HttpClientError;
|
|
7
7
|
readonly _tag = "DiscordRESTError";
|
|
8
8
|
constructor(error: Http.HttpClientError);
|
|
9
9
|
}
|
|
10
|
-
declare const make: import("@effect-http/client/_common").Effect<import("./DiscordConfig.js").DiscordConfig | import("./Log.js").Log | import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter, never, {
|
|
10
|
+
declare const make: import("@effect-http/client/_common").Effect<import("./DiscordConfig.js").DiscordConfig | Http.executor.HttpRequestExecutor | import("./Log.js").Log | import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter, never, {
|
|
11
11
|
addGuildMember: (guildId: string, userId: string, params?: Partial<import("./types.js").AddGuildMemberParams> | undefined, options?: Partial<Http.MakeOptions> | undefined) => RestResponse<import("./types.js").GuildMember>;
|
|
12
12
|
addGuildMemberRole: (guildId: string, userId: string, roleId: string, options?: Partial<Http.MakeOptions> | undefined) => RestResponse<any>;
|
|
13
13
|
addThreadMember: (channelId: string, userId: string, options?: Partial<Http.MakeOptions> | undefined) => RestResponse<any>;
|
|
@@ -190,5 +190,5 @@ declare const make: import("@effect-http/client/_common").Effect<import("./Disco
|
|
|
190
190
|
export interface DiscordREST extends Effect.Success<typeof make> {
|
|
191
191
|
}
|
|
192
192
|
export declare const DiscordREST: import("@effect-http/client/_common").Tag<DiscordREST>;
|
|
193
|
-
export declare const LiveDiscordREST: import("
|
|
193
|
+
export declare const LiveDiscordREST: import("@effect-http/client/_common").Layer<import("./DiscordConfig.js").DiscordConfig | Http.executor.HttpRequestExecutor | import("./Log.js").Log | import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter, never, DiscordREST>;
|
|
194
194
|
export {};
|
package/DiscordREST.js
CHANGED
|
@@ -3,16 +3,16 @@ import * as tsplus_module_2 from "dfx/_common";
|
|
|
3
3
|
import * as tsplus_module_3 from "@effect/io/Effect";
|
|
4
4
|
import * as tsplus_module_4 from "@effect/data/Duration";
|
|
5
5
|
import * as tsplus_module_5 from "@fp-ts/core/Option";
|
|
6
|
-
import * as tsplus_module_6 from "@effect
|
|
7
|
-
import * as tsplus_module_7 from "@effect/
|
|
6
|
+
import * as tsplus_module_6 from "@effect/io/Config/Secret";
|
|
7
|
+
import * as tsplus_module_7 from "@effect-http/client/Request/Executor";
|
|
8
8
|
import * as tsplus_module_8 from "@effect/data/HashSet";
|
|
9
9
|
import * as tsplus_module_9 from "@effect/io/Ref";
|
|
10
10
|
import * as tsplus_module_10 from "dfx";
|
|
11
11
|
import * as tsplus_module_11 from "@effect/io/Layer";
|
|
12
|
+
import * as Http from "@effect-http/client";
|
|
12
13
|
import { millis } from "@effect/data/Duration";
|
|
13
|
-
import Pkg from "./package.json" assert { type: "json" };
|
|
14
14
|
import { rateLimitFromHeaders, retryAfter, routeFromConfig, } from "./DiscordREST/utils.js";
|
|
15
|
-
import
|
|
15
|
+
import Pkg from "./package.json" assert { type: "json" };
|
|
16
16
|
export class DiscordRESTError {
|
|
17
17
|
error;
|
|
18
18
|
_tag = "DiscordRESTError";
|
|
@@ -20,7 +20,7 @@ export class DiscordRESTError {
|
|
|
20
20
|
this.error = error;
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
|
-
const make = tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.DiscordConfig.DiscordConfig), ({ token, rest }) => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.Log.Log), log => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.RateLimitStore), store => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.RateLimiter), ({ maybeWait }) => {
|
|
23
|
+
const make = tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.DiscordConfig.DiscordConfig), ({ token, rest }) => tsplus_module_3.flatMap(tsplus_module_3.service(Http.executor.HttpRequestExecutor), http => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.Log.Log), log => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.RateLimitStore), store => tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.RateLimiter), ({ maybeWait }) => {
|
|
24
24
|
const globalRateLimit = maybeWait("dfx.rest.global", rest.globalRateLimit.window, rest.globalRateLimit.limit);
|
|
25
25
|
return tsplus_module_3.map(tsplus_module_9.make(tsplus_module_8.empty()), badRoutesRef => {
|
|
26
26
|
const addBadRoute = (route) => tsplus_module_3.collectAllParDiscard([
|
|
@@ -66,13 +66,11 @@ const make = tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.Di
|
|
|
66
66
|
});
|
|
67
67
|
});
|
|
68
68
|
})());
|
|
69
|
-
const
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
return tsplus_module_3.flatMap(tsplus_module_3.mapError(tsplus_module_6.fetch_()(requestWithCreds), _ => new DiscordRESTError(_)), response => tsplus_module_3.map(updateBuckets(request, response), () => response));
|
|
75
|
-
})), "DiscordRESTError", e => {
|
|
69
|
+
const httpExecutor = tsplus_module_7.catchAll(_ => tsplus_module_3.fail(new DiscordRESTError(_)))(tsplus_module_7.contramap(_ => tsplus_module_1.setHeaders({
|
|
70
|
+
Authorization: `Bot ${tsplus_module_6.value(token)}`,
|
|
71
|
+
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
|
|
72
|
+
})(tsplus_module_1.updateUrl(_ => `${rest.baseUrl}${_}`)(_)))(tsplus_module_7.filterStatus(_ => _ >= 200 && _ < 300)(http.execute)));
|
|
73
|
+
const executor = (request) => tsplus_module_3.catchTag(tsplus_module_3.flatMap(requestRateLimit(request.url, request), () => tsplus_module_3.flatMap(globalRateLimit, () => tsplus_module_3.flatMap(httpExecutor(request), response => tsplus_module_3.map(updateBuckets(request, response), () => response)))), "DiscordRESTError", e => {
|
|
76
74
|
if (e.error._tag !== "StatusCodeError") {
|
|
77
75
|
return tsplus_module_3.fail(e);
|
|
78
76
|
}
|
|
@@ -107,13 +105,13 @@ const make = tsplus_module_3.flatMap(tsplus_module_3.service(tsplus_module_10.Di
|
|
|
107
105
|
request.body.value.value.append("payload_json", JSON.stringify(params));
|
|
108
106
|
}
|
|
109
107
|
else if (params) {
|
|
110
|
-
request = tsplus_module_1.
|
|
108
|
+
request = tsplus_module_1.jsonBody(params)(request);
|
|
111
109
|
}
|
|
112
110
|
return executor(request);
|
|
113
111
|
});
|
|
114
112
|
return { executor, ...routes };
|
|
115
113
|
});
|
|
116
|
-
}))));
|
|
114
|
+
})))));
|
|
117
115
|
export const DiscordREST = tsplus_module_2.Tag();
|
|
118
116
|
export const LiveDiscordREST = tsplus_module_11.effect(DiscordREST, make);
|
|
119
117
|
//# sourceMappingURL=DiscordREST.js.map
|
package/DiscordREST.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordREST.js","sourceRoot":"","sources":["../src/DiscordREST.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"DiscordREST.js","sourceRoot":"","sources":["../src/DiscordREST.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,7 +45,7 @@ export declare class RequiredOptionNotFound {
|
|
|
45
45
|
readonly _tag = "RequiredOptionNotFound";
|
|
46
46
|
constructor(data: Discord.ApplicationCommandDatum | Discord.ApplicationCommandInteractionDataOption, name: string);
|
|
47
47
|
}
|
|
48
|
-
export declare const option: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("
|
|
48
|
+
export declare const option: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("@effect-http/client/_common").Maybe<import("../types.js").ApplicationCommandInteractionDataOption>>;
|
|
49
49
|
export declare const optionValue: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, RequiredOptionNotFound, string>;
|
|
50
|
-
export declare const optionValueOptional: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("
|
|
50
|
+
export declare const optionValueOptional: (name: string) => Effect<import("../types.js").ApplicationCommandDatum, never, import("@effect-http/client/_common").Maybe<string>>;
|
|
51
51
|
export declare const modalValues: Effect<import("../types.js").ModalSubmitDatum, never, import("../_common.js").HashMap<string, string | undefined>>;
|
|
@@ -11,4 +11,4 @@ export interface RunOpts {
|
|
|
11
11
|
* @tsplus pipeable dfx/InteractionBuilder runGateway
|
|
12
12
|
* @tsplus location "dfx/Interactions/gateway"
|
|
13
13
|
*/
|
|
14
|
-
export declare const run: <R, R2, E, E2>(postHandler: (effect: import("@effect-http/client/_common").Effect<R | import("dfx/DiscordREST").DiscordREST | import("../types.js").Interaction, E | DiscordRESTError | DefinitionNotFound, void>) => import("@effect-http/client/_common").Effect<R2, E2, void>, { sync }?: RunOpts) => (ix: InteractionBuilder<R, E>) => import("@effect-http/client/_common").Effect<import("dfx/DiscordREST").DiscordREST | import("../DiscordGateway.js").DiscordGateway | Exclude<R2, import("../types.js").Interaction>, E2 | DiscordRESTError | Http.
|
|
14
|
+
export declare const run: <R, R2, E, E2>(postHandler: (effect: import("@effect-http/client/_common").Effect<R | import("dfx/DiscordREST").DiscordREST | import("../types.js").Interaction, E | DiscordRESTError | DefinitionNotFound, void>) => import("@effect-http/client/_common").Effect<R2, E2, void>, { sync }?: RunOpts) => (ix: InteractionBuilder<R, E>) => import("@effect-http/client/_common").Effect<import("dfx/DiscordREST").DiscordREST | import("../DiscordGateway.js").DiscordGateway | Exclude<R2, import("../types.js").Interaction>, E2 | DiscordRESTError | Http.ResponseDecodeError, void>;
|
package/Interactions/index.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ export declare class InteractionBuilder<R, E> {
|
|
|
13
13
|
constructor(definitions: D.InteractionDefinition<R, E>[]);
|
|
14
14
|
add<R1, E1>(definition: D.InteractionDefinition<R1, E1>): InteractionBuilder<R | R1, E | E1>;
|
|
15
15
|
concat<R1, E1>(builder: InteractionBuilder<R1, E1>): InteractionBuilder<R | R1, E | E1>;
|
|
16
|
-
get syncGlobal(): Effect<DiscordREST, import("../DiscordREST.js").DiscordRESTError | Http.
|
|
16
|
+
get syncGlobal(): Effect<DiscordREST, import("../DiscordREST.js").DiscordRESTError | Http.ResponseDecodeError, import("../DiscordREST/types.js").ResponseWithData<Discord.ApplicationCommand[]>>;
|
|
17
17
|
syncGuild(appId: Discord.Snowflake, guildId: Discord.Snowflake): Effect<DiscordREST, import("../DiscordREST.js").DiscordRESTError, import("../DiscordREST/types.js").ResponseWithData<Discord.ApplicationCommand[]>>;
|
|
18
18
|
}
|
|
19
19
|
export declare const builder: InteractionBuilder<never, never>;
|
|
@@ -16,8 +16,8 @@ declare const makeConfig: ({ applicationId, publicKey }: MakeConfigOpts) => {
|
|
|
16
16
|
export interface WebhookConfig extends ReturnType<typeof makeConfig> {
|
|
17
17
|
}
|
|
18
18
|
export declare const WebhookConfig: import("@effect-http/client/_common").Tag<WebhookConfig>;
|
|
19
|
-
export declare const makeConfigLayer: (a_0: MakeConfigOpts) => import("
|
|
20
|
-
export declare const makeFromConfig: (a: Config<MakeConfigOpts>) => import("
|
|
19
|
+
export declare const makeConfigLayer: (a_0: MakeConfigOpts) => import("@effect-http/client/_common").Layer<never, never, WebhookConfig>;
|
|
20
|
+
export declare const makeFromConfig: (a: Config<MakeConfigOpts>) => import("@effect-http/client/_common").Layer<never, import("../_common.js").ConfigError, WebhookConfig>;
|
|
21
21
|
export declare class WebhookParseError {
|
|
22
22
|
readonly reason: unknown;
|
|
23
23
|
readonly _tag = "WebhookParseError";
|
package/Log.d.ts
CHANGED
|
@@ -5,8 +5,8 @@ declare const make: (debug?: boolean) => {
|
|
|
5
5
|
export interface Log extends ReturnType<typeof make> {
|
|
6
6
|
}
|
|
7
7
|
export declare const Log: import("@effect-http/client/_common").Tag<Log>;
|
|
8
|
-
export declare const LiveLog: import("
|
|
9
|
-
export declare const LiveLogDebug: import("
|
|
8
|
+
export declare const LiveLog: import("@effect-http/client/_common").Layer<never, never, Log>;
|
|
9
|
+
export declare const LiveLogDebug: import("@effect-http/client/_common").Layer<never, never, Log>;
|
|
10
10
|
export declare const info: (...args: any[]) => import("@effect-http/client/_common").Effect<Log, never, void>;
|
|
11
11
|
export declare const debug: (...args: any[]) => import("@effect-http/client/_common").Effect<Log, never, void>;
|
|
12
12
|
export {};
|
package/RateLimit.d.ts
CHANGED
|
@@ -13,12 +13,12 @@ export interface RateLimitStore {
|
|
|
13
13
|
removeCounter: (key: string) => Effect<never, never, void>;
|
|
14
14
|
}
|
|
15
15
|
export declare const RateLimitStore: import("@effect-http/client/_common").Tag<RateLimitStore>;
|
|
16
|
-
export declare const LiveMemoryRateLimitStore: import("
|
|
16
|
+
export declare const LiveMemoryRateLimitStore: import("@effect-http/client/_common").Layer<never, never, RateLimitStore>;
|
|
17
17
|
declare const makeLimiter: import("@effect-http/client/_common").Effect<import("./Log.js").Log | RateLimitStore, never, {
|
|
18
18
|
maybeWait: (key: string, window: Duration, limit: number, multiplier?: number) => import("@effect-http/client/_common").Effect<never, never, void>;
|
|
19
19
|
}>;
|
|
20
20
|
export interface RateLimiter extends Effect.Success<typeof makeLimiter> {
|
|
21
21
|
}
|
|
22
22
|
export declare const RateLimiter: import("@effect-http/client/_common").Tag<RateLimiter>;
|
|
23
|
-
export declare const LiveRateLimiter: import("
|
|
23
|
+
export declare const LiveRateLimiter: import("@effect-http/client/_common").Layer<import("./Log.js").Log | RateLimitStore, never, RateLimiter>;
|
|
24
24
|
export {};
|
package/gateway.d.ts
CHANGED
|
@@ -7,10 +7,10 @@ export * as Shard from "./DiscordGateway/Shard.js";
|
|
|
7
7
|
export * as ShardStore from "./DiscordGateway/ShardStore.js";
|
|
8
8
|
export * as WS from "./DiscordGateway/WS.js";
|
|
9
9
|
export { run as runIx } from "./Interactions/gateway.js";
|
|
10
|
-
export declare const MemoryRateLimit: import("
|
|
11
|
-
export declare const MemoryREST: import("
|
|
12
|
-
export declare const MemorySharder: import("
|
|
13
|
-
export declare const MemoryGateway: import("
|
|
14
|
-
export declare const MemoryBot: import("
|
|
15
|
-
export declare const
|
|
16
|
-
export declare const
|
|
10
|
+
export declare const MemoryRateLimit: import("@effect-http/client/_common").Layer<Log.Log, never, import("dfx").RateLimitStore | import("dfx").RateLimiter>;
|
|
11
|
+
export declare const MemoryREST: import("@effect-http/client/_common").Layer<DiscordConfig.DiscordConfig | import("@effect-http/client/Request/Executor").HttpRequestExecutor | Log.Log, never, import("dfx").DiscordREST>;
|
|
12
|
+
export declare const MemorySharder: import("@effect-http/client/_common").Layer<DiscordConfig.DiscordConfig | import("@effect-http/client/Request/Executor").HttpRequestExecutor | Log.Log, never, import("./DiscordGateway/Sharder.js").Sharder>;
|
|
13
|
+
export declare const MemoryGateway: import("@effect-http/client/_common").Layer<DiscordConfig.DiscordConfig | import("@effect-http/client/Request/Executor").HttpRequestExecutor | Log.Log, never, import("./DiscordGateway.js").DiscordGateway>;
|
|
14
|
+
export declare const MemoryBot: import("@effect-http/client/_common").Layer<DiscordConfig.DiscordConfig | import("@effect-http/client/Request/Executor").HttpRequestExecutor | Log.Log, never, import("dfx").DiscordREST | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
|
|
15
|
+
export declare const makeLiveWithoutFetch: (config: ConfigWrap.Wrap<DiscordConfig.MakeOpts>, debug?: boolean) => import("@effect-http/client/_common").Layer<import("@effect-http/client/Request/Executor").HttpRequestExecutor, import("./_common.js").ConfigError, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
|
|
16
|
+
export declare const makeLive: (config: ConfigWrap.Wrap<DiscordConfig.MakeOpts>, debug?: boolean) => import("@effect-http/client/_common").Layer<never, import("./_common.js").ConfigError, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimitStore | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
|
package/gateway.js
CHANGED
|
@@ -6,6 +6,7 @@ import { LiveDiscordGateway } from "./DiscordGateway.js";
|
|
|
6
6
|
import { LiveSharder } from "./DiscordGateway/Sharder.js";
|
|
7
7
|
import { LiveMemoryShardStore } from "./DiscordGateway/ShardStore.js";
|
|
8
8
|
import { LiveMemoryRateLimitStore, LiveRateLimiter } from "./RateLimit.js";
|
|
9
|
+
import { LiveFetchRequestExecutor } from "@effect-http/client";
|
|
9
10
|
export * as CachePrelude from "./Cache/prelude.js";
|
|
10
11
|
export * as DiscordWS from "./DiscordGateway/DiscordWS.js";
|
|
11
12
|
export * as Gateway from "./DiscordGateway.js";
|
|
@@ -18,16 +19,13 @@ export const MemoryREST = tsplus_module_1.provide(LiveDiscordREST)(MemoryRateLim
|
|
|
18
19
|
export const MemorySharder = tsplus_module_1.provide(LiveSharder)((tsplus_module_1.merge(LiveJsonDiscordWSCodec)(tsplus_module_1.merge(MemoryRateLimit)(tsplus_module_1.merge(LiveMemoryShardStore)(MemoryREST)))));
|
|
19
20
|
export const MemoryGateway = tsplus_module_1.provide(LiveDiscordGateway)(MemorySharder);
|
|
20
21
|
export const MemoryBot = tsplus_module_1.provideMerge(tsplus_module_1.merge(MemoryRateLimit)(MemoryGateway))(MemoryREST);
|
|
21
|
-
export const
|
|
22
|
-
const LiveLog = debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
23
|
-
const LiveConfig = DiscordConfig.makeLayer(config);
|
|
24
|
-
const LiveEnv = tsplus_module_1.provideMerge(MemoryBot)(tsplus_module_1.merge(LiveConfig)(LiveLog));
|
|
25
|
-
return LiveEnv;
|
|
26
|
-
};
|
|
27
|
-
export const makeFromConfig = (config, debug = false) => {
|
|
22
|
+
export const makeLiveWithoutFetch = (config, debug = false) => {
|
|
28
23
|
const LiveLog = debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
29
24
|
const LiveConfig = DiscordConfig.makeFromConfig(tsplus_module_2.ConfigWrap.unwrap(config));
|
|
30
25
|
const LiveEnv = tsplus_module_1.provideMerge(MemoryBot)(tsplus_module_1.merge(LiveConfig)(LiveLog));
|
|
31
26
|
return LiveEnv;
|
|
32
27
|
};
|
|
28
|
+
export const makeLive = (config, debug = false) => {
|
|
29
|
+
return tsplus_module_1.provide(makeLiveWithoutFetch(config, debug))(LiveFetchRequestExecutor);
|
|
30
|
+
};
|
|
33
31
|
//# sourceMappingURL=gateway.js.map
|
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,+BAA+B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
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,+BAA+B,CAAA;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,2BAA2B,CAAA;AAExD,MAAM,CAAC,MAAM,eAAe,gCAA8B,eAAe,EAA1C,wBAAwB,CAAkB,CAAA;AAEzE,MAAM,CAAC,MAAM,UAAU,2BAAsB,eAAe,EAAlC,eAAe,CAAmB,CAAA;AAE5D,MAAM,CAAC,MAAM,aAAa,2BAKxB,WAAW,EAJX,uBAGE,sBAAsB,wBADtB,eAAe,wBADf,oBAAoB,EADrB,UAAU,IAGc,CACd,CAAA;AAEb,MAAM,CAAC,MAAM,aAAa,2BAAoB,kBAAkB,EAAnC,aAAa,CAAsB,CAAA;AAEhE,MAAM,CAAC,MAAM,SAAS,sDAAgC,eAAe,EAA/B,aAAa,GAA1B,UAAU,CAAkC,CAAA;AAErE,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA+C,EAC/C,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,gBAAA,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IAC1E,MAAM,OAAO,gCAA0B,SAAS,wBAAtB,UAAU,EAApB,OAAO,EAAyB,CAAA;IAEhD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,MAA+C,EAC/C,KAAK,GAAG,KAAK,EACb,EAAE;IACF,+BAAmC,oBAAoB,CAAC,MAAM,EAAE,KAAK,CAAC,EAA/D,wBAAwB,EAAuC;AACxE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.23.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -27,30 +27,30 @@
|
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@tim-smart/discord-api-docs-parser": "^0.5.0",
|
|
30
|
-
"@tsplus-types/effect__data": "0.1.
|
|
31
|
-
"@tsplus-types/effect__io": "0.1.11-
|
|
32
|
-
"@tsplus-types/effect__stream": "0.3.0-
|
|
33
|
-
"@tsplus-types/fp-ts__core": "0.2.1-
|
|
34
|
-
"@tsplus-types/fp-ts__schema": "0.1.3-
|
|
30
|
+
"@tsplus-types/effect__data": "0.1.2-da5519d",
|
|
31
|
+
"@tsplus-types/effect__io": "0.1.11-da5519d",
|
|
32
|
+
"@tsplus-types/effect__stream": "0.3.0-da5519d",
|
|
33
|
+
"@tsplus-types/fp-ts__core": "0.2.1-da5519d",
|
|
34
|
+
"@tsplus-types/fp-ts__schema": "0.1.3-da5519d",
|
|
35
35
|
"@types/ws": "^8.5.4",
|
|
36
36
|
"dotenv": "^16.0.3",
|
|
37
|
-
"lerna": "^6.
|
|
37
|
+
"lerna": "^6.5.0",
|
|
38
38
|
"typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.168/compiler/typescript.tgz"
|
|
39
39
|
},
|
|
40
40
|
"dependencies": {
|
|
41
|
-
"@effect-http/client": "^0.
|
|
42
|
-
"@effect/data": "^0.1.
|
|
41
|
+
"@effect-http/client": "^0.2.3",
|
|
42
|
+
"@effect/data": "^0.1.2",
|
|
43
43
|
"@effect/io": "~0.1.11",
|
|
44
44
|
"@effect/stream": "~0.3.0",
|
|
45
|
-
"@fp-ts/core": "^0.2.
|
|
45
|
+
"@fp-ts/core": "^0.2.1",
|
|
46
46
|
"tweetnacl": "^1.0.3"
|
|
47
47
|
},
|
|
48
48
|
"optionalDependencies": {
|
|
49
49
|
"bufferutil": "^4.0.7",
|
|
50
50
|
"isomorphic-ws": "^5.0.0",
|
|
51
51
|
"utf-8-validate": "^6.0.2",
|
|
52
|
-
"ws": "^8.12.
|
|
52
|
+
"ws": "^8.12.1"
|
|
53
53
|
},
|
|
54
54
|
"sideEffects": false,
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "816875f37e942879f9919dc77b65ebfb1217d46a"
|
|
56
56
|
}
|
package/webhooks.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DiscordConfig } from "dfx";
|
|
|
2
2
|
import { ConfigWrap } 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
|
-
export declare const MemoryRateLimit: import("
|
|
6
|
-
export declare const MemoryREST: import("
|
|
7
|
-
export declare const make: (config: DiscordConfig.MakeOpts & MakeConfigOpts, debug?: boolean) => import("
|
|
8
|
-
export declare const makeFromConfig: (options: ConfigWrap.Wrap<DiscordConfig.MakeOpts & MakeConfigOpts>, debug?: boolean) => import("
|
|
5
|
+
export declare const MemoryRateLimit: import("@effect-http/client/_common").Layer<import("./Log.js").Log, never, import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter>;
|
|
6
|
+
export declare const MemoryREST: import("@effect-http/client/_common").Layer<import("./DiscordConfig.js").DiscordConfig | import("@effect-http/client/Request/Executor").HttpRequestExecutor | import("./Log.js").Log, never, import("./DiscordREST.js").DiscordREST>;
|
|
7
|
+
export declare const make: (config: DiscordConfig.MakeOpts & MakeConfigOpts, debug?: boolean) => import("@effect-http/client/_common").Layer<import("@effect-http/client/Request/Executor").HttpRequestExecutor, never, import("./DiscordREST.js").DiscordREST | import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter | import("./Interactions/webhook.js").WebhookConfig>;
|
|
8
|
+
export declare const makeFromConfig: (options: ConfigWrap.Wrap<DiscordConfig.MakeOpts & MakeConfigOpts>, debug?: boolean) => import("@effect-http/client/_common").Layer<import("@effect-http/client/Request/Executor").HttpRequestExecutor, import("./_common.js").ConfigError, import("./DiscordREST.js").DiscordREST | import("./RateLimit.js").RateLimitStore | import("./RateLimit.js").RateLimiter | import("./Interactions/webhook.js").WebhookConfig>;
|