dfx 0.108.0 → 0.109.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/DiscordGateway/DiscordWS.d.ts +1 -1
- package/DiscordGateway/DiscordWS.d.ts.map +1 -1
- package/DiscordGateway/DiscordWS.js +3 -3
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Shard.d.ts.map +1 -1
- package/DiscordGateway/Shard.js +2 -8
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +1 -1
- package/DiscordGateway/Sharder.d.ts.map +1 -1
- package/DiscordREST.d.ts.map +1 -1
- package/DiscordREST.js +22 -24
- package/DiscordREST.js.map +1 -1
- package/mjs/DiscordGateway/DiscordWS.mjs +3 -3
- package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard.mjs +2 -8
- package/mjs/DiscordGateway/Shard.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +22 -24
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/utils/Effect.mjs +0 -5
- package/mjs/utils/Effect.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +4 -4
- package/src/DiscordGateway/DiscordWS.ts +11 -11
- package/src/DiscordGateway/Shard.ts +5 -8
- package/src/DiscordREST.ts +45 -52
- package/src/utils/Effect.ts +0 -27
- package/src/version.ts +1 -1
- package/utils/Effect.d.ts +0 -6
- package/utils/Effect.d.ts.map +1 -1
- package/utils/Effect.js +1 -8
- package/utils/Effect.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
|
@@ -26,7 +26,7 @@ export interface DiscordWS {
|
|
|
26
26
|
readonly _: unique symbol;
|
|
27
27
|
}
|
|
28
28
|
export declare const DiscordWS: import("effect/Context").Tag<DiscordWS, {
|
|
29
|
-
readonly connect: (
|
|
29
|
+
readonly connect: (args_0: OpenOpts) => Effect.Effect<{
|
|
30
30
|
readonly take: Effect.Effect<Discord.GatewayPayload<any>, Cause.NoSuchElementException, never>;
|
|
31
31
|
readonly setUrl: (url: string) => Effect.Effect<void, never, never>;
|
|
32
32
|
readonly write: (message: Discord.GatewayPayload | Reconnect) => Effect.Effect<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAGjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,eAAO,MAAM,SAAS,eAAgD,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAExC,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,UAAU,GAAG,MAAM,CAAA;IAC1D,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,cAAc,CAAA;CAC3D;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAKD,eAAO,MAAM,cAAc,qEAE1B,CAAA;AACD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AAiFF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"DiscordWS.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/DiscordWS.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,KAAK,KAAK,OAAO,MAAM,WAAW,CAAA;AACzC,OAAO,KAAK,MAAM,MAAM,yBAAyB,CAAA;AAGjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAA;AAExD,eAAO,MAAM,SAAS,eAAgD,CAAA;AACtE,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAA;AAExC,MAAM,WAAW,QAAQ;IACvB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;IACpB,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,UAAU,GAAG,MAAM,CAAA;IAC1D,MAAM,EAAE,CAAC,CAAC,EAAE,UAAU,GAAG,MAAM,KAAK,OAAO,CAAC,cAAc,CAAA;CAC3D;AACD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAKD,eAAO,MAAM,cAAc,qEAE1B,CAAA;AACD,eAAO,MAAM,sBAAsB,2CAIjC,CAAA;AAiFF,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,SAAS;;;+BAtEK,MAAM;kCAchB,OAAO,CAAC,cAAc,GAAG,SAAS,KAC1C,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;;EA0DK,CAAA;AACjC,eAAO,MAAM,aAAa,+CAAgC,CAAA"}
|
|
@@ -27,11 +27,11 @@ const JsonDiscordWSCodecLive = exports.JsonDiscordWSCodecLive = /*#__PURE__*/Lay
|
|
|
27
27
|
});
|
|
28
28
|
const make = /*#__PURE__*/Effect.gen(function* () {
|
|
29
29
|
const encoding = yield* DiscordWSCodec;
|
|
30
|
-
const connect = ({
|
|
30
|
+
const connect = Effect.fnUntraced(function* ({
|
|
31
31
|
onConnecting,
|
|
32
32
|
url = "wss://gateway.discord.gg/",
|
|
33
33
|
version = 10
|
|
34
|
-
})
|
|
34
|
+
}) {
|
|
35
35
|
const urlRef = yield* Ref.make(`${url}?v=${version}&encoding=${encoding.type}`);
|
|
36
36
|
const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
|
|
37
37
|
const messages = yield* Mailbox.make();
|
|
@@ -62,7 +62,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
62
62
|
setUrl,
|
|
63
63
|
write
|
|
64
64
|
};
|
|
65
|
-
}
|
|
65
|
+
}, Effect.annotateLogs({
|
|
66
66
|
module: "DiscordGateway/DiscordWS"
|
|
67
67
|
}));
|
|
68
68
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","logLevelTrace","some","Trace","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","url","version","urlRef","setUrl","messages","socket","makeWebSocket","closeCodeIsError","_","openTimeout","writeRaw","writer","logWriteError","cause","annotateLogs","logDebug","module","channel","write","message","catchAllCause","CloseEvent","pipe","zipRight","withFiberRuntime","fiber","runRaw","unsafeOffer","log","empty","retry","while","reason","code","repeat","exponential","union","spaced","forkScoped","interruptible","take","DiscordWS","DiscordWSLive","effect"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,QAAA,gBAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAC,uBAAA,cAAAF,OAAA;AACA,IAAAG,KAAA,gBAAAD,uBAAA,cAAAF,OAAA;AACA,IAAAI,GAAA,gBAAAF,uBAAA,cAAAF,OAAA;AAEA,IAAAK,MAAA,gBAAAH,uBAAA,cAAAF,OAAA;AACA,IAAAM,OAAA,gBAAAJ,uBAAA,cAAAF,OAAA;AACA,IAAAO,QAAA,gBAAAL,uBAAA,cAAAF,OAAA;AACA,IAAAQ,KAAA,gBAAAN,uBAAA,cAAAF,OAAA;AACA,IAAAS,MAAA,gBAAAP,uBAAA,cAAAF,OAAA;AACA,IAAAU,QAAA,gBAAAR,uBAAA,cAAAF,OAAA;AAA2C,SAAAW,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAV,wBAAAU,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAIpC,MAAMW,SAAS,GAAAC,OAAA,CAAAD,SAAA,gBAAGE,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAmBtE,MAAMC,OAAO,gBAAG,IAAIC,WAAW,EAAE;AACjC,MAAMC,aAAa,gBAAG5B,MAAM,CAAC6B,IAAI,CAAC5B,QAAQ,CAAC6B,KAAK,CAAC;AAE1C,MAAMC,cAAc,GAAAR,OAAA,CAAAQ,cAAA,gBAAG,IAAAC,mBAAU,EACtC,oCAAoC,CACrC;AACM,MAAMC,sBAAsB,GAAAV,OAAA,CAAAU,sBAAA,gBAAGvC,KAAK,CAACwC,OAAO,CAACH,cAAc,EAAE;EAClEI,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEC,CAAC,IAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAAC;EAC9BG,MAAM,EAAEH,CAAC,IAAIC,IAAI,CAACG,KAAK,CAAC,OAAOJ,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGX,OAAO,CAACc,MAAM,CAACH,CAAC,CAAC;CACtE,CAAC;AAEF,MAAMK,IAAI,gBAAGlD,MAAM,CAACmD,GAAG,CAAC,aAAS;EAC/B,MAAMC,QAAQ,GAAG,OAAOb,cAAc;EAEtC,MAAMc,OAAO,
|
|
1
|
+
{"version":3,"file":"DiscordWS.js","names":["_Context","require","Effect","_interopRequireWildcard","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","Reconnect","exports","Symbol","for","decoder","TextDecoder","logLevelTrace","some","Trace","DiscordWSCodec","GenericTag","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","fnUntraced","onConnecting","url","version","urlRef","setUrl","messages","socket","makeWebSocket","closeCodeIsError","_","openTimeout","writeRaw","writer","logWriteError","cause","annotateLogs","logDebug","module","channel","write","message","catchAllCause","CloseEvent","pipe","zipRight","withFiberRuntime","fiber","runRaw","unsafeOffer","log","empty","retry","while","reason","code","repeat","exponential","union","spaced","forkScoped","interruptible","take","DiscordWS","DiscordWSLive","effect"],"sources":["../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAGrE,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAI5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAarC,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;;
|
|
1
|
+
{"version":3,"file":"Shard.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Shard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAEjD,OAAO,EACL,SAAS,EAGV,MAAM,8BAA8B,CAAA;AAGrC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AAGrE,OAAO,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAI5D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAarC,eAAO,MAAM,IAAI;8BAOS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;;wHAiJnD,CAAA;AAEF,KAAK,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,IAAI,CAAC,CAAA;AAEtD,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,KAAK;8BAxJQ,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;;;EAwJ2B,CAAA;AAChF,eAAO,MAAM,SAAS,6JAIrB,CAAA;AAGD,MAAM,WAAW,YACf,SAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;CAAG"}
|
package/DiscordGateway/Shard.js
CHANGED
|
@@ -51,10 +51,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
51
51
|
if (phase === 0 /* Phase.Connecting */) return Effect.void;
|
|
52
52
|
return write(p);
|
|
53
53
|
});
|
|
54
|
-
const resume = Effect.
|
|
55
|
-
yield* FiberHandle.clear(reconnectHandle);
|
|
56
|
-
yield* setPhase(2 /* Phase.Connected */);
|
|
57
|
-
});
|
|
54
|
+
const resume = Effect.zipRight(FiberHandle.clear(reconnectHandle), setPhase(2 /* Phase.Connected */));
|
|
58
55
|
const onConnecting = setPhase(0 /* Phase.Connecting */);
|
|
59
56
|
const socket = yield* dws.connect({
|
|
60
57
|
onConnecting
|
|
@@ -72,10 +69,7 @@ const make = exports.make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
72
69
|
presence: gateway.presence
|
|
73
70
|
}, stateStore.get);
|
|
74
71
|
// delayed reconnect
|
|
75
|
-
const delayedReconnect = Effect.
|
|
76
|
-
yield* Effect.sleep(30_000);
|
|
77
|
-
yield* socket.write(_DiscordWS.Reconnect);
|
|
78
|
-
});
|
|
72
|
+
const delayedReconnect = Effect.delay(socket.write(_DiscordWS.Reconnect), 30_000);
|
|
79
73
|
function* onPayload(p) {
|
|
80
74
|
if (typeof p.s === "number") {
|
|
81
75
|
resumeState.sequence = p.s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shard.js","names":["_DiscordConfig","require","_DiscordWS","_Messaging","_StateStore","Heartbeats","_interopRequireWildcard","Identify","_RateLimit","Discord","_Context","Duration","Effect","Layer","Option","Mailbox","Redacted","FiberHandle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","gateway","token","DiscordConfig","limiter","RateLimiter","dws","DiscordWS","hub","sendMailbox","Messaging","shardState","ShardStateStore","connect","shard","_","reconnectHandle","phase","stateStore","forShard","resumeState","getOrElse","resumeUrl","sessionId","sequence","setPhase","p","suspend","annotateLogs","logTrace","heartbeatSend","void","write","resume","clear","onConnecting","socket","
|
|
1
|
+
{"version":3,"file":"Shard.js","names":["_DiscordConfig","require","_DiscordWS","_Messaging","_StateStore","Heartbeats","_interopRequireWildcard","Identify","_RateLimit","Discord","_Context","Duration","Effect","Layer","Option","Mailbox","Redacted","FiberHandle","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","make","exports","gen","gateway","token","DiscordConfig","limiter","RateLimiter","dws","DiscordWS","hub","sendMailbox","Messaging","shardState","ShardStateStore","connect","shard","_","reconnectHandle","phase","stateStore","forShard","resumeState","getOrElse","resumeUrl","sessionId","sequence","setPhase","p","suspend","annotateLogs","logTrace","heartbeatSend","void","write","resume","zipRight","clear","onConnecting","socket","maybeWait","minutes","hellos","acquireRelease","shutdown","acks","send","pipe","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","delayedReconnect","delay","Reconnect","onPayload","s","op","GatewayOpcode","DISPATCH","payload","d","session_id","resume_gateway_url","setUrl","HELLO","unsafeOffer","run","HEARTBEAT_ACK","INVALID_SESSION","RECONNECT","take","id","package","module","Shard","GenericTag","ShardLive","effect","provide","DiscordWSLive","MesssagingLive","RateLimiterLive"],"sources":["../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -10,5 +10,5 @@ export interface Sharder {
|
|
|
10
10
|
export declare const Sharder: import("effect/Context").Tag<Sharder, {
|
|
11
11
|
readonly shards: Effect.Effect<HashSet.HashSet<RunningShard>, never, never>;
|
|
12
12
|
}>;
|
|
13
|
-
export declare const SharderLive: Layer.Layer<Sharder, never, ShardStore | DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("./DiscordWS").DiscordWSCodec | import("
|
|
13
|
+
export declare const SharderLive: Layer.Layer<Sharder, never, ShardStore | DiscordConfig | import("dfx/RateLimit").RateLimitStore | import("./DiscordWS").DiscordWSCodec | import("@effect/platform/Socket").WebSocketConstructor | import("./Shard/StateStore").ShardStateStore | import("@effect/platform/HttpClient").HttpClient>;
|
|
14
14
|
//# sourceMappingURL=Sharder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Sharder.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA2FrC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,OAAO;;EAEnB,CAAA;AACD,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Sharder.d.ts","sourceRoot":"","sources":["../src/DiscordGateway/Sharder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAM1D,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAA;AACzC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AA2FrC,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AACD,eAAO,MAAM,OAAO;;EAEnB,CAAA;AACD,eAAO,MAAM,WAAW,oSAIvB,CAAA"}
|
package/DiscordREST.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordREST.d.ts","sourceRoot":"","sources":["./src/DiscordREST.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,oCAAoC,CAAA;AAEjE,OAAO,KAAK,KAAK,SAAS,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,uBAAuB,CAAA;AAM3E,OAAO,EAAE,cAAc,EAAgC,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAKpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"DiscordREST.d.ts","sourceRoot":"","sources":["./src/DiscordREST.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,WAAW,MAAM,oCAAoC,CAAA;AAEjE,OAAO,KAAK,KAAK,SAAS,MAAM,kCAAkC,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAgB,MAAM,uBAAuB,CAAA;AAM3E,OAAO,EAAE,cAAc,EAAgC,MAAM,eAAe,CAAA;AAC5E,OAAO,KAAK,OAAO,MAAM,WAAW,CAAA;AAKpC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAIvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAIzC,eAAO,MAAM,sBAAsB,eAElC,CAAA;;;;AAED,qBAAa,gBAAiB,SAAQ,sBAGpC;IACA,KAAK,EAAE,SAAS,CAAC,eAAe,CAAA;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACf,CAAC;IACA,IAAI,OAAO,WAKV;CACF;AAsPD,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,OAAO,MAAM,CAAA;CAC1B;AAED,MAAM,WAAW,kBACf,SAAQ,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7D,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,OAAO,EAC7B,OAAO,EAAE,WAAW,CAAC,iBAAiB,KACnC,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAA;CACjE;AAED,eAAO,MAAM,WAAW,+DAEvB,CAAA;AACD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,KAAK,CACvC,WAAW,EACX,KAAK,EACL,aAAa,GAAG,UAAU,CAAC,UAAU,GAAG,cAAc,CACgB,CAAA"}
|
package/DiscordREST.js
CHANGED
|
@@ -52,36 +52,34 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
52
52
|
const removeBadRoute = route => Ref.update(badRoutesRef, HashSet.remove(route));
|
|
53
53
|
const invalidRateLimit = route => isBadRoute(route).pipe(Effect.tap(invalid => invalid ? maybeWait("dfx.rest.invalid", Duration.minutes(10), 10000) : Effect.void), Effect.asVoid);
|
|
54
54
|
// Request rate limiting
|
|
55
|
-
const requestRateLimit =
|
|
56
|
-
route
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
})));
|
|
55
|
+
const requestRateLimit = Effect.fnUntraced(function* (path, request) {
|
|
56
|
+
const route = (0, _utils.routeFromConfig)(path, request.method);
|
|
57
|
+
const maybeBucket = yield* store.getBucketForRoute(route);
|
|
58
|
+
yield* invalidRateLimit(route);
|
|
59
|
+
if (Option.isNone(maybeBucket)) return;
|
|
60
|
+
const bucket = maybeBucket.value;
|
|
61
|
+
yield* maybeWait(`dfx.rest.${bucket.key}`, (0, _Duration.millis)(bucket.resetAfter), bucket.limit);
|
|
62
|
+
});
|
|
64
63
|
// Update rate limit buckets
|
|
65
|
-
const updateBuckets =
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
rateLimit
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
64
|
+
const updateBuckets = Effect.fnUntraced(function* (request, response) {
|
|
65
|
+
const route = (0, _utils.routeFromConfig)(request.url, request.method);
|
|
66
|
+
const rateLimitOption = (0, _utils.rateLimitFromHeaders)(response.headers);
|
|
67
|
+
if (Option.isNone(rateLimitOption)) return;
|
|
68
|
+
const rateLimit = rateLimitOption.value;
|
|
69
|
+
const hasBucket = yield* store.hasBucket(rateLimit.bucket);
|
|
70
|
+
const fibers = [];
|
|
71
|
+
fibers.push(yield* Effect.fork(removeBadRoute(route)));
|
|
72
|
+
fibers.push(yield* Effect.fork(store.putBucketRoute(route, rateLimit.bucket)));
|
|
73
73
|
if (!hasBucket || rateLimit.limit - 1 === rateLimit.remaining) {
|
|
74
|
-
|
|
74
|
+
fibers.push(yield* Effect.fork(store.removeCounter(`dfx.rest.?.${route}`)));
|
|
75
|
+
fibers.push(yield* Effect.fork(store.putBucket({
|
|
75
76
|
key: rateLimit.bucket,
|
|
76
77
|
resetAfter: Duration.toMillis(rateLimit.retryAfter),
|
|
77
78
|
limit: !hasBucket && rateLimit.remaining > 0 ? rateLimit.remaining : rateLimit.limit
|
|
78
|
-
}));
|
|
79
|
+
})));
|
|
79
80
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
discard: true
|
|
83
|
-
});
|
|
84
|
-
}), Effect.ignore);
|
|
81
|
+
for (const fiber of fibers) yield* fiber.await;
|
|
82
|
+
});
|
|
85
83
|
const httpClient = (0, _Function.pipe)(HttpClient.filterStatusOk(http), HttpClient.mapRequest(req => (0, _Function.pipe)(HttpRequest.prependUrl(req, rest.baseUrl), HttpRequest.setHeaders({
|
|
86
84
|
Authorization: `Bot ${Redacted.value(token)}`,
|
|
87
85
|
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${_version.LIB_VERSION})`
|
package/DiscordREST.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordREST.js","names":["_Error","require","HttpClient","_interopRequireWildcard","HttpRequest","_DiscordConfig","_utils","_RateLimit","Discord","_version","_Context","_Duration","Duration","Effect","Effectable","_Function","HashSet","Layer","Option","Ref","Redacted","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DiscordRESTErrorTypeId","exports","Symbol","for","DiscordRESTError","TypeIdError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","DiscordConfig","http","store","RateLimitStore","maybeWait","RateLimiter","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","pipe","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","path","request","Do","let","routeFromConfig","method","bind","getBucketForRoute","flatMap","maybeBucket","match","onNone","onSome","bucket","key","millis","resetAfter","updateBuckets","response","url","rateLimitFromHeaders","headers","rateLimit","hasBucket","effectsToRun","putBucketRoute","remaining","push","removeCounter","putBucket","retryAfter","all","concurrency","discard","ignore","httpClient","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","value","LIB_VERSION","catchAll","reason","json","mapError","_","fail","executor","zipLeft","execute","catchTag","status","sleep","getOrElse","seconds","package","module","routes","createRoutes","options","params","hasBody","appendUrlParams","_tag","formData","append","bodyUnsafeJson","RestResponseImpl","Class","effect","constructor","commit","scoped","DiscordREST","GenericTag","DiscordRESTLive","provide","RateLimiterLive"],"sources":["./src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DiscordREST.js","names":["_Error","require","HttpClient","_interopRequireWildcard","HttpRequest","_DiscordConfig","_utils","_RateLimit","Discord","_version","_Context","_Duration","Duration","Effect","Effectable","_Function","HashSet","Layer","Option","Ref","Redacted","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DiscordRESTErrorTypeId","exports","Symbol","for","DiscordRESTError","TypeIdError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","DiscordConfig","http","store","RateLimitStore","maybeWait","RateLimiter","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","pipe","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","fnUntraced","path","request","routeFromConfig","method","maybeBucket","getBucketForRoute","isNone","bucket","value","key","millis","resetAfter","updateBuckets","response","url","rateLimitOption","rateLimitFromHeaders","headers","rateLimit","hasBucket","fibers","push","fork","putBucketRoute","remaining","removeCounter","putBucket","retryAfter","fiber","await","httpClient","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","LIB_VERSION","catchAll","reason","json","mapError","_","flatMap","fail","executor","zipLeft","execute","catchTag","status","all","concurrency","discard","sleep","getOrElse","seconds","package","module","routes","createRoutes","options","params","hasBody","appendUrlParams","_tag","formData","append","bodyUnsafeJson","RestResponseImpl","Class","effect","constructor","commit","scoped","DiscordREST","GenericTag","DiscordRESTLive","provide","RateLimiterLive"],"sources":["./src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -19,11 +19,11 @@ export const JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec,
|
|
|
19
19
|
});
|
|
20
20
|
const make = /*#__PURE__*/Effect.gen(function* () {
|
|
21
21
|
const encoding = yield* DiscordWSCodec;
|
|
22
|
-
const connect = ({
|
|
22
|
+
const connect = Effect.fnUntraced(function* ({
|
|
23
23
|
onConnecting,
|
|
24
24
|
url = "wss://gateway.discord.gg/",
|
|
25
25
|
version = 10
|
|
26
|
-
})
|
|
26
|
+
}) {
|
|
27
27
|
const urlRef = yield* Ref.make(`${url}?v=${version}&encoding=${encoding.type}`);
|
|
28
28
|
const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
|
|
29
29
|
const messages = yield* Mailbox.make();
|
|
@@ -54,7 +54,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
54
54
|
setUrl,
|
|
55
55
|
write
|
|
56
56
|
};
|
|
57
|
-
}
|
|
57
|
+
}, Effect.annotateLogs({
|
|
58
58
|
module: "DiscordGateway/DiscordWS"
|
|
59
59
|
}));
|
|
60
60
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Reconnect","Symbol","for","decoder","TextDecoder","logLevelTrace","some","Trace","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","url","version","urlRef","setUrl","set","messages","socket","makeWebSocket","get","closeCodeIsError","_","openTimeout","writeRaw","writer","logWriteError","cause","annotateLogs","logDebug","module","channel","write","message","catchAllCause","CloseEvent","pipe","zipRight","withFiberRuntime","fiber","runRaw","unsafeOffer","log","empty","retry","while","e","reason","code","repeat","exponential","union","spaced","forkScoped","interruptible","take","DiscordWS","DiscordWSLive","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,GAAG,MAAM,YAAY;AAEjC,OAAO,KAAKC,MAAM,MAAM,yBAAyB;AACjD,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAI3C,OAAO,MAAMC,SAAS,gBAAGC,MAAM,CAACC,GAAG,CAAC,iCAAiC,CAAC;AAmBtE,MAAMC,OAAO,gBAAG,IAAIC,WAAW,EAAE;AACjC,MAAMC,aAAa,gBAAGP,MAAM,CAACQ,IAAI,CAACP,QAAQ,CAACQ,KAAK,CAAC;AAEjD,OAAO,MAAMC,cAAc,gBAAGlB,UAAU,CACtC,oCAAoC,CACrC;AACD,OAAO,MAAMmB,sBAAsB,gBAAGjB,KAAK,CAACkB,OAAO,CAACF,cAAc,EAAE;EAClEG,IAAI,EAAE,MAAM;EACZC,MAAM,EAAEC,CAAC,IAAIC,IAAI,CAACC,SAAS,CAACF,CAAC,CAAC;EAC9BG,MAAM,EAAEH,CAAC,IAAIC,IAAI,CAACG,KAAK,CAAC,OAAOJ,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGV,OAAO,CAACa,MAAM,CAACH,CAAC,CAAC;CACtE,CAAC;AAEF,MAAMK,IAAI,gBAAG3B,MAAM,CAAC4B,GAAG,CAAC,aAAS;EAC/B,MAAMC,QAAQ,GAAG,OAAOZ,cAAc;EAEtC,MAAMa,OAAO,
|
|
1
|
+
{"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Reconnect","Symbol","for","decoder","TextDecoder","logLevelTrace","some","Trace","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","fnUntraced","onConnecting","url","version","urlRef","setUrl","set","messages","socket","makeWebSocket","get","closeCodeIsError","_","openTimeout","writeRaw","writer","logWriteError","cause","annotateLogs","logDebug","module","channel","write","message","catchAllCause","CloseEvent","pipe","zipRight","withFiberRuntime","fiber","runRaw","unsafeOffer","log","empty","retry","while","e","reason","code","repeat","exponential","union","spaced","forkScoped","interruptible","take","DiscordWS","DiscordWSLive","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -43,10 +43,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
43
43
|
if (phase === 0 /* Phase.Connecting */) return Effect.void;
|
|
44
44
|
return write(p);
|
|
45
45
|
});
|
|
46
|
-
const resume = Effect.
|
|
47
|
-
yield* FiberHandle.clear(reconnectHandle);
|
|
48
|
-
yield* setPhase(2 /* Phase.Connected */);
|
|
49
|
-
});
|
|
46
|
+
const resume = Effect.zipRight(FiberHandle.clear(reconnectHandle), setPhase(2 /* Phase.Connected */));
|
|
50
47
|
const onConnecting = setPhase(0 /* Phase.Connecting */);
|
|
51
48
|
const socket = yield* dws.connect({
|
|
52
49
|
onConnecting
|
|
@@ -64,10 +61,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
64
61
|
presence: gateway.presence
|
|
65
62
|
}, stateStore.get);
|
|
66
63
|
// delayed reconnect
|
|
67
|
-
const delayedReconnect = Effect.
|
|
68
|
-
yield* Effect.sleep(30_000);
|
|
69
|
-
yield* socket.write(Reconnect);
|
|
70
|
-
});
|
|
64
|
+
const delayedReconnect = Effect.delay(socket.write(Reconnect), 30_000);
|
|
71
65
|
function* onPayload(p) {
|
|
72
66
|
if (typeof p.s === "number") {
|
|
73
67
|
resumeState.sequence = p.s;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","GenericTag","Duration","Effect","Layer","Option","Mailbox","Redacted","FiberHandle","make","gen","gateway","token","limiter","dws","hub","sendMailbox","shardState","connect","shard","_","reconnectHandle","phase","stateStore","forShard","resumeState","getOrElse","get","resumeUrl","sessionId","sequence","setPhase","p","suspend","annotateLogs","logTrace","heartbeatSend","void","write","resume","clear","onConnecting","socket","
|
|
1
|
+
{"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","GenericTag","Duration","Effect","Layer","Option","Mailbox","Redacted","FiberHandle","make","gen","gateway","token","limiter","dws","hub","sendMailbox","shardState","connect","shard","_","reconnectHandle","phase","stateStore","forShard","resumeState","getOrElse","get","resumeUrl","sessionId","sequence","setPhase","p","suspend","annotateLogs","logTrace","heartbeatSend","void","write","resume","zipRight","clear","onConnecting","socket","maybeWait","minutes","hellos","acquireRelease","shutdown","acks","send","pipe","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","delayedReconnect","delay","onPayload","s","op","GatewayOpcode","DISPATCH","t","payload","d","session_id","resume_gateway_url","set","setUrl","HELLO","unsafeOffer","run","HEARTBEAT_ACK","INVALID_SESSION","RECONNECT","take","id","package","module","Shard","ShardLive","effect","provide"],"sources":["../../src/DiscordGateway/Shard.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/mjs/DiscordREST.mjs
CHANGED
|
@@ -43,36 +43,34 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
43
43
|
const removeBadRoute = route => Ref.update(badRoutesRef, HashSet.remove(route));
|
|
44
44
|
const invalidRateLimit = route => isBadRoute(route).pipe(Effect.tap(invalid => invalid ? maybeWait("dfx.rest.invalid", Duration.minutes(10), 10000) : Effect.void), Effect.asVoid);
|
|
45
45
|
// Request rate limiting
|
|
46
|
-
const requestRateLimit =
|
|
47
|
-
route
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
})));
|
|
46
|
+
const requestRateLimit = Effect.fnUntraced(function* (path, request) {
|
|
47
|
+
const route = routeFromConfig(path, request.method);
|
|
48
|
+
const maybeBucket = yield* store.getBucketForRoute(route);
|
|
49
|
+
yield* invalidRateLimit(route);
|
|
50
|
+
if (Option.isNone(maybeBucket)) return;
|
|
51
|
+
const bucket = maybeBucket.value;
|
|
52
|
+
yield* maybeWait(`dfx.rest.${bucket.key}`, millis(bucket.resetAfter), bucket.limit);
|
|
53
|
+
});
|
|
55
54
|
// Update rate limit buckets
|
|
56
|
-
const updateBuckets =
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
rateLimit
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
55
|
+
const updateBuckets = Effect.fnUntraced(function* (request, response) {
|
|
56
|
+
const route = routeFromConfig(request.url, request.method);
|
|
57
|
+
const rateLimitOption = rateLimitFromHeaders(response.headers);
|
|
58
|
+
if (Option.isNone(rateLimitOption)) return;
|
|
59
|
+
const rateLimit = rateLimitOption.value;
|
|
60
|
+
const hasBucket = yield* store.hasBucket(rateLimit.bucket);
|
|
61
|
+
const fibers = [];
|
|
62
|
+
fibers.push(yield* Effect.fork(removeBadRoute(route)));
|
|
63
|
+
fibers.push(yield* Effect.fork(store.putBucketRoute(route, rateLimit.bucket)));
|
|
64
64
|
if (!hasBucket || rateLimit.limit - 1 === rateLimit.remaining) {
|
|
65
|
-
|
|
65
|
+
fibers.push(yield* Effect.fork(store.removeCounter(`dfx.rest.?.${route}`)));
|
|
66
|
+
fibers.push(yield* Effect.fork(store.putBucket({
|
|
66
67
|
key: rateLimit.bucket,
|
|
67
68
|
resetAfter: Duration.toMillis(rateLimit.retryAfter),
|
|
68
69
|
limit: !hasBucket && rateLimit.remaining > 0 ? rateLimit.remaining : rateLimit.limit
|
|
69
|
-
}));
|
|
70
|
+
})));
|
|
70
71
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
discard: true
|
|
74
|
-
});
|
|
75
|
-
}), Effect.ignore);
|
|
72
|
+
for (const fiber of fibers) yield* fiber.await;
|
|
73
|
+
});
|
|
76
74
|
const httpClient = pipe(HttpClient.filterStatusOk(http), HttpClient.mapRequest(req => pipe(HttpRequest.prependUrl(req, rest.baseUrl), HttpRequest.setHeaders({
|
|
77
75
|
Authorization: `Bot ${Redacted.value(token)}`,
|
|
78
76
|
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${LIB_VERSION})`
|
package/mjs/DiscordREST.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordREST.mjs","names":["TypeIdError","HttpClient","HttpRequest","DiscordConfig","rateLimitFromHeaders","retryAfter","routeFromConfig","RateLimitStore","RateLimiter","RateLimiterLive","Discord","LIB_VERSION","GenericTag","Duration","millis","Effect","Effectable","pipe","HashSet","Layer","Option","Ref","Redacted","DiscordRESTErrorTypeId","Symbol","for","DiscordRESTError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","http","store","maybeWait","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","get","has","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","
|
|
1
|
+
{"version":3,"file":"DiscordREST.mjs","names":["TypeIdError","HttpClient","HttpRequest","DiscordConfig","rateLimitFromHeaders","retryAfter","routeFromConfig","RateLimitStore","RateLimiter","RateLimiterLive","Discord","LIB_VERSION","GenericTag","Duration","millis","Effect","Effectable","pipe","HashSet","Layer","Option","Ref","Redacted","DiscordRESTErrorTypeId","Symbol","for","DiscordRESTError","message","httpMessage","cause","body","undefined","JSON","stringify","make","gen","rest","token","http","store","maybeWait","globalRateLimit","decode","window","limit","badRoutesRef","empty","tenMinutes","toMillis","minutes","addBadRoute","route","logDebug","zipRight","update","add","incrementCounter","annotateLogs","isBadRoute","map","get","has","removeBadRoute","remove","invalidRateLimit","tap","invalid","void","asVoid","requestRateLimit","fnUntraced","path","request","method","maybeBucket","getBucketForRoute","isNone","bucket","value","key","resetAfter","updateBuckets","response","url","rateLimitOption","headers","rateLimit","hasBucket","fibers","push","fork","putBucketRoute","remaining","removeCounter","putBucket","fiber","await","httpClient","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","catchAll","reason","json","mapError","_","flatMap","fail","executor","zipLeft","execute","catchTag","e","status","all","concurrency","discard","sleep","getOrElse","seconds","package","module","routes","createRoutes","options","params","hasBody","appendUrlParams","_tag","formData","append","bodyUnsafeJson","RestResponseImpl","Class","effect","constructor","commit","scoped","DiscordREST","DiscordRESTLive","provide"],"sources":["../src/DiscordREST.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,WAAW,QAAQ,wBAAwB;AACpD,OAAO,KAAKC,UAAU,MAAM,6BAA6B;AACzD,OAAO,KAAKC,WAAW,MAAM,oCAAoC;AAGjE,SAASC,aAAa,QAAQ,mBAAmB;AAEjD,SACEC,oBAAoB,EACpBC,UAAU,EACVC,eAAe,QACV,uBAAuB;AAC9B,SAASC,cAAc,EAAEC,WAAW,EAAEC,eAAe,QAAQ,eAAe;AAC5E,OAAO,KAAKC,OAAO,MAAM,WAAW;AACpC,SAASC,WAAW,QAAQ,aAAa;AACzC,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,SAASC,MAAM,QAAQ,iBAAiB;AACxC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,UAAU,MAAM,mBAAmB;AAC/C,SAASC,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,YAAY;AAEjC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAG3C,OAAO,MAAMC,sBAAsB,gBAAGC,MAAM,CAACC,GAAG,CAC9C,kCAAkC,CACnC;AAED,OAAM,MAAOC,gBAAiB,SAAQ1B,WAAW,CAC/CuB,sBAAsB,EACtB,kBAAkB,CAIlB;EACA,IAAII,OAAOA,CAAA;IACT,MAAMC,WAAW,GAAG,IAAI,CAACC,KAAK,CAACF,OAAO;IACtC,OAAO,IAAI,CAACG,IAAI,KAAKC,SAAS,GAC1B,GAAGH,WAAW,KAAKI,IAAI,CAACC,SAAS,CAAC,IAAI,CAACH,IAAI,CAAC,EAAE,GAC9CF,WAAW;EACjB;;AAGF,MAAMM,IAAI,gBAAGnB,MAAM,CAACoB,GAAG,CAAC,aAAS;EAC/B,MAAM;IAAEC,IAAI;IAAEC;EAAK,CAAE,GAAG,OAAOlC,aAAa;EAE5C,MAAMmC,IAAI,GAAG,OAAOrC,UAAU,CAACA,UAAU;EACzC,MAAMsC,KAAK,GAAG,OAAOhC,cAAc;EACnC,MAAM;IAAEiC;EAAS,CAAE,GAAG,OAAOhC,WAAW;EAExC,MAAMiC,eAAe,GAAGD,SAAS,CAC/B,iBAAiB,EACjB3B,QAAQ,CAAC6B,MAAM,CAACN,IAAI,CAACK,eAAe,CAACE,MAAM,CAAC,EAC5CP,IAAI,CAACK,eAAe,CAACG,KAAK,CAC3B;EAED;EACA,MAAMC,YAAY,GAAG,OAAOxB,GAAG,CAACa,IAAI,CAAChB,OAAO,CAAC4B,KAAK,EAAU,CAAC;EAC7D,MAAMC,UAAU,GAAGlC,QAAQ,CAACmC,QAAQ,CAACnC,QAAQ,CAACoC,OAAO,CAAC,EAAE,CAAC,CAAC;EAC1D,MAAMC,WAAW,GAAIC,KAAa,IAChCpC,MAAM,CAACqC,QAAQ,CAAC,WAAW,CAAC,CAACnC,IAAI,CAC/BF,MAAM,CAACsC,QAAQ,CAAChC,GAAG,CAACiC,MAAM,CAACT,YAAY,EAAE3B,OAAO,CAACqC,GAAG,CAACJ,KAAK,CAAC,CAAC,CAAC,EAC7DpC,MAAM,CAACsC,QAAQ,CACbd,KAAK,CAACiB,gBAAgB,CAAC,kBAAkB,EAAET,UAAU,EAAE,KAAK,CAAC,CAC9D,EACDhC,MAAM,CAAC0C,YAAY,CAAC,OAAO,EAAEN,KAAK,CAAC,CACpC;EACH,MAAMO,UAAU,GAAIP,KAAa,IAC/BpC,MAAM,CAAC4C,GAAG,CAACtC,GAAG,CAACuC,GAAG,CAACf,YAAY,CAAC,EAAE3B,OAAO,CAAC2C,GAAG,CAACV,KAAK,CAAC,CAAC;EACvD,MAAMW,cAAc,GAAIX,KAAa,IACnC9B,GAAG,CAACiC,MAAM,CAACT,YAAY,EAAE3B,OAAO,CAAC6C,MAAM,CAACZ,KAAK,CAAC,CAAC;EAEjD,MAAMa,gBAAgB,GAAIb,KAAa,IACrCO,UAAU,CAACP,KAAK,CAAC,CAAClC,IAAI,CACpBF,MAAM,CAACkD,GAAG,CAACC,OAAO,IAChBA,OAAO,GACH1B,SAAS,CAAC,kBAAkB,EAAE3B,QAAQ,CAACoC,OAAO,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,GAC1DlC,MAAM,CAACoD,IAAI,CAChB,EACDpD,MAAM,CAACqD,MAAM,CACd;EAEH;EACA,MAAMC,gBAAgB,GAAGtD,MAAM,CAACuD,UAAU,CAAC,WACzCC,IAAY,EACZC,OAAsC;IAEtC,MAAMrB,KAAK,GAAG7C,eAAe,CAACiE,IAAI,EAAEC,OAAO,CAACC,MAAM,CAAC;IACnD,MAAMC,WAAW,GAAG,OAAOnC,KAAK,CAACoC,iBAAiB,CAACxB,KAAK,CAAC;IACzD,OAAOa,gBAAgB,CAACb,KAAK,CAAC;IAC9B,IAAI/B,MAAM,CAACwD,MAAM,CAACF,WAAW,CAAC,EAAE;IAChC,MAAMG,MAAM,GAAGH,WAAW,CAACI,KAAK;IAChC,OAAOtC,SAAS,CACd,YAAYqC,MAAM,CAACE,GAAG,EAAE,EACxBjE,MAAM,CAAC+D,MAAM,CAACG,UAAU,CAAC,EACzBH,MAAM,CAACjC,KAAK,CACb;EACH,CAAC,CAAC;EAEF;EACA,MAAMqC,aAAa,GAAGlE,MAAM,CAACuD,UAAU,CAAC,WACtCE,OAAsC,EACtCU,QAAyC;IAEzC,MAAM/B,KAAK,GAAG7C,eAAe,CAACkE,OAAO,CAACW,GAAG,EAAEX,OAAO,CAACC,MAAM,CAAC;IAC1D,MAAMW,eAAe,GAAGhF,oBAAoB,CAAC8E,QAAQ,CAACG,OAAO,CAAC;IAC9D,IAAIjE,MAAM,CAACwD,MAAM,CAACQ,eAAe,CAAC,EAAE;IACpC,MAAME,SAAS,GAAGF,eAAe,CAACN,KAAK;IACvC,MAAMS,SAAS,GAAG,OAAOhD,KAAK,CAACgD,SAAS,CAACD,SAAS,CAACT,MAAM,CAAC;IAC1D,MAAMW,MAAM,GAAgD,EAAE;IAE9DA,MAAM,CAACC,IAAI,CAAC,OAAO1E,MAAM,CAAC2E,IAAI,CAAC5B,cAAc,CAACX,KAAK,CAAC,CAAC,CAAC;IACtDqC,MAAM,CAACC,IAAI,CACT,OAAO1E,MAAM,CAAC2E,IAAI,CAACnD,KAAK,CAACoD,cAAc,CAACxC,KAAK,EAAEmC,SAAS,CAACT,MAAM,CAAC,CAAC,CAClE;IAED,IAAI,CAACU,SAAS,IAAID,SAAS,CAAC1C,KAAK,GAAG,CAAC,KAAK0C,SAAS,CAACM,SAAS,EAAE;MAC7DJ,MAAM,CAACC,IAAI,CACT,OAAO1E,MAAM,CAAC2E,IAAI,CAACnD,KAAK,CAACsD,aAAa,CAAC,cAAc1C,KAAK,EAAE,CAAC,CAAC,CAC/D;MACDqC,MAAM,CAACC,IAAI,CACT,OAAO1E,MAAM,CAAC2E,IAAI,CAChBnD,KAAK,CAACuD,SAAS,CAAC;QACdf,GAAG,EAAEO,SAAS,CAACT,MAAM;QACrBG,UAAU,EAAEnE,QAAQ,CAACmC,QAAQ,CAACsC,SAAS,CAACjF,UAAU,CAAC;QACnDuC,KAAK,EACH,CAAC2C,SAAS,IAAID,SAAS,CAACM,SAAS,GAAG,CAAC,GACjCN,SAAS,CAACM,SAAS,GACnBN,SAAS,CAAC1C;OACjB,CAAC,CACH,CACF;IACH;IAEA,KAAK,MAAMmD,KAAK,IAAIP,MAAM,EAAE,OAAOO,KAAK,CAACC,KAAK;EAChD,CAAC,CAAC;EAEF,MAAMC,UAAU,GAAGhF,IAAI,CACrBhB,UAAU,CAACiG,cAAc,CAAC5D,IAAI,CAAC,EAC/BrC,UAAU,CAACkG,UAAU,CAACC,GAAG,IACvBnF,IAAI,CACFf,WAAW,CAACmG,UAAU,CAACD,GAAG,EAAEhE,IAAI,CAACkE,OAAO,CAAC,EACzCpG,WAAW,CAACqG,UAAU,CAAC;IACrBC,aAAa,EAAE,OAAOlF,QAAQ,CAACwD,KAAK,CAACzC,KAAK,CAAC,EAAE;IAC7C,YAAY,EAAE,iDAAiD1B,WAAW;GAC3E,CAAC,CACH,CACF,EACDV,UAAU,CAACwG,QAAQ,CAAC5E,KAAK,IACvBA,KAAK,CAAC6E,MAAM,KAAK,YAAY,GACzB7E,KAAK,CAACqD,QAAQ,CAACyB,IAAI,CAAC1F,IAAI,CACtBF,MAAM,CAAC6F,QAAQ,CAACC,CAAC,IAAI,IAAInF,gBAAgB,CAAC;IAAEG;EAAK,CAAE,CAAC,CAAC,EACrDd,MAAM,CAAC+F,OAAO,CAAChF,IAAI,IACjBf,MAAM,CAACgG,IAAI,CAAC,IAAIrF,gBAAgB,CAAC;IAAEG,KAAK;IAAEC;EAAI,CAAE,CAAC,CAAC,CACnD,CACF,GACDf,MAAM,CAACgG,IAAI,CAAC,IAAIrF,gBAAgB,CAAC;IAAEG;EAAK,CAAE,CAAC,CAAC,CACjD,CACF;EAED,MAAMmF,QAAQ,GACZxC,OAAsC,IAEtCH,gBAAgB,CAACG,OAAO,CAACW,GAAG,EAAEX,OAAO,CAAC,CAACvD,IAAI,CACzCF,MAAM,CAACkG,OAAO,CAACxE,eAAe,CAAC,EAC/B1B,MAAM,CAACsC,QAAQ,CACb4C,UAAU,CAACiB,OAAO,CAAC1C,OAAO,CAIzB,CACF,EACDzD,MAAM,CAACkD,GAAG,CAACiB,QAAQ,IAAID,aAAa,CAACT,OAAO,EAAEU,QAAQ,CAAC,CAAC,EACxDnE,MAAM,CAACoG,QAAQ,CAAC,kBAAkB,EAAEC,CAAC,IAAG;IACtC,IAAIA,CAAC,CAACvF,KAAK,CAAC6E,MAAM,KAAK,YAAY,EAAE;MACnC,OAAO3F,MAAM,CAACgG,IAAI,CAACK,CAAC,CAAC;IACvB;IAEA,MAAMlC,QAAQ,GAAGkC,CAAC,CAACvF,KAAK,CAACqD,QAAQ;IAEjC,QAAQA,QAAQ,CAACmC,MAAM;MACrB,KAAK,GAAG;QACN,OAAOtG,MAAM,CAACsC,QAAQ,CACpBtC,MAAM,CAACuG,GAAG,CACR,CACEvG,MAAM,CAAC0C,YAAY,CACjB1C,MAAM,CAACqC,QAAQ,CAAC,KAAK,CAAC,EACtB,KAAK,EACLoB,OAAO,CAACW,GAAG,CACZ,EACDjC,WAAW,CAAC5C,eAAe,CAACkE,OAAO,CAACW,GAAG,EAAEX,OAAO,CAACC,MAAM,CAAC,CAAC,EACzDQ,aAAa,CAACT,OAAO,EAAEU,QAAQ,CAAC,CACjC,EACD;UAAEqC,WAAW,EAAE,WAAW;UAAEC,OAAO,EAAE;QAAI,CAAE,CAC5C,EACDzG,MAAM,CAACgG,IAAI,CAACK,CAAC,CAAC,CACf;MAEH,KAAK,GAAG;QACN,OAAOrG,MAAM,CAAC0C,YAAY,CACxB1C,MAAM,CAACqC,QAAQ,CAAC,KAAK,CAAC,EACtB,KAAK,EACLoB,OAAO,CAACW,GAAG,CACZ,CAAClE,IAAI,CACJF,MAAM,CAACsC,QAAQ,CACbH,WAAW,CAAC5C,eAAe,CAACkE,OAAO,CAACW,GAAG,EAAEX,OAAO,CAACC,MAAM,CAAC,CAAC,CAC1D,EACD1D,MAAM,CAACsC,QAAQ,CAAC4B,aAAa,CAACT,OAAO,EAAEU,QAAQ,CAAC,CAAC,EACjDnE,MAAM,CAACsC,QAAQ,CACbtC,MAAM,CAAC0G,KAAK,CACVrG,MAAM,CAACsG,SAAS,CAACrH,UAAU,CAAC6E,QAAQ,CAACG,OAAO,CAAC,EAAE,MAC7CxE,QAAQ,CAAC8G,OAAO,CAAC,CAAC,CAAC,CACpB,CACF,CACF,EACD5G,MAAM,CAACsC,QAAQ,CAAC2D,QAAQ,CAAIxC,OAAO,CAAC,CAAC,CACtC;IACL;IAEA,OAAOzD,MAAM,CAACgG,IAAI,CAACK,CAAC,CAAC;EACvB,CAAC,CAAC,EACFrG,MAAM,CAAC0C,YAAY,CAAC;IAClBmE,OAAO,EAAE,KAAK;IACdC,MAAM,EAAE;GACT,CAAC,CACH;EAEH,MAAMC,MAAM,GAAGpH,OAAO,CAACqH,YAAY,CACjC,CAAO;IACLtD,MAAM;IACNuD,OAAO,GAAG,EAAE;IACZC,MAAM;IACN9C;EAAG,CAIJ,KAAqB;IACpB,MAAM+C,OAAO,GAAGzD,MAAM,KAAK,KAAK,IAAIA,MAAM,KAAK,QAAQ;IACvD,IAAID,OAAO,GAAGtE,WAAW,CAACgC,IAAI,CAACuC,MAAa,CAAC,CAACU,GAAG,EAAE6C,OAAO,CAAC;IAE3D,IAAI,CAACE,OAAO,EAAE;MACZ,IAAID,MAAM,EAAE;QACVzD,OAAO,GAAGtE,WAAW,CAACiI,eAAe,CAAC3D,OAAO,EAAEyD,MAAa,CAAC;MAC/D;IACF,CAAC,MAAM,IAAIA,MAAM,IAAIzD,OAAO,CAAC1C,IAAI,CAACsG,IAAI,KAAK,UAAU,EAAE;MACrD5D,OAAO,CAAC1C,IAAI,CAACuG,QAAQ,CAACC,MAAM,CAAC,cAAc,EAAEtG,IAAI,CAACC,SAAS,CAACgG,MAAM,CAAC,CAAC;IACtE,CAAC,MAAM,IAAIA,MAAM,EAAE;MACjBzD,OAAO,GAAGtE,WAAW,CAACqI,cAAc,CAAC/D,OAAO,EAAEyD,MAAM,CAAC;IACvD;IAEA,OAAO,IAAIO,gBAAgB,CAACxB,QAAQ,CAACxC,OAAO,CAAC,CAAC;EAChD,CAAC,CACF;EAED,OAAO;IACL,GAAGsD,MAAM;IACTd;GACD;AACH,CAAC,CAAC;AAEF,MAAMwB,gBACJ,SAAQxH,UAAU,CAACyH,KAA4C;EAIpDC,MAAA;EADXC,YACWD,MAIR;IAED,KAAK,EAAE;IANE,KAAAA,MAAM,GAANA,MAAM;EAOjB;EAEAE,MAAMA,CAAA;IACJ,OAAO7H,MAAM,CAAC8H,MAAM,CAAC,IAAI,CAACH,MAAM,CAAC;EACnC;EAEA,IAAI/B,IAAIA,CAAA;IACN,OAAO5F,MAAM,CAAC8H,MAAM,CAAC9H,MAAM,CAAC+F,OAAO,CAAC,IAAI,CAAC4B,MAAM,EAAE7B,CAAC,IAAIA,CAAC,CAACF,IAAI,CAAC,CAAC;EAChE;EAEA,IAAIzB,QAAQA,CAAA;IACV,OAAO,IAAI,CAACwD,MAAM;EACpB;;AAcF,OAAO,MAAMI,WAAW,gBAAGlI,UAAU,CACnC,iBAAiB,CAClB;AACD,OAAO,MAAMmI,eAAe,gBAIxB5H,KAAK,CAACuH,MAAM,CAACI,WAAW,EAAE5G,IAAI,CAAC,CAACjB,IAAI,cAACE,KAAK,CAAC6H,OAAO,CAACvI,eAAe,CAAC,CAAC","ignoreList":[]}
|
package/mjs/utils/Effect.mjs
CHANGED
|
@@ -15,9 +15,4 @@ export const foreverSwitch = (self, f) => Effect.gen(function* () {
|
|
|
15
15
|
fiber = fiber_;
|
|
16
16
|
}))), Effect.forever, Effect.raceFirst(Deferred.await(deferred)));
|
|
17
17
|
});
|
|
18
|
-
export function genFn(body) {
|
|
19
|
-
return function (...args) {
|
|
20
|
-
return Effect.gen(() => body(...args));
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
18
|
//# sourceMappingURL=Effect.mjs.map
|
package/mjs/utils/Effect.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.mjs","names":["pipe","Deferred","Effect","Fiber","PubSub","Queue","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","queue","forever","take","a","fork","catchAllCause","cause","failCause","scoped","interruptible","raceFirst","await","foreverSwitch","f","gen","fiber","tap","interruptFork","void","fiber_"
|
|
1
|
+
{"version":3,"file":"Effect.mjs","names":["pipe","Deferred","Effect","Fiber","PubSub","Queue","subscribeForEachPar","self","effect","flatMap","make","deferred","run","subscribe","queue","forever","take","a","fork","catchAllCause","cause","failCause","scoped","interruptible","raceFirst","await","foreverSwitch","f","gen","fiber","tap","interruptFork","void","fiber_"],"sources":["../../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,IAAI,QAAQ,iBAAiB;AACtC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AAErC,OAAO,MAAMC,mBAAmB,GAAGA,CACjCC,IAAsB,EACtBC,MAAwC,KAExCN,MAAM,CAACO,OAAO,CAACR,QAAQ,CAACS,IAAI,EAAY,EAAEC,QAAQ,IAAG;EACnD,MAAMC,GAAG,GAAGZ,IAAI,CACdI,MAAM,CAACS,SAAS,CAACN,IAAI,CAAC,EACtBL,MAAM,CAACO,OAAO,CAACK,KAAK,IAClBZ,MAAM,CAACa,OAAO,CACZb,MAAM,CAACO,OAAO,CAACJ,KAAK,CAACW,IAAI,CAACF,KAAK,CAAC,EAAEG,CAAC,IACjCf,MAAM,CAACgB,IAAI,CACThB,MAAM,CAACiB,aAAa,CAACX,MAAM,CAACS,CAAC,CAAC,EAAEG,KAAK,IACnCnB,QAAQ,CAACoB,SAAS,CAACV,QAAQ,EAAES,KAAK,CAAC,CACpC,CACF,CACF,CACF,CACF,EACDlB,MAAM,CAACoB,MAAM,EACbpB,MAAM,CAACqB,aAAa,CACrB;EAED,OAAOrB,MAAM,CAACsB,SAAS,CAACZ,GAAG,EAAEX,QAAQ,CAACwB,KAAK,CAACd,QAAQ,CAAC,CAAC;AACxD,CAAC,CAAC;AAEJ,OAAO,MAAMe,aAAa,GAAGA,CAC3BnB,IAA4B,EAC5BoB,CAAqC,KAErCzB,MAAM,CAAC0B,GAAG,CAAC,aAAS;EAClB,MAAMjB,QAAQ,GAAG,OAAOV,QAAQ,CAACS,IAAI,EAAa;EAClD,IAAImB,KAAuD;EAC3D,OAAO,OAAOtB,IAAI,CAACP,IAAI,CACrBE,MAAM,CAAC4B,GAAG,CAAC,MAAOD,KAAK,GAAG1B,KAAK,CAAC4B,aAAa,CAACF,KAAK,CAAC,GAAG3B,MAAM,CAAC8B,IAAK,CAAC,EACpE9B,MAAM,CAACO,OAAO,CAACQ,CAAC,IACdU,CAAC,CAACV,CAAC,CAAC,CAACjB,IAAI,CACPE,MAAM,CAACiB,aAAa,CAACC,KAAK,IAAInB,QAAQ,CAACoB,SAAS,CAACV,QAAQ,EAAES,KAAK,CAAC,CAAC,EAClElB,MAAM,CAACgB,IAAI,EACXhB,MAAM,CAAC4B,GAAG,CAACG,MAAM,IAAG;IAClBJ,KAAK,GAAGI,MAAM;EAChB,CAAC,CAAC,CACH,CACF,EACD/B,MAAM,CAACa,OAAO,EACdb,MAAM,CAACsB,SAAS,CAACvB,QAAQ,CAACwB,KAAK,CAACd,QAAQ,CAAC,CAAC,CAC3C;AACH,CAAC,CAAC","ignoreList":[]}
|
package/mjs/version.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.
|
|
1
|
+
export const LIB_VERSION = "0.109.0";
|
|
2
2
|
//# sourceMappingURL=version.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dfx",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.109.0",
|
|
4
4
|
"description": "Effect-TS discord library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
"sideEffects": [],
|
|
36
36
|
"author": "Tim Smart <hello@timsmart.co>",
|
|
37
37
|
"peerDependencies": {
|
|
38
|
-
"@effect/platform": "^0.
|
|
39
|
-
"effect": "^3.
|
|
38
|
+
"@effect/platform": "^0.72",
|
|
39
|
+
"effect": "^3.12"
|
|
40
40
|
},
|
|
41
41
|
"optionalDependencies": {
|
|
42
42
|
"discord-verify": "^1.2.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "86779b88ccb5d9426edef4b5b93dccf2fc9b789f",
|
|
45
45
|
"main": "./index.js"
|
|
46
46
|
}
|
|
@@ -46,12 +46,12 @@ export const JsonDiscordWSCodecLive = Layer.succeed(DiscordWSCodec, {
|
|
|
46
46
|
const make = Effect.gen(function* () {
|
|
47
47
|
const encoding = yield* DiscordWSCodec
|
|
48
48
|
|
|
49
|
-
const connect = (
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
49
|
+
const connect = Effect.fnUntraced(
|
|
50
|
+
function* ({
|
|
51
|
+
onConnecting,
|
|
52
|
+
url = "wss://gateway.discord.gg/",
|
|
53
|
+
version = 10,
|
|
54
|
+
}: OpenOpts) {
|
|
55
55
|
const urlRef = yield* Ref.make(
|
|
56
56
|
`${url}?v=${version}&encoding=${encoding.type}`,
|
|
57
57
|
)
|
|
@@ -113,11 +113,11 @@ const make = Effect.gen(function* () {
|
|
|
113
113
|
setUrl,
|
|
114
114
|
write,
|
|
115
115
|
} as const
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
116
|
+
},
|
|
117
|
+
Effect.annotateLogs({
|
|
118
|
+
module: "DiscordGateway/DiscordWS",
|
|
119
|
+
}),
|
|
120
|
+
)
|
|
121
121
|
|
|
122
122
|
return { connect } as const
|
|
123
123
|
})
|
|
@@ -64,10 +64,10 @@ export const make = Effect.gen(function* () {
|
|
|
64
64
|
return write(p)
|
|
65
65
|
})
|
|
66
66
|
|
|
67
|
-
const resume = Effect.
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
const resume = Effect.zipRight(
|
|
68
|
+
FiberHandle.clear(reconnectHandle),
|
|
69
|
+
setPhase(Phase.Connected),
|
|
70
|
+
)
|
|
71
71
|
|
|
72
72
|
const onConnecting = setPhase(Phase.Connecting)
|
|
73
73
|
|
|
@@ -105,10 +105,7 @@ export const make = Effect.gen(function* () {
|
|
|
105
105
|
)
|
|
106
106
|
|
|
107
107
|
// delayed reconnect
|
|
108
|
-
const delayedReconnect = Effect.
|
|
109
|
-
yield* Effect.sleep(30_000)
|
|
110
|
-
yield* socket.write(Reconnect)
|
|
111
|
-
})
|
|
108
|
+
const delayedReconnect = Effect.delay(socket.write(Reconnect), 30_000)
|
|
112
109
|
|
|
113
110
|
function* onPayload(p: Discord.GatewayPayload) {
|
|
114
111
|
if (typeof p.s === "number") {
|
package/src/DiscordREST.ts
CHANGED
|
@@ -25,6 +25,7 @@ import * as Option from "effect/Option"
|
|
|
25
25
|
import * as Ref from "effect/Ref"
|
|
26
26
|
import type { Scope } from "effect/Scope"
|
|
27
27
|
import * as Redacted from "effect/Redacted"
|
|
28
|
+
import type * as Fiber from "effect/Fiber"
|
|
28
29
|
|
|
29
30
|
export const DiscordRESTErrorTypeId = Symbol.for(
|
|
30
31
|
"dfx/DiscordREST/DiscordRESTError",
|
|
@@ -85,68 +86,60 @@ const make = Effect.gen(function* () {
|
|
|
85
86
|
)
|
|
86
87
|
|
|
87
88
|
// Request rate limiting
|
|
88
|
-
const requestRateLimit = (
|
|
89
|
+
const requestRateLimit = Effect.fnUntraced(function* (
|
|
89
90
|
path: string,
|
|
90
91
|
request: HttpRequest.HttpClientRequest,
|
|
91
|
-
)
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
maybeWait(
|
|
102
|
-
`dfx.rest.${bucket.key}`,
|
|
103
|
-
millis(bucket.resetAfter),
|
|
104
|
-
bucket.limit,
|
|
105
|
-
),
|
|
106
|
-
),
|
|
107
|
-
}),
|
|
108
|
-
),
|
|
92
|
+
) {
|
|
93
|
+
const route = routeFromConfig(path, request.method)
|
|
94
|
+
const maybeBucket = yield* store.getBucketForRoute(route)
|
|
95
|
+
yield* invalidRateLimit(route)
|
|
96
|
+
if (Option.isNone(maybeBucket)) return
|
|
97
|
+
const bucket = maybeBucket.value
|
|
98
|
+
yield* maybeWait(
|
|
99
|
+
`dfx.rest.${bucket.key}`,
|
|
100
|
+
millis(bucket.resetAfter),
|
|
101
|
+
bucket.limit,
|
|
109
102
|
)
|
|
103
|
+
})
|
|
110
104
|
|
|
111
105
|
// Update rate limit buckets
|
|
112
|
-
const updateBuckets = (
|
|
106
|
+
const updateBuckets = Effect.fnUntraced(function* (
|
|
113
107
|
request: HttpRequest.HttpClientRequest,
|
|
114
108
|
response: HttpResponse.HttpClientResponse,
|
|
115
|
-
)
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
Effect.flatMap(({ hasBucket, rateLimit, route }) => {
|
|
123
|
-
const effectsToRun = [
|
|
124
|
-
removeBadRoute(route),
|
|
125
|
-
store.putBucketRoute(route, rateLimit.bucket),
|
|
126
|
-
]
|
|
127
|
-
|
|
128
|
-
if (!hasBucket || rateLimit.limit - 1 === rateLimit.remaining) {
|
|
129
|
-
effectsToRun.push(
|
|
130
|
-
store.removeCounter(`dfx.rest.?.${route}`),
|
|
131
|
-
store.putBucket({
|
|
132
|
-
key: rateLimit.bucket,
|
|
133
|
-
resetAfter: Duration.toMillis(rateLimit.retryAfter),
|
|
134
|
-
limit:
|
|
135
|
-
!hasBucket && rateLimit.remaining > 0
|
|
136
|
-
? rateLimit.remaining
|
|
137
|
-
: rateLimit.limit,
|
|
138
|
-
}),
|
|
139
|
-
)
|
|
140
|
-
}
|
|
109
|
+
) {
|
|
110
|
+
const route = routeFromConfig(request.url, request.method)
|
|
111
|
+
const rateLimitOption = rateLimitFromHeaders(response.headers)
|
|
112
|
+
if (Option.isNone(rateLimitOption)) return
|
|
113
|
+
const rateLimit = rateLimitOption.value
|
|
114
|
+
const hasBucket = yield* store.hasBucket(rateLimit.bucket)
|
|
115
|
+
const fibers: Array<Fiber.RuntimeFiber<unknown, unknown>> = []
|
|
141
116
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
})
|
|
146
|
-
}),
|
|
147
|
-
Effect.ignore,
|
|
117
|
+
fibers.push(yield* Effect.fork(removeBadRoute(route)))
|
|
118
|
+
fibers.push(
|
|
119
|
+
yield* Effect.fork(store.putBucketRoute(route, rateLimit.bucket)),
|
|
148
120
|
)
|
|
149
121
|
|
|
122
|
+
if (!hasBucket || rateLimit.limit - 1 === rateLimit.remaining) {
|
|
123
|
+
fibers.push(
|
|
124
|
+
yield* Effect.fork(store.removeCounter(`dfx.rest.?.${route}`)),
|
|
125
|
+
)
|
|
126
|
+
fibers.push(
|
|
127
|
+
yield* Effect.fork(
|
|
128
|
+
store.putBucket({
|
|
129
|
+
key: rateLimit.bucket,
|
|
130
|
+
resetAfter: Duration.toMillis(rateLimit.retryAfter),
|
|
131
|
+
limit:
|
|
132
|
+
!hasBucket && rateLimit.remaining > 0
|
|
133
|
+
? rateLimit.remaining
|
|
134
|
+
: rateLimit.limit,
|
|
135
|
+
}),
|
|
136
|
+
),
|
|
137
|
+
)
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
for (const fiber of fibers) yield* fiber.await
|
|
141
|
+
})
|
|
142
|
+
|
|
150
143
|
const httpClient = pipe(
|
|
151
144
|
HttpClient.filterStatusOk(http),
|
|
152
145
|
HttpClient.mapRequest(req =>
|
package/src/utils/Effect.ts
CHANGED
|
@@ -4,7 +4,6 @@ import * as Effect from "effect/Effect"
|
|
|
4
4
|
import * as Fiber from "effect/Fiber"
|
|
5
5
|
import * as PubSub from "effect/PubSub"
|
|
6
6
|
import * as Queue from "effect/Queue"
|
|
7
|
-
import type { YieldWrap } from "effect/Utils"
|
|
8
7
|
|
|
9
8
|
export const subscribeForEachPar = <R, E, A, X>(
|
|
10
9
|
self: PubSub.PubSub<A>,
|
|
@@ -53,29 +52,3 @@ export const foreverSwitch = <R, E, A, R1, E1, X>(
|
|
|
53
52
|
Effect.raceFirst(Deferred.await(deferred)),
|
|
54
53
|
)
|
|
55
54
|
})
|
|
56
|
-
|
|
57
|
-
export function genFn<
|
|
58
|
-
Eff extends YieldWrap<Effect.Effect<any, any, any>>,
|
|
59
|
-
AEff,
|
|
60
|
-
Args extends Array<any>,
|
|
61
|
-
>(
|
|
62
|
-
body: (...args: Args) => Generator<Eff, AEff, never>,
|
|
63
|
-
): (
|
|
64
|
-
...args: Args
|
|
65
|
-
) => Effect.Effect<
|
|
66
|
-
AEff,
|
|
67
|
-
[Eff] extends [never]
|
|
68
|
-
? never
|
|
69
|
-
: [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>]
|
|
70
|
-
? E
|
|
71
|
-
: never,
|
|
72
|
-
[Eff] extends [never]
|
|
73
|
-
? never
|
|
74
|
-
: [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>]
|
|
75
|
-
? R
|
|
76
|
-
: never
|
|
77
|
-
> {
|
|
78
|
-
return function (...args) {
|
|
79
|
-
return Effect.gen(() => body(...args))
|
|
80
|
-
}
|
|
81
|
-
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const LIB_VERSION = "0.
|
|
1
|
+
export const LIB_VERSION = "0.109.0";
|
package/utils/Effect.d.ts
CHANGED
|
@@ -1,11 +1,5 @@
|
|
|
1
1
|
import * as Effect from "effect/Effect";
|
|
2
2
|
import * as PubSub from "effect/PubSub";
|
|
3
|
-
import type { YieldWrap } from "effect/Utils";
|
|
4
3
|
export declare const subscribeForEachPar: <R, E, A, X>(self: PubSub.PubSub<A>, effect: (_: A) => Effect.Effect<X, E, R>) => Effect.Effect<never, E, R>;
|
|
5
4
|
export declare const foreverSwitch: <R, E, A, R1, E1, X>(self: Effect.Effect<A, E, R>, f: (_: A) => Effect.Effect<X, E1, R1>) => Effect.Effect<never, E | E1, R | R1>;
|
|
6
|
-
export declare function genFn<Eff extends YieldWrap<Effect.Effect<any, any, any>>, AEff, Args extends Array<any>>(body: (...args: Args) => Generator<Eff, AEff, never>): (...args: Args) => Effect.Effect<AEff, [
|
|
7
|
-
Eff
|
|
8
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer E, infer _R>>] ? E : never, [
|
|
9
|
-
Eff
|
|
10
|
-
] extends [never] ? never : [Eff] extends [YieldWrap<Effect.Effect<infer _A, infer _E, infer R>>] ? R : never>;
|
|
11
5
|
//# sourceMappingURL=Effect.d.ts.map
|
package/utils/Effect.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Effect.d.ts","sourceRoot":"","sources":["../src/utils/Effect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAGvC,eAAO,MAAM,mBAAmB,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,UACd,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACvC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAoBxB,CAAA;AAEJ,eAAO,MAAM,aAAa,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KACzB,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,CAkBlC,CAAA"}
|
package/utils/Effect.js
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.foreverSwitch = void 0;
|
|
7
|
-
exports.genFn = genFn;
|
|
8
|
-
exports.subscribeForEachPar = void 0;
|
|
6
|
+
exports.subscribeForEachPar = exports.foreverSwitch = void 0;
|
|
9
7
|
var _Function = /*#__PURE__*/require("effect/Function");
|
|
10
8
|
var Deferred = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Deferred"));
|
|
11
9
|
var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
|
|
@@ -27,9 +25,4 @@ const foreverSwitch = (self, f) => Effect.gen(function* () {
|
|
|
27
25
|
}))), Effect.forever, Effect.raceFirst(Deferred.await(deferred)));
|
|
28
26
|
});
|
|
29
27
|
exports.foreverSwitch = foreverSwitch;
|
|
30
|
-
function genFn(body) {
|
|
31
|
-
return function (...args) {
|
|
32
|
-
return Effect.gen(() => body(...args));
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
28
|
//# sourceMappingURL=Effect.js.map
|
package/utils/Effect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Effect.js","names":["_Function","require","Deferred","_interopRequireWildcard","Effect","Fiber","PubSub","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","pipe","subscribe","queue","forever","take","fork","catchAllCause","cause","failCause","scoped","interruptible","raceFirst","await","exports","foreverSwitch","f","gen","fiber","tap","interruptFork","void","fiber_"
|
|
1
|
+
{"version":3,"file":"Effect.js","names":["_Function","require","Deferred","_interopRequireWildcard","Effect","Fiber","PubSub","Queue","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","subscribeForEachPar","self","effect","flatMap","make","deferred","run","pipe","subscribe","queue","forever","take","fork","catchAllCause","cause","failCause","scoped","interruptible","raceFirst","await","exports","foreverSwitch","f","gen","fiber","tap","interruptFork","void","fiber_"],"sources":["../src/utils/Effect.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const LIB_VERSION = "0.
|
|
1
|
+
export declare const LIB_VERSION = "0.109.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/version.js
CHANGED