dfx 0.61.0 → 0.61.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Cache/prelude.d.ts +7 -7
- package/DiscordGateway/DiscordWS.d.ts +1 -1
- package/DiscordGateway/Shard.d.ts +2 -2
- package/DiscordGateway/Sharder.d.ts +2 -2
- package/DiscordGateway.d.ts +1 -1
- package/DiscordREST/types.d.ts +3 -3
- package/DiscordREST/types.d.ts.map +1 -1
- package/DiscordREST/utils.d.ts +4 -3
- package/DiscordREST/utils.d.ts.map +1 -1
- package/DiscordREST/utils.js +3 -2
- package/DiscordREST/utils.js.map +1 -1
- package/DiscordREST.d.ts +6 -7
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +12 -18
- package/DiscordREST.js.map +1 -1
- package/Interactions/builder.d.ts +2 -2
- package/Interactions/builder.d.ts.map +1 -1
- package/Interactions/builder.js +1 -1
- package/Interactions/builder.js.map +1 -1
- package/Interactions/context.d.ts +1 -1
- package/Interactions/definitions.d.ts +3 -3
- package/Interactions/gateway.d.ts +3 -3
- package/Interactions/gateway.d.ts.map +1 -1
- package/Interactions/gateway.js +1 -1
- package/Interactions/gateway.js.map +1 -1
- package/RateLimit.d.ts +2 -2
- package/gateway.d.ts +1 -3
- package/gateway.d.ts.map +1 -1
- package/gateway.js +2 -5
- 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/DiscordREST/utils.mjs +3 -2
- package/mjs/DiscordREST/utils.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +12 -13
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/Interactions/builder.mjs +1 -1
- package/mjs/Interactions/builder.mjs.map +1 -1
- package/mjs/Interactions/gateway.mjs +1 -1
- package/mjs/Interactions/gateway.mjs.map +1 -1
- package/mjs/gateway.mjs +1 -3
- 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 +2 -11
- package/mjs/webhooks.mjs.map +1 -1
- package/package.json +3 -3
- package/src/DiscordREST/types.ts +3 -3
- package/src/DiscordREST/utils.ts +7 -5
- package/src/DiscordREST.ts +37 -33
- package/src/Interactions/builder.ts +1 -1
- package/src/Interactions/gateway.ts +3 -3
- package/src/gateway.ts +2 -17
- package/src/index.ts +0 -2
- package/src/version.ts +1 -1
- package/src/webhooks.ts +19 -32
- package/tsconfig.tsbuildinfo +1 -0
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/webhooks.d.ts +2 -4
- package/webhooks.d.ts.map +1 -1
- package/webhooks.js +4 -14
- package/webhooks.js.map +1 -1
package/RateLimit.d.ts
CHANGED
|
@@ -19,12 +19,12 @@ export interface RateLimitStore {
|
|
|
19
19
|
}
|
|
20
20
|
export declare const RateLimitStore: Tag<RateLimitStore, RateLimitStore>;
|
|
21
21
|
export declare const LiveMemoryRateLimitStore: Layer.Layer<never, never, RateLimitStore>;
|
|
22
|
-
declare const makeLimiter: Effect.Effect<
|
|
22
|
+
declare const makeLimiter: Effect.Effect<RateLimitStore | Log, never, {
|
|
23
23
|
maybeWait: (key: string, window: Duration.Duration, limit: number, multiplier?: number) => Effect.Effect<never, never, void>;
|
|
24
24
|
}>;
|
|
25
25
|
export interface RateLimiter extends Effect.Effect.Success<typeof makeLimiter> {
|
|
26
26
|
}
|
|
27
27
|
export declare const RateLimiter: Tag<RateLimiter, RateLimiter>;
|
|
28
|
-
export declare const LiveRateLimiter: Layer.Layer<
|
|
28
|
+
export declare const LiveRateLimiter: Layer.Layer<RateLimitStore | Log, never, RateLimiter>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=RateLimit.d.ts.map
|
package/gateway.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import type { HttpRequestExecutor } from "@effect-http/client";
|
|
2
1
|
import * as Config from "@effect/io/Config";
|
|
3
2
|
import type * as ConfigError from "@effect/io/Config/Error";
|
|
4
3
|
import * as Layer from "@effect/io/Layer";
|
|
@@ -17,7 +16,6 @@ export { DiscordGateway, LiveDiscordGateway } from "dfx/DiscordGateway";
|
|
|
17
16
|
export { InteractionsRegistry, InteractionsRegistryLive, run as runIx, } from "dfx/Interactions/gateway";
|
|
18
17
|
export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore, WS };
|
|
19
18
|
export declare const MemoryRateLimit: Layer.Layer<Log.Log, never, RateLimiter>;
|
|
20
|
-
export declare const MemoryBot: Layer.Layer<
|
|
21
|
-
export declare const gatewayLayerWithoutHttp: (config: Config.Config.Wrap<DiscordConfig.MakeOpts>) => Layer.Layer<HttpRequestExecutor, ConfigError.ConfigError, RateLimiter | Log.Log | InteractionsRegistry | DiscordREST | DiscordGateway | DiscordConfig.DiscordConfig>;
|
|
19
|
+
export declare const MemoryBot: Layer.Layer<Log.Log | DiscordConfig.DiscordConfig, never, DiscordREST | InteractionsRegistry | DiscordGateway | RateLimiter>;
|
|
22
20
|
export declare const gatewayLayer: (config: Config.Config.Wrap<DiscordConfig.MakeOpts>) => Layer.Layer<never, ConfigError.ConfigError, RateLimiter | Log.Log | InteractionsRegistry | DiscordREST | DiscordGateway | DiscordConfig.DiscordConfig>;
|
|
23
21
|
//# sourceMappingURL=gateway.d.ts.map
|
package/gateway.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAC3C,OAAO,KAAK,KAAK,WAAW,MAAM,yBAAyB,CAAA;AAE3D,OAAO,KAAK,KAAK,MAAM,kBAAkB,CAAA;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,KAAK,CAAA;AACtC,OAAO,EAAE,aAAa,EAAmB,GAAG,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAExD,OAAO,KAAK,SAAS,MAAM,8BAA8B,CAAA;AAEzD,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,SAAS,MAAM,qCAAqC,CAAA;AAChE,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAA;AAE3D,OAAO,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAE3C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAGhD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAEvE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,GAAG,IAAI,KAAK,GACb,MAAM,0BAA0B,CAAA;AAEjC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,EAAE,CAAA;AAEpE,eAAO,MAAM,eAAe,0CAG3B,CAAA;AAED,eAAO,MAAM,SAAS,8HAWrB,CAAA;AAED,eAAO,MAAM,YAAY,WACf,aAAa,CAAC,IAAI,CAAC,cAAc,QAAQ,CAAC,KACjD,WAAW,CACZ,KAAK,EACL,uBAAuB,EACrB,WAAW,GACX,OAAO,GACP,oBAAoB,GACpB,WAAW,GACX,cAAc,GACd,2BAA2B,CAW5B,CAAA"}
|
package/gateway.js
CHANGED
|
@@ -29,14 +29,13 @@ Object.defineProperty(exports, "LiveDiscordGateway", {
|
|
|
29
29
|
return _DiscordGateway.LiveDiscordGateway;
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
|
-
exports.
|
|
32
|
+
exports.gatewayLayer = exports.WS = exports.ShardStore = exports.Shard = exports.SendEvent = exports.MemoryRateLimit = exports.MemoryBot = void 0;
|
|
33
33
|
Object.defineProperty(exports, "runIx", {
|
|
34
34
|
enumerable: true,
|
|
35
35
|
get: function () {
|
|
36
36
|
return _gateway2.run;
|
|
37
37
|
}
|
|
38
38
|
});
|
|
39
|
-
var _client = /*#__PURE__*/require("@effect-http/client");
|
|
40
39
|
var Config = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Config"));
|
|
41
40
|
var Effect = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Effect"));
|
|
42
41
|
var Layer = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect/io/Layer"));
|
|
@@ -63,12 +62,10 @@ const MemoryRateLimit = /*#__PURE__*/Layer.provide(_RateLimit.LiveMemoryRateLimi
|
|
|
63
62
|
exports.MemoryRateLimit = MemoryRateLimit;
|
|
64
63
|
const MemoryBot = /*#__PURE__*/Layer.provide( /*#__PURE__*/Layer.mergeAll(ShardStore.LiveMemoryShardStore, _RateLimit.LiveMemoryRateLimitStore, DiscordWS.LiveJsonDiscordWSCodec), /*#__PURE__*/Layer.mergeAll( /*#__PURE__*/Layer.provideMerge(_dfx.LiveDiscordREST, _DiscordGateway.LiveDiscordGateway), MemoryRateLimit, _gateway.InteractionsRegistryLive));
|
|
65
64
|
exports.MemoryBot = MemoryBot;
|
|
66
|
-
const
|
|
65
|
+
const gatewayLayer = config => Layer.unwrapEffect(Effect.config(Config.unwrap(config)).pipe(Effect.map(_dfx.DiscordConfig.make), Effect.map(config => {
|
|
67
66
|
const LiveLog = config.debug ? _dfx.Log.LiveLogDebug : _dfx.Log.LiveLog;
|
|
68
67
|
const LiveConfig = Layer.succeed(_dfx.DiscordConfig.DiscordConfig, config);
|
|
69
68
|
return Layer.provideMerge(Layer.merge(LiveLog, LiveConfig), MemoryBot);
|
|
70
69
|
})));
|
|
71
|
-
exports.gatewayLayerWithoutHttp = gatewayLayerWithoutHttp;
|
|
72
|
-
const gatewayLayer = config => Layer.provide(_client.LiveFetchRequestExecutor, gatewayLayerWithoutHttp(config));
|
|
73
70
|
exports.gatewayLayer = gatewayLayer;
|
|
74
71
|
//# sourceMappingURL=gateway.js.map
|
package/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","names":["
|
|
1
|
+
{"version":3,"file":"gateway.js","names":["Config","_interopRequireWildcard","require","Effect","Layer","_dfx","CachePrelude","exports","_DiscordGateway","DiscordWS","Shard","SendEvent","ShardStore","WS","_gateway","_RateLimit","_gateway2","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","MemoryRateLimit","provide","LiveMemoryRateLimitStore","LiveRateLimiter","MemoryBot","mergeAll","LiveMemoryShardStore","LiveJsonDiscordWSCodec","provideMerge","LiveDiscordREST","LiveDiscordGateway","InteractionsRegistryLive","gatewayLayer","config","unwrapEffect","unwrap","pipe","map","DiscordConfig","make","LiveLog","debug","Log","LiveLogDebug","LiveConfig","succeed","merge"],"sources":["./src/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
1
|
import * as Cache from "dfx/Cache";
|
|
3
2
|
import * as DiscordConfig from "dfx/DiscordConfig";
|
|
4
3
|
import * as Flags from "dfx/Helpers/flags";
|
|
@@ -12,5 +11,5 @@ import * as Log from "dfx/Log";
|
|
|
12
11
|
import * as Discord from "dfx/types";
|
|
13
12
|
export { DiscordREST, LiveDiscordREST } from "dfx/DiscordREST";
|
|
14
13
|
export { BucketDetails, LiveMemoryRateLimitStore, LiveRateLimiter, RateLimiter, RateLimitStore, } from "dfx/RateLimit";
|
|
15
|
-
export { Cache, Discord, DiscordConfig, Flags,
|
|
14
|
+
export { Cache, Discord, DiscordConfig, Flags, Intents, Ix, IxHelpers, Log, Members, Perms, UI, };
|
|
16
15
|
//# sourceMappingURL=index.d.ts.map
|
package/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["./src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,WAAW,CAAA;AAClC,OAAO,KAAK,aAAa,MAAM,mBAAmB,CAAA;AAClD,OAAO,KAAK,KAAK,MAAM,mBAAmB,CAAA;AAC1C,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAA;AACrD,OAAO,KAAK,OAAO,MAAM,qBAAqB,CAAA;AAC9C,OAAO,KAAK,KAAK,MAAM,yBAAyB,CAAA;AAChD,OAAO,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACpC,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,KAAK,GAAG,MAAM,SAAS,CAAA;AAC9B,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAEpC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAE9D,OAAO,EACL,aAAa,EACb,wBAAwB,EACxB,eAAe,EACf,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAA;AAEtB,OAAO,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,OAAO,EACP,EAAE,EACF,SAAS,EACT,GAAG,EACH,OAAO,EACP,KAAK,EACL,EAAE,GACH,CAAA"}
|
package/index.js
CHANGED
|
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "DiscordREST", {
|
|
|
10
10
|
return _DiscordREST.DiscordREST;
|
|
11
11
|
}
|
|
12
12
|
});
|
|
13
|
-
exports.IxHelpers = exports.Ix = exports.Intents = exports.
|
|
13
|
+
exports.IxHelpers = exports.Ix = exports.Intents = exports.Flags = void 0;
|
|
14
14
|
Object.defineProperty(exports, "LiveDiscordREST", {
|
|
15
15
|
enumerable: true,
|
|
16
16
|
get: function () {
|
|
@@ -43,8 +43,6 @@ Object.defineProperty(exports, "RateLimiter", {
|
|
|
43
43
|
}
|
|
44
44
|
});
|
|
45
45
|
exports.UI = void 0;
|
|
46
|
-
var Http = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@effect-http/client"));
|
|
47
|
-
exports.Http = Http;
|
|
48
46
|
var Cache = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/Cache"));
|
|
49
47
|
exports.Cache = Cache;
|
|
50
48
|
var DiscordConfig = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("dfx/DiscordConfig"));
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["
|
|
1
|
+
{"version":3,"file":"index.js","names":["Cache","_interopRequireWildcard","require","exports","DiscordConfig","Flags","Intents","IxHelpers","Members","Perms","UI","Ix","Log","Discord","_DiscordREST","_RateLimit","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,eAAAC,OAAA;AAAkCC,OAAA,CAAAH,KAAA,GAAAA,KAAA;AAClC,IAAAI,aAAA,gBAAAH,uBAAA,eAAAC,OAAA;AAAkDC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAClD,IAAAC,KAAA,gBAAAJ,uBAAA,eAAAC,OAAA;AAA0CC,OAAA,CAAAE,KAAA,GAAAA,KAAA;AAC1C,IAAAC,OAAA,gBAAAL,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAG,OAAA,GAAAA,OAAA;AAC9C,IAAAC,SAAA,gBAAAN,uBAAA,eAAAC,OAAA;AAAqDC,OAAA,CAAAI,SAAA,GAAAA,SAAA;AACrD,IAAAC,OAAA,gBAAAP,uBAAA,eAAAC,OAAA;AAA8CC,OAAA,CAAAK,OAAA,GAAAA,OAAA;AAC9C,IAAAC,KAAA,gBAAAR,uBAAA,eAAAC,OAAA;AAAgDC,OAAA,CAAAM,KAAA,GAAAA,KAAA;AAChD,IAAAC,EAAA,gBAAAT,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAO,EAAA,GAAAA,EAAA;AACpC,IAAAC,EAAA,gBAAAV,uBAAA,eAAAC,OAAA;AAA4CC,OAAA,CAAAQ,EAAA,GAAAA,EAAA;AAC5C,IAAAC,GAAA,gBAAAX,uBAAA,eAAAC,OAAA;AAA8BC,OAAA,CAAAS,GAAA,GAAAA,GAAA;AAC9B,IAAAC,OAAA,gBAAAZ,uBAAA,eAAAC,OAAA;AAAoCC,OAAA,CAAAU,OAAA,GAAAA,OAAA;AAEpC,IAAAC,YAAA,gBAAAZ,OAAA;AAEA,IAAAa,UAAA,gBAAAb,OAAA;AAMsB,SAAAc,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAhB,wBAAAoB,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as Duration from "@effect/data/Duration";
|
|
2
|
+
import * as HashMap from "@effect/data/HashMap";
|
|
2
3
|
import * as Option from "@effect/data/Option";
|
|
3
4
|
const majorResources = ["channels", "guilds", "webhooks"];
|
|
4
5
|
export const routeFromConfig = (path, method) => {
|
|
@@ -8,10 +9,10 @@ export const routeFromConfig = (path, method) => {
|
|
|
8
9
|
.replace(/\/reactions\/(.*)/, "/reactions");
|
|
9
10
|
return `${method}-${routeURL}`;
|
|
10
11
|
};
|
|
11
|
-
export const numberHeader = headers => key =>
|
|
12
|
+
export const numberHeader = headers => key => HashMap.get(headers, key).pipe(Option.map(parseFloat), Option.filter(n => !isNaN(n)));
|
|
12
13
|
export const retryAfter = headers => numberHeader(headers)("x-ratelimit-reset-after").pipe(Option.orElse(() => numberHeader(headers)("retry-after")), Option.map(Duration.seconds));
|
|
13
14
|
export const rateLimitFromHeaders = headers => Option.all({
|
|
14
|
-
bucket:
|
|
15
|
+
bucket: HashMap.get(headers, "x-ratelimit-bucket"),
|
|
15
16
|
retryAfter: retryAfter(headers),
|
|
16
17
|
limit: numberHeader(headers)("x-ratelimit-limit"),
|
|
17
18
|
remaining: numberHeader(headers)("x-ratelimit-remaining")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.mjs","names":["Duration","Option","majorResources","routeFromConfig","path","method","routeURL","split","replace","match","resource","includes","numberHeader","headers","key","
|
|
1
|
+
{"version":3,"file":"utils.mjs","names":["Duration","HashMap","Option","majorResources","routeFromConfig","path","method","routeURL","split","replace","match","resource","includes","numberHeader","headers","key","get","pipe","map","parseFloat","filter","n","isNaN","retryAfter","orElse","seconds","rateLimitFromHeaders","all","bucket","limit","remaining"],"sources":["../../src/DiscordREST/utils.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,uBAAuB;AACjD,OAAO,KAAKC,OAAO,MAAM,sBAAsB;AAC/C,OAAO,KAAKC,MAAM,MAAM,qBAAqB;AAG7C,MAAMC,cAAc,GAAG,CAAC,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAU;AAElE,OAAO,MAAMC,eAAe,GAAGA,CAACC,IAAY,EAAEC,MAAc,KAAI;EAC9D;EACA,MAAMC,QAAQ,GAAGF,IAAI,CAClBG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACbC,OAAO,CACN,iCAAiC,EACjC,CAACC,KAAK,EAAEC,QAAQ,KACdR,cAAc,CAACS,QAAQ,CAACD,QAAQ,CAAC,GAAGD,KAAK,GAAG,IAAIC,QAAQ,EAAE;EAE9D;EAAA,CACCF,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC;EAE7C,OAAO,GAAGH,MAAM,IAAIC,QAAQ,EAAE;AAChC,CAAC;AAED,OAAO,MAAMM,YAAY,GAAIC,OAA6B,IAAMC,GAAW,IACzEd,OAAO,CAACe,GAAG,CAACF,OAAO,EAAEC,GAAG,CAAC,CAACE,IAAI,CAC5Bf,MAAM,CAACgB,GAAG,CAACC,UAAU,CAAC,EACtBjB,MAAM,CAACkB,MAAM,CAACC,CAAC,IAAI,CAACC,KAAK,CAACD,CAAC,CAAC,CAAC,CAC9B;AAEH,OAAO,MAAME,UAAU,GAAIT,OAA6B,IACtDD,YAAY,CAACC,OAAO,CAAC,CAAC,yBAAyB,CAAC,CAACG,IAAI,CACnDf,MAAM,CAACsB,MAAM,CAAC,MAAMX,YAAY,CAACC,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EACzDZ,MAAM,CAACgB,GAAG,CAAClB,QAAQ,CAACyB,OAAO,CAAC,CAC7B;AAEH,OAAO,MAAMC,oBAAoB,GAAIZ,OAA6B,IAChEZ,MAAM,CAACyB,GAAG,CAAC;EACTC,MAAM,EAAE3B,OAAO,CAACe,GAAG,CAACF,OAAO,EAAE,oBAAoB,CAAC;EAClDS,UAAU,EAAEA,UAAU,CAACT,OAAO,CAAC;EAC/Be,KAAK,EAAEhB,YAAY,CAACC,OAAO,CAAC,CAAC,mBAAmB,CAAC;EACjDgB,SAAS,EAAEjB,YAAY,CAACC,OAAO,CAAC,CAAC,uBAAuB;CACzD,CAAC"}
|
package/mjs/DiscordREST.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
1
|
import { Tag } from "@effect/data/Context";
|
|
3
2
|
import * as Duration from "@effect/data/Duration";
|
|
4
3
|
import { millis } from "@effect/data/Duration";
|
|
@@ -8,6 +7,7 @@ import * as ConfigSecret from "@effect/io/Config/Secret";
|
|
|
8
7
|
import * as Effect from "@effect/io/Effect";
|
|
9
8
|
import * as Layer from "@effect/io/Layer";
|
|
10
9
|
import * as Ref from "@effect/io/Ref";
|
|
10
|
+
import * as Http from "@effect/platform/HttpClient";
|
|
11
11
|
import { DiscordConfig } from "dfx/DiscordConfig";
|
|
12
12
|
import { rateLimitFromHeaders, retryAfter, routeFromConfig } from "dfx/DiscordREST/utils";
|
|
13
13
|
import { Log } from "dfx/Log";
|
|
@@ -23,13 +23,12 @@ export class DiscordRESTError {
|
|
|
23
23
|
this.body = body;
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
export { ResponseDecodeError } from "@effect-http/client";
|
|
27
26
|
const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
28
27
|
const {
|
|
29
28
|
rest,
|
|
30
29
|
token
|
|
31
30
|
} = yield* _(DiscordConfig);
|
|
32
|
-
const http = yield* _(Http.
|
|
31
|
+
const http = yield* _(Http.client.Client);
|
|
33
32
|
const log = yield* _(Log);
|
|
34
33
|
const store = yield* _(RateLimitStore);
|
|
35
34
|
const {
|
|
@@ -74,16 +73,16 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
74
73
|
discard: true
|
|
75
74
|
});
|
|
76
75
|
}), Effect.ignore);
|
|
77
|
-
const httpExecutor = Http.
|
|
76
|
+
const httpExecutor = Http.client.catchAll(error => error.reason === "StatusCode" ? error.response.json.pipe(Effect.mapError(_ => new DiscordRESTError(_)), Effect.flatMap(body => Effect.fail(new DiscordRESTError(error, body)))) : Effect.fail(new DiscordRESTError(error)))(Http.client.mapRequest(req => Http.request.setHeaders({
|
|
78
77
|
Authorization: `Bot ${ConfigSecret.value(token)}`,
|
|
79
78
|
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${LIB_VERSION})`
|
|
80
|
-
})(Http.
|
|
79
|
+
})(Http.request.prependUrl(req, rest.baseUrl)))(Http.client.filterStatusOk(http)));
|
|
81
80
|
const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(httpExecutor(request)), Effect.tap(response => updateBuckets(request, response)), Effect.catchTag("DiscordRESTError", e => {
|
|
82
|
-
if (e.error.
|
|
81
|
+
if (e.error.reason !== "StatusCode") {
|
|
83
82
|
return Effect.fail(e);
|
|
84
83
|
}
|
|
85
84
|
const response = e.error.response;
|
|
86
|
-
switch (
|
|
85
|
+
switch (response.status) {
|
|
87
86
|
case 403:
|
|
88
87
|
return Effect.zipRight(Effect.all([log.info("DiscordREST", "403", request.url), addBadRoute(routeFromConfig(request.url, request.method)), updateBuckets(request, response)], {
|
|
89
88
|
concurrency: "unbounded",
|
|
@@ -101,15 +100,15 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
101
100
|
url
|
|
102
101
|
}) => {
|
|
103
102
|
const hasBody = method !== "GET" && method !== "DELETE";
|
|
104
|
-
let request = Http.make(method)(url, options);
|
|
103
|
+
let request = Http.request.make(method)(url, options);
|
|
105
104
|
if (!hasBody) {
|
|
106
105
|
if (params) {
|
|
107
|
-
request = Http.
|
|
106
|
+
request = Http.request.appendUrlParams(request, params);
|
|
108
107
|
}
|
|
109
|
-
} else if (params && request.body._tag === "
|
|
110
|
-
request.body.
|
|
108
|
+
} else if (params && request.body._tag === "FormData") {
|
|
109
|
+
request.body.formData.append("payload_json", JSON.stringify(params));
|
|
111
110
|
} else if (params) {
|
|
112
|
-
request = Http.jsonBody(request, params);
|
|
111
|
+
request = Http.request.jsonBody(request, params);
|
|
113
112
|
}
|
|
114
113
|
return executor(request);
|
|
115
114
|
});
|
|
@@ -119,5 +118,5 @@ const make = /*#__PURE__*/Effect.gen(function* (_) {
|
|
|
119
118
|
};
|
|
120
119
|
});
|
|
121
120
|
export const DiscordREST = /*#__PURE__*/Tag();
|
|
122
|
-
export const LiveDiscordREST = /*#__PURE__*/Layer.
|
|
121
|
+
export const LiveDiscordREST = /*#__PURE__*/Layer.effect(DiscordREST, make).pipe( /*#__PURE__*/Layer.use(LiveRateLimiter), /*#__PURE__*/Layer.use(Http.client.fetchLayer));
|
|
123
122
|
//# sourceMappingURL=DiscordREST.mjs.map
|
package/mjs/DiscordREST.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordREST.mjs","names":["
|
|
1
|
+
{"version":3,"file":"DiscordREST.mjs","names":["Tag","Duration","millis","HashSet","Option","ConfigSecret","Effect","Layer","Ref","Http","DiscordConfig","rateLimitFromHeaders","retryAfter","routeFromConfig","Log","LiveRateLimiter","RateLimiter","RateLimitStore","Discord","LIB_VERSION","DiscordRESTError","error","body","_tag","constructor","make","gen","_","rest","token","http","client","Client","log","store","maybeWait","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","info","pipe","zipRight","update","add","incrementCounter","isBadRoute","map","get","has","removeBadRoute","remove","invalidRateLimit","tap","invalid","unit","asUnit","requestRateLimit","path","request","Do","let","method","bind","getBucketForRoute","flatMap","maybeBucket","match","onNone","onSome","bucket","key","resetAfter","updateBuckets","response","url","headers","rateLimit","hasBucket","effectsToRun","putBucketRoute","remaining","push","removeCounter","putBucket","all","concurrency","discard","ignore","httpExecutor","catchAll","reason","json","mapError","fail","mapRequest","req","setHeaders","Authorization","value","prependUrl","baseUrl","filterStatusOk","executor","zipLeft","catchTag","e","status","sleep","getOrElse","seconds","routes","createRoutes","options","params","hasBody","appendUrlParams","formData","append","JSON","stringify","jsonBody","DiscordREST","LiveDiscordREST","effect","use","fetchLayer"],"sources":["../src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
1
|
import * as Chunk from "@effect/data/Chunk";
|
|
3
2
|
import { identity } from "@effect/data/Function";
|
|
4
3
|
import * as Effect from "@effect/io/Effect";
|
|
5
4
|
import { catchTag } from "@effect/io/Effect";
|
|
5
|
+
import * as Http from "@effect/platform/HttpClient";
|
|
6
6
|
import { DiscordREST } from "dfx/DiscordREST";
|
|
7
7
|
/**
|
|
8
8
|
* @tsplus type dfx/InteractionBuilder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"builder.mjs","names":["
|
|
1
|
+
{"version":3,"file":"builder.mjs","names":["Chunk","identity","Effect","catchTag","Http","DiscordREST","InteractionBuilder","definitions","transform","constructor","add","definition","append","concat","builder","appendAll","transformTransform","f","map","d","t","_","transformHandlers","handle","isEffect","catchAllCause","catchAllCauseRespond","catchAll","catchAllRespond","tag","catchTagRespond","syncGlobal","commands","pipe","filter","c","_tag","command","flatMap","rest","getCurrentBotApplicationInformation","r","json","app","bulkOverwriteGlobalApplicationCommands","id","body","toReadonlyArray","syncGuild","appId","guildId","bulkOverwriteGuildApplicationCommands","empty"],"sources":["../../src/Interactions/builder.ts"],"sourcesContent":[null],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
1
|
import * as Chunk from "@effect/data/Chunk";
|
|
3
2
|
import { Tag } from "@effect/data/Context";
|
|
4
3
|
import * as Duration from "@effect/data/Duration";
|
|
@@ -6,6 +5,7 @@ import * as Effect from "@effect/io/Effect";
|
|
|
6
5
|
import * as Layer from "@effect/io/Layer";
|
|
7
6
|
import * as Queue from "@effect/io/Queue";
|
|
8
7
|
import * as Ref from "@effect/io/Ref";
|
|
8
|
+
import * as Http from "@effect/platform/HttpClient";
|
|
9
9
|
import { DiscordGateway } from "dfx/DiscordGateway";
|
|
10
10
|
import { DiscordREST } from "dfx/DiscordREST";
|
|
11
11
|
import { handlers } from "dfx/Interactions/handlers";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.mjs","names":["
|
|
1
|
+
{"version":3,"file":"gateway.mjs","names":["Chunk","Tag","Duration","Effect","Layer","Queue","Ref","Http","DiscordGateway","DiscordREST","handlers","builder","Interaction","EffectUtils","run","postHandler","sync","ix","gen","_","GlobalApplicationCommand","definitions","pipe","map","filter","_tag","toReadonlyArray","GuildApplicationCommand","gateway","rest","application","getCurrentBotApplicationInformation","flatMap","a","json","globalSync","bulkOverwriteGlobalApplicationCommands","id","body","command","guildSync","length","handleDispatch","bulkOverwriteGuildApplicationCommands","never","handle","i","r","createInteractionResponse","token","provideService","type","forever","all","concurrency","discard","makeRegistry","ref","make","queue","sliding","register","updateAndGet","concat","offer","run_","onError","opts","foreverSwitch","take","delay","catchAllCause","seconds","InteractionsRegistry","InteractionsRegistryLive","effect"],"sources":["../../src/Interactions/gateway.ts"],"sourcesContent":[null],"mappings":"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"}
|
package/mjs/gateway.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { LiveFetchRequestExecutor } from "@effect-http/client";
|
|
2
1
|
import * as Config from "@effect/io/Config";
|
|
3
2
|
import * as Effect from "@effect/io/Effect";
|
|
4
3
|
import * as Layer from "@effect/io/Layer";
|
|
@@ -19,10 +18,9 @@ export { InteractionsRegistry, InteractionsRegistryLive, run as runIx } from "df
|
|
|
19
18
|
export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore, WS };
|
|
20
19
|
export const MemoryRateLimit = /*#__PURE__*/Layer.provide(LiveMemoryRateLimitStore, LiveRateLimiter);
|
|
21
20
|
export const MemoryBot = /*#__PURE__*/Layer.provide( /*#__PURE__*/Layer.mergeAll(LiveMemoryShardStore, LiveMemoryRateLimitStore, LiveJsonDiscordWSCodec), /*#__PURE__*/Layer.mergeAll( /*#__PURE__*/Layer.provideMerge(LiveDiscordREST, LiveDiscordGateway), MemoryRateLimit, InteractionsRegistryLive));
|
|
22
|
-
export const
|
|
21
|
+
export const gatewayLayer = config => Layer.unwrapEffect(Effect.config(Config.unwrap(config)).pipe(Effect.map(DiscordConfig.make), Effect.map(config => {
|
|
23
22
|
const LiveLog = config.debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
24
23
|
const LiveConfig = Layer.succeed(DiscordConfig.DiscordConfig, config);
|
|
25
24
|
return Layer.provideMerge(Layer.merge(LiveLog, LiveConfig), MemoryBot);
|
|
26
25
|
})));
|
|
27
|
-
export const gatewayLayer = config => Layer.provide(LiveFetchRequestExecutor, gatewayLayerWithoutHttp(config));
|
|
28
26
|
//# sourceMappingURL=gateway.mjs.map
|
package/mjs/gateway.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.mjs","names":["
|
|
1
|
+
{"version":3,"file":"gateway.mjs","names":["Config","Effect","Layer","DiscordConfig","LiveDiscordREST","Log","CachePrelude","LiveDiscordGateway","DiscordWS","LiveJsonDiscordWSCodec","Shard","SendEvent","ShardStore","LiveMemoryShardStore","WS","InteractionsRegistryLive","LiveMemoryRateLimitStore","LiveRateLimiter","DiscordGateway","InteractionsRegistry","run","runIx","MemoryRateLimit","provide","MemoryBot","mergeAll","provideMerge","gatewayLayer","config","unwrapEffect","unwrap","pipe","map","make","LiveLog","debug","LiveLogDebug","LiveConfig","succeed","merge"],"sources":["../src/gateway.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AAEzC,SAASC,aAAa,EAAEC,eAAe,EAAEC,GAAG,QAAQ,KAAK;AACzD,OAAO,KAAKC,YAAY,MAAM,mBAAmB;AAEjD,SAASC,kBAAkB,QAAQ,oBAAoB;AACvD,OAAO,KAAKC,SAAS,MAAM,8BAA8B;AACzD,SAASC,sBAAsB,QAAQ,8BAA8B;AACrE,OAAO,KAAKC,KAAK,MAAM,0BAA0B;AACjD,OAAO,KAAKC,SAAS,MAAM,qCAAqC;AAChE,OAAO,KAAKC,UAAU,MAAM,+BAA+B;AAC3D,SAASC,oBAAoB,QAAQ,+BAA+B;AACpE,OAAO,KAAKC,EAAE,MAAM,uBAAuB;AAC3C,SAASC,wBAAwB,QAAQ,aAAa;AAGtD,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,eAAe;AAEzE,SAASC,cAAc,EAAEX,kBAAkB,QAAQ,oBAAoB;AAEvE,SACEY,oBAAoB,EACpBJ,wBAAwB,EACxBK,GAAG,IAAIC,KAAK,QACP,0BAA0B;AAEjC,SAASf,YAAY,EAAEE,SAAS,EAAEG,SAAS,EAAED,KAAK,EAAEE,UAAU,EAAEE,EAAE;AAElE,OAAO,MAAMQ,eAAe,gBAAGpB,KAAK,CAACqB,OAAO,CAC1CP,wBAAwB,EACxBC,eAAe,CAChB;AAED,OAAO,MAAMO,SAAS,gBAAGtB,KAAK,CAACqB,OAAO,eACpCrB,KAAK,CAACuB,QAAQ,CACZZ,oBAAoB,EACpBG,wBAAwB,EACxBP,sBAAsB,CACvB,eACDP,KAAK,CAACuB,QAAQ,eACZvB,KAAK,CAACwB,YAAY,CAACtB,eAAe,EAAEG,kBAAkB,CAAC,EACvDe,eAAe,EACfP,wBAAwB,CACzB,CACF;AAED,OAAO,MAAMY,YAAY,GACvBC,MAAkD,IAWlD1B,KAAK,CAAC2B,YAAY,CAChB5B,MAAM,CAAC2B,MAAM,CAAC5B,MAAM,CAAC8B,MAAM,CAACF,MAAM,CAAC,CAAC,CAACG,IAAI,CACvC9B,MAAM,CAAC+B,GAAG,CAAC7B,aAAa,CAAC8B,IAAI,CAAC,EAC9BhC,MAAM,CAAC+B,GAAG,CAACJ,MAAM,IAAG;EAClB,MAAMM,OAAO,GAAGN,MAAM,CAACO,KAAK,GAAG9B,GAAG,CAAC+B,YAAY,GAAG/B,GAAG,CAAC6B,OAAO;EAC7D,MAAMG,UAAU,GAAGnC,KAAK,CAACoC,OAAO,CAACnC,aAAa,CAACA,aAAa,EAAEyB,MAAM,CAAC;EACrE,OAAO1B,KAAK,CAACwB,YAAY,CAACxB,KAAK,CAACqC,KAAK,CAACL,OAAO,EAAEG,UAAU,CAAC,EAAEb,SAAS,CAAC;AACxE,CAAC,CAAC,CACH,CACF"}
|
package/mjs/index.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as Http from "@effect-http/client";
|
|
2
1
|
import * as Cache from "dfx/Cache";
|
|
3
2
|
import * as DiscordConfig from "dfx/DiscordConfig";
|
|
4
3
|
import * as Flags from "dfx/Helpers/flags";
|
|
@@ -12,5 +11,5 @@ import * as Log from "dfx/Log";
|
|
|
12
11
|
import * as Discord from "dfx/types";
|
|
13
12
|
export { DiscordREST, LiveDiscordREST } from "dfx/DiscordREST";
|
|
14
13
|
export { LiveMemoryRateLimitStore, LiveRateLimiter, RateLimiter, RateLimitStore } from "dfx/RateLimit";
|
|
15
|
-
export { Cache, Discord, DiscordConfig, Flags,
|
|
14
|
+
export { Cache, Discord, DiscordConfig, Flags, Intents, Ix, IxHelpers, Log, Members, Perms, UI };
|
|
16
15
|
//# sourceMappingURL=index.mjs.map
|
package/mjs/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","names":["
|
|
1
|
+
{"version":3,"file":"index.mjs","names":["Cache","DiscordConfig","Flags","Intents","IxHelpers","Members","Perms","UI","Ix","Log","Discord","DiscordREST","LiveDiscordREST","LiveMemoryRateLimitStore","LiveRateLimiter","RateLimiter","RateLimitStore"],"sources":["../src/index.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,WAAW;AAClC,OAAO,KAAKC,aAAa,MAAM,mBAAmB;AAClD,OAAO,KAAKC,KAAK,MAAM,mBAAmB;AAC1C,OAAO,KAAKC,OAAO,MAAM,qBAAqB;AAC9C,OAAO,KAAKC,SAAS,MAAM,0BAA0B;AACrD,OAAO,KAAKC,OAAO,MAAM,qBAAqB;AAC9C,OAAO,KAAKC,KAAK,MAAM,yBAAyB;AAChD,OAAO,KAAKC,EAAE,MAAM,gBAAgB;AACpC,OAAO,KAAKC,EAAE,MAAM,wBAAwB;AAC5C,OAAO,KAAKC,GAAG,MAAM,SAAS;AAC9B,OAAO,KAAKC,OAAO,MAAM,WAAW;AAEpC,SAASC,WAAW,EAAEC,eAAe,QAAQ,iBAAiB;AAE9D,SAEEC,wBAAwB,EACxBC,eAAe,EACfC,WAAW,EACXC,cAAc,QACT,eAAe;AAEtB,SACEhB,KAAK,EACLU,OAAO,EACPT,aAAa,EACbC,KAAK,EACLC,OAAO,EACPK,EAAE,EACFJ,SAAS,EACTK,GAAG,EACHJ,OAAO,EACPC,KAAK,EACLC,EAAE"}
|
package/mjs/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.61.
|
|
1
|
+
export const LIB_VERSION = "0.61.1";
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|
package/mjs/webhooks.mjs
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { LiveFetchRequestExecutor } from "@effect-http/client";
|
|
2
1
|
import * as Config from "@effect/io/Config";
|
|
3
2
|
import * as Effect from "@effect/io/Effect";
|
|
4
3
|
import * as Layer from "@effect/io/Layer";
|
|
@@ -10,21 +9,13 @@ import { LiveMemoryRateLimitStore, LiveRateLimiter } from "dfx/RateLimit";
|
|
|
10
9
|
export { BadWebhookSignature, makeConfigLayer, makeHandler, makeSimpleHandler, WebhookConfig, WebhookParseError } from "dfx/Interactions/webhook";
|
|
11
10
|
export const MemoryRateLimit = /*#__PURE__*/Layer.provide(LiveMemoryRateLimitStore, LiveRateLimiter);
|
|
12
11
|
export const MemoryREST = /*#__PURE__*/Layer.provide(LiveMemoryRateLimitStore, LiveDiscordREST);
|
|
13
|
-
export const webhookLayerWithoutHttp = options => Layer.unwrapEffect(Effect.map(Effect.config(Config.unwrap(options)), options => {
|
|
14
|
-
const config = DiscordConfig.make(options);
|
|
15
|
-
const LiveConfig = Layer.succeed(DiscordConfig.DiscordConfig, config);
|
|
16
|
-
const LiveWebhook = makeConfigLayer(options);
|
|
17
|
-
const LiveLog = config.debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
18
|
-
const LiveEnv = Layer.provide(Layer.merge(LiveLog, LiveConfig), Layer.mergeAll(MemoryREST, LiveWebhook, MemoryRateLimit));
|
|
19
|
-
return LiveEnv;
|
|
20
|
-
}));
|
|
21
|
-
export const webhookLayerConfig = config => Layer.provide(LiveFetchRequestExecutor, webhookLayerWithoutHttp(config));
|
|
22
12
|
export const webhookLayer = options => {
|
|
23
13
|
const config = DiscordConfig.make(options);
|
|
24
14
|
const LiveConfig = Layer.succeed(DiscordConfig.DiscordConfig, config);
|
|
25
15
|
const LiveWebhook = makeConfigLayer(options);
|
|
26
16
|
const LiveLog = config.debug ? Log.LiveLogDebug : Log.LiveLog;
|
|
27
17
|
const LiveEnv = Layer.provide(Layer.merge(LiveLog, LiveConfig), Layer.mergeAll(MemoryREST, LiveWebhook, MemoryRateLimit));
|
|
28
|
-
return
|
|
18
|
+
return LiveEnv;
|
|
29
19
|
};
|
|
20
|
+
export const webhookLayerConfig = config => Layer.unwrapEffect(Effect.map(Effect.config(Config.unwrap(config)), webhookLayer));
|
|
30
21
|
//# sourceMappingURL=webhooks.mjs.map
|
package/mjs/webhooks.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.mjs","names":["
|
|
1
|
+
{"version":3,"file":"webhooks.mjs","names":["Config","Effect","Layer","DiscordConfig","LiveDiscordREST","makeConfigLayer","Log","LiveMemoryRateLimitStore","LiveRateLimiter","BadWebhookSignature","makeHandler","makeSimpleHandler","WebhookConfig","WebhookParseError","MemoryRateLimit","provide","MemoryREST","webhookLayer","options","config","make","LiveConfig","succeed","LiveWebhook","LiveLog","debug","LiveLogDebug","LiveEnv","merge","mergeAll","webhookLayerConfig","unwrapEffect","map","unwrap"],"sources":["../src/webhooks.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,MAAM,MAAM,mBAAmB;AAE3C,OAAO,KAAKC,MAAM,MAAM,mBAAmB;AAC3C,OAAO,KAAKC,KAAK,MAAM,kBAAkB;AACzC,OAAO,KAAKC,aAAa,MAAM,mBAAmB;AAElD,SAASC,eAAe,QAAQ,iBAAiB;AAEjD,SAASC,eAAe,QAAQ,0BAA0B;AAC1D,OAAO,KAAKC,GAAG,MAAM,SAAS;AAE9B,SAASC,wBAAwB,EAAEC,eAAe,QAAQ,eAAe;AAEzE,SACEC,mBAAmB,EACnBJ,eAAe,EACfK,WAAW,EACXC,iBAAiB,EACjBC,aAAa,EACbC,iBAAiB,QACZ,0BAA0B;AAEjC,OAAO,MAAMC,eAAe,gBAAGZ,KAAK,CAACa,OAAO,CAC1CR,wBAAwB,EACxBC,eAAe,CAChB;AAED,OAAO,MAAMQ,UAAU,gBAAGd,KAAK,CAACa,OAAO,CACrCR,wBAAwB,EACxBH,eAAe,CAChB;AAED,OAAO,MAAMa,YAAY,GACvBC,OAAgD,IAK9C;EACF,MAAMC,MAAM,GAAGhB,aAAa,CAACiB,IAAI,CAACF,OAAO,CAAC;EAC1C,MAAMG,UAAU,GAAGnB,KAAK,CAACoB,OAAO,CAACnB,aAAa,CAACA,aAAa,EAAEgB,MAAM,CAAC;EACrE,MAAMI,WAAW,GAAGlB,eAAe,CAACa,OAAO,CAAC;EAC5C,MAAMM,OAAO,GAAGL,MAAM,CAACM,KAAK,GAAGnB,GAAG,CAACoB,YAAY,GAAGpB,GAAG,CAACkB,OAAO;EAC7D,MAAMG,OAAO,GAAGzB,KAAK,CAACa,OAAO,CAC3Bb,KAAK,CAAC0B,KAAK,CAACJ,OAAO,EAAEH,UAAU,CAAC,EAChCnB,KAAK,CAAC2B,QAAQ,CAACb,UAAU,EAAEO,WAAW,EAAET,eAAe,CAAC,CACzD;EAED,OAAOa,OAAO;AAChB,CAAC;AAED,OAAO,MAAMG,kBAAkB,GAC7BX,MAAmE,IAMnEjB,KAAK,CAAC6B,YAAY,CAChB9B,MAAM,CAAC+B,GAAG,CACR/B,MAAM,CAACkB,MAAM,CAACnB,MAAM,CAACiC,MAAM,CAACd,MAAM,CAAC,CAAC,EACpCF,YAAY,CACb,CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.61.
|
|
3
|
+
"version": "0.61.1",
|
|
4
4
|
"description": "Effect-TS discord library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -39,9 +39,9 @@
|
|
|
39
39
|
"ws": "^8.13.0"
|
|
40
40
|
},
|
|
41
41
|
"peerDependencies": {
|
|
42
|
-
"@effect-http/client": "^0.40.0",
|
|
43
42
|
"@effect/data": "^0.17.1",
|
|
44
43
|
"@effect/io": "^0.38.0",
|
|
44
|
+
"@effect/platform": "^0.11.1",
|
|
45
45
|
"@effect/stream": "^0.34.0"
|
|
46
46
|
},
|
|
47
47
|
"optionalDependencies": {
|
|
@@ -49,6 +49,6 @@
|
|
|
49
49
|
"discord-verify": "^1.2.0",
|
|
50
50
|
"utf-8-validate": "^6.0.3"
|
|
51
51
|
},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "b95ee2fb2af9eb2e523f8717970d49aebebafaf6",
|
|
53
53
|
"main": "./index.js"
|
|
54
54
|
}
|
package/src/DiscordREST/types.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type * as Http from "@effect-http/client"
|
|
2
1
|
import type * as Effect from "@effect/io/Effect"
|
|
2
|
+
import type * as Http from "@effect/platform/HttpClient"
|
|
3
3
|
import type { DiscordRESTError } from "dfx/DiscordREST"
|
|
4
4
|
|
|
5
|
-
export interface ResponseWithData<A> extends Http.response.
|
|
6
|
-
readonly json: Effect.Effect<never, Http.
|
|
5
|
+
export interface ResponseWithData<A> extends Http.response.ClientResponse {
|
|
6
|
+
readonly json: Effect.Effect<never, Http.error.ResponseError, A>
|
|
7
7
|
}
|
|
8
8
|
|
|
9
9
|
export type RestResponse<T> = Effect.Effect<
|
package/src/DiscordREST/utils.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as Duration from "@effect/data/Duration"
|
|
2
|
+
import * as HashMap from "@effect/data/HashMap"
|
|
2
3
|
import * as Option from "@effect/data/Option"
|
|
4
|
+
import type * as Http from "@effect/platform/HttpClient"
|
|
3
5
|
|
|
4
6
|
const majorResources = ["channels", "guilds", "webhooks"] as const
|
|
5
7
|
|
|
@@ -18,21 +20,21 @@ export const routeFromConfig = (path: string, method: string) => {
|
|
|
18
20
|
return `${method}-${routeURL}`
|
|
19
21
|
}
|
|
20
22
|
|
|
21
|
-
export const numberHeader = (headers: Headers) => (key: string) =>
|
|
22
|
-
|
|
23
|
+
export const numberHeader = (headers: Http.headers.Headers) => (key: string) =>
|
|
24
|
+
HashMap.get(headers, key).pipe(
|
|
23
25
|
Option.map(parseFloat),
|
|
24
26
|
Option.filter(n => !isNaN(n)),
|
|
25
27
|
)
|
|
26
28
|
|
|
27
|
-
export const retryAfter = (headers: Headers) =>
|
|
29
|
+
export const retryAfter = (headers: Http.headers.Headers) =>
|
|
28
30
|
numberHeader(headers)("x-ratelimit-reset-after").pipe(
|
|
29
31
|
Option.orElse(() => numberHeader(headers)("retry-after")),
|
|
30
32
|
Option.map(Duration.seconds),
|
|
31
33
|
)
|
|
32
34
|
|
|
33
|
-
export const rateLimitFromHeaders = (headers: Headers) =>
|
|
35
|
+
export const rateLimitFromHeaders = (headers: Http.headers.Headers) =>
|
|
34
36
|
Option.all({
|
|
35
|
-
bucket:
|
|
37
|
+
bucket: HashMap.get(headers, "x-ratelimit-bucket"),
|
|
36
38
|
retryAfter: retryAfter(headers),
|
|
37
39
|
limit: numberHeader(headers)("x-ratelimit-limit"),
|
|
38
40
|
remaining: numberHeader(headers)("x-ratelimit-remaining"),
|