dfx 0.45.6 → 0.45.8

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.
Files changed (191) hide show
  1. package/Cache/driver.d.ts +23 -0
  2. package/Cache/driver.d.ts.map +1 -0
  3. package/Cache/driver.js +3 -0
  4. package/Cache/driver.js.map +1 -0
  5. package/Cache/memory.d.ts +4 -0
  6. package/Cache/memory.d.ts.map +1 -0
  7. package/Cache/memory.js +48 -0
  8. package/Cache/memory.js.map +1 -0
  9. package/Cache/memoryTTL.d.ts +21 -0
  10. package/Cache/memoryTTL.d.ts.map +1 -0
  11. package/Cache/memoryTTL.js +121 -0
  12. package/Cache/memoryTTL.js.map +1 -0
  13. package/Cache/prelude.d.ts +57 -0
  14. package/Cache/prelude.d.ts.map +1 -0
  15. package/Cache/prelude.js +108 -0
  16. package/Cache/prelude.js.map +1 -0
  17. package/Cache.d.ts +76 -0
  18. package/Cache.d.ts.map +1 -0
  19. package/Cache.js +62 -0
  20. package/Cache.js.map +1 -0
  21. package/DiscordConfig.d.ts +29 -0
  22. package/DiscordConfig.d.ts.map +1 -0
  23. package/DiscordConfig.js +29 -0
  24. package/DiscordConfig.js.map +1 -0
  25. package/DiscordGateway/DiscordWS.d.ts +32 -0
  26. package/DiscordGateway/DiscordWS.d.ts.map +1 -0
  27. package/DiscordGateway/DiscordWS.js +31 -0
  28. package/DiscordGateway/DiscordWS.js.map +1 -0
  29. package/DiscordGateway/Shard/heartbeats.d.ts +4 -0
  30. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -0
  31. package/DiscordGateway/Shard/heartbeats.js +17 -0
  32. package/DiscordGateway/Shard/heartbeats.js.map +1 -0
  33. package/DiscordGateway/Shard/identify.d.ts +13 -0
  34. package/DiscordGateway/Shard/identify.d.ts.map +1 -0
  35. package/DiscordGateway/Shard/identify.js +26 -0
  36. package/DiscordGateway/Shard/identify.js.map +1 -0
  37. package/DiscordGateway/Shard/invalidSession.d.ts +4 -0
  38. package/DiscordGateway/Shard/invalidSession.d.ts.map +1 -0
  39. package/DiscordGateway/Shard/invalidSession.js +6 -0
  40. package/DiscordGateway/Shard/invalidSession.js.map +1 -0
  41. package/DiscordGateway/Shard/sendEvents.d.ts +8 -0
  42. package/DiscordGateway/Shard/sendEvents.d.ts.map +1 -0
  43. package/DiscordGateway/Shard/sendEvents.js +25 -0
  44. package/DiscordGateway/Shard/sendEvents.js.map +1 -0
  45. package/DiscordGateway/Shard/utils.d.ts +4 -0
  46. package/DiscordGateway/Shard/utils.d.ts.map +1 -0
  47. package/DiscordGateway/Shard/utils.js +9 -0
  48. package/DiscordGateway/Shard/utils.js.map +1 -0
  49. package/DiscordGateway/Shard.d.ts +17 -0
  50. package/DiscordGateway/Shard.d.ts.map +1 -0
  51. package/DiscordGateway/Shard.js +85 -0
  52. package/DiscordGateway/Shard.js.map +1 -0
  53. package/DiscordGateway/ShardStore.d.ts +13 -0
  54. package/DiscordGateway/ShardStore.d.ts.map +1 -0
  55. package/DiscordGateway/ShardStore.js +22 -0
  56. package/DiscordGateway/ShardStore.js.map +1 -0
  57. package/DiscordGateway/Sharder.d.ts +16 -0
  58. package/DiscordGateway/Sharder.d.ts.map +1 -0
  59. package/DiscordGateway/Sharder.js +51 -0
  60. package/DiscordGateway/Sharder.js.map +1 -0
  61. package/DiscordGateway/WS.d.ts +32 -0
  62. package/DiscordGateway/WS.d.ts.map +1 -0
  63. package/DiscordGateway/WS.js +77 -0
  64. package/DiscordGateway/WS.js.map +1 -0
  65. package/DiscordGateway.d.ts +13 -0
  66. package/DiscordGateway.d.ts.map +1 -0
  67. package/DiscordGateway.js +29 -0
  68. package/DiscordGateway.js.map +1 -0
  69. package/DiscordREST/types.d.ts +8 -0
  70. package/DiscordREST/types.d.ts.map +1 -0
  71. package/DiscordREST/types.js +2 -0
  72. package/DiscordREST/types.js.map +1 -0
  73. package/DiscordREST/utils.d.ts +11 -0
  74. package/DiscordREST/utils.d.ts.map +1 -0
  75. package/DiscordREST/utils.js +21 -0
  76. package/DiscordREST/utils.js.map +1 -0
  77. package/DiscordREST.d.ts +18 -0
  78. package/DiscordREST.d.ts.map +1 -0
  79. package/DiscordREST.js +124 -0
  80. package/DiscordREST.js.map +1 -0
  81. package/Helpers/flags.d.ts +28 -0
  82. package/Helpers/flags.d.ts.map +1 -0
  83. package/Helpers/flags.js +36 -0
  84. package/Helpers/flags.js.map +1 -0
  85. package/Helpers/intents.d.ts +25 -0
  86. package/Helpers/intents.d.ts.map +1 -0
  87. package/Helpers/intents.js +29 -0
  88. package/Helpers/intents.js.map +1 -0
  89. package/Helpers/interactions.d.ts +97 -0
  90. package/Helpers/interactions.d.ts.map +1 -0
  91. package/Helpers/interactions.js +97 -0
  92. package/Helpers/interactions.js.map +1 -0
  93. package/Helpers/members.d.ts +10 -0
  94. package/Helpers/members.d.ts.map +1 -0
  95. package/Helpers/members.js +10 -0
  96. package/Helpers/members.js.map +1 -0
  97. package/Helpers/permissions.d.ts +41 -0
  98. package/Helpers/permissions.d.ts.map +1 -0
  99. package/Helpers/permissions.js +83 -0
  100. package/Helpers/permissions.js.map +1 -0
  101. package/Helpers/ui.d.ts +48 -0
  102. package/Helpers/ui.d.ts.map +1 -0
  103. package/Helpers/ui.js +66 -0
  104. package/Helpers/ui.js.map +1 -0
  105. package/Interactions/builder.d.ts +49 -0
  106. package/Interactions/builder.d.ts.map +1 -0
  107. package/Interactions/builder.js +68 -0
  108. package/Interactions/builder.js.map +1 -0
  109. package/Interactions/context.d.ts +59 -0
  110. package/Interactions/context.d.ts.map +1 -0
  111. package/Interactions/context.js +61 -0
  112. package/Interactions/context.js.map +1 -0
  113. package/Interactions/definitions.d.ts +127 -0
  114. package/Interactions/definitions.d.ts.map +1 -0
  115. package/Interactions/definitions.js +53 -0
  116. package/Interactions/definitions.js.map +1 -0
  117. package/Interactions/gateway.d.ts +21 -0
  118. package/Interactions/gateway.d.ts.map +1 -0
  119. package/Interactions/gateway.js +39 -0
  120. package/Interactions/gateway.js.map +1 -0
  121. package/Interactions/handlers.d.ts +11 -0
  122. package/Interactions/handlers.d.ts.map +1 -0
  123. package/Interactions/handlers.js +45 -0
  124. package/Interactions/handlers.js.map +1 -0
  125. package/Interactions/index.d.ts +11 -0
  126. package/Interactions/index.d.ts.map +1 -0
  127. package/Interactions/index.js +12 -0
  128. package/Interactions/index.js.map +1 -0
  129. package/Interactions/utils.d.ts +79 -0
  130. package/Interactions/utils.d.ts.map +1 -0
  131. package/Interactions/utils.js +74 -0
  132. package/Interactions/utils.js.map +1 -0
  133. package/Interactions/webhook.d.ts +46 -0
  134. package/Interactions/webhook.d.ts.map +1 -0
  135. package/Interactions/webhook.js +56 -0
  136. package/Interactions/webhook.js.map +1 -0
  137. package/Log.d.ts +11 -0
  138. package/Log.d.ts.map +1 -0
  139. package/Log.js +17 -0
  140. package/Log.js.map +1 -0
  141. package/RateLimit/memory.d.ts +3 -0
  142. package/RateLimit/memory.d.ts.map +1 -0
  143. package/RateLimit/memory.js +35 -0
  144. package/RateLimit/memory.js.map +1 -0
  145. package/RateLimit/utils.d.ts +3 -0
  146. package/RateLimit/utils.d.ts.map +1 -0
  147. package/RateLimit/utils.js +18 -0
  148. package/RateLimit/utils.js.map +1 -0
  149. package/RateLimit.d.ts +26 -0
  150. package/RateLimit.d.ts.map +1 -0
  151. package/RateLimit.js +25 -0
  152. package/RateLimit.js.map +1 -0
  153. package/_common.d.ts +37 -0
  154. package/_common.d.ts.map +1 -0
  155. package/_common.js +8 -0
  156. package/_common.js.map +1 -0
  157. package/gateway.d.ts +14 -0
  158. package/gateway.d.ts.map +1 -0
  159. package/gateway.js +25 -0
  160. package/gateway.js.map +1 -0
  161. package/global.d.ts +18 -0
  162. package/global.d.ts.map +1 -0
  163. package/global.js +2 -0
  164. package/global.js.map +1 -0
  165. package/index.d.ts +14 -0
  166. package/index.d.ts.map +1 -0
  167. package/index.js +14 -0
  168. package/index.js.map +1 -0
  169. package/package.json +4 -4
  170. package/src/DiscordREST.ts +2 -0
  171. package/src/package.json +4 -4
  172. package/types.d.ts +4450 -0
  173. package/types.d.ts.map +1 -0
  174. package/types.js +1204 -0
  175. package/types.js.map +1 -0
  176. package/utils/effect.d.ts +2 -0
  177. package/utils/effect.d.ts.map +1 -0
  178. package/utils/effect.js +2 -0
  179. package/utils/effect.js.map +1 -0
  180. package/utils/hub.d.ts +12 -0
  181. package/utils/hub.d.ts.map +1 -0
  182. package/utils/hub.js +23 -0
  183. package/utils/hub.js.map +1 -0
  184. package/utils/tsplus.d.ts +13 -0
  185. package/utils/tsplus.d.ts.map +1 -0
  186. package/utils/tsplus.js +2 -0
  187. package/utils/tsplus.js.map +1 -0
  188. package/webhooks.d.ts +10 -0
  189. package/webhooks.d.ts.map +1 -0
  190. package/webhooks.js +22 -0
  191. package/webhooks.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/Interactions/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { ConfigSecret, Config, Discord, Chunk, Effect, Cause } from "dfx/_common";
2
+ import { DefinitionNotFound } from "./handlers.js";
3
+ import { InteractionBuilder } from "./index.js";
4
+ export declare class BadWebhookSignature {
5
+ readonly _tag = "BadWebhookSignature";
6
+ }
7
+ export type Headers = Record<string, string | string[] | undefined>;
8
+ export interface MakeConfigOpts {
9
+ applicationId: string;
10
+ publicKey: ConfigSecret;
11
+ }
12
+ declare const makeConfig: ({ applicationId, publicKey }: MakeConfigOpts) => {
13
+ applicationId: string;
14
+ publicKey: Uint8Array;
15
+ };
16
+ export interface WebhookConfig extends ReturnType<typeof makeConfig> {
17
+ }
18
+ export declare const WebhookConfig: import("@effect/data/Context").Tag<WebhookConfig, WebhookConfig>;
19
+ export declare const makeConfigLayer: (a_0: MakeConfigOpts) => import("@effect-http/client/_common").Layer<never, never, WebhookConfig>;
20
+ export declare const makeFromConfig: (a: Config<MakeConfigOpts>) => import("@effect-http/client/_common").Layer<never, import("../_common.js").ConfigError, WebhookConfig>;
21
+ export declare class WebhookParseError {
22
+ readonly reason: unknown;
23
+ readonly _tag = "WebhookParseError";
24
+ constructor(reason: unknown);
25
+ }
26
+ export interface HandleWebhookOpts<E> {
27
+ headers: Headers;
28
+ body: string;
29
+ success: (a: Discord.InteractionResponse) => Effect<never, never, void>;
30
+ error: (e: Cause<E>) => Effect<never, never, void>;
31
+ }
32
+ /**
33
+ * @tsplus getter dfx/InteractionBuilder webhookHandler
34
+ * @tsplus location "dfx/Interactions/webhook"
35
+ */
36
+ export declare const makeHandler: <R, E, TE>(ix: InteractionBuilder<R, E, TE>) => ({ headers, body, success, error, }: HandleWebhookOpts<DefinitionNotFound | BadWebhookSignature | WebhookParseError | E>) => import("@effect/io/Effect").Effect<WebhookConfig, never, void>;
37
+ /**
38
+ * @tsplus getter dfx/InteractionBuilder simpleWebhookHandler
39
+ * @tsplus location "dfx/Interactions/webhook"
40
+ */
41
+ export declare const makeSimpleHandler: <R, E, TE>(ix: InteractionBuilder<R, E, TE>) => ({ headers, body }: {
42
+ headers: Headers;
43
+ body: string;
44
+ }) => import("@effect/io/Effect").Effect<WebhookConfig, DefinitionNotFound | BadWebhookSignature | WebhookParseError, import("../types.js").InteractionResponse>;
45
+ export {};
46
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/Interactions/webhook.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,kBAAkB,EAAY,MAAM,eAAe,CAAA;AAC5D,OAAO,EAAE,kBAAkB,EAAe,MAAM,YAAY,CAAA;AAG5D,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;AAqBnE,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,YAAY,CAAA;CACxB;AACD,QAAA,MAAM,UAAU,iCAAkC,cAAc;;;CAG9D,CAAA;AACF,MAAM,WAAW,aAAc,SAAQ,UAAU,CAAC,OAAO,UAAU,CAAC;CAAG;AACvE,eAAO,MAAM,aAAa,kEAAuB,CAAA;AACjD,eAAO,MAAM,eAAe,mGAE3B,CAAA;AACD,eAAO,MAAM,cAAc,MAAO,OAAO,cAAc,CAAC,2GACP,CAAA;AAEjD,qBAAa,iBAAiB;IAEhB,QAAQ,CAAC,MAAM,EAAE,OAAO;IADpC,QAAQ,CAAC,IAAI,uBAAsB;gBACd,MAAM,EAAE,OAAO;CACrC;AAyCD,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,mBAAmB,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IACvE,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CACnD;;;;;AAKD,eAAO,MAAM,WAAW,6OAcvB,CAAA;;;;;AAKD,eAAO,MAAM,iBAAiB;aAQU,OAAO;UAAQ,MAAM;gKAE5D,CAAA"}
@@ -0,0 +1,56 @@
1
+ import * as tsplus_module_1 from "@effect/data/Option";
2
+ import * as tsplus_module_2 from "@effect/data/Either";
3
+ import * as tsplus_module_3 from "@effect/io/Config/Secret";
4
+ import * as tsplus_module_4 from "dfx/_common";
5
+ import * as tsplus_module_5 from "@effect/io/Layer";
6
+ import * as tsplus_module_6 from "@effect/data/Function";
7
+ import * as tsplus_module_7 from "@effect/io/Effect";
8
+ import * as tsplus_module_8 from "@effect/data/Chunk";
9
+ import Nacl from "tweetnacl";
10
+ import { handlers } from "./handlers.js";
11
+ import { Interaction } from "./index.js";
12
+ import { fromHex } from "./utils.js";
13
+ export class BadWebhookSignature {
14
+ _tag = "BadWebhookSignature";
15
+ }
16
+ const checkSignature = (publicKey, headers, body) => tsplus_module_2.asUnit(tsplus_module_1.toEither(() => new BadWebhookSignature())(tsplus_module_1.filter(a => {
17
+ const enc = new TextEncoder();
18
+ return Nacl.sign.detached.verify(enc.encode(a.timestamp + body), fromHex(`${a.signature}`), publicKey);
19
+ })(tsplus_module_1.struct({
20
+ signature: tsplus_module_1.fromNullable(headers["x-signature-ed25519"]),
21
+ timestamp: tsplus_module_1.fromNullable(headers["x-signature-timestamp"]),
22
+ }))));
23
+ const makeConfig = ({ applicationId, publicKey }) => ({
24
+ applicationId,
25
+ publicKey: fromHex(tsplus_module_3.value(publicKey)),
26
+ });
27
+ export const WebhookConfig = tsplus_module_4.Tag();
28
+ export const makeConfigLayer = tsplus_module_6.flow(makeConfig, _ => tsplus_module_5.succeed(WebhookConfig, _));
29
+ export const makeFromConfig = (a) => tsplus_module_7.toLayer(tsplus_module_7.map(tsplus_module_7.config(a), makeConfig), WebhookConfig);
30
+ export class WebhookParseError {
31
+ reason;
32
+ _tag = "WebhookParseError";
33
+ constructor(reason) {
34
+ this.reason = reason;
35
+ }
36
+ }
37
+ const fromHeadersAndBody = (headers, body) => tsplus_module_7.flatMap(WebhookConfig, ({ publicKey }) => tsplus_module_7.flatMap(checkSignature(publicKey, headers, body), () => tsplus_module_7.tryCatch(() => JSON.parse(body), reason => new WebhookParseError(reason))));
38
+ const run = (definitions, handleResponse) => {
39
+ const handler = handlers(definitions, handleResponse);
40
+ return (headers, body) => tsplus_module_7.flatMap(fromHeadersAndBody(headers, body), interaction => tsplus_module_7.provideService(handler[interaction.type](interaction), Interaction, interaction));
41
+ };
42
+ /**
43
+ * @tsplus getter dfx/InteractionBuilder webhookHandler
44
+ */
45
+ export const makeHandler = (ix) => {
46
+ const handle = run(tsplus_module_8.map(ix.definitions, ([d]) => [d, tsplus_module_6.identity]), (_i, r) => tsplus_module_7.succeed(r));
47
+ return ({ headers, body, success, error, }) => tsplus_module_7.catchAllCause(tsplus_module_7.flatMap(handle(headers, body), success), error);
48
+ };
49
+ /**
50
+ * @tsplus getter dfx/InteractionBuilder simpleWebhookHandler
51
+ */
52
+ export const makeSimpleHandler = (ix) => {
53
+ const handle = run(tsplus_module_8.map(ix.definitions, ([d]) => [d, tsplus_module_6.identity]), (_i, r) => tsplus_module_7.succeed(r));
54
+ return ({ headers, body }) => handle(headers, body);
55
+ };
56
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","sourceRoot":"","sources":["../src/Interactions/webhook.ts"],"names":[],"mappings":"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"}
package/Log.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ declare const make: (debug?: boolean) => {
2
+ info: (...args: any[]) => import("@effect/io/Effect").Effect<never, never, void>;
3
+ debug: (...args: any[]) => import("@effect/io/Effect").Effect<never, never, void>;
4
+ };
5
+ export interface Log extends ReturnType<typeof make> {
6
+ }
7
+ export declare const Log: import("@effect/data/Context").Tag<Log, Log>;
8
+ export declare const LiveLog: import("@effect-http/client/_common").Layer<never, never, Log>;
9
+ export declare const LiveLogDebug: import("@effect-http/client/_common").Layer<never, never, Log>;
10
+ export {};
11
+ //# sourceMappingURL=Log.d.ts.map
package/Log.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Log.d.ts","sourceRoot":"","sources":["src/Log.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,IAAI;oBACQ,GAAG,EAAE;qBAIJ,GAAG,EAAE;CAMtB,CAAA;AAEF,MAAM,WAAW,GAAI,SAAQ,UAAU,CAAC,OAAO,IAAI,CAAC;CAAG;AACvD,eAAO,MAAM,GAAG,8CAAa,CAAA;AAC7B,eAAO,MAAM,OAAO,gEAAkC,CAAA;AACtD,eAAO,MAAM,YAAY,gEAAiC,CAAA"}
package/Log.js ADDED
@@ -0,0 +1,17 @@
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 "@effect/io/Layer";
4
+ const make = (debug = false) => ({
5
+ info: (...args) => tsplus_module_1.sync(() => {
6
+ console.error("INFO", ...args);
7
+ }),
8
+ debug: (...args) => debug
9
+ ? tsplus_module_1.sync(() => {
10
+ console.error("DEBUG", ...args);
11
+ })
12
+ : tsplus_module_1.unit(),
13
+ });
14
+ export const Log = tsplus_module_2.Tag();
15
+ export const LiveLog = tsplus_module_3.succeed(Log, make(false));
16
+ export const LiveLogDebug = tsplus_module_3.succeed(Log, make(true));
17
+ //# sourceMappingURL=Log.js.map
package/Log.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Log.js","sourceRoot":"","sources":["src/Log.ts"],"names":[],"mappings":";;;AAAA,MAAM,IAAI,GAAG,CAAC,KAAK,GAAG,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACvB,qBAAY,GAAG,EAAE;QACf,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAA;IAChC,CAAC,CAAC;IACJ,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CACxB,KAAK;QACH,CAAC,CAAC,qBAAY,GAAG,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAA;QACjC,CAAC,CAAC;QACJ,CAAC,CAAC,sBAAa;CACpB,CAAC,CAAA;AAGF,MAAM,CAAC,MAAM,GAAG,GAAG,gBAAA,GAAG,EAAO,CAAA;AAC7B,MAAM,CAAC,MAAM,OAAO,GAAG,wBAAc,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;AACtD,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAc,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { RateLimitStore } from "../RateLimit.js";
2
+ export declare const make: () => RateLimitStore;
3
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/RateLimit/memory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAO/D,eAAO,MAAM,IAAI,QAAO,cAiDvB,CAAA"}
@@ -0,0 +1,35 @@
1
+ import * as tsplus_module_1 from "@effect/data/Option";
2
+ import * as tsplus_module_2 from "@effect/io/Effect";
3
+ export const make = () => {
4
+ const buckets = new Map();
5
+ const routes = new Map();
6
+ const counters = new Map();
7
+ const getCounter = (key) => tsplus_module_1.filter(c => c.expires > Date.now())(tsplus_module_1.fromNullable(counters.get(key)));
8
+ const getBucketForRoute = (route) => tsplus_module_2.sync(() => tsplus_module_1.fromNullable(buckets.get(routes.get(route))));
9
+ return {
10
+ hasBucket: key => tsplus_module_2.sync(() => buckets.has(key)),
11
+ putBucket: bucket => tsplus_module_2.sync(() => {
12
+ buckets.set(bucket.key, bucket);
13
+ }),
14
+ getBucketForRoute,
15
+ putBucketRoute: (route, bucket) => tsplus_module_2.sync(() => {
16
+ routes.set(route, bucket);
17
+ }),
18
+ removeCounter: key => tsplus_module_2.sync(() => {
19
+ counters.delete(key);
20
+ }),
21
+ incrementCounter: (key, window, limit) => tsplus_module_2.sync(() => {
22
+ const now = Date.now();
23
+ const perRequest = Math.ceil(window / limit);
24
+ const counter = tsplus_module_1.getOrElse(getCounter(key), () => ({
25
+ expires: now,
26
+ count: 0,
27
+ }));
28
+ const count = counter.count + 1;
29
+ const expires = counter.expires + perRequest;
30
+ counters.set(key, { ...counter, count, expires });
31
+ return [count, expires - now];
32
+ }),
33
+ };
34
+ };
35
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../src/RateLimit/memory.ts"],"names":[],"mappings":";;AAOA,MAAM,CAAC,MAAM,IAAI,GAAG,GAAmB,EAAE;IACvC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyB,CAAA;IAChD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAA;IACxC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAmB,CAAA;IAE3C,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CACjC,uBAA6C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,EAAxE,6BAAmB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAoC,CAAA;IAE3E,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAE,EAAE,CAC1C,qBAAY,GAAG,EAAE,CAAC,6BAAmB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAE,CAAC,CAAC,CAAC,CAAA;IAExE,OAAO;QACL,SAAS,EAAE,GAAG,CAAC,EAAE,CAAC,qBAAY,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAErD,SAAS,EAAE,MAAM,CAAC,EAAE,CAClB,qBAAY,GAAG,EAAE;YACf,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACjC,CAAC,CAAC;QAEJ,iBAAiB;QAEjB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAChC,qBAAY,GAAG,EAAE;YACf,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC3B,CAAC,CAAC;QAEJ,aAAa,EAAE,GAAG,CAAC,EAAE,CACnB,qBAAY,GAAG,EAAE;YACf,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACtB,CAAC,CAAC;QAEJ,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CACvC,qBAAY,GAAG,EAAE;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;YACtB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;YAC5C,MAAM,OAAO,GAAG,0BAAA,UAAU,CAAC,GAAG,CAAC,EAC7B,GAAY,EAAE,CAAC,CAAC;gBACd,OAAO,EAAE,GAAG;gBACZ,KAAK,EAAE,CAAC;aACT,CAAC,CACH,CAAA;YAED,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAA;YAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,UAAU,CAAA;YAC5C,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;YAEjD,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,CAAC,CAAA;QAC/B,CAAC,CAAC;KACL,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { Duration } from "dfx/_common";
2
+ export declare const delayFrom: (window: number, limit: number, count: number, ttl: number) => Duration;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/RateLimit/utils.ts"],"names":[],"mappings":";AAEA,eAAO,MAAM,SAAS,WACZ,MAAM,SACP,MAAM,SACN,MAAM,OACR,MAAM,KACV,QAmBF,CAAA"}
@@ -0,0 +1,18 @@
1
+ import { millis, zero } from "@effect/data/Duration";
2
+ export const delayFrom = (window, limit, count, ttl) => {
3
+ const perRequest = Math.ceil(window / limit);
4
+ const totalTime = count * perRequest;
5
+ const elapsedTime = totalTime - ttl;
6
+ const elapsedWindows = Math.floor(elapsedTime / window);
7
+ const completedRequests = elapsedWindows * limit;
8
+ const remainingRequests = count - completedRequests;
9
+ const remainingWindows = Math.floor((remainingRequests - 1) / limit);
10
+ const delayRemainder = elapsedTime % window;
11
+ const requestRemainder = count % limit;
12
+ const staggerDelay = requestRemainder * 50;
13
+ if (remainingWindows === 0) {
14
+ return zero;
15
+ }
16
+ return millis(remainingWindows * window - delayRemainder + staggerDelay);
17
+ };
18
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/RateLimit/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEpD,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,MAAc,EACd,KAAa,EACb,KAAa,EACb,GAAW,EACD,EAAE;IACZ,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,CAAA;IAE5C,MAAM,SAAS,GAAG,KAAK,GAAG,UAAU,CAAA;IACpC,MAAM,WAAW,GAAG,SAAS,GAAG,GAAG,CAAA;IACnC,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,CAAA;IACvD,MAAM,iBAAiB,GAAG,cAAc,GAAG,KAAK,CAAA;IAChD,MAAM,iBAAiB,GAAG,KAAK,GAAG,iBAAiB,CAAA;IACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAA;IACpE,MAAM,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;IAE3C,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,CAAA;IACtC,MAAM,YAAY,GAAG,gBAAgB,GAAG,EAAE,CAAA;IAE1C,IAAI,gBAAgB,KAAK,CAAC,EAAE;QAC1B,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,MAAM,CAAC,gBAAgB,GAAG,MAAM,GAAG,cAAc,GAAG,YAAY,CAAC,CAAA;AAC1E,CAAC,CAAA"}
package/RateLimit.d.ts ADDED
@@ -0,0 +1,26 @@
1
+ import { Effect, Maybe, Duration } from "dfx/_common";
2
+ import { Log } from "dfx/Log";
3
+ export type BucketDetails = {
4
+ key: "global" | string;
5
+ resetAfter: number;
6
+ limit: number;
7
+ };
8
+ export interface RateLimitStore {
9
+ hasBucket: (bucketKey: string) => Effect<never, never, boolean>;
10
+ putBucket: (bucket: BucketDetails) => Effect<never, never, void>;
11
+ getBucketForRoute: (route: string) => Effect<never, never, Maybe<BucketDetails>>;
12
+ putBucketRoute: (route: string, bucketKey: string) => Effect<never, never, void>;
13
+ incrementCounter: (key: string, window: number, limit: number) => Effect<never, never, readonly [count: number, ttl: number]>;
14
+ removeCounter: (key: string) => Effect<never, never, void>;
15
+ }
16
+ export declare const RateLimitStore: import("@effect/data/Context").Tag<RateLimitStore, RateLimitStore>;
17
+ export declare const LiveMemoryRateLimitStore: import("@effect-http/client/_common").Layer<never, never, RateLimitStore>;
18
+ declare const makeLimiter: import("@effect/io/Effect").Effect<Log | RateLimitStore, never, {
19
+ maybeWait: (key: string, window: Duration, limit: number, multiplier?: number) => import("@effect/io/Effect").Effect<never, never, void>;
20
+ }>;
21
+ export interface RateLimiter extends Effect.Success<typeof makeLimiter> {
22
+ }
23
+ export declare const RateLimiter: import("@effect/data/Context").Tag<RateLimiter, RateLimiter>;
24
+ export declare const LiveRateLimiter: import("@effect-http/client/_common").Layer<Log | RateLimitStore, never, RateLimiter>;
25
+ export {};
26
+ //# sourceMappingURL=RateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimit.d.ts","sourceRoot":"","sources":["src/RateLimit.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AAE7B,MAAM,MAAM,aAAa,GAAG;IAC1B,GAAG,EAAE,QAAQ,GAAG,MAAM,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAA;IAE/D,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAEhE,iBAAiB,EAAE,CACjB,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;IAE/C,cAAc,EAAE,CACd,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;IAE/B,gBAAgB,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAEhE,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;CAC3D;AAED,eAAO,MAAM,cAAc,oEAAwB,CAAA;AACnD,eAAO,MAAM,wBAAwB,2EAA0C,CAAA;AAE/E,QAAA,MAAM,WAAW;qBAKR,MAAM,UACH,QAAQ,SACT,MAAM;EAqBf,CAAA;AAEF,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC;CAAG;AAC1E,eAAO,MAAM,WAAW,8DAAqB,CAAA;AAC7C,eAAO,MAAM,eAAe,uFAAyC,CAAA"}
package/RateLimit.js ADDED
@@ -0,0 +1,25 @@
1
+ import * as tsplus_module_1 from "dfx/_common";
2
+ import * as tsplus_module_2 from "@effect/io/Layer";
3
+ import * as tsplus_module_3 from "@effect/io/Effect";
4
+ import { delayFrom } from "./RateLimit/utils.js";
5
+ import * as Memory from "./RateLimit/memory.js";
6
+ import { Log } from "dfx/Log";
7
+ export const RateLimitStore = tsplus_module_1.Tag();
8
+ export const LiveMemoryRateLimitStore = tsplus_module_2.sync(RateLimitStore, Memory.make);
9
+ const makeLimiter = tsplus_module_3.flatMap(RateLimitStore, store => tsplus_module_3.map(Log, log => {
10
+ const maybeWait = (key, window, limit, multiplier = 1.05) => {
11
+ const windowMs = window.millis * multiplier;
12
+ return tsplus_module_3.asUnit(tsplus_module_3.tap(tsplus_module_3.tap(tsplus_module_3.map(store
13
+ .incrementCounter(key, windowMs, limit), ([count, ttl]) => delayFrom(windowMs, limit, count, ttl)), d => log.debug("RateLimitStore maybeWait", {
14
+ key,
15
+ window: window.millis,
16
+ windowMs,
17
+ limit,
18
+ delay: d.millis,
19
+ })), _ => (_.millis === 0 ? tsplus_module_3.unit() : tsplus_module_3.sleep(_))));
20
+ };
21
+ return { maybeWait };
22
+ }));
23
+ export const RateLimiter = tsplus_module_1.Tag();
24
+ export const LiveRateLimiter = tsplus_module_2.effect(RateLimiter, makeLimiter);
25
+ //# sourceMappingURL=RateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimit.js","sourceRoot":"","sources":["src/RateLimit.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAChD,OAAO,KAAK,MAAM,MAAM,uBAAuB,CAAA;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,SAAS,CAAA;AA+B7B,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAA,GAAG,EAAkB,CAAA;AACnD,MAAM,CAAC,MAAM,wBAAwB,GAAG,qBAAW,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;AAE/E,MAAM,WAAW,2BACC,cAAc,EAAxB,KAAK,wBACG,GAAG,EAAX,GAAG;IAET,MAAM,SAAS,GAAG,CAChB,GAAW,EACX,MAAgB,EAChB,KAAa,EACb,UAAU,GAAG,IAAI,EACjB,EAAE;QACF,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAA;QAE3C,8BAAO,oBAAA,oBAAA,oBAAA,KAAK;aACT,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,EAClC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,EACzD,CAAC,CAAC,EAAE,CACP,GAAG,CAAC,KAAK,CAAC,0BAA0B,EAAE;YACpC,GAAG;YACH,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ;YACR,KAAK;YACL,KAAK,EAAE,CAAC,CAAC,MAAM;SAChB,CAAC,CACH,EACI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAa,CAAC,CAAC,CAAC,sBAAa,CAAC,CAAC,CAAC,CAAC,EAAO;IACxE,CAAC,CAAA;IAED,OAAO,EAAE,SAAS,EAAE,CAAA;GACpB,CAAA;AAGF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAA,GAAG,EAAe,CAAA;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,uBAAa,WAAW,EAAE,WAAW,CAAC,CAAA"}
package/_common.d.ts ADDED
@@ -0,0 +1,37 @@
1
+ import { Effect } from "dfx/_common";
2
+ import type { Schedule as _Schedule } from "@effect/io/Schedule";
3
+ import * as Deferred from "@effect/io/Deferred";
4
+ export type { Cause } from "@effect/io/Cause";
5
+ export type { Config } from "@effect/io/Config";
6
+ export type { ConfigSecret } from "@effect/io/Config/Secret";
7
+ export type { ConfigError } from "@effect/io/Config/Error";
8
+ export type { Deferred } from "@effect/io/Deferred";
9
+ export type { Effect } from "@effect/io/Effect";
10
+ export type { Exit } from "@effect/io/Exit";
11
+ export type { RuntimeFiber } from "@effect/io/Fiber";
12
+ export type { Hub } from "@effect/io/Hub";
13
+ export type { Layer } from "@effect/io/Layer";
14
+ export type { Dequeue, Enqueue, Queue } from "@effect/io/Queue";
15
+ export type { Ref } from "@effect/io/Ref";
16
+ export type { Scope } from "@effect/io/Scope";
17
+ export type { Stream } from "@effect/stream/Stream";
18
+ export type { Chunk } from "@effect/data/Chunk";
19
+ export { Context, Tag } from "@effect/data/Context";
20
+ export type { Duration } from "@effect/data/Duration";
21
+ export type { Equal } from "@effect/data/Equal";
22
+ export type { HashMap } from "@effect/data/HashMap";
23
+ export type { HashSet } from "@effect/data/HashSet";
24
+ export type { Option as Maybe } from "@effect/data/Option";
25
+ export type { Either } from "@effect/data/Either";
26
+ export * as Discord from "./types.js";
27
+ /**
28
+ * @tsplus type effect/io/Schedule
29
+ * @tsplus companion effect/io/Schedule.Ops
30
+ */
31
+ export type Schedule<Env, In, Out> = _Schedule<Env, In, Out>;
32
+ /**
33
+ * @tsplus getter effect/io/Deferred await
34
+ * @tsplus location "dfx/_common"
35
+ */
36
+ export declare const deferredAwait: <E, A>(self: Deferred.Deferred<E, A>) => Effect<never, E, A>;
37
+ //# sourceMappingURL=_common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_common.d.ts","sourceRoot":"","sources":["src/_common.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,QAAQ,IAAI,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAE/C,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,YAAY,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AACnD,YAAY,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,YAAY,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AACpD,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC7C,YAAY,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAC/D,YAAY,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AACzC,YAAY,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,YAAY,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAC/C,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACnD,YAAY,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD,YAAY,EAAE,MAAM,IAAI,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC1D,YAAY,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAEjD,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAErC;;;GAGG;AACH,MAAM,MAAM,QAAQ,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;;;;;AAK5D,eAAO,MAAM,aAAa,EAAE,CAAC,CAAC,EAAE,CAAC,EAC/B,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,KAC1B,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAkB,CAAA"}
package/_common.js ADDED
@@ -0,0 +1,8 @@
1
+ import * as Deferred from "@effect/io/Deferred";
2
+ export { Tag } from "@effect/data/Context";
3
+ export * as Discord from "./types.js";
4
+ /**
5
+ * @tsplus getter effect/io/Deferred await
6
+ */
7
+ export const deferredAwait = Deferred.await;
8
+ //# sourceMappingURL=_common.js.map
package/_common.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_common.js","sourceRoot":"","sources":["src/_common.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,QAAQ,MAAM,qBAAqB,CAAA;AAmB/C,OAAO,EAAW,GAAG,EAAE,MAAM,sBAAsB,CAAA;AASnD,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AAQrC;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAEC,QAAQ,CAAC,KAAK,CAAA"}
package/gateway.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Config } from "dfx/_common";
2
+ import { DiscordConfig, Log } from "dfx";
3
+ export * as CachePrelude from "./Cache/prelude.js";
4
+ export { DiscordGateway, LiveDiscordGateway } from "./DiscordGateway.js";
5
+ export * as DiscordWS from "./DiscordGateway/DiscordWS.js";
6
+ export * as Shard from "./DiscordGateway/Shard.js";
7
+ export * as ShardStore from "./DiscordGateway/ShardStore.js";
8
+ export * as WS from "./DiscordGateway/WS.js";
9
+ export { InteractionsRegistry, InteractionsRegistryLive, run as runIx, } from "./Interactions/gateway.js";
10
+ export declare const MemoryRateLimit: import("@effect-http/client/_common").Layer<Log.Log, never, import("dfx").RateLimiter>;
11
+ export declare const MemoryBot: import("@effect-http/client/_common").Layer<DiscordConfig.DiscordConfig | Log.Log | import("@effect-http/client").HttpRequestExecutor, never, import("dfx").DiscordREST | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
12
+ export declare const makeLiveWithoutFetch: (config: Config.Wrap<DiscordConfig.MakeOpts>) => import("@effect-http/client/_common").Layer<import("@effect-http/client").HttpRequestExecutor, import("./_common.js").ConfigError, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
13
+ export declare const makeLive: (config: Config.Wrap<DiscordConfig.MakeOpts>) => import("@effect-http/client/_common").Layer<never, import("./_common.js").ConfigError, import("dfx").DiscordREST | DiscordConfig.DiscordConfig | Log.Log | import("dfx").RateLimiter | import("./DiscordGateway.js").DiscordGateway>;
14
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["src/gateway.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAmB,GAAG,EAAE,MAAM,KAAK,CAAA;AAMzD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,GAAG,IAAI,KAAK,GACb,MAAM,2BAA2B,CAAA;AAElC,eAAO,MAAM,eAAe,wFAA8C,CAAA;AAE1E,eAAO,MAAM,SAAS,qPAEsC,CAAA;AAE5D,eAAO,MAAM,oBAAoB,WACvB,OAAO,IAAI,CAAC,cAAc,QAAQ,CAAC,qRAU1C,CAAA;AAEH,eAAO,MAAM,QAAQ,WAAY,OAAO,IAAI,CAAC,cAAc,QAAQ,CAAC,yOACV,CAAA"}
package/gateway.js ADDED
@@ -0,0 +1,25 @@
1
+ import * as tsplus_module_1 from "@effect/io/Layer";
2
+ import * as tsplus_module_2 from "@effect/io/Config";
3
+ import * as tsplus_module_3 from "@effect/io/Effect";
4
+ import { LiveFetchRequestExecutor } from "@effect-http/client";
5
+ import { DiscordConfig, LiveDiscordREST, Log } from "dfx";
6
+ import { LiveDiscordGateway } from "./DiscordGateway.js";
7
+ import { LiveJsonDiscordWSCodec } from "./DiscordGateway/DiscordWS.js";
8
+ import { LiveMemoryShardStore } from "./DiscordGateway/ShardStore.js";
9
+ import { LiveMemoryRateLimitStore, LiveRateLimiter } from "./RateLimit.js";
10
+ export * as CachePrelude from "./Cache/prelude.js";
11
+ export { DiscordGateway, LiveDiscordGateway } from "./DiscordGateway.js";
12
+ export * as DiscordWS from "./DiscordGateway/DiscordWS.js";
13
+ export * as Shard from "./DiscordGateway/Shard.js";
14
+ export * as ShardStore from "./DiscordGateway/ShardStore.js";
15
+ export * as WS from "./DiscordGateway/WS.js";
16
+ export { InteractionsRegistry, InteractionsRegistryLive, run as runIx, } from "./Interactions/gateway.js";
17
+ export const MemoryRateLimit = tsplus_module_1.provide(LiveRateLimiter)(LiveMemoryRateLimitStore);
18
+ export const MemoryBot = tsplus_module_1.provide((tsplus_module_1.merge(MemoryRateLimit)((tsplus_module_1.provideMerge(LiveDiscordGateway)(LiveDiscordREST)))))((tsplus_module_1.merge(LiveJsonDiscordWSCodec)(tsplus_module_1.merge(LiveMemoryRateLimitStore)(LiveMemoryShardStore))));
19
+ export const makeLiveWithoutFetch = (config) => tsplus_module_1.unwrapEffect(tsplus_module_3.map(tsplus_module_3.map(tsplus_module_3.config(tsplus_module_2.unwrap(config)), DiscordConfig.make), config => {
20
+ const LiveLog = config.debug ? Log.LiveLogDebug : Log.LiveLog;
21
+ const LiveConfig = tsplus_module_1.succeed(DiscordConfig.DiscordConfig, config);
22
+ return tsplus_module_1.provideMerge(MemoryBot)(tsplus_module_1.merge(LiveConfig)(LiveLog));
23
+ }));
24
+ export const makeLive = (config) => tsplus_module_1.provide(makeLiveWithoutFetch(config))(LiveFetchRequestExecutor);
25
+ //# sourceMappingURL=gateway.js.map
package/gateway.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","sourceRoot":"","sources":["src/gateway.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAA;AACrE,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAE1E,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAC1D,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAClD,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC5C,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,GAAG,IAAI,KAAK,GACb,MAAM,2BAA2B,CAAA;AAElC,MAAM,CAAC,MAAM,eAAe,2BAA+B,eAAe,EAA3C,wBAAwB,CAAmB,CAAA;AAE1E,MAAM,CAAC,MAAM,SAAS,2BAEpB,uBAA0C,eAAe,EAAxD,8BAAmB,kBAAkB,EAApC,eAAe,EAAsB,EAAmB,EAD1D,uBAAmD,sBAAsB,wBAAjD,wBAAwB,EAA/C,oBAAoB,GAAqD,CAChB,CAAA;AAE5D,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,MAA2C,EAC3C,EAAE,CACF,6BACE,oBAAA,2CAAA,uBAAc,MAAM,CAAC,GACP,aAAa,CAAC,IAAI,CAAC,EAC1B,MAAM,CAAC,EAAE;IACZ,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAA;IAC7D,MAAM,UAAU,GAAG,wBAAc,aAAa,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IACrE,oCAA8B,SAAS,wBAAtB,UAAU,EAApB,OAAO,GAAyB;AACzC,CAAC,CAAC,CACL,CAAA;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,MAA2C,EAAE,EAAE,yBAC1C,oBAAoB,CAAC,MAAM,CAAC,EAAxD,wBAAwB,CAAgC,CAAA"}
package/global.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @tsplus global
3
+ */
4
+ import type { Cause, Config, ConfigSecret, ConfigError, Deferred, Effect, Exit, Hub, Layer, RuntimeFiber, Dequeue, Enqueue, Queue, Schedule, Scope, Stream, Chunk, Context, Duration, Equal, Either, HashMap, Maybe, Ref, HashSet, } from "dfx/_common";
5
+ /**
6
+ * @tsplus global
7
+ */
8
+ import { Tag, Discord } from "dfx/_common";
9
+ /**
10
+ * @tsplus global
11
+ */
12
+ import { pipe, flow, identity } from "@effect/data/Function";
13
+ /**
14
+ * @tsplus global
15
+ */
16
+ import type { LazyArg } from "@effect/data/Function";
17
+ export {};
18
+ //# sourceMappingURL=global.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.d.ts","sourceRoot":"","sources":["src/global.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EACV,KAAK,EACL,MAAM,EACN,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,GAAG,EACH,KAAK,EACL,YAAY,EACZ,OAAO,EACP,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAK,EACL,MAAM,EACN,KAAK,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EACL,MAAM,EACN,OAAO,EACP,KAAK,EACL,GAAG,EACH,OAAO,GACR,MAAM,aAAa,CAAA;AAEpB;;GAEG;AACH,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAE5D;;GAEG;AACH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAA"}
package/global.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=global.js.map
package/global.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["src/global.ts"],"names":[],"mappings":""}
package/index.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ export * as Discord from "./types.js";
2
+ export * as DiscordConfig from "./DiscordConfig.js";
3
+ export { DiscordREST, LiveDiscordREST } from "./DiscordREST.js";
4
+ export * as Ix from "./Interactions/index.js";
5
+ export * as Log from "./Log.js";
6
+ export { BucketDetails, RateLimitStore, LiveMemoryRateLimitStore, RateLimiter, LiveRateLimiter, } from "./RateLimit.js";
7
+ export * as Cache from "./Cache.js";
8
+ export * as Flags from "./Helpers/flags.js";
9
+ export * as Intents from "./Helpers/intents.js";
10
+ export * as IxHelpers from "./Helpers/interactions.js";
11
+ export * as Members from "./Helpers/members.js";
12
+ export * as Perms from "./Helpers/permissions.js";
13
+ export * as UI from "./Helpers/ui.js";
14
+ //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EACL,aAAa,EACb,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA"}
package/index.js ADDED
@@ -0,0 +1,14 @@
1
+ export * as Discord from "./types.js";
2
+ export * as DiscordConfig from "./DiscordConfig.js";
3
+ export { DiscordREST, LiveDiscordREST } from "./DiscordREST.js";
4
+ export * as Ix from "./Interactions/index.js";
5
+ export * as Log from "./Log.js";
6
+ export { RateLimitStore, LiveMemoryRateLimitStore, RateLimiter, LiveRateLimiter, } from "./RateLimit.js";
7
+ export * as Cache from "./Cache.js";
8
+ export * as Flags from "./Helpers/flags.js";
9
+ export * as Intents from "./Helpers/intents.js";
10
+ export * as IxHelpers from "./Helpers/interactions.js";
11
+ export * as Members from "./Helpers/members.js";
12
+ export * as Perms from "./Helpers/permissions.js";
13
+ export * as UI from "./Helpers/ui.js";
14
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC7C,OAAO,KAAK,GAAG,MAAM,UAAU,CAAA;AAC/B,OAAO,EAEL,cAAc,EACd,wBAAwB,EACxB,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AAEnC,OAAO,KAAK,KAAK,MAAM,oBAAoB,CAAA;AAC3C,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,SAAS,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAA;AAC/C,OAAO,KAAK,KAAK,MAAM,0BAA0B,CAAA;AACjD,OAAO,KAAK,EAAE,MAAM,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.45.6",
3
+ "version": "0.45.8",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -35,9 +35,9 @@
35
35
  "typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.171/compiler/typescript.tgz"
36
36
  },
37
37
  "dependencies": {
38
- "@effect-http/client": "^0.25.0",
38
+ "@effect-http/client": "^0.26.0",
39
39
  "@effect/data": "^0.12.2",
40
- "@effect/io": "~0.25.9",
40
+ "@effect/io": "~0.25.12",
41
41
  "@effect/stream": "~0.21.1",
42
42
  "tweetnacl": "^1.0.3"
43
43
  },
@@ -48,5 +48,5 @@
48
48
  "ws": "^8.13.0"
49
49
  },
50
50
  "sideEffects": false,
51
- "gitHead": "7c4a5c9a58c36230f17db2d80a789ad2cf68ee6c"
51
+ "gitHead": "b43a004b6c2657dfd463826fe4d8c61f5ed127fd"
52
52
  }
@@ -21,6 +21,8 @@ export class DiscordRESTError {
21
21
  constructor(readonly error: Http.HttpClientError) {}
22
22
  }
23
23
 
24
+ export { ResponseDecodeError } from "@effect-http/client"
25
+
24
26
  const make = Do($ => {
25
27
  const { token, rest } = $(DiscordConfig)
26
28
 
package/src/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dfx",
3
- "version": "0.45.6",
3
+ "version": "0.45.8",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -35,9 +35,9 @@
35
35
  "typescript": "https://cdn.jsdelivr.net/npm/@tsplus/installer@0.0.171/compiler/typescript.tgz"
36
36
  },
37
37
  "dependencies": {
38
- "@effect-http/client": "^0.25.0",
38
+ "@effect-http/client": "^0.26.0",
39
39
  "@effect/data": "^0.12.2",
40
- "@effect/io": "~0.25.9",
40
+ "@effect/io": "~0.25.12",
41
41
  "@effect/stream": "~0.21.1",
42
42
  "tweetnacl": "^1.0.3"
43
43
  },
@@ -48,5 +48,5 @@
48
48
  "ws": "^8.13.0"
49
49
  },
50
50
  "sideEffects": false,
51
- "gitHead": "7c4a5c9a58c36230f17db2d80a789ad2cf68ee6c"
51
+ "gitHead": "b43a004b6c2657dfd463826fe4d8c61f5ed127fd"
52
52
  }