dfx 0.101.0 → 0.102.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 +2 -1
- package/DiscordGateway/DiscordWS.d.ts.map +1 -1
- package/DiscordGateway/DiscordWS.js +11 -6
- package/DiscordGateway/DiscordWS.js.map +1 -1
- package/DiscordGateway/Messaging.d.ts +3 -3
- package/DiscordGateway/Messaging.d.ts.map +1 -1
- package/DiscordGateway/Messaging.js +4 -4
- package/DiscordGateway/Messaging.js.map +1 -1
- package/DiscordGateway/Shard/heartbeats.d.ts +2 -2
- package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -1
- package/DiscordGateway/Shard/heartbeats.js +2 -3
- package/DiscordGateway/Shard/heartbeats.js.map +1 -1
- package/DiscordGateway/Shard.d.ts +2 -2
- package/DiscordGateway/Shard.d.ts.map +1 -1
- package/DiscordGateway/Shard.js +15 -15
- package/DiscordGateway/Shard.js.map +1 -1
- package/DiscordGateway/Sharder.d.ts +1 -1
- package/DiscordGateway.d.ts +1 -1
- package/DiscordREST.d.ts +1 -1
- package/DiscordREST.js +3 -3
- package/DiscordREST.js.map +1 -1
- package/gateway.d.ts +2 -2
- package/index.d.ts +1 -1
- package/mjs/DiscordGateway/DiscordWS.mjs +11 -6
- package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -1
- package/mjs/DiscordGateway/Messaging.mjs +4 -4
- package/mjs/DiscordGateway/Messaging.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard/heartbeats.mjs +2 -3
- package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -1
- package/mjs/DiscordGateway/Shard.mjs +15 -15
- package/mjs/DiscordGateway/Shard.mjs.map +1 -1
- package/mjs/DiscordREST.mjs +3 -3
- package/mjs/DiscordREST.mjs.map +1 -1
- package/mjs/types.mjs +30 -1
- package/mjs/types.mjs.map +1 -1
- package/mjs/version.mjs +1 -1
- package/package.json +4 -4
- package/src/DiscordGateway/DiscordWS.ts +14 -10
- package/src/DiscordGateway/Messaging.ts +6 -6
- package/src/DiscordGateway/Shard/heartbeats.ts +5 -5
- package/src/DiscordGateway/Shard.ts +26 -23
- package/src/DiscordREST.ts +3 -3
- package/src/types.ts +76 -8
- package/src/version.ts +1 -1
- package/types.d.ts +55 -9
- package/types.d.ts.map +1 -1
- package/types.js +31 -2
- package/types.js.map +1 -1
- package/version.d.ts +1 -1
- package/version.js +1 -1
- package/webhooks.d.ts +1 -1
|
@@ -3,10 +3,14 @@ import * as Effect from "effect/Effect";
|
|
|
3
3
|
import * as Layer from "effect/Layer";
|
|
4
4
|
import * as Ref from "effect/Ref";
|
|
5
5
|
import * as Socket from "@effect/platform/Socket";
|
|
6
|
-
import * as
|
|
6
|
+
import * as Mailbox from "effect/Mailbox";
|
|
7
7
|
import * as Schedule from "effect/Schedule";
|
|
8
|
+
import * as Cause from "effect/Cause";
|
|
9
|
+
import * as Option from "effect/Option";
|
|
10
|
+
import * as LogLevel from "effect/LogLevel";
|
|
8
11
|
export const Reconnect = /*#__PURE__*/Symbol.for("dfx/DiscordGateway/WS/Reconnect");
|
|
9
12
|
const decoder = /*#__PURE__*/new TextDecoder();
|
|
13
|
+
const logLevelDebug = /*#__PURE__*/Option.some(LogLevel.Debug);
|
|
10
14
|
export const DiscordWSCodec = /*#__PURE__*/GenericTag("dfx/DiscordGateway/DiscordWS/Codec");
|
|
11
15
|
export const JsonDiscordWSCodecLive = /*#__PURE__*/Layer.succeed(DiscordWSCodec, {
|
|
12
16
|
type: "json",
|
|
@@ -23,7 +27,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
23
27
|
}) => Effect.gen(function* () {
|
|
24
28
|
const urlRef = yield* Ref.make(`${url}?v=${version}&encoding=${encoding.type}`);
|
|
25
29
|
const setUrl = url => Ref.set(urlRef, `${url}?v=${version}&encoding=${encoding.type}`);
|
|
26
|
-
const messages = yield*
|
|
30
|
+
const messages = yield* Mailbox.make();
|
|
27
31
|
const socket = yield* Socket.makeWebSocket(Ref.get(urlRef), {
|
|
28
32
|
closeCodeIsError: _ => true,
|
|
29
33
|
openTimeout: 5000
|
|
@@ -35,14 +39,15 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
35
39
|
}
|
|
36
40
|
return Effect.zipRight(Effect.logTrace(_), write(encoding.encode(_)));
|
|
37
41
|
}), Effect.forever, Effect.annotateLogs("channel", "outbound"), Effect.forkScoped, Effect.interruptible);
|
|
38
|
-
yield* onConnecting.pipe(Effect.zipRight(socket.runRaw(_ => {
|
|
42
|
+
yield* onConnecting.pipe(Effect.zipRight(Effect.withFiberRuntime(fiber => socket.runRaw(_ => {
|
|
39
43
|
const message = encoding.decode(_);
|
|
40
|
-
|
|
41
|
-
|
|
44
|
+
messages.unsafeOffer(message);
|
|
45
|
+
fiber.log([message], Cause.empty, logLevelDebug);
|
|
46
|
+
}))), Effect.retry({
|
|
42
47
|
while: e => e.reason === "Close" && e.code === 1012
|
|
43
48
|
}), Effect.catchAllCause(cause => Effect.logDebug("Got socket error, reconnecting", cause)), Effect.repeat(Schedule.exponential(500).pipe(Schedule.union(Schedule.spaced(10000)))), Effect.annotateLogs("channel", "inbound"), Effect.forkScoped, Effect.interruptible);
|
|
44
49
|
return {
|
|
45
|
-
take:
|
|
50
|
+
take: messages.take,
|
|
46
51
|
setUrl
|
|
47
52
|
};
|
|
48
53
|
}).pipe(Effect.annotateLogs({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","
|
|
1
|
+
{"version":3,"file":"DiscordWS.mjs","names":["GenericTag","Effect","Layer","Ref","Socket","Mailbox","Schedule","Cause","Option","LogLevel","Reconnect","Symbol","for","decoder","TextDecoder","logLevelDebug","some","Debug","DiscordWSCodec","JsonDiscordWSCodecLive","succeed","type","encode","p","JSON","stringify","decode","parse","make","gen","encoding","connect","onConnecting","outbound","url","version","urlRef","setUrl","set","messages","socket","makeWebSocket","get","closeCodeIsError","_","openTimeout","write","writer","pipe","flatMap","zipRight","logTrace","CloseEvent","forever","annotateLogs","forkScoped","interruptible","withFiberRuntime","fiber","runRaw","message","unsafeOffer","log","empty","retry","while","e","reason","code","catchAllCause","cause","logDebug","repeat","exponential","union","spaced","take","module","DiscordWS","DiscordWSLive","effect"],"sources":["../../src/DiscordGateway/DiscordWS.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@ import { GenericTag } from "effect/Context";
|
|
|
2
2
|
import * as Effect from "effect/Effect";
|
|
3
3
|
import * as PubSub from "effect/PubSub";
|
|
4
4
|
import * as Layer from "effect/Layer";
|
|
5
|
-
import * as
|
|
5
|
+
import * as Mailbox from "effect/Mailbox";
|
|
6
6
|
import * as Stream from "effect/Stream";
|
|
7
7
|
import * as EffectUtils from "dfx/utils/Effect";
|
|
8
8
|
const fromDispatchFactory = source => event => Stream.map(Stream.filter(source, p => p.t === event), p => p.d);
|
|
@@ -14,14 +14,14 @@ const handleDispatchFactory = hub => (event, handle) => EffectUtils.subscribeFor
|
|
|
14
14
|
});
|
|
15
15
|
export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
16
16
|
const hub = yield* Effect.acquireRelease(PubSub.unbounded(), PubSub.shutdown);
|
|
17
|
-
const
|
|
18
|
-
const send = payload =>
|
|
17
|
+
const sendMailbox = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
|
|
18
|
+
const send = payload => sendMailbox.offer(payload);
|
|
19
19
|
const dispatch = Stream.fromPubSub(hub);
|
|
20
20
|
const fromDispatch = fromDispatchFactory(dispatch);
|
|
21
21
|
const handleDispatch = handleDispatchFactory(hub);
|
|
22
22
|
return {
|
|
23
23
|
hub,
|
|
24
|
-
|
|
24
|
+
sendMailbox,
|
|
25
25
|
dispatch,
|
|
26
26
|
fromDispatch,
|
|
27
27
|
handleDispatch,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Messaging.mjs","names":["GenericTag","Effect","PubSub","Layer","
|
|
1
|
+
{"version":3,"file":"Messaging.mjs","names":["GenericTag","Effect","PubSub","Layer","Mailbox","Stream","EffectUtils","fromDispatchFactory","source","event","map","filter","p","t","d","handleDispatchFactory","hub","handle","subscribeForEachPar","_","void","make","gen","acquireRelease","unbounded","shutdown","sendMailbox","send","payload","offer","dispatch","fromPubSub","fromDispatch","handleDispatch","Messaging","MesssagingLive","scoped"],"sources":["../../src/DiscordGateway/Messaging.ts"],"sourcesContent":[null],"mappings":"AAAA,SAASA,UAAU,QAAQ,gBAAgB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,KAAK,MAAM,cAAc;AACrC,OAAO,KAAKC,OAAO,MAAM,gBAAgB;AACzC,OAAO,KAAKC,MAAM,MAAM,eAAe;AAEvC,OAAO,KAAKC,WAAW,MAAM,kBAAkB;AAE/C,MAAMC,mBAAmB,GAErBC,MAAyE,IAGzEC,KAAQ,IAERJ,MAAM,CAACK,GAAG,CACRL,MAAM,CAACM,MAAM,CAACH,MAAM,EAAEI,CAAC,IAAIA,CAAC,CAACC,CAAC,KAAKJ,KAAK,CAAC,EACzCG,CAAC,IAAIA,CAAC,CAACE,CAAS,CACjB;AAEL,MAAMC,qBAAqB,GACxBC,GAAgE,IACjE,CACEP,KAAQ,EACRQ,MAAmE,KAEnEX,WAAW,CAACY,mBAAmB,CAACF,GAAG,EAAEG,CAAC,IAAG;EACvC,IAAIA,CAAC,CAACN,CAAC,KAAKJ,KAAK,EAAE;IACjB,OAAOQ,MAAM,CAACE,CAAC,CAACL,CAAQ,CAAC;EAC3B;EACA,OAAOb,MAAM,CAACmB,IAAW;AAC3B,CAAC,CAAC;AAEN,OAAO,MAAMC,IAAI,gBAAGpB,MAAM,CAACqB,GAAG,CAAC,aAAS;EACtC,MAAMN,GAAG,GAAG,OAAOf,MAAM,CAACsB,cAAc,CACtCrB,MAAM,CAACsB,SAAS,EAAgD,EAChEtB,MAAM,CAACuB,QAAQ,CAChB;EAED,MAAMC,WAAW,GAAG,OAAOzB,MAAM,CAACsB,cAAc,CAC9CnB,OAAO,CAACiB,IAAI,EAA6C,EACzDF,CAAC,IAAIA,CAAC,CAACM,QAAQ,CAChB;EACD,MAAME,IAAI,GAAIC,OAAkD,IAC9DF,WAAW,CAACG,KAAK,CAACD,OAAO,CAAC;EAE5B,MAAME,QAAQ,GAAGzB,MAAM,CAAC0B,UAAU,CAACf,GAAG,CAAC;EACvC,MAAMgB,YAAY,GAAGzB,mBAAmB,CAACuB,QAAQ,CAAC;EAClD,MAAMG,cAAc,GAAGlB,qBAAqB,CAACC,GAAG,CAAC;EAEjD,OAAO;IACLA,GAAG;IACHU,WAAW;IACXI,QAAQ;IACRE,YAAY;IACZC,cAAc;IACdN;GACQ;AACZ,CAAC,CAAC;AAKF,OAAO,MAAMO,SAAS,gBAAGlC,UAAU,CAGjC,8BAA8B,CAAC;AACjC,OAAO,MAAMmC,cAAc,gBAAGhC,KAAK,CAACiC,MAAM,CAACF,SAAS,EAAEb,IAAI,CAAC","ignoreList":[]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import * as Duration from "effect/Duration";
|
|
2
2
|
import * as Option from "effect/Option";
|
|
3
3
|
import * as Effect from "effect/Effect";
|
|
4
|
-
import * as Queue from "effect/Queue";
|
|
5
4
|
import * as Ref from "effect/Ref";
|
|
6
5
|
import * as Schedule from "effect/Schedule";
|
|
7
6
|
import * as DiscordWS from "dfx/DiscordGateway/DiscordWS";
|
|
@@ -10,8 +9,8 @@ import * as EffectU from "dfx/utils/Effect";
|
|
|
10
9
|
const payload = state => Effect.map(state, state => SendEvents.heartbeat(Option.getOrNull(Option.map(state, s => s.sequence))));
|
|
11
10
|
const payloadOrReconnect = (ref, state) => Effect.flatMap(Ref.get(ref), acked => acked ? payload(state) : Effect.succeed(DiscordWS.Reconnect));
|
|
12
11
|
export const send = (hellos, acks, state, send) => Effect.flatMap(Ref.make(true), ackedRef => {
|
|
13
|
-
const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(
|
|
14
|
-
const run =
|
|
12
|
+
const heartbeats = EffectU.foreverSwitch(Effect.zipLeft(hellos.take, Ref.set(ackedRef, true)), p => payloadOrReconnect(ackedRef, state).pipe(Effect.zipLeft(Ref.set(ackedRef, false)), Effect.tap(send), Effect.schedule(Schedule.andThen(Schedule.duration(Duration.millis(p.d.heartbeat_interval * Math.random())), Schedule.spaced(Duration.millis(p.d.heartbeat_interval))))));
|
|
13
|
+
const run = acks.take.pipe(Effect.zipLeft(Ref.set(ackedRef, true)), Effect.forever);
|
|
15
14
|
return Effect.all([run, heartbeats], {
|
|
16
15
|
concurrency: "unbounded",
|
|
17
16
|
discard: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"heartbeats.mjs","names":["Duration","Option","Effect","
|
|
1
|
+
{"version":3,"file":"heartbeats.mjs","names":["Duration","Option","Effect","Ref","Schedule","DiscordWS","SendEvents","EffectU","payload","state","map","heartbeat","getOrNull","s","sequence","payloadOrReconnect","ref","flatMap","get","acked","succeed","Reconnect","send","hellos","acks","make","ackedRef","heartbeats","foreverSwitch","zipLeft","take","set","p","pipe","tap","schedule","andThen","duration","millis","d","heartbeat_interval","Math","random","spaced","run","forever","all","concurrency","discard"],"sources":["../../../src/DiscordGateway/Shard/heartbeats.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAO,KAAKA,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,OAAO,KAAKC,GAAG,MAAM,YAAY;AACjC,OAAO,KAAKC,QAAQ,MAAM,iBAAiB;AAC3C,OAAO,KAAKC,SAAS,MAAM,8BAA8B;AACzD,OAAO,KAAKC,UAAU,MAAM,qCAAqC;AAEjE,OAAO,KAAKC,OAAO,MAAM,kBAAkB;AAI3C,MAAMC,OAAO,GAAIC,KAA+C,IAC9DP,MAAM,CAACQ,GAAG,CAACD,KAAK,EAAEA,KAAK,IACrBH,UAAU,CAACK,SAAS,CAACV,MAAM,CAACW,SAAS,CAACX,MAAM,CAACS,GAAG,CAACD,KAAK,EAAEI,CAAC,IAAIA,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAC,CAC3E;AAEH,MAAMC,kBAAkB,GAAGA,CACzBC,GAAqB,EACrBP,KAA+C,KAE/CP,MAAM,CAACe,OAAO,CACZd,GAAG,CAACe,GAAG,CAACF,GAAG,CAAC,EACXG,KAAK,IACJA,KAAK,GAAGX,OAAO,CAACC,KAAK,CAAC,GAAGP,MAAM,CAACkB,OAAO,CAACf,SAAS,CAACgB,SAAS,CAAC,CAC/D;AAEH,OAAO,MAAMC,IAAI,GAAGA,CAClBC,MAAuD,EACvDC,IAAqD,EACrDf,KAA+C,EAC/Ca,IAAsD,KAEtDpB,MAAM,CAACe,OAAO,CAACd,GAAG,CAACsB,IAAI,CAAC,IAAI,CAAC,EAAEC,QAAQ,IAAG;EACxC,MAAMC,UAAU,GAAGpB,OAAO,CAACqB,aAAa,CACtC1B,MAAM,CAAC2B,OAAO,CAACN,MAAM,CAACO,IAAI,EAAE3B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACpDM,CAAC,IACCjB,kBAAkB,CAACW,QAAQ,EAAEjB,KAAK,CAAC,CAACwB,IAAI,CACtC/B,MAAM,CAAC2B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,KAAK,CAAC,CAAC,EACxCxB,MAAM,CAACgC,GAAG,CAACZ,IAAI,CAAC,EAChBpB,MAAM,CAACiC,QAAQ,CACb/B,QAAQ,CAACgC,OAAO,CACdhC,QAAQ,CAACiC,QAAQ,CACfrC,QAAQ,CAACsC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,GAAGC,IAAI,CAACC,MAAM,EAAE,CAAC,CACzD,EACDtC,QAAQ,CAACuC,MAAM,CAAC3C,QAAQ,CAACsC,MAAM,CAACN,CAAC,CAACO,CAAE,CAACC,kBAAkB,CAAC,CAAC,CAC1D,CACF,CACF,CACJ;EAED,MAAMI,GAAG,GAAGpB,IAAI,CAACM,IAAI,CAACG,IAAI,CACxB/B,MAAM,CAAC2B,OAAO,CAAC1B,GAAG,CAAC4B,GAAG,CAACL,QAAQ,EAAE,IAAI,CAAC,CAAC,EACvCxB,MAAM,CAAC2C,OAAO,CACf;EAED,OAAO3C,MAAM,CAAC4C,GAAG,CAAC,CAACF,GAAG,EAAEjB,UAAU,CAAC,EAAE;IACnCoB,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
@@ -14,7 +14,7 @@ import { pipe } from "effect/Function";
|
|
|
14
14
|
import * as Layer from "effect/Layer";
|
|
15
15
|
import * as Option from "effect/Option";
|
|
16
16
|
import * as PubSub from "effect/PubSub";
|
|
17
|
-
import * as
|
|
17
|
+
import * as Mailbox from "effect/Mailbox";
|
|
18
18
|
import * as Redacted from "effect/Redacted";
|
|
19
19
|
import * as Ref from "effect/Ref";
|
|
20
20
|
export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
@@ -26,12 +26,12 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
26
26
|
const dws = yield* DiscordWS;
|
|
27
27
|
const {
|
|
28
28
|
hub,
|
|
29
|
-
|
|
29
|
+
sendMailbox
|
|
30
30
|
} = yield* Messaging;
|
|
31
31
|
const shardState = yield* ShardStateStore;
|
|
32
32
|
const connect = shard => Effect.gen(function* (_) {
|
|
33
|
-
const outboundQueue = yield*
|
|
34
|
-
const pendingQueue = yield*
|
|
33
|
+
const outboundQueue = yield* Mailbox.make();
|
|
34
|
+
const pendingQueue = yield* Mailbox.make();
|
|
35
35
|
const phase = yield* Ref.make(0 /* Phase.Connecting */);
|
|
36
36
|
const stateStore = shardState.forShard(shard);
|
|
37
37
|
const resumeState = Option.getOrElse(yield* stateStore.get, () => ({
|
|
@@ -40,18 +40,18 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
40
40
|
sequence: 0
|
|
41
41
|
}));
|
|
42
42
|
const setPhase = p => Effect.zipLeft(Ref.set(phase, p), Effect.annotateLogs(Effect.logTrace("phase transition"), "phase", p));
|
|
43
|
-
const outbound = Effect.zipLeft(
|
|
44
|
-
const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ?
|
|
45
|
-
const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ?
|
|
46
|
-
const prioritySend = p =>
|
|
47
|
-
const resume = pipe(setPhase(2 /* Phase.Connected */), Effect.zipRight(
|
|
48
|
-
const onConnecting = pipe(
|
|
43
|
+
const outbound = Effect.orDie(Effect.zipLeft(outboundQueue.take, limiter.maybeWait("dfx.shard.send", Duration.minutes(1), 120)));
|
|
44
|
+
const send = p => Effect.flatMap(Ref.get(phase), phase => phase === 2 /* Phase.Connected */ ? outboundQueue.offer(p) : pendingQueue.offer(p));
|
|
45
|
+
const heartbeatSend = p => Effect.flatMap(Ref.get(phase), phase => phase !== 0 /* Phase.Connecting */ ? outboundQueue.offer(p) : Effect.succeed(false));
|
|
46
|
+
const prioritySend = p => outboundQueue.offer(p);
|
|
47
|
+
const resume = pipe(setPhase(2 /* Phase.Connected */), Effect.zipRight(pendingQueue.clear), Effect.tap(_ => outboundQueue.offerAll(_)), Effect.asVoid);
|
|
48
|
+
const onConnecting = pipe(outboundQueue.clear, Effect.tap(msgs => pendingQueue.offerAll(Chunk.filter(msgs, msg => msg !== Reconnect && msg.op !== Discord.GatewayOpcode.IDENTIFY && msg.op !== Discord.GatewayOpcode.RESUME && msg.op !== Discord.GatewayOpcode.HEARTBEAT))), Effect.zipRight(setPhase(0 /* Phase.Connecting */)));
|
|
49
49
|
const socket = yield* dws.connect({
|
|
50
50
|
outbound,
|
|
51
51
|
onConnecting
|
|
52
52
|
});
|
|
53
|
-
const hellos = yield* Effect.acquireRelease(
|
|
54
|
-
const acks = yield* Effect.acquireRelease(
|
|
53
|
+
const hellos = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
|
|
54
|
+
const acks = yield* Effect.acquireRelease(Mailbox.make(), _ => _.shutdown);
|
|
55
55
|
// heartbeats
|
|
56
56
|
yield* Heartbeats.send(hellos, acks, stateStore.get, heartbeatSend).pipe(Effect.forkScoped, Effect.interruptible);
|
|
57
57
|
// identify
|
|
@@ -79,11 +79,11 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
79
79
|
switch (p.op) {
|
|
80
80
|
case Discord.GatewayOpcode.HELLO:
|
|
81
81
|
{
|
|
82
|
-
return pipe(Effect.tap(identify, prioritySend), Effect.zipRight(setPhase(1 /* Phase.Handshake */)), Effect.zipRight(
|
|
82
|
+
return pipe(Effect.tap(identify, prioritySend), Effect.zipRight(setPhase(1 /* Phase.Handshake */)), Effect.zipRight(hellos.offer(p)));
|
|
83
83
|
}
|
|
84
84
|
case Discord.GatewayOpcode.HEARTBEAT_ACK:
|
|
85
85
|
{
|
|
86
|
-
return
|
|
86
|
+
return acks.offer(p);
|
|
87
87
|
}
|
|
88
88
|
case Discord.GatewayOpcode.INVALID_SESSION:
|
|
89
89
|
{
|
|
@@ -110,7 +110,7 @@ export const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
}));
|
|
113
|
-
yield*
|
|
113
|
+
yield* sendMailbox.take.pipe(Effect.tap(send), Effect.forever, Effect.forkScoped, Effect.interruptible);
|
|
114
114
|
yield* socket.take.pipe(Effect.flatMap(onPayload), Effect.forever, Effect.forkScoped, Effect.interruptible);
|
|
115
115
|
return {
|
|
116
116
|
id: shard,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","Chunk","GenericTag","Duration","Effect","pipe","Layer","Option","PubSub","
|
|
1
|
+
{"version":3,"file":"Shard.mjs","names":["DiscordConfig","DiscordWS","DiscordWSLive","Reconnect","Messaging","MesssagingLive","ShardStateStore","Heartbeats","Identify","RateLimiter","RateLimiterLive","Discord","Chunk","GenericTag","Duration","Effect","pipe","Layer","Option","PubSub","Mailbox","Redacted","Ref","make","gen","gateway","token","limiter","dws","hub","sendMailbox","shardState","connect","shard","_","outboundQueue","pendingQueue","phase","stateStore","forShard","resumeState","getOrElse","get","resumeUrl","sessionId","sequence","setPhase","p","zipLeft","set","annotateLogs","logTrace","outbound","orDie","take","maybeWait","minutes","send","flatMap","offer","heartbeatSend","succeed","prioritySend","resume","zipRight","clear","tap","offerAll","asVoid","onConnecting","msgs","filter","msg","op","GatewayOpcode","IDENTIFY","RESUME","HEARTBEAT","socket","hellos","acquireRelease","shutdown","acks","forkScoped","interruptible","identify","identifyOrResume","value","intents","presence","onPayload","suspend","s","DISPATCH","t","payload","d","session_id","resume_gateway_url","setUrl","void","HELLO","HEARTBEAT_ACK","INVALID_SESSION","publish","RECONNECT","forever","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
|
@@ -73,7 +73,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
73
73
|
discard: true
|
|
74
74
|
});
|
|
75
75
|
}), Effect.ignore);
|
|
76
|
-
const
|
|
76
|
+
const httpClient = pipe(HttpClient.filterStatusOk(http), HttpClient.mapRequest(req => pipe(HttpRequest.prependUrl(req, rest.baseUrl), HttpRequest.setHeaders({
|
|
77
77
|
Authorization: `Bot ${Redacted.value(token)}`,
|
|
78
78
|
"User-Agent": `DiscordBot (https://github.com/tim-smart/dfx, ${LIB_VERSION})`
|
|
79
79
|
}))), HttpClient.catchAll(cause => cause.reason === "StatusCode" ? cause.response.json.pipe(Effect.mapError(_ => new DiscordRESTError({
|
|
@@ -84,7 +84,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
84
84
|
})))) : Effect.fail(new DiscordRESTError({
|
|
85
85
|
cause
|
|
86
86
|
}))));
|
|
87
|
-
const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(
|
|
87
|
+
const executor = request => requestRateLimit(request.url, request).pipe(Effect.zipLeft(globalRateLimit), Effect.zipRight(httpClient.execute(request)), Effect.tap(response => updateBuckets(request, response)), Effect.catchTag("DiscordRESTError", e => {
|
|
88
88
|
if (e.cause.reason !== "StatusCode") {
|
|
89
89
|
return Effect.fail(e);
|
|
90
90
|
}
|
|
@@ -118,7 +118,7 @@ const make = /*#__PURE__*/Effect.gen(function* () {
|
|
|
118
118
|
} else if (params && request.body._tag === "FormData") {
|
|
119
119
|
request.body.formData.append("payload_json", JSON.stringify(params));
|
|
120
120
|
} else if (params) {
|
|
121
|
-
request = HttpRequest.
|
|
121
|
+
request = HttpRequest.bodyUnsafeJson(request, params);
|
|
122
122
|
}
|
|
123
123
|
return new RestResponseImpl(executor(request));
|
|
124
124
|
});
|
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","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","
|
|
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","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","httpClient","filterStatusOk","mapRequest","req","prependUrl","baseUrl","setHeaders","Authorization","value","catchAll","reason","json","mapError","_","fail","executor","zipLeft","execute","catchTag","e","status","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":"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","ignoreList":[]}
|
package/mjs/types.mjs
CHANGED
|
@@ -1045,6 +1045,11 @@ export function createRoutes(fetch) {
|
|
|
1045
1045
|
params,
|
|
1046
1046
|
options
|
|
1047
1047
|
}),
|
|
1048
|
+
getSkuSubscription: (skuId, subscriptionId, options) => fetch({
|
|
1049
|
+
method: "GET",
|
|
1050
|
+
url: `/skus/${skuId}/subscriptions/${subscriptionId}`,
|
|
1051
|
+
options
|
|
1052
|
+
}),
|
|
1048
1053
|
getStageInstance: (channelId, options) => fetch({
|
|
1049
1054
|
method: "GET",
|
|
1050
1055
|
url: `/stage-instances/${channelId}`,
|
|
@@ -1183,6 +1188,11 @@ export function createRoutes(fetch) {
|
|
|
1183
1188
|
url: `/applications/${applicationId}/skus`,
|
|
1184
1189
|
options
|
|
1185
1190
|
}),
|
|
1191
|
+
listSkuSubscriptions: (skuId, options) => fetch({
|
|
1192
|
+
method: "GET",
|
|
1193
|
+
url: `/skus/${skuId}/subscriptions`,
|
|
1194
|
+
options
|
|
1195
|
+
}),
|
|
1186
1196
|
listStickerPacks: options => fetch({
|
|
1187
1197
|
method: "GET",
|
|
1188
1198
|
url: `/sticker-packs`,
|
|
@@ -1604,7 +1614,17 @@ export const GuildMemberFlag = {
|
|
|
1604
1614
|
/** Member is exempt from guild verification requirements */
|
|
1605
1615
|
BYPASSES_VERIFICATION: 1 << 2,
|
|
1606
1616
|
/** Member has started onboarding */
|
|
1607
|
-
STARTED_ONBOARDING: 1 << 3
|
|
1617
|
+
STARTED_ONBOARDING: 1 << 3,
|
|
1618
|
+
/** Member is a guest and can only access the voice channel they were invited to */
|
|
1619
|
+
IS_GUEST: 1 << 4,
|
|
1620
|
+
/** Member has started Server Guide new member actions */
|
|
1621
|
+
STARTED_HOME_ACTIONS: 1 << 5,
|
|
1622
|
+
/** Member has completed Server Guide new member actions */
|
|
1623
|
+
COMPLETED_HOME_ACTIONS: 1 << 6,
|
|
1624
|
+
/** Member's username, display name, or nickname is blocked by AutoMod */
|
|
1625
|
+
AUTOMOD_QUARANTINED_USERNAME: 1 << 7,
|
|
1626
|
+
/** Member has dismissed the DM settings upsell */
|
|
1627
|
+
DM_SETTINGS_UPSELL_ACKNOWLEDGED: 1 << 9
|
|
1608
1628
|
};
|
|
1609
1629
|
export var GuildNsfwLevel;
|
|
1610
1630
|
(function (GuildNsfwLevel) {
|
|
@@ -2086,6 +2106,15 @@ export var StickerType;
|
|
|
2086
2106
|
/** a sticker uploaded to a guild for the guild's members */
|
|
2087
2107
|
StickerType[StickerType["GUILD"] = 2] = "GUILD";
|
|
2088
2108
|
})(StickerType || (StickerType = {}));
|
|
2109
|
+
export var SubscriptionStatus;
|
|
2110
|
+
(function (SubscriptionStatus) {
|
|
2111
|
+
/** Subscription is active and scheduled to renew. */
|
|
2112
|
+
SubscriptionStatus[SubscriptionStatus["ACTIVE"] = 0] = "ACTIVE";
|
|
2113
|
+
/** Subscription is active but will not renew. */
|
|
2114
|
+
SubscriptionStatus[SubscriptionStatus["ENDING"] = 1] = "ENDING";
|
|
2115
|
+
/** Subscription is inactive and not being charged. */
|
|
2116
|
+
SubscriptionStatus[SubscriptionStatus["INACTIVE"] = 2] = "INACTIVE";
|
|
2117
|
+
})(SubscriptionStatus || (SubscriptionStatus = {}));
|
|
2089
2118
|
export const SystemChannelFlag = {
|
|
2090
2119
|
/** Suppress member join notifications */
|
|
2091
2120
|
SUPPRESS_JOIN_NOTIFICATIONS: 1 << 0,
|