dfx 0.13.3 → 0.13.4

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.
@@ -1,55 +1,90 @@
1
1
  import * as tsplus_module_1 from "@effect/io/Effect";
2
- import * as tsplus_module_2 from "dfx/common";
3
- import * as tsplus_module_3 from "@fp-ts/data/Equal";
4
- import * as tsplus_module_4 from "@fp-ts/data/Option";
5
- import * as tsplus_module_5 from "@effect/io/Layer";
2
+ import * as tsplus_module_2 from "@fp-ts/data/Duration";
3
+ import * as tsplus_module_3 from "@fp-ts/data/Option";
4
+ import * as tsplus_module_4 from "dfx/common";
5
+ import * as tsplus_module_5 from "@fp-ts/data/HashSet";
6
+ import * as tsplus_module_6 from "@effect/io/Ref";
7
+ import * as tsplus_module_7 from "@effect/io/Layer";
6
8
  import { millis } from "@fp-ts/data/Duration";
7
- import { rateLimitFromHeaders, routeFromConfig } from "./utils.js";
9
+ import { rateLimitFromHeaders, routeFromConfig, retryAfter } from "./utils.js";
8
10
  import Pkg from "../package.json" assert { type: "json" };
9
- const make = tsplus_module_1.flatMap(({ token, rest }) => tsplus_module_1.flatMap(log => tsplus_module_1.flatMap(store => tsplus_module_1.map(({ maybeWait }) => {
11
+ const make = tsplus_module_1.flatMap(({ token, rest }) => tsplus_module_1.flatMap(log => tsplus_module_1.flatMap(store => tsplus_module_1.flatMap(({ maybeWait }) => {
10
12
  const globalRateLimit = maybeWait("rest.global", rest.globalRateLimit.window, rest.globalRateLimit.limit);
11
- const requestRateLimit = (path, init) => (() => {
12
- const route = routeFromConfig(path, init);
13
- return tsplus_module_1.flatMap(maybeBucket => {
14
- const bucket = tsplus_module_4.getOrElse(() => ({
15
- key: `?.${tsplus_module_3.hash(route)}`,
16
- resetAfter: 5000,
17
- limit: 1,
18
- }))(maybeBucket);
19
- const resetAfter = millis(bucket.resetAfter);
20
- return tsplus_module_1.map(() => void 0)(maybeWait(`rest.bucket.${bucket.key}`, resetAfter, bucket.limit));
21
- })(store.getBucketForRoute(route));
22
- })();
23
- const updateBuckets = (path, init, response) => tsplus_module_1.ignore((() => {
24
- const route = routeFromConfig(path, init);
25
- return tsplus_module_1.flatMap(({ bucket, retryAfter, limit, remaining }) => {
26
- const effectsToRun = [store.putBucketRoute(route, bucket)];
27
- return tsplus_module_1.flatMap(hasBucket => {
28
- if (!hasBucket || limit - 1 === remaining) {
29
- effectsToRun.push(store.putBucket({
30
- key: bucket,
31
- resetAfter: retryAfter.millis,
32
- limit: !hasBucket && remaining > 0 ? remaining : limit,
33
- }));
34
- }
35
- return tsplus_module_1.map(() => void 0)(tsplus_module_1.collectAllParDiscard(effectsToRun));
36
- })(store.hasBucket(bucket));
37
- })(tsplus_module_1.fromOption(rateLimitFromHeaders(response.headers)));
38
- })());
39
- const request = (path, init = {}) => tsplus_module_1.tap(({ response }) => updateBuckets(path, init, response))(tsplus_module_1.catchTag("StatusCodeError", (e) => e.code === 429
40
- ? tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => request(path, init))(updateBuckets(path, init, e.response)))(log.debug("DiscordREST", "429", path)) : tsplus_module_1.fail(e))(tsplus_module_1.flatMap(() => tsplus_module_2.Http.requestWithJson(`${rest.baseUrl}${path}`, {
41
- ...init,
42
- headers: {
43
- ...(init?.headers ?? {}),
44
- Authorization: `Bot ${token}`,
45
- "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
46
- },
47
- }))(tsplus_module_1.tap(() => globalRateLimit)(requestRateLimit(path, init)))));
48
- return { request };
49
- })(tsplus_module_1.service(tsplus_module_2.RateLimitStore.RateLimiter)))(tsplus_module_1.service(tsplus_module_2.RateLimitStore.RateLimitStore)))(tsplus_module_1.service(tsplus_module_2.Log.Log)))(tsplus_module_1.service(tsplus_module_2.Config.DiscordConfig));
50
- export const DiscordREST = tsplus_module_2.Tag();
51
- export const LiveDiscordREST = tsplus_module_5.fromEffect(DiscordREST)(make);
52
- export const rest = tsplus_module_2.Discord.createRoutes(({ method, url, params, options = {} }) => tsplus_module_1.serviceWithEffect(DiscordREST)(({ request }) => {
13
+ return tsplus_module_1.map(badRoutesRef => {
14
+ const addBadRoute = (route) => tsplus_module_1.collectAllParDiscard([
15
+ log.info("DiscordREST", "addBadRoute", route),
16
+ tsplus_module_6.update((s) => tsplus_module_5.add(route)(s))(badRoutesRef),
17
+ store.incrementCounter("rest.invalid", tsplus_module_2.minutes(10).millis, 10000),
18
+ ]);
19
+ const isBadRoute = (route) => tsplus_module_1.map((s) => tsplus_module_5.has(route)(s))(tsplus_module_6.get(badRoutesRef));
20
+ const removeBadRoute = (route) => tsplus_module_6.update((s) => tsplus_module_5.remove(route)(s))(badRoutesRef);
21
+ const invalidRateLimit = (route) => tsplus_module_1.asUnit(tsplus_module_1.tap((invalid) => invalid
22
+ ? maybeWait("rest.invalid", tsplus_module_2.minutes(10), 10000)
23
+ : tsplus_module_1.unit())(isBadRoute(route)));
24
+ // Request rate limiting
25
+ const requestRateLimit = (path, init) => (() => {
26
+ const route = routeFromConfig(path, init);
27
+ return tsplus_module_1.flatMap(maybeBucket => {
28
+ const bucket = tsplus_module_3.getOrElse(() => ({
29
+ key: `?.${route}`,
30
+ resetAfter: 5000,
31
+ limit: 1,
32
+ }))(maybeBucket);
33
+ const resetAfter = millis(bucket.resetAfter);
34
+ return tsplus_module_1.flatMap(() => tsplus_module_1.map(() => void 0)(maybeWait(`rest.bucket.${bucket.key}`, resetAfter, bucket.limit)))(invalidRateLimit(route));
35
+ })(store.getBucketForRoute(route));
36
+ })();
37
+ // Update rate limit buckets
38
+ const updateBuckets = (path, init, response) => tsplus_module_1.ignore((() => {
39
+ const route = routeFromConfig(path, init);
40
+ return tsplus_module_1.flatMap(({ bucket, retryAfter, limit, remaining }) => {
41
+ const effectsToRun = [
42
+ removeBadRoute(route),
43
+ store.putBucketRoute(route, bucket),
44
+ ];
45
+ return tsplus_module_1.flatMap(hasBucket => {
46
+ if (!hasBucket || limit - 1 === remaining) {
47
+ effectsToRun.push(store.putBucket({
48
+ key: bucket,
49
+ resetAfter: retryAfter.millis,
50
+ limit: !hasBucket && remaining > 0 ? remaining : limit,
51
+ }));
52
+ }
53
+ return tsplus_module_1.map(() => void 0)(tsplus_module_1.collectAllParDiscard(effectsToRun));
54
+ })(store.hasBucket(bucket));
55
+ })(tsplus_module_1.fromOption(rateLimitFromHeaders(response.headers)));
56
+ })());
57
+ const request = (path, init = {}) => tsplus_module_1.catchTag("StatusCodeError", (e) => {
58
+ switch (e.code) {
59
+ case 403:
60
+ return tsplus_module_1.flatMap(() => tsplus_module_1.fail(e))(tsplus_module_1.collectAllParDiscard([
61
+ log.info("DiscordREST", "403", path),
62
+ addBadRoute(routeFromConfig(path, init)),
63
+ updateBuckets(path, init, e.response),
64
+ ]));
65
+ case 429:
66
+ return tsplus_module_1.flatMap(() => request(path, init))(tsplus_module_1.collectAllParDiscard([
67
+ log.info("DiscordREST", "429", path),
68
+ addBadRoute(routeFromConfig(path, init)),
69
+ updateBuckets(path, init, e.response),
70
+ tsplus_module_1.sleep(tsplus_module_3.getOrElse(() => tsplus_module_2.seconds(5))(retryAfter(e.response.headers))),
71
+ ]));
72
+ }
73
+ return tsplus_module_1.fail(e);
74
+ })(tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(() => tsplus_module_1.flatMap(response => tsplus_module_1.map(() => response)(updateBuckets(path, init, response.response)))(tsplus_module_4.Http.requestWithJson(`${rest.baseUrl}${path}`, {
75
+ ...init,
76
+ headers: {
77
+ ...(init?.headers ?? {}),
78
+ Authorization: `Bot ${token}`,
79
+ "User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${Pkg.version})`,
80
+ },
81
+ })))(globalRateLimit))(requestRateLimit(path, init)));
82
+ return { request };
83
+ })(tsplus_module_6.make(tsplus_module_5.empty()));
84
+ })(tsplus_module_1.service(tsplus_module_4.RateLimitStore.RateLimiter)))(tsplus_module_1.service(tsplus_module_4.RateLimitStore.RateLimitStore)))(tsplus_module_1.service(tsplus_module_4.Log.Log)))(tsplus_module_1.service(tsplus_module_4.Config.DiscordConfig));
85
+ export const DiscordREST = tsplus_module_4.Tag();
86
+ export const LiveDiscordREST = tsplus_module_7.fromEffect(DiscordREST)(make);
87
+ export const rest = tsplus_module_4.Discord.createRoutes(({ method, url, params, options = {} }) => tsplus_module_1.serviceWithEffect(DiscordREST)(({ request }) => {
53
88
  const hasBody = method !== "GET" && method !== "DELETE";
54
89
  let hasFormData = typeof options?.body?.append === "function";
55
90
  let body = undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":";;;;;AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAG7C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAClE,OAAO,GAAG,MAAM,iBAAiB,CAAC,SAAS,IAAI,EAAE,MAAM,EAAE,CAAA;AAEzD,MAAM,IAAI,4BACF,EAAE,KAAK,EAAE,IAAI,EAAE,6BAEf,GAAG,4BACH,KAAK,yBACL,EAAE,SAAS,EAAE;IAEnB,MAAM,eAAe,GAAG,SAAS,CAC/B,aAAa,EACb,IAAI,CAAC,eAAe,CAAC,MAAM,EAC3B,IAAI,CAAC,eAAe,CAAC,KAAK,CAC3B,CAAA;IAED,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,EAAE;QAEzD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;uCACnC,WAAW;YACjB,MAAM,MAAM,GAAG,0BACb,GAAkB,EAAE,CAAC,CAAC;gBACpB,GAAG,EAAE,KAAK,qBAAW,KAAK,CAAC,EAAE;gBAC7B,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,CAAC;aACT,CAAC,EALW,WAAW,CAMzB,CAAA;YACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;qDAC1C,SAAS,CAAC,eAAe,MAAM,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;WAT5C,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC;QAUpD,CAAA;IAEJ,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,IAAiB,EAAE,QAAkB,EAAE,EAAE;QAE1E,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;wCACnC,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE;YAI9C,MAAM,YAAY,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAA;2CAEpD,SAAS;gBACf,IAAI,CAAC,SAAS,IAAI,KAAK,GAAG,CAAC,KAAK,SAAS,EAAE;oBACzC,YAAY,CAAC,IAAI,CACf,KAAK,CAAC,SAAS,CAAC;wBACd,GAAG,EAAE,MAAM;wBACX,UAAU,EAAE,UAAU,CAAC,MAAM;wBAC7B,KAAK,EAAE,CAAC,SAAS,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK;qBACvD,CAAC,CACH,CAAA;iBACF;8FAEC,YAAY;eAXM,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC;WALzC,2BAAkB,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;SAiBpD,CAAA;IAEX,MAAM,OAAO,GAAG,CACd,IAAY,EACZ,OAAoB,EAAE,EAKtB,EAAE,CACF,oBAqBO,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,EArB5D,yBAYY,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CACjC,CAAC,CAAC,IAAI,KAAK,GAAG;QACZ,CAAC,6DAGY,OAAO,CAAI,IAAI,EAAE,IAAI,CAAC,EAD7B,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,GADrC,GAAG,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,EAI3C,CAAC,CAAC,qBAAY,CAAC,CAAC,EAnBtB,wBAEW,GAAG,EAAE,CACZ,gBAAA,IAAI,CAAC,eAAe,CAAI,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,EAAE;QAChD,GAAG,IAAI;QACP,OAAO,EAAE;YACP,GAAG,CAAC,IAAI,EAAE,OAAO,IAAI,EAAE,CAAC;YACxB,aAAa,EAAE,OAAO,KAAK,EAAE;YAC7B,YAAY,EAAE,iDAAiD,GAAG,CAAC,OAAO,GAAG;SAC9E;KACF,CAAC,EAVN,oBACO,GAAG,EAAE,CAAC,eAAe,EAD5B,gBAAgB,CAAC,IAAI,EAAE,IAAI,CAAC,CACC,CAU1B,CASA,CAC0D,CAAA;IAE/D,OAAO,EAAE,OAAO,EAAE,CAAA;GA7EM,wBAAe,gBAAA,cAAc,CAAC,WAAW,CAAC,GADlD,wBAAe,gBAAA,cAAc,CAAC,cAAc,CAAC,GAD/C,wBAAe,gBAAA,GAAG,CAAC,GAAG,CAAC,GAFX,wBAAe,gBAAA,MAAM,CAAC,aAAa,CAAC,CAkF9D,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAA,GAAG,EAAe,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,2BAAiB,WAAW,CAAC,CAAC,IAAI,CAAC,CAAA;AAElE,MAAM,CAAC,MAAM,IAAI,GAAG,gBAAA,OAAO,CAAC,YAAY,CACtC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE,EAAE,CACxC,kCAAyB,WAAW,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE;IACpD,MAAM,OAAO,GAAG,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAA;IACvD,IAAI,WAAW,GAAG,OAAQ,OAAO,EAAE,IAAY,EAAE,MAAM,KAAK,UAAU,CAAA;IACtE,IAAI,IAAI,GAAyB,SAAS,CAAA;IAE1C,MAAM,OAAO,GAA2B,EAAE,CAAA;IAC1C,IAAI,OAAO,IAAI,CAAC,WAAW,EAAE;QAC3B,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAA;KAC7C;IAED,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE,CAAA;IAChC,IAAI,CAAC,OAAO,EAAE;QACZ,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,IAAI,EAAE,CAA2B,CAAC,CAAC,OAAO,CAC9D,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YACf,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACvB,CAAC,CACF,CAAA;KACF;SAAM,IAAI,WAAW,EAAE;QACtB,IAAI,GAAG,OAAO,CAAC,IAAK,CAAA;QACpB,IAAI,MAAM,EAAE;YACV,CAAC;YAAC,IAAiB,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;SACnE;KACF;SAAM,IAAI,MAAM,EAAE;QACjB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;KAC9B;SAAM;QACL,IAAI,GAAG,OAAO,CAAC,IAAK,CAAA;KACrB;IAED,OAAO,OAAO,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE;QACxC,MAAM;QACN,OAAO;QACP,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAC,CACL,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/DiscordREST/index.ts"],"names":[],"mappings":"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"}
package/global.d.ts CHANGED
@@ -2,6 +2,10 @@
2
2
  * @tsplus global
3
3
  */
4
4
  import type { Effect, Layer, Either, Maybe, Tag, Context, Cause, Chunk, Duration, Equal, Exit, HashMap, Schedule, EffectSource, EffectSink, Ref, Config, Discord, Http, Log, RateLimitStore, Rest, Ix, Flags, Intents, IxHelpers, Members, Perms, UI, } from "dfx/common";
5
+ /**
6
+ * @tsplus global
7
+ */
8
+ import type { HashSet } from "@fp-ts/data/HashSet";
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.13.3",
3
+ "version": "0.13.4",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -47,5 +47,5 @@
47
47
  "@fp-ts/data": "^0.0.20"
48
48
  }
49
49
  },
50
- "gitHead": "a346276c5d449f018c0fa70c168fd6bcc4edbad2"
50
+ "gitHead": "52183dc6a3fa7e607aa464bda65b81fa3db1f951"
51
51
  }