dfx 1.0.1 → 1.0.2

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 (299) hide show
  1. package/.babel.cjs.json +11 -0
  2. package/.babel.mjs.json +10 -0
  3. package/.envrc +1 -0
  4. package/.gitmodules +3 -0
  5. package/.husky/pre-commit +2 -0
  6. package/.oxlintrc.json +72 -0
  7. package/.prettierignore +0 -0
  8. package/.prettierrc.json +5 -0
  9. package/.tool-versions +1 -0
  10. package/.vscode/debug.cjs +8 -0
  11. package/.vscode/launch.json +23 -0
  12. package/.vscode/settings.json +29 -0
  13. package/.vscode/tasks.json +44 -0
  14. package/AGENTS.md +15 -0
  15. package/CHANGELOG.md +1562 -0
  16. package/examples/.env.example +5 -0
  17. package/examples/interactions.ts +79 -0
  18. package/examples/readme.ts +56 -0
  19. package/examples/registry.ts +66 -0
  20. package/flake.lock +27 -0
  21. package/flake.nix +21 -0
  22. package/lerna.json +12 -0
  23. package/package.json +79 -35
  24. package/pnpm-workspace.yaml +7 -0
  25. package/scripts/generate-client.sh +10 -0
  26. package/scripts/worktree-setup.sh +8 -0
  27. package/test/index.test.ts +5 -0
  28. package/vitest.config.ts +22 -0
  29. package/Cache/driver.d.ts +0 -24
  30. package/Cache/driver.d.ts.map +0 -1
  31. package/Cache/driver.js +0 -11
  32. package/Cache/driver.js.map +0 -1
  33. package/Cache/memory.d.ts +0 -5
  34. package/Cache/memory.d.ts.map +0 -1
  35. package/Cache/memory.js +0 -57
  36. package/Cache/memory.js.map +0 -1
  37. package/Cache/memoryTTL.d.ts +0 -23
  38. package/Cache/memoryTTL.d.ts.map +0 -1
  39. package/Cache/memoryTTL.js +0 -128
  40. package/Cache/memoryTTL.js.map +0 -1
  41. package/Cache/prelude.d.ts +0 -32
  42. package/Cache/prelude.d.ts.map +0 -1
  43. package/Cache/prelude.js +0 -143
  44. package/Cache/prelude.js.map +0 -1
  45. package/Cache.d.ts +0 -81
  46. package/Cache.d.ts.map +0 -1
  47. package/Cache.js +0 -145
  48. package/Cache.js.map +0 -1
  49. package/DiscordConfig.d.ts +0 -35
  50. package/DiscordConfig.d.ts.map +0 -1
  51. package/DiscordConfig.js +0 -43
  52. package/DiscordConfig.js.map +0 -1
  53. package/DiscordGateway/DiscordWS.d.ts +0 -37
  54. package/DiscordGateway/DiscordWS.d.ts.map +0 -1
  55. package/DiscordGateway/DiscordWS.js +0 -86
  56. package/DiscordGateway/DiscordWS.js.map +0 -1
  57. package/DiscordGateway/Messaging.d.ts +0 -587
  58. package/DiscordGateway/Messaging.d.ts.map +0 -1
  59. package/DiscordGateway/Messaging.js +0 -43
  60. package/DiscordGateway/Messaging.js.map +0 -1
  61. package/DiscordGateway/Shard/StateStore.d.ts +0 -24
  62. package/DiscordGateway/Shard/StateStore.d.ts.map +0 -1
  63. package/DiscordGateway/Shard/StateStore.js +0 -49
  64. package/DiscordGateway/Shard/StateStore.js.map +0 -1
  65. package/DiscordGateway/Shard/heartbeats.d.ts +0 -8
  66. package/DiscordGateway/Shard/heartbeats.d.ts.map +0 -1
  67. package/DiscordGateway/Shard/heartbeats.js +0 -33
  68. package/DiscordGateway/Shard/heartbeats.js.map +0 -1
  69. package/DiscordGateway/Shard/identify.d.ts +0 -12
  70. package/DiscordGateway/Shard/identify.d.ts.map +0 -1
  71. package/DiscordGateway/Shard/identify.js +0 -37
  72. package/DiscordGateway/Shard/identify.js.map +0 -1
  73. package/DiscordGateway/Shard/sendEvents.d.ts +0 -8
  74. package/DiscordGateway/Shard/sendEvents.d.ts.map +0 -1
  75. package/DiscordGateway/Shard/sendEvents.js +0 -39
  76. package/DiscordGateway/Shard/sendEvents.js.map +0 -1
  77. package/DiscordGateway/Shard/utils.d.ts +0 -6
  78. package/DiscordGateway/Shard/utils.d.ts.map +0 -1
  79. package/DiscordGateway/Shard/utils.js +0 -11
  80. package/DiscordGateway/Shard/utils.js.map +0 -1
  81. package/DiscordGateway/Shard.d.ts +0 -29
  82. package/DiscordGateway/Shard.d.ts.map +0 -1
  83. package/DiscordGateway/Shard.js +0 -155
  84. package/DiscordGateway/Shard.js.map +0 -1
  85. package/DiscordGateway/ShardStore.d.ts +0 -19
  86. package/DiscordGateway/ShardStore.d.ts.map +0 -1
  87. package/DiscordGateway/ShardStore.js +0 -32
  88. package/DiscordGateway/ShardStore.js.map +0 -1
  89. package/DiscordGateway/Sharder.d.ts +0 -14
  90. package/DiscordGateway/Sharder.d.ts.map +0 -1
  91. package/DiscordGateway/Sharder.js +0 -75
  92. package/DiscordGateway/Sharder.js.map +0 -1
  93. package/DiscordGateway.d.ts +0 -33
  94. package/DiscordGateway.d.ts.map +0 -1
  95. package/DiscordGateway.js +0 -28
  96. package/DiscordGateway.js.map +0 -1
  97. package/DiscordREST/Generated.d.ts +0 -5577
  98. package/DiscordREST/Generated.d.ts.map +0 -1
  99. package/DiscordREST/Generated.js +0 -2480
  100. package/DiscordREST/Generated.js.map +0 -1
  101. package/DiscordREST/utils.d.ts +0 -14
  102. package/DiscordREST/utils.d.ts.map +0 -1
  103. package/DiscordREST/utils.js +0 -32
  104. package/DiscordREST/utils.js.map +0 -1
  105. package/DiscordREST.d.ts +0 -22
  106. package/DiscordREST.d.ts.map +0 -1
  107. package/DiscordREST.js +0 -128
  108. package/DiscordREST.js.map +0 -1
  109. package/Helpers/flags.d.ts +0 -28
  110. package/Helpers/flags.d.ts.map +0 -1
  111. package/Helpers/flags.js +0 -57
  112. package/Helpers/flags.js.map +0 -1
  113. package/Helpers/intents.d.ts +0 -25
  114. package/Helpers/intents.d.ts.map +0 -1
  115. package/Helpers/intents.js +0 -34
  116. package/Helpers/intents.js.map +0 -1
  117. package/Helpers/interactions.d.ts +0 -116
  118. package/Helpers/interactions.d.ts.map +0 -1
  119. package/Helpers/interactions.js +0 -143
  120. package/Helpers/interactions.js.map +0 -1
  121. package/Helpers/members.d.ts +0 -10
  122. package/Helpers/members.d.ts.map +0 -1
  123. package/Helpers/members.js +0 -17
  124. package/Helpers/members.js.map +0 -1
  125. package/Helpers/permissions.d.ts +0 -42
  126. package/Helpers/permissions.d.ts.map +0 -1
  127. package/Helpers/permissions.js +0 -97
  128. package/Helpers/permissions.js.map +0 -1
  129. package/Helpers/ui.d.ts +0 -105
  130. package/Helpers/ui.d.ts.map +0 -1
  131. package/Helpers/ui.js +0 -162
  132. package/Helpers/ui.js.map +0 -1
  133. package/Interactions/builder.d.ts +0 -48
  134. package/Interactions/builder.d.ts.map +0 -1
  135. package/Interactions/builder.js +0 -64
  136. package/Interactions/builder.js.map +0 -1
  137. package/Interactions/commandHelper.d.ts +0 -83
  138. package/Interactions/commandHelper.d.ts.map +0 -1
  139. package/Interactions/commandHelper.js +0 -57
  140. package/Interactions/commandHelper.js.map +0 -1
  141. package/Interactions/context.d.ts +0 -53
  142. package/Interactions/context.d.ts.map +0 -1
  143. package/Interactions/context.js +0 -47
  144. package/Interactions/context.js.map +0 -1
  145. package/Interactions/definitions.d.ts +0 -43
  146. package/Interactions/definitions.d.ts.map +0 -1
  147. package/Interactions/definitions.js +0 -67
  148. package/Interactions/definitions.js.map +0 -1
  149. package/Interactions/error.d.ts +0 -2
  150. package/Interactions/error.d.ts.map +0 -1
  151. package/Interactions/error.js +0 -8
  152. package/Interactions/error.js.map +0 -1
  153. package/Interactions/gateway.d.ts +0 -20
  154. package/Interactions/gateway.d.ts.map +0 -1
  155. package/Interactions/gateway.js +0 -92
  156. package/Interactions/gateway.js.map +0 -1
  157. package/Interactions/handlers.d.ts +0 -15
  158. package/Interactions/handlers.d.ts.map +0 -1
  159. package/Interactions/handlers.js +0 -73
  160. package/Interactions/handlers.js.map +0 -1
  161. package/Interactions/index.d.ts +0 -17
  162. package/Interactions/index.d.ts.map +0 -1
  163. package/Interactions/index.js +0 -94
  164. package/Interactions/index.js.map +0 -1
  165. package/Interactions/utils.d.ts +0 -61
  166. package/Interactions/utils.d.ts.map +0 -1
  167. package/Interactions/utils.js +0 -35
  168. package/Interactions/utils.js.map +0 -1
  169. package/Interactions/webhook.d.ts +0 -71
  170. package/Interactions/webhook.d.ts.map +0 -1
  171. package/Interactions/webhook.js +0 -89
  172. package/Interactions/webhook.js.map +0 -1
  173. package/RateLimit/memory.d.ts +0 -3
  174. package/RateLimit/memory.d.ts.map +0 -1
  175. package/RateLimit/memory.js +0 -47
  176. package/RateLimit/memory.js.map +0 -1
  177. package/RateLimit/utils.d.ts +0 -3
  178. package/RateLimit/utils.d.ts.map +0 -1
  179. package/RateLimit/utils.js +0 -25
  180. package/RateLimit/utils.js.map +0 -1
  181. package/RateLimit.d.ts +0 -30
  182. package/RateLimit.d.ts.map +0 -1
  183. package/RateLimit.js +0 -37
  184. package/RateLimit.js.map +0 -1
  185. package/gateway.d.ts +0 -19
  186. package/gateway.d.ts.map +0 -1
  187. package/gateway.js +0 -72
  188. package/gateway.js.map +0 -1
  189. package/index.d.ts +0 -18
  190. package/index.d.ts.map +0 -1
  191. package/index.js +0 -71
  192. package/index.js.map +0 -1
  193. package/mjs/Cache/driver.mjs +0 -3
  194. package/mjs/Cache/driver.mjs.map +0 -1
  195. package/mjs/Cache/memory.mjs +0 -48
  196. package/mjs/Cache/memory.mjs.map +0 -1
  197. package/mjs/Cache/memoryTTL.mjs +0 -119
  198. package/mjs/Cache/memoryTTL.mjs.map +0 -1
  199. package/mjs/Cache/prelude.mjs +0 -131
  200. package/mjs/Cache/prelude.mjs.map +0 -1
  201. package/mjs/Cache.mjs +0 -90
  202. package/mjs/Cache.mjs.map +0 -1
  203. package/mjs/DiscordConfig.mjs +0 -32
  204. package/mjs/DiscordConfig.mjs.map +0 -1
  205. package/mjs/DiscordGateway/DiscordWS.mjs +0 -77
  206. package/mjs/DiscordGateway/DiscordWS.mjs.map +0 -1
  207. package/mjs/DiscordGateway/Messaging.mjs +0 -35
  208. package/mjs/DiscordGateway/Messaging.mjs.map +0 -1
  209. package/mjs/DiscordGateway/Shard/StateStore.mjs +0 -41
  210. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +0 -1
  211. package/mjs/DiscordGateway/Shard/heartbeats.mjs +0 -25
  212. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +0 -1
  213. package/mjs/DiscordGateway/Shard/identify.mjs +0 -29
  214. package/mjs/DiscordGateway/Shard/identify.mjs.map +0 -1
  215. package/mjs/DiscordGateway/Shard/sendEvents.mjs +0 -26
  216. package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +0 -1
  217. package/mjs/DiscordGateway/Shard/utils.mjs +0 -3
  218. package/mjs/DiscordGateway/Shard/utils.mjs.map +0 -1
  219. package/mjs/DiscordGateway/Shard.mjs +0 -147
  220. package/mjs/DiscordGateway/Shard.mjs.map +0 -1
  221. package/mjs/DiscordGateway/ShardStore.mjs +0 -24
  222. package/mjs/DiscordGateway/ShardStore.mjs.map +0 -1
  223. package/mjs/DiscordGateway/Sharder.mjs +0 -67
  224. package/mjs/DiscordGateway/Sharder.mjs.map +0 -1
  225. package/mjs/DiscordGateway.mjs +0 -21
  226. package/mjs/DiscordGateway.mjs.map +0 -1
  227. package/mjs/DiscordREST/Generated.mjs +0 -2471
  228. package/mjs/DiscordREST/Generated.mjs.map +0 -1
  229. package/mjs/DiscordREST/utils.mjs +0 -21
  230. package/mjs/DiscordREST/utils.mjs.map +0 -1
  231. package/mjs/DiscordREST.mjs +0 -119
  232. package/mjs/DiscordREST.mjs.map +0 -1
  233. package/mjs/Helpers/flags.mjs +0 -45
  234. package/mjs/Helpers/flags.mjs.map +0 -1
  235. package/mjs/Helpers/intents.mjs +0 -27
  236. package/mjs/Helpers/intents.mjs.map +0 -1
  237. package/mjs/Helpers/interactions.mjs +0 -115
  238. package/mjs/Helpers/interactions.mjs.map +0 -1
  239. package/mjs/Helpers/members.mjs +0 -9
  240. package/mjs/Helpers/members.mjs.map +0 -1
  241. package/mjs/Helpers/permissions.mjs +0 -84
  242. package/mjs/Helpers/permissions.mjs.map +0 -1
  243. package/mjs/Helpers/ui.mjs +0 -137
  244. package/mjs/Helpers/ui.mjs.map +0 -1
  245. package/mjs/Interactions/builder.mjs +0 -56
  246. package/mjs/Interactions/builder.mjs.map +0 -1
  247. package/mjs/Interactions/commandHelper.mjs +0 -49
  248. package/mjs/Interactions/commandHelper.mjs.map +0 -1
  249. package/mjs/Interactions/context.mjs +0 -28
  250. package/mjs/Interactions/context.mjs.map +0 -1
  251. package/mjs/Interactions/definitions.mjs +0 -51
  252. package/mjs/Interactions/definitions.mjs.map +0 -1
  253. package/mjs/Interactions/error.mjs +0 -2
  254. package/mjs/Interactions/error.mjs.map +0 -1
  255. package/mjs/Interactions/gateway.mjs +0 -82
  256. package/mjs/Interactions/gateway.mjs.map +0 -1
  257. package/mjs/Interactions/handlers.mjs +0 -64
  258. package/mjs/Interactions/handlers.mjs.map +0 -1
  259. package/mjs/Interactions/index.mjs +0 -11
  260. package/mjs/Interactions/index.mjs.map +0 -1
  261. package/mjs/Interactions/utils.mjs +0 -26
  262. package/mjs/Interactions/utils.mjs.map +0 -1
  263. package/mjs/Interactions/webhook.mjs +0 -75
  264. package/mjs/Interactions/webhook.mjs.map +0 -1
  265. package/mjs/RateLimit/memory.mjs +0 -39
  266. package/mjs/RateLimit/memory.mjs.map +0 -1
  267. package/mjs/RateLimit/utils.mjs +0 -18
  268. package/mjs/RateLimit/utils.mjs.map +0 -1
  269. package/mjs/RateLimit.mjs +0 -28
  270. package/mjs/RateLimit.mjs.map +0 -1
  271. package/mjs/gateway.mjs +0 -19
  272. package/mjs/gateway.mjs.map +0 -1
  273. package/mjs/index.mjs +0 -18
  274. package/mjs/index.mjs.map +0 -1
  275. package/mjs/types.mjs +0 -356
  276. package/mjs/types.mjs.map +0 -1
  277. package/mjs/utils/Effect.mjs +0 -44
  278. package/mjs/utils/Effect.mjs.map +0 -1
  279. package/mjs/version.mjs +0 -2
  280. package/mjs/version.mjs.map +0 -1
  281. package/mjs/webhooks.mjs +0 -6
  282. package/mjs/webhooks.mjs.map +0 -1
  283. package/src/version.ts +0 -1
  284. package/types.d.ts +0 -2458
  285. package/types.d.ts.map +0 -1
  286. package/types.js +0 -408
  287. package/types.js.map +0 -1
  288. package/utils/Effect.d.ts +0 -5
  289. package/utils/Effect.d.ts.map +0 -1
  290. package/utils/Effect.js +0 -53
  291. package/utils/Effect.js.map +0 -1
  292. package/version.d.ts +0 -2
  293. package/version.d.ts.map +0 -1
  294. package/version.js +0 -8
  295. package/version.js.map +0 -1
  296. package/webhooks.d.ts +0 -8
  297. package/webhooks.d.ts.map +0 -1
  298. package/webhooks.js +0 -55
  299. package/webhooks.js.map +0 -1
@@ -1,43 +0,0 @@
1
- import type * as Effect from "effect/Effect";
2
- import type * as Discord from "../types.ts";
3
- import type { Scope } from "effect/Scope";
4
- import type { CommandHelper } from "./commandHelper.ts";
5
- export type InteractionDefinition<R, E> = GlobalApplicationCommand<R, E> | GuildApplicationCommand<R, E> | MessageComponent<R, E> | ModalSubmit<R, E> | Autocomplete<R, E>;
6
- export declare class GlobalApplicationCommand<R, E> {
7
- readonly command: Discord.ApplicationCommandCreateRequest;
8
- readonly handle: CommandHandler<R, E>;
9
- readonly _tag = "GlobalApplicationCommand";
10
- constructor(command: Discord.ApplicationCommandCreateRequest, handle: CommandHandler<R, E>);
11
- }
12
- export declare const global: <R, E, const A extends Discord.ApplicationCommandCreateRequest>(command: A, handle: CommandHandler<R, E, A>) => GlobalApplicationCommand<Exclude<R, Scope | import("./context.ts").Interaction | import("./context.ts").ApplicationCommand>, E>;
13
- export declare class GuildApplicationCommand<R, E> {
14
- readonly command: Discord.ApplicationCommandCreateRequest;
15
- readonly handle: CommandHandler<R, E>;
16
- readonly _tag = "GuildApplicationCommand";
17
- constructor(command: Discord.ApplicationCommandCreateRequest, handle: CommandHandler<R, E>);
18
- }
19
- export declare const guild: <R, E, const A extends Discord.ApplicationCommandCreateRequest>(command: A, handle: CommandHandler<R, E, A>) => GuildApplicationCommand<Exclude<R, Scope | import("./context.ts").Interaction | import("./context.ts").ApplicationCommand>, E>;
20
- export declare class MessageComponent<R, E> {
21
- readonly predicate: (customId: string) => boolean;
22
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
23
- readonly _tag = "MessageComponent";
24
- constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
25
- }
26
- export declare const messageComponent: <E, R>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => MessageComponent<Exclude<R, Scope | import("./context.ts").Interaction | import("./context.ts").MessageComponentData>, E>;
27
- export declare class ModalSubmit<R, E> {
28
- readonly predicate: (customId: string) => boolean;
29
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
30
- readonly _tag = "ModalSubmit";
31
- constructor(predicate: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
32
- }
33
- export declare const modalSubmit: <R, E>(pred: (customId: string) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => ModalSubmit<Exclude<R, Scope | import("./context.ts").Interaction | import("./context.ts").ModalSubmitData>, E>;
34
- export declare class Autocomplete<R, E> {
35
- readonly predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
36
- readonly handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
37
- readonly _tag = "Autocomplete";
38
- constructor(predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>);
39
- }
40
- export declare const autocomplete: <R, E>(pred: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean, handle: Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>) => Autocomplete<Exclude<R, Scope | import("./context.ts").Interaction | import("./context.ts").ApplicationCommand | import("./context.ts").FocusedOptionContext>, E>;
41
- export type CommandHandler<R, E, A = any> = Effect.Effect<Discord.CreateInteractionResponseRequest, E, R> | CommandHandlerFn<R, E, A>;
42
- export type CommandHandlerFn<R, E, A> = (i: CommandHelper<A>) => Effect.Effect<Discord.CreateInteractionResponseRequest, E, R>;
43
- //# sourceMappingURL=definitions.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../src/Interactions/definitions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAQ5C,OAAO,KAAK,KAAK,OAAO,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAEvD,MAAM,MAAM,qBAAqB,CAAC,CAAC,EAAE,CAAC,IAClC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC9B,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,GAC7B,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,GACtB,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GACjB,YAAY,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAEtB,qBAAa,wBAAwB,CAAC,CAAC,EAAE,CAAC;IAGtC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,+BAA+B;IACzD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAHvC,QAAQ,CAAC,IAAI,8BAA6B;gBAE/B,OAAO,EAAE,OAAO,CAAC,+BAA+B,EAChD,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAExC;AAED,eAAO,MAAM,MAAM,GACjB,CAAC,EACD,CAAC,EACD,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,+BAA+B,EAEvD,SAAS,CAAC,EACV,QAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,oIAKC,CAAA;AAElC,qBAAa,uBAAuB,CAAC,CAAC,EAAE,CAAC;IAGrC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,+BAA+B;IACzD,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;IAHvC,QAAQ,CAAC,IAAI,6BAA4B;gBAE9B,OAAO,EAAE,OAAO,CAAC,+BAA+B,EAChD,MAAM,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC;CAExC;AAED,eAAO,MAAM,KAAK,GAChB,CAAC,EACD,CAAC,EACD,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,+BAA+B,EAEvD,SAAS,CAAC,EACV,QAAQ,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,mIAKC,CAAA;AAElC,qBAAa,gBAAgB,CAAC,CAAC,EAAE,CAAC;IAG9B,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;IAPH,QAAQ,CAAC,IAAI,sBAAqB;gBAEvB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;CAEJ;AAED,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,EACnC,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACnC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,CAAC,8HAK/C,CAAA;AAExB,qBAAa,WAAW,CAAC,CAAC,EAAE,CAAC;IAGzB,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO;IACjD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;IAPH,QAAQ,CAAC,IAAI,iBAAgB;gBAElB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACxC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;CAEJ;AAED,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,EAC9B,MAAM,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,EACnC,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,CAAC,oHAK/C,CAAA;AAExB,qBAAa,YAAY,CAAC,CAAC,EAAE,CAAC;IAG1B,QAAQ,CAAC,SAAS,EAAE,CAClB,IAAI,EAAE,OAAO,CAAC,gCAAgC,CAAC,MAAM,CAAC,EACtD,aAAa,EAAE,OAAO,CAAC,0CAA0C,KAC9D,OAAO;IACZ,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;IAVH,QAAQ,CAAC,IAAI,kBAAiB;gBAEnB,SAAS,EAAE,CAClB,IAAI,EAAE,OAAO,CAAC,gCAAgC,CAAC,MAAM,CAAC,EACtD,aAAa,EAAE,OAAO,CAAC,0CAA0C,KAC9D,OAAO,EACH,MAAM,EAAE,MAAM,CAAC,MAAM,CAC5B,OAAO,CAAC,gCAAgC,EACxC,CAAC,EACD,CAAC,CACF;CAEJ;AAED,eAAO,MAAM,YAAY,GAAI,CAAC,EAAE,CAAC,EAC/B,MAAM,CACJ,IAAI,EAAE,OAAO,CAAC,gCAAgC,CAAC,MAAM,CAAC,EACtD,aAAa,EAAE,OAAO,CAAC,0CAA0C,KAC9D,OAAO,EACZ,QAAQ,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,CAAC,sKAW/C,CAAA;AAGxB,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,IACpC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,CAAC,GAC7D,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAE7B,MAAM,MAAM,gBAAgB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CACtC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,KAChB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,gCAAgC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
@@ -1,67 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.modalSubmit = exports.messageComponent = exports.guild = exports.global = exports.autocomplete = exports.ModalSubmit = exports.MessageComponent = exports.GuildApplicationCommand = exports.GlobalApplicationCommand = exports.Autocomplete = void 0;
7
- class GlobalApplicationCommand {
8
- command;
9
- handle;
10
- _tag = "GlobalApplicationCommand";
11
- constructor(command, handle) {
12
- this.command = command;
13
- this.handle = handle;
14
- }
15
- }
16
- exports.GlobalApplicationCommand = GlobalApplicationCommand;
17
- const global = (command, handle) => new GlobalApplicationCommand(command, handle);
18
- exports.global = global;
19
- class GuildApplicationCommand {
20
- command;
21
- handle;
22
- _tag = "GuildApplicationCommand";
23
- constructor(command, handle) {
24
- this.command = command;
25
- this.handle = handle;
26
- }
27
- }
28
- exports.GuildApplicationCommand = GuildApplicationCommand;
29
- const guild = (command, handle) => new GuildApplicationCommand(command, handle);
30
- exports.guild = guild;
31
- class MessageComponent {
32
- predicate;
33
- handle;
34
- _tag = "MessageComponent";
35
- constructor(predicate, handle) {
36
- this.predicate = predicate;
37
- this.handle = handle;
38
- }
39
- }
40
- exports.MessageComponent = MessageComponent;
41
- const messageComponent = (pred, handle) => new MessageComponent(pred, handle);
42
- exports.messageComponent = messageComponent;
43
- class ModalSubmit {
44
- predicate;
45
- handle;
46
- _tag = "ModalSubmit";
47
- constructor(predicate, handle) {
48
- this.predicate = predicate;
49
- this.handle = handle;
50
- }
51
- }
52
- exports.ModalSubmit = ModalSubmit;
53
- const modalSubmit = (pred, handle) => new ModalSubmit(pred, handle);
54
- exports.modalSubmit = modalSubmit;
55
- class Autocomplete {
56
- predicate;
57
- handle;
58
- _tag = "Autocomplete";
59
- constructor(predicate, handle) {
60
- this.predicate = predicate;
61
- this.handle = handle;
62
- }
63
- }
64
- exports.Autocomplete = Autocomplete;
65
- const autocomplete = (pred, handle) => new Autocomplete(pred, handle);
66
- exports.autocomplete = autocomplete;
67
- //# sourceMappingURL=definitions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"definitions.js","names":["GlobalApplicationCommand","command","handle","_tag","constructor","exports","global","GuildApplicationCommand","guild","MessageComponent","predicate","messageComponent","pred","ModalSubmit","modalSubmit","Autocomplete","autocomplete"],"sources":["../src/Interactions/definitions.ts"],"sourcesContent":[null],"mappings":";;;;;;AAmBM,MAAOA,wBAAwB;EAGxBC,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,0BAA0B;EAC1CC,YACWH,OAAgD,EAChDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAL,wBAAA,GAAAA,wBAAA;AAEM,MAAMM,MAAM,GAAGA,CAKpBL,OAAU,EACVC,MAA+B,KAE/B,IAAIF,wBAAwB,CAG1BC,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAC,MAAA,GAAAA,MAAA;AAE5B,MAAOC,uBAAuB;EAGvBN,OAAA;EACAC,MAAA;EAHFC,IAAI,GAAG,yBAAyB;EACzCC,YACWH,OAAgD,EAChDC,MAA4B;IAD5B,KAAAD,OAAO,GAAPA,OAAO;IACP,KAAAC,MAAM,GAANA,MAAM;EACd;;AACJG,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AAEM,MAAMC,KAAK,GAAGA,CAKnBP,OAAU,EACVC,MAA+B,KAE/B,IAAIK,uBAAuB,CAGzBN,OAAc,EAAEC,MAAa,CAAC;AAAAG,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAE5B,MAAOC,gBAAgB;EAGhBC,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,kBAAkB;EAClCC,YACWM,SAAwC,EACxCR,MAIR;IALQ,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAI,gBAAA,GAAAA,gBAAA;AAEM,MAAME,gBAAgB,GAAGA,CAC9BC,IAAmC,EACnCV,MAAqE,KAErE,IAAIO,gBAAgB,CAGlBG,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAM,gBAAA,GAAAA,gBAAA;AAElB,MAAOE,WAAW;EAGXH,SAAA;EACAR,MAAA;EAHFC,IAAI,GAAG,aAAa;EAC7BC,YACWM,SAAwC,EACxCR,MAIR;IALQ,KAAAQ,SAAS,GAATA,SAAS;IACT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAQ,WAAA,GAAAA,WAAA;AAEM,MAAMC,WAAW,GAAGA,CACzBF,IAAmC,EACnCV,MAAqE,KAErE,IAAIW,WAAW,CAGbD,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAS,WAAA,GAAAA,WAAA;AAElB,MAAOC,YAAY;EAGZL,SAAA;EAIAR,MAAA;EANFC,IAAI,GAAG,cAAc;EAC9BC,YACWM,SAGG,EACHR,MAIR;IARQ,KAAAQ,SAAS,GAATA,SAAS;IAIT,KAAAR,MAAM,GAANA,MAAM;EAKd;;AACJG,OAAA,CAAAU,YAAA,GAAAA,YAAA;AAEM,MAAMC,YAAY,GAAGA,CAC1BJ,IAGY,EACZV,MAAqE,KAErE,IAAIa,YAAY,CASdH,IAAI,EAAEV,MAAa,CAAC;AAAAG,OAAA,CAAAW,YAAA,GAAAA,YAAA","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- export declare const InteractionsErrorTypeId: unique symbol;
2
- //# sourceMappingURL=error.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../src/Interactions/error.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,eAEnC,CAAA"}
@@ -1,8 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.InteractionsErrorTypeId = void 0;
7
- const InteractionsErrorTypeId = exports.InteractionsErrorTypeId = /*#__PURE__*/Symbol.for("dfx/Interactions/InteractionsError");
8
- //# sourceMappingURL=error.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"error.js","names":["InteractionsErrorTypeId","exports","Symbol","for"],"sources":["../src/Interactions/error.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,gBAAGE,MAAM,CAACC,GAAG,CAC/C,oCAAoC,CACrC","ignoreList":[]}
@@ -1,20 +0,0 @@
1
- import * as Effect from "effect/Effect";
2
- import * as Layer from "effect/Layer";
3
- import * as ServiceMap from "effect/ServiceMap";
4
- import { DiscordGateway } from "../DiscordGateway.ts";
5
- import type { DiscordRESTError } from "../DiscordREST.ts";
6
- import { DiscordREST } from "../DiscordREST.ts";
7
- import type { DefinitionNotFound } from "./handlers.ts";
8
- import type { DiscordInteraction, InteractionBuilder } from "./index.ts";
9
- export declare const interactionsSync: ServiceMap.Reference<boolean>;
10
- export declare const setInteractionsSync: (enabled: boolean) => <RIn2, E2, ROut2>(self: Layer.Layer<ROut2, E2, RIn2>) => Layer.Layer<ROut2, E2, Exclude<RIn2, never>>;
11
- export declare const run: <R, R2, E, TE, E2>(postHandler: (effect: Effect.Effect<void, TE | DiscordRESTError | DefinitionNotFound, R | DiscordREST | DiscordInteraction>) => Effect.Effect<void, E2, R2>) => (ix: InteractionBuilder<R, E, TE>) => Effect.Effect<never, E2 | DiscordRESTError, DiscordREST | DiscordGateway | Exclude<R2, DiscordInteraction>>;
12
- export interface InteractionsRegistryService {
13
- readonly register: <E>(ix: InteractionBuilder<never, E, never>) => Effect.Effect<void>;
14
- }
15
- declare const InteractionsRegistry_base: ServiceMap.ServiceClass<InteractionsRegistry, "dfx/Interactions/InteractionsRegistry", InteractionsRegistryService>;
16
- export declare class InteractionsRegistry extends InteractionsRegistry_base {
17
- }
18
- export declare const InteractionsRegistryLive: Layer.Layer<InteractionsRegistry, never, DiscordREST | DiscordGateway>;
19
- export {};
20
- //# sourceMappingURL=gateway.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/Interactions/gateway.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAIrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAM/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAIxE,eAAO,MAAM,gBAAgB,+BAE3B,CAAA;AAEF,eAAO,MAAM,mBAAmB,GAAI,SAAS,OAAO,0GACK,CAAA;AAMzD,eAAO,MAAM,GAAG,GACb,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EACf,aAAa,CACX,MAAM,EAAE,MAAM,CAAC,MAAM,CACnB,IAAI,EACJ,EAAE,GAAG,gBAAgB,GAAG,kBAAkB,EAC1C,CAAC,GAAG,WAAW,GAAG,kBAAkB,CACrC,KACE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,MAGhC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAC/B,MAAM,CAAC,MAAM,CACd,KAAK,EACL,EAAE,GAAG,gBAAgB,EACrB,WAAW,GAAG,cAAc,GAAG,OAAO,CAAC,EAAE,EAAE,kBAAkB,CAAC,CA4F5D,CAAA;AAmCN,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,EACnB,EAAE,EAAE,kBAAkB,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,KACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CACzB;;AAED,qBAAa,oBAAqB,SAAQ,yBAGE;CAAG;AAE/C,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,KAAK,CAChD,oBAAoB,EACpB,KAAK,EACL,WAAW,GAAG,cAAc,CACsB,CAAA"}
@@ -1,92 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setInteractionsSync = exports.run = exports.interactionsSync = exports.InteractionsRegistryLive = exports.InteractionsRegistry = void 0;
7
- var Arr = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Array"));
8
- var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Chunk"));
9
- var Duration = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Duration"));
10
- var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
11
- var _Function = /*#__PURE__*/require("effect/Function");
12
- var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
13
- var Queue = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Queue"));
14
- var Ref = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Ref"));
15
- var Schedule = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Schedule"));
16
- var ServiceMap = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/ServiceMap"));
17
- var _DiscordGateway = /*#__PURE__*/require("../DiscordGateway.js");
18
- var _DiscordREST = /*#__PURE__*/require("../DiscordREST.js");
19
- var _handlers = /*#__PURE__*/require("./handlers.js");
20
- var _index = /*#__PURE__*/require("./index.js");
21
- var EffectUtils = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("../utils/Effect.js"));
22
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
23
- const interactionsSync = exports.interactionsSync = /*#__PURE__*/ServiceMap.Reference("dfx/Interactions/sync", {
24
- defaultValue: () => true
25
- });
26
- const setInteractionsSync = enabled => Layer.provide(Layer.succeed(interactionsSync, enabled));
27
- exports.setInteractionsSync = setInteractionsSync;
28
- const retryPolicy = /*#__PURE__*/Schedule.exponential("1 seconds").pipe(/*#__PURE__*/Schedule.either(/*#__PURE__*/Schedule.spaced("20 seconds")));
29
- const run = postHandler => ix => Effect.gen(function* () {
30
- const GlobalApplicationCommand = ix.definitions.pipe(Chunk.map(_ => _[0]), Chunk.filter(_ => _._tag === "GlobalApplicationCommand"), Chunk.toReadonlyArray);
31
- const GuildApplicationCommand = ix.definitions.pipe(Chunk.map(_ => _[0]), Chunk.filter(_ => _._tag === "GuildApplicationCommand"), Chunk.toReadonlyArray);
32
- const gateway = yield* _DiscordGateway.DiscordGateway;
33
- const rest = yield* _DiscordREST.DiscordREST;
34
- const application = yield* rest.getMyApplication();
35
- const globalSync = rest.bulkSetApplicationCommands(application.id, GlobalApplicationCommand.map(_ => _.command));
36
- const runGuildSync = Effect.gen(function* () {
37
- const commands = GuildApplicationCommand.map(_ => _.command);
38
- let results = undefined;
39
- while (true) {
40
- const next = yield* rest.listMyGuilds({
41
- after: results && Arr.lastNonEmpty(results).id
42
- });
43
- if (!Arr.isReadonlyArrayNonEmpty(next)) break;
44
- results = next;
45
- yield* Effect.forEach(results, guild => rest.bulkSetGuildApplicationCommands(application.id, guild.id, commands), {
46
- concurrency: "unbounded",
47
- discard: true
48
- });
49
- }
50
- return yield* gateway.handleDispatch("GUILD_CREATE", a => rest.bulkSetGuildApplicationCommands(application.id, a.id, GuildApplicationCommand.map(_ => _.command)));
51
- });
52
- const guildSync = GuildApplicationCommand.length ? runGuildSync : Effect.never;
53
- const handle = (0, _handlers.handlers)(ix.definitions, (i, r) => {
54
- const hasFiles = "files" in r;
55
- const payload = hasFiles ? {
56
- ...r,
57
- files: undefined
58
- } : r;
59
- const effect = rest.createInteractionResponse(i.id, i.token, {
60
- payload
61
- });
62
- return hasFiles ? rest.withFiles(r.files)(effect) : effect;
63
- });
64
- const interactionRun = gateway.handleDispatch("INTERACTION_CREATE", i => Effect.withSpan(Effect.provideService(postHandler(handle[i.type](i)), _index.Interaction, i), "dfx.Interaction", {
65
- attributes: {
66
- interactionId: i.id
67
- },
68
- captureStackTrace: false
69
- }));
70
- const sync = yield* interactionsSync;
71
- return yield* sync ? Effect.forever(Effect.all([interactionRun, globalSync, guildSync], {
72
- concurrency: "unbounded",
73
- discard: true
74
- })) : interactionRun;
75
- });
76
- exports.run = run;
77
- const makeRegistry = /*#__PURE__*/Effect.gen(function* () {
78
- const ref = yield* Ref.make(_index.builder);
79
- const queue = yield* Queue.sliding(1);
80
- const register = ix => Effect.flatMap(Ref.updateAndGet(ref, _ => _.concat(ix)), _ => Queue.offer(queue, _));
81
- yield* EffectUtils.foreverSwitch(Queue.take(queue), ix => (0, _Function.pipe)(ix, run(Effect.catchCause(_ => Effect.logError("unhandled error", _))), Effect.delay(Duration.seconds(5)))).pipe(Effect.tapCause(_ => Effect.logError("registry error", _)), Effect.retry(retryPolicy), Effect.forkScoped, Effect.interruptible);
82
- return {
83
- register
84
- };
85
- }).pipe(/*#__PURE__*/Effect.annotateLogs({
86
- package: "dfx",
87
- service: "InteractionsRegistry"
88
- }));
89
- class InteractionsRegistry extends /*#__PURE__*/ServiceMap.Service()("dfx/Interactions/InteractionsRegistry") {}
90
- exports.InteractionsRegistry = InteractionsRegistry;
91
- const InteractionsRegistryLive = exports.InteractionsRegistryLive = /*#__PURE__*/Layer.effect(InteractionsRegistry, makeRegistry);
92
- //# sourceMappingURL=gateway.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gateway.js","names":["Arr","_interopRequireWildcard","require","Chunk","Duration","Effect","_Function","Layer","Queue","Ref","Schedule","ServiceMap","_DiscordGateway","_DiscordREST","_handlers","_index","EffectUtils","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","interactionsSync","exports","Reference","defaultValue","setInteractionsSync","enabled","provide","succeed","retryPolicy","exponential","pipe","either","spaced","run","postHandler","ix","gen","GlobalApplicationCommand","definitions","map","_","filter","_tag","toReadonlyArray","GuildApplicationCommand","gateway","DiscordGateway","rest","DiscordREST","application","getMyApplication","globalSync","bulkSetApplicationCommands","id","command","runGuildSync","commands","results","undefined","next","listMyGuilds","after","lastNonEmpty","isReadonlyArrayNonEmpty","forEach","guild","bulkSetGuildApplicationCommands","concurrency","discard","handleDispatch","a","guildSync","length","never","handle","handlers","hasFiles","payload","files","effect","createInteractionResponse","token","withFiles","interactionRun","withSpan","provideService","type","Interaction","attributes","interactionId","captureStackTrace","sync","forever","all","makeRegistry","ref","make","builder","queue","sliding","register","flatMap","updateAndGet","concat","offer","foreverSwitch","take","catchCause","logError","delay","seconds","tapCause","retry","forkScoped","interruptible","annotateLogs","package","service","InteractionsRegistry","Service","InteractionsRegistryLive"],"sources":["../src/Interactions/gateway.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,GAAA,gBAAAC,uBAAA,cAAAC,OAAA;AACA,IAAAC,KAAA,gBAAAF,uBAAA,cAAAC,OAAA;AACA,IAAAE,QAAA,gBAAAH,uBAAA,cAAAC,OAAA;AACA,IAAAG,MAAA,gBAAAJ,uBAAA,cAAAC,OAAA;AACA,IAAAI,SAAA,gBAAAJ,OAAA;AACA,IAAAK,KAAA,gBAAAN,uBAAA,cAAAC,OAAA;AACA,IAAAM,KAAA,gBAAAP,uBAAA,cAAAC,OAAA;AACA,IAAAO,GAAA,gBAAAR,uBAAA,cAAAC,OAAA;AACA,IAAAQ,QAAA,gBAAAT,uBAAA,cAAAC,OAAA;AACA,IAAAS,UAAA,gBAAAV,uBAAA,cAAAC,OAAA;AACA,IAAAU,eAAA,gBAAAV,OAAA;AAEA,IAAAW,YAAA,gBAAAX,OAAA;AAOA,IAAAY,SAAA,gBAAAZ,OAAA;AAEA,IAAAa,MAAA,gBAAAb,OAAA;AACA,IAAAc,WAAA,gBAAAf,uBAAA,cAAAC,OAAA;AAAiD,SAAAD,wBAAAgB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,CAAAgB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE1C,MAAMkB,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,gBAAGzB,UAAU,CAAC2B,SAAS,CAAC,uBAAuB,EAAE;EAC5EC,YAAY,EAAEA,CAAA,KAAM;CACrB,CAAC;AAEK,MAAMC,mBAAmB,GAAIC,OAAgB,IAClDlC,KAAK,CAACmC,OAAO,CAACnC,KAAK,CAACoC,OAAO,CAACP,gBAAgB,EAAEK,OAAO,CAAC,CAAC;AAAAJ,OAAA,CAAAG,mBAAA,GAAAA,mBAAA;AAEzD,MAAMI,WAAW,gBAAGlC,QAAQ,CAACmC,WAAW,CAAC,WAAW,CAAC,CAACC,IAAI,cACxDpC,QAAQ,CAACqC,MAAM,cAACrC,QAAQ,CAACsC,MAAM,CAAC,YAAY,CAAC,CAAC,CAC/C;AAEM,MAAMC,GAAG,GAEZC,WAMgC,IAGhCC,EAAgC,IAMhC9C,MAAM,CAAC+C,GAAG,CAAC,aAAS;EAClB,MAAMC,wBAAwB,GAAGF,EAAE,CAACG,WAAW,CAACR,IAAI,CAClD3C,KAAK,CAACoD,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,CAAC,EACpBrD,KAAK,CAACsD,MAAM,CACTD,CAAC,IACAA,CAAC,CAACE,IAAI,KAAK,0BAA0B,CACxC,EACDvD,KAAK,CAACwD,eAAe,CACtB;EACD,MAAMC,uBAAuB,GAAGT,EAAE,CAACG,WAAW,CAACR,IAAI,CACjD3C,KAAK,CAACoD,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC,CAAC,CAAC,CAAC,EACpBrD,KAAK,CAACsD,MAAM,CACTD,CAAC,IACAA,CAAC,CAACE,IAAI,KAAK,yBAAyB,CACvC,EACDvD,KAAK,CAACwD,eAAe,CACtB;EAED,MAAME,OAAO,GAAG,OAAOC,8BAAc;EACrC,MAAMC,IAAI,GAAG,OAAOC,wBAAW;EAE/B,MAAMC,WAAW,GAAG,OAAOF,IAAI,CAACG,gBAAgB,EAAE;EAElD,MAAMC,UAAU,GAAGJ,IAAI,CAACK,0BAA0B,CAChDH,WAAW,CAACI,EAAE,EACdhB,wBAAwB,CAACE,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACc,OAAO,CAAC,CAC7C;EAED,MAAMC,YAAY,GAAGlE,MAAM,CAAC+C,GAAG,CAAC,aAAS;IACvC,MAAMoB,QAAQ,GAAGZ,uBAAuB,CAACL,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACc,OAAO,CAAC;IAC5D,IAAIG,OAAO,GACTC,SAAS;IACX,OAAO,IAAI,EAAE;MACX,MAAMC,IAAI,GAAoB,OAAOZ,IAAI,CAACa,YAAY,CAAC;QACrDC,KAAK,EAAEJ,OAAO,IAAIzE,GAAG,CAAC8E,YAAY,CAACL,OAAO,CAAC,CAACJ;OAC7C,CAAC;MACF,IAAI,CAACrE,GAAG,CAAC+E,uBAAuB,CAACJ,IAAI,CAAC,EAAE;MACxCF,OAAO,GAAGE,IAAI;MACd,OAAOtE,MAAM,CAAC2E,OAAO,CACnBP,OAAQ,EACRQ,KAAK,IACHlB,IAAI,CAACmB,+BAA+B,CAClCjB,WAAW,CAACI,EAAE,EACdY,KAAK,CAACZ,EAAE,EACRG,QAAQ,CACT,EACH;QAAEW,WAAW,EAAE,WAAW;QAAEC,OAAO,EAAE;MAAI,CAAE,CAC5C;IACH;IAEA,OAAO,OAAOvB,OAAO,CAACwB,cAAc,CAAC,cAAc,EAAEC,CAAC,IACpDvB,IAAI,CAACmB,+BAA+B,CAClCjB,WAAW,CAACI,EAAE,EACdiB,CAAC,CAACjB,EAAE,EACJT,uBAAuB,CAACL,GAAG,CAACC,CAAC,IAAIA,CAAC,CAACc,OAAO,CAAC,CAC5C,CACF;EACH,CAAC,CAAC;EAEF,MAAMiB,SAAS,GAAG3B,uBAAuB,CAAC4B,MAAM,GAC5CjB,YAAY,GACZlE,MAAM,CAACoF,KAAK;EAEhB,MAAMC,MAAM,GAAG,IAAAC,kBAAQ,EAACxC,EAAE,CAACG,WAAW,EAAE,CAAC9B,CAAC,EAAEJ,CAAC,KAAI;IAC/C,MAAMwE,QAAQ,GAAG,OAAO,IAAIxE,CAAC;IAC7B,MAAMyE,OAAO,GAAGD,QAAQ,GAAG;MAAE,GAAGxE,CAAC;MAAE0E,KAAK,EAAEpB;IAAS,CAAE,GAAGtD,CAAC;IACzD,MAAM2E,MAAM,GAAGhC,IAAI,CAACiC,yBAAyB,CAACxE,CAAC,CAAC6C,EAAE,EAAE7C,CAAC,CAACyE,KAAK,EAAE;MAC3DJ;KACD,CAAC;IACF,OAAOD,QAAQ,GAAG7B,IAAI,CAACmC,SAAS,CAAC9E,CAAC,CAAC0E,KAAY,CAAC,CAACC,MAAM,CAAC,GAAGA,MAAM;EACnE,CAAC,CAAC;EAEF,MAAMI,cAAc,GAAGtC,OAAO,CAACwB,cAAc,CAAC,oBAAoB,EAAE7D,CAAC,IACnEnB,MAAM,CAAC+F,QAAQ,CACb/F,MAAM,CAACgG,cAAc,CAACnD,WAAW,CAACwC,MAAM,CAAClE,CAAC,CAAC8E,IAAI,CAAC,CAAC9E,CAAC,CAAC,CAAC,EAAE+E,kBAAW,EAAE/E,CAAC,CAAC,EACrE,iBAAiB,EACjB;IAAEgF,UAAU,EAAE;MAAEC,aAAa,EAAEjF,CAAC,CAAC6C;IAAE,CAAE;IAAEqC,iBAAiB,EAAE;EAAK,CAAE,CAClE,CACF;EAED,MAAMC,IAAI,GAAG,OAAOvE,gBAAgB;EAEpC,OAAO,OAAOuE,IAAI,GACdtG,MAAM,CAACuG,OAAO,CACZvG,MAAM,CAACwG,GAAG,CAAC,CAACV,cAAc,EAAEhC,UAAU,EAAEoB,SAAS,CAAC,EAAE;IAClDJ,WAAW,EAAE,WAAW;IACxBC,OAAO,EAAE;GACV,CAAC,CACH,GACDe,cAAc;AACpB,CAAC,CAAC;AAAA9D,OAAA,CAAAY,GAAA,GAAAA,GAAA;AAEN,MAAM6D,YAAY,gBAAGzG,MAAM,CAAC+C,GAAG,CAAC,aAAS;EACvC,MAAM2D,GAAG,GAAG,OAAOtG,GAAG,CAACuG,IAAI,CACzBC,cAAkD,CACnD;EACD,MAAMC,KAAK,GAAG,OAAO1G,KAAK,CAAC2G,OAAO,CAA0C,CAAC,CAAC;EAE9E,MAAMC,QAAQ,GAAOjE,EAAuC,IAC1D9C,MAAM,CAACgH,OAAO,CACZ5G,GAAG,CAAC6G,YAAY,CAACP,GAAG,EAAEvD,CAAC,IAAIA,CAAC,CAAC+D,MAAM,CAACpE,EAAS,CAAC,CAAC,EAC/CK,CAAC,IAAIhD,KAAK,CAACgH,KAAK,CAACN,KAAK,EAAE1D,CAAC,CAAC,CAC3B;EAEH,OAAOxC,WAAW,CAACyG,aAAa,CAACjH,KAAK,CAACkH,IAAI,CAACR,KAAK,CAAC,EAAE/D,EAAE,IACpD,IAAAL,cAAI,EACFK,EAAE,EACFF,GAAG,CAAC5C,MAAM,CAACsH,UAAU,CAACnE,CAAC,IAAInD,MAAM,CAACuH,QAAQ,CAAC,iBAAiB,EAAEpE,CAAC,CAAC,CAAC,CAAC,EAClEnD,MAAM,CAACwH,KAAK,CAACzH,QAAQ,CAAC0H,OAAO,CAAC,CAAC,CAAC,CAAC,CAClC,CACF,CAAChF,IAAI,CACJzC,MAAM,CAAC0H,QAAQ,CAACvE,CAAC,IAAInD,MAAM,CAACuH,QAAQ,CAAC,gBAAgB,EAAEpE,CAAC,CAAC,CAAC,EAC1DnD,MAAM,CAAC2H,KAAK,CAACpF,WAAW,CAAC,EACzBvC,MAAM,CAAC4H,UAAU,EACjB5H,MAAM,CAAC6H,aAAa,CACrB;EAED,OAAO;IAAEd;EAAQ,CAAW;AAC9B,CAAC,CAAC,CAACtE,IAAI,cACLzC,MAAM,CAAC8H,YAAY,CAAC;EAClBC,OAAO,EAAE,KAAK;EACdC,OAAO,EAAE;CACV,CAAC,CACH;AAQK,MAAOC,oBAAqB,sBAAQ3H,UAAU,CAAC4H,OAAO,EAGzD,CAAC,uCAAuC,CAAC;AAAGlG,OAAA,CAAAiG,oBAAA,GAAAA,oBAAA;AAExC,MAAME,wBAAwB,GAAAnG,OAAA,CAAAmG,wBAAA,gBAIjCjI,KAAK,CAACwF,MAAM,CAACuC,oBAAoB,EAAExB,YAAY,CAAC","ignoreList":[]}
@@ -1,15 +0,0 @@
1
- import type * as Chunk from "effect/Chunk";
2
- import * as Effect from "effect/Effect";
3
- import * as Ctx from "./context.ts";
4
- import type * as D from "./definitions.ts";
5
- import * as Discord from "../types.ts";
6
- import type { Scope } from "effect/Scope";
7
- export declare class DefinitionNotFound {
8
- readonly interaction: Discord.APIInteraction;
9
- readonly _tag = "DefinitionNotFound";
10
- constructor(interaction: Discord.APIInteraction);
11
- }
12
- type Handler<R, E, A> = Effect.Effect<A, E | DefinitionNotFound, R | Ctx.DiscordInteraction>;
13
- export declare const handlers: <R, E, TE, A, B>(definitions: Chunk.Chunk<readonly [handler: D.InteractionDefinition<R, E>, transform: (self: Effect.Effect<A, E, R>) => Effect.Effect<B, TE, R>]>, handleResponse: (ix: Discord.APIInteraction, _: Discord.CreateInteractionResponseRequest) => Effect.Effect<A, E, R>) => Record<Discord.InteractionTypes, (i: Discord.APIInteraction) => Handler<Exclude<R, Scope>, E, B>>;
14
- export {};
15
- //# sourceMappingURL=handlers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../src/Interactions/handlers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AAEvC,OAAO,KAAK,GAAG,MAAM,cAAc,CAAA;AACnC,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAE1C,OAAO,KAAK,OAAO,MAAM,aAAa,CAAA;AACtC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAA;AAEzC,qBAAa,kBAAkB;IAEjB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,cAAc;IADxD,QAAQ,CAAC,IAAI,wBAAuB;gBACf,WAAW,EAAE,OAAO,CAAC,cAAc;CACzD;AAED,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,MAAM,CACnC,CAAC,EACD,CAAC,GAAG,kBAAkB,EACtB,CAAC,GAAG,GAAG,CAAC,kBAAkB,CAC3B,CAAA;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EACrC,aAAa,KAAK,CAAC,KAAK,CACtB,SAAS,CACP,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACrE,CACF,EACD,gBAAgB,CACd,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,CAAC,EAAE,OAAO,CAAC,gCAAgC,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAC1B,MAAM,CACP,OAAO,CAAC,gBAAgB,EACxB,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CA0EhE,CAAA"}
@@ -1,73 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.handlers = exports.DefinitionNotFound = void 0;
7
- var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
8
- var IxHelpers = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("../Helpers/interactions.js"));
9
- var Ctx = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./context.js"));
10
- var _utils = /*#__PURE__*/require("./utils.js");
11
- var Discord = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("../types.js"));
12
- function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
13
- class DefinitionNotFound {
14
- interaction;
15
- _tag = "DefinitionNotFound";
16
- constructor(interaction) {
17
- this.interaction = interaction;
18
- }
19
- }
20
- exports.DefinitionNotFound = DefinitionNotFound;
21
- const handlers = (definitions, handleResponse) => {
22
- const flattened = (0, _utils.flattenDefinitions)(definitions, handleResponse);
23
- const {
24
- Autocomplete,
25
- Commands,
26
- MessageComponent,
27
- ModalSubmit
28
- } = (0, _utils.splitDefinitions)(flattened);
29
- return {
30
- [Discord.InteractionTypes.PING]: _ => Effect.succeed({
31
- type: Discord.InteractionCallbackTypes.PONG
32
- }),
33
- [Discord.InteractionTypes.APPLICATION_COMMAND]: i => {
34
- const data = i.data;
35
- const command = Commands[data.name];
36
- if (command === undefined) {
37
- return Effect.fail(new DefinitionNotFound(i));
38
- }
39
- return Effect.provideService(command.handle(i), Ctx.ApplicationCommand, data);
40
- },
41
- [Discord.InteractionTypes.SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY]: i => Effect.fail(new DefinitionNotFound(i)),
42
- [Discord.InteractionTypes.MODAL_SUBMIT]: i => {
43
- const data = i.data;
44
- const match = ModalSubmit.find(_ => _.predicate(data.custom_id));
45
- if (match === undefined) {
46
- return Effect.fail(new DefinitionNotFound(i));
47
- }
48
- return Effect.provideService(match.handle(i), Ctx.ModalSubmitData, data);
49
- },
50
- [Discord.InteractionTypes.MESSAGE_COMPONENT]: i => {
51
- const data = i.data;
52
- const match = MessageComponent.find(_ => _.predicate(data.custom_id));
53
- if (match === undefined) {
54
- return Effect.fail(new DefinitionNotFound(i));
55
- }
56
- return Effect.provideService(match.handle(i), Ctx.MessageComponentData, data);
57
- },
58
- [Discord.InteractionTypes.APPLICATION_COMMAND_AUTOCOMPLETE]: i => {
59
- const data = i.data;
60
- const option = IxHelpers.focusedOption(data);
61
- if (option._tag === "None") {
62
- return Effect.fail(new DefinitionNotFound(i));
63
- }
64
- const match = Autocomplete.find(_ => _.predicate(data, option.value));
65
- if (match === undefined) {
66
- return Effect.fail(new DefinitionNotFound(i));
67
- }
68
- return match.handle(i).pipe(Effect.provideService(Ctx.ApplicationCommand, data), Effect.provideService(Ctx.FocusedOptionContext, option.value));
69
- }
70
- };
71
- };
72
- exports.handlers = handlers;
73
- //# sourceMappingURL=handlers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handlers.js","names":["Effect","_interopRequireWildcard","require","IxHelpers","Ctx","_utils","Discord","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DefinitionNotFound","interaction","_tag","constructor","exports","handlers","definitions","handleResponse","flattened","flattenDefinitions","Autocomplete","Commands","MessageComponent","ModalSubmit","splitDefinitions","InteractionTypes","PING","_","succeed","type","InteractionCallbackTypes","PONG","APPLICATION_COMMAND","data","command","name","undefined","fail","provideService","handle","ApplicationCommand","SOCIAL_LAYER_SKU_PURCHASE_ELIGIBILITY","MODAL_SUBMIT","match","find","predicate","custom_id","ModalSubmitData","MESSAGE_COMPONENT","MessageComponentData","APPLICATION_COMMAND_AUTOCOMPLETE","option","focusedOption","value","pipe","FocusedOptionContext"],"sources":["../src/Interactions/handlers.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,17 +0,0 @@
1
- export { response } from "../Helpers/interactions.ts";
2
- export * from "./builder.ts";
3
- export * from "./context.ts";
4
- export type { InteractionDefinition } from "./definitions.ts";
5
- export { autocomplete, global, guild, messageComponent, modalSubmit, } from "./definitions.ts";
6
- export declare const id: (query: string) => (customId: string) => boolean;
7
- export declare const idStartsWith: (query: string) => (customId: string) => boolean;
8
- export declare const idRegex: (query: RegExp) => (customId: string) => boolean;
9
- export declare const option: (command: string, optionName: string) => (data: {
10
- readonly name: string;
11
- }, focusedOption: {
12
- readonly name: string;
13
- }) => boolean;
14
- export declare const optionOnly: (optionName: string) => (_: unknown, focusedOption: {
15
- readonly name: string;
16
- }) => boolean;
17
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/Interactions/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AACrD,cAAc,cAAc,CAAA;AAC5B,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAC7D,OAAO,EACL,YAAY,EACZ,MAAM,EACN,KAAK,EACL,gBAAgB,EAChB,WAAW,GACZ,MAAM,kBAAkB,CAAA;AAGzB,eAAO,MAAM,EAAE,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YAAuB,CAAA;AAE7E,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YACpC,CAAA;AAE5B,eAAO,MAAM,OAAO,GAAI,OAAO,MAAM,MAAM,UAAU,MAAM,YACrC,CAAA;AAEtB,eAAO,MAAM,MAAM,GAChB,SAAS,MAAM,EAAE,YAAY,MAAM,MACnC,MAAM;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,eAAe;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,YACd,CAAA;AAE9D,eAAO,MAAM,UAAU,GACpB,YAAY,MAAM,MAClB,GAAG,OAAO,EAAE,eAAe;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,YAClB,CAAA"}
@@ -1,94 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- var _exportNames = {
7
- id: true,
8
- idStartsWith: true,
9
- idRegex: true,
10
- option: true,
11
- optionOnly: true,
12
- response: true,
13
- autocomplete: true,
14
- global: true,
15
- guild: true,
16
- messageComponent: true,
17
- modalSubmit: true
18
- };
19
- Object.defineProperty(exports, "autocomplete", {
20
- enumerable: true,
21
- get: function () {
22
- return _definitions.autocomplete;
23
- }
24
- });
25
- Object.defineProperty(exports, "global", {
26
- enumerable: true,
27
- get: function () {
28
- return _definitions.global;
29
- }
30
- });
31
- Object.defineProperty(exports, "guild", {
32
- enumerable: true,
33
- get: function () {
34
- return _definitions.guild;
35
- }
36
- });
37
- exports.idStartsWith = exports.idRegex = exports.id = void 0;
38
- Object.defineProperty(exports, "messageComponent", {
39
- enumerable: true,
40
- get: function () {
41
- return _definitions.messageComponent;
42
- }
43
- });
44
- Object.defineProperty(exports, "modalSubmit", {
45
- enumerable: true,
46
- get: function () {
47
- return _definitions.modalSubmit;
48
- }
49
- });
50
- exports.optionOnly = exports.option = void 0;
51
- Object.defineProperty(exports, "response", {
52
- enumerable: true,
53
- get: function () {
54
- return _interactions.response;
55
- }
56
- });
57
- var _interactions = /*#__PURE__*/require("../Helpers/interactions.js");
58
- var _builder = /*#__PURE__*/require("./builder.js");
59
- Object.keys(_builder).forEach(function (key) {
60
- if (key === "default" || key === "__esModule") return;
61
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
62
- if (key in exports && exports[key] === _builder[key]) return;
63
- Object.defineProperty(exports, key, {
64
- enumerable: true,
65
- get: function () {
66
- return _builder[key];
67
- }
68
- });
69
- });
70
- var _context = /*#__PURE__*/require("./context.js");
71
- Object.keys(_context).forEach(function (key) {
72
- if (key === "default" || key === "__esModule") return;
73
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
74
- if (key in exports && exports[key] === _context[key]) return;
75
- Object.defineProperty(exports, key, {
76
- enumerable: true,
77
- get: function () {
78
- return _context[key];
79
- }
80
- });
81
- });
82
- var _definitions = /*#__PURE__*/require("./definitions.js");
83
- // Filters
84
- const id = query => customId => query === customId;
85
- exports.id = id;
86
- const idStartsWith = query => customId => customId.startsWith(query);
87
- exports.idStartsWith = idStartsWith;
88
- const idRegex = query => customId => query.test(customId);
89
- exports.idRegex = idRegex;
90
- const option = (command, optionName) => (data, focusedOption) => data.name === command && focusedOption.name === optionName;
91
- exports.option = option;
92
- const optionOnly = optionName => (_, focusedOption) => focusedOption.name === optionName;
93
- exports.optionOnly = optionOnly;
94
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","names":["_interactions","require","_builder","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_context","_definitions","id","query","customId","idStartsWith","startsWith","idRegex","test","option","command","optionName","data","focusedOption","name","optionOnly","_"],"sources":["../src/Interactions/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,aAAA,gBAAAC,OAAA;AACA,IAAAC,QAAA,gBAAAD,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAF,QAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,QAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,QAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AACA,IAAAS,QAAA,gBAAAd,OAAA;AAAAE,MAAA,CAAAC,IAAA,CAAAW,QAAA,EAAAV,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAS,QAAA,CAAAT,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAC,QAAA,CAAAT,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAU,YAAA,gBAAAf,OAAA;AAQA;AACO,MAAMgB,EAAE,GAAIC,KAAa,IAAMC,QAAgB,IAAKD,KAAK,KAAKC,QAAQ;AAAAR,OAAA,CAAAM,EAAA,GAAAA,EAAA;AAEtE,MAAMG,YAAY,GAAIF,KAAa,IAAMC,QAAgB,IAC9DA,QAAQ,CAACE,UAAU,CAACH,KAAK,CAAC;AAAAP,OAAA,CAAAS,YAAA,GAAAA,YAAA;AAErB,MAAME,OAAO,GAAIJ,KAAa,IAAMC,QAAgB,IACzDD,KAAK,CAACK,IAAI,CAACJ,QAAQ,CAAC;AAAAR,OAAA,CAAAW,OAAA,GAAAA,OAAA;AAEf,MAAME,MAAM,GACjBA,CAACC,OAAe,EAAEC,UAAkB,KACpC,CAACC,IAA+B,EAAEC,aAAwC,KACxED,IAAI,CAACE,IAAI,KAAKJ,OAAO,IAAIG,aAAa,CAACC,IAAI,KAAKH,UAAU;AAAAf,OAAA,CAAAa,MAAA,GAAAA,MAAA;AAEvD,MAAMM,UAAU,GACpBJ,UAAkB,IACnB,CAACK,CAAU,EAAEH,aAAwC,KACnDA,aAAa,CAACC,IAAI,KAAKH,UAAU;AAAAf,OAAA,CAAAmB,UAAA,GAAAA,UAAA","ignoreList":[]}
@@ -1,61 +0,0 @@
1
- import * as Chunk from "effect/Chunk";
2
- import * as Effect from "effect/Effect";
3
- import type * as D from "./definitions.ts";
4
- import type * as Discord from "../types.ts";
5
- export type DefinitionFlattened<R, E, TE, A> = D.InteractionDefinition<R, E> extends infer Def ? {
6
- [K in keyof Def]: K extends "handle" ? (_: Discord.APIInteraction) => Effect.Effect<A, TE, R> : Def[K];
7
- } : never;
8
- export type DefinitionFlattenedCommand<R, E, TE, A> = Extract<DefinitionFlattened<R, E, TE, A>, {
9
- _tag: "GlobalApplicationCommand" | "GuildApplicationCommand";
10
- }>;
11
- export declare const flattenDefinitions: <R, E, TE, A, B>(definitions: Chunk.Chunk<readonly [handler: D.InteractionDefinition<R, E>, transform: (self: Effect.Effect<A, E, R>) => Effect.Effect<B, TE, R>]>, handleResponse: (ix: Discord.APIInteraction, _: Discord.CreateInteractionResponseRequest) => Effect.Effect<A, E, R>) => ({
12
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
13
- _tag: "GlobalApplicationCommand";
14
- command: Discord.ApplicationCommandCreateRequest;
15
- } | {
16
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
17
- _tag: "GuildApplicationCommand";
18
- command: Discord.ApplicationCommandCreateRequest;
19
- } | {
20
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
21
- _tag: "MessageComponent";
22
- predicate: (customId: string) => boolean;
23
- } | {
24
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
25
- _tag: "ModalSubmit";
26
- predicate: (customId: string) => boolean;
27
- } | {
28
- handle: (i: Discord.APIInteraction) => Effect.Effect<B, TE, Exclude<R, import("effect/Scope").Scope>>;
29
- _tag: "Autocomplete";
30
- predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
31
- })[];
32
- export declare const splitDefinitions: <R, E, TE, A>(definitions: ReadonlyArray<DefinitionFlattened<R, E, TE, A>>) => {
33
- GlobalApplicationCommand: {
34
- readonly _tag: "GlobalApplicationCommand";
35
- readonly command: Discord.ApplicationCommandCreateRequest;
36
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
37
- }[];
38
- GuildApplicationCommand: {
39
- readonly _tag: "GuildApplicationCommand";
40
- readonly command: Discord.ApplicationCommandCreateRequest;
41
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
42
- }[];
43
- MessageComponent: {
44
- readonly _tag: "MessageComponent";
45
- readonly predicate: (customId: string) => boolean;
46
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
47
- }[];
48
- ModalSubmit: {
49
- readonly _tag: "ModalSubmit";
50
- readonly predicate: (customId: string) => boolean;
51
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
52
- }[];
53
- Autocomplete: {
54
- readonly _tag: "Autocomplete";
55
- readonly predicate: (data: Discord.APIApplicationCommandInteraction["data"], focusedOption: Discord.APIApplicationCommandInteractionDataOption) => boolean;
56
- readonly handle: (_: Discord.APIInteraction) => Effect.Effect<A, TE, R>;
57
- }[];
58
- } & {
59
- readonly Commands: Record<string, DefinitionFlattenedCommand<R, E, TE, A>>;
60
- };
61
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/Interactions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,CAAC,MAAM,kBAAkB,CAAA;AAC1C,OAAO,KAAK,KAAK,OAAO,MAAM,aAAa,CAAA;AAI3C,MAAM,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IACzC,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,MAAM,GAAG,GAC3C;KACG,CAAC,IAAI,MAAM,GAAG,GAAG,CAAC,SAAS,QAAQ,GAChC,CAAC,CAAC,EAAE,OAAO,CAAC,cAAc,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,GACtD,GAAG,CAAC,CAAC,CAAC;CACX,GACD,KAAK,CAAA;AAEX,MAAM,MAAM,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,OAAO,CAC3D,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAChC;IAAE,IAAI,EAAE,0BAA0B,GAAG,yBAAyB,CAAA;CAAE,CACjE,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAC/C,aAAa,KAAK,CAAC,KAAK,CACtB,SAAS,CACP,OAAO,EAAE,CAAC,CAAC,qBAAqB,CAAC,CAAC,EAAE,CAAC,CAAC,EACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACrE,CACF,EACD,gBAAgB,CACd,EAAE,EAAE,OAAO,CAAC,cAAc,EAC1B,CAAC,EAAE,OAAO,CAAC,gCAAgC,KACxC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAKjB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;;gBAAtB,OAAO,CAAC,cAAc;;;IAsB7B,CAAA;AAEL,eAAO,MAAM,gBAAgB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAC1C,aAAa,aAAa,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;;;;6BAlD9C,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;;;6BAAtB,OAAO,CAAC,cAAc;;;uBAkEb,MAAM,CAAC,MAAM,EAAE,0BAA0B,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;CAe/E,CAAA"}