dfx 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (299) hide show
  1. package/Cache/driver.d.ts +24 -0
  2. package/Cache/driver.d.ts.map +1 -0
  3. package/Cache/driver.js +11 -0
  4. package/Cache/driver.js.map +1 -0
  5. package/Cache/memory.d.ts +5 -0
  6. package/Cache/memory.d.ts.map +1 -0
  7. package/Cache/memory.js +57 -0
  8. package/Cache/memory.js.map +1 -0
  9. package/Cache/memoryTTL.d.ts +23 -0
  10. package/Cache/memoryTTL.d.ts.map +1 -0
  11. package/Cache/memoryTTL.js +128 -0
  12. package/Cache/memoryTTL.js.map +1 -0
  13. package/Cache/prelude.d.ts +32 -0
  14. package/Cache/prelude.d.ts.map +1 -0
  15. package/Cache/prelude.js +143 -0
  16. package/Cache/prelude.js.map +1 -0
  17. package/Cache.d.ts +81 -0
  18. package/Cache.d.ts.map +1 -0
  19. package/Cache.js +145 -0
  20. package/Cache.js.map +1 -0
  21. package/DiscordConfig.d.ts +35 -0
  22. package/DiscordConfig.d.ts.map +1 -0
  23. package/DiscordConfig.js +43 -0
  24. package/DiscordConfig.js.map +1 -0
  25. package/DiscordGateway/DiscordWS.d.ts +37 -0
  26. package/DiscordGateway/DiscordWS.d.ts.map +1 -0
  27. package/DiscordGateway/DiscordWS.js +86 -0
  28. package/DiscordGateway/DiscordWS.js.map +1 -0
  29. package/DiscordGateway/Messaging.d.ts +587 -0
  30. package/DiscordGateway/Messaging.d.ts.map +1 -0
  31. package/DiscordGateway/Messaging.js +43 -0
  32. package/DiscordGateway/Messaging.js.map +1 -0
  33. package/DiscordGateway/Shard/StateStore.d.ts +24 -0
  34. package/DiscordGateway/Shard/StateStore.d.ts.map +1 -0
  35. package/DiscordGateway/Shard/StateStore.js +49 -0
  36. package/DiscordGateway/Shard/StateStore.js.map +1 -0
  37. package/DiscordGateway/Shard/heartbeats.d.ts +8 -0
  38. package/DiscordGateway/Shard/heartbeats.d.ts.map +1 -0
  39. package/DiscordGateway/Shard/heartbeats.js +33 -0
  40. package/DiscordGateway/Shard/heartbeats.js.map +1 -0
  41. package/DiscordGateway/Shard/identify.d.ts +12 -0
  42. package/DiscordGateway/Shard/identify.d.ts.map +1 -0
  43. package/DiscordGateway/Shard/identify.js +37 -0
  44. package/DiscordGateway/Shard/identify.js.map +1 -0
  45. package/DiscordGateway/Shard/sendEvents.d.ts +8 -0
  46. package/DiscordGateway/Shard/sendEvents.d.ts.map +1 -0
  47. package/DiscordGateway/Shard/sendEvents.js +39 -0
  48. package/DiscordGateway/Shard/sendEvents.js.map +1 -0
  49. package/DiscordGateway/Shard/utils.d.ts +6 -0
  50. package/DiscordGateway/Shard/utils.d.ts.map +1 -0
  51. package/DiscordGateway/Shard/utils.js +11 -0
  52. package/DiscordGateway/Shard/utils.js.map +1 -0
  53. package/DiscordGateway/Shard.d.ts +29 -0
  54. package/DiscordGateway/Shard.d.ts.map +1 -0
  55. package/DiscordGateway/Shard.js +155 -0
  56. package/DiscordGateway/Shard.js.map +1 -0
  57. package/DiscordGateway/ShardStore.d.ts +19 -0
  58. package/DiscordGateway/ShardStore.d.ts.map +1 -0
  59. package/DiscordGateway/ShardStore.js +32 -0
  60. package/DiscordGateway/ShardStore.js.map +1 -0
  61. package/DiscordGateway/Sharder.d.ts +14 -0
  62. package/DiscordGateway/Sharder.d.ts.map +1 -0
  63. package/DiscordGateway/Sharder.js +75 -0
  64. package/DiscordGateway/Sharder.js.map +1 -0
  65. package/DiscordGateway.d.ts +33 -0
  66. package/DiscordGateway.d.ts.map +1 -0
  67. package/DiscordGateway.js +28 -0
  68. package/DiscordGateway.js.map +1 -0
  69. package/DiscordREST/Generated.d.ts +5577 -0
  70. package/DiscordREST/Generated.d.ts.map +1 -0
  71. package/DiscordREST/Generated.js +2480 -0
  72. package/DiscordREST/Generated.js.map +1 -0
  73. package/DiscordREST/utils.d.ts +14 -0
  74. package/DiscordREST/utils.d.ts.map +1 -0
  75. package/DiscordREST/utils.js +32 -0
  76. package/DiscordREST/utils.js.map +1 -0
  77. package/DiscordREST.d.ts +22 -0
  78. package/DiscordREST.d.ts.map +1 -0
  79. package/DiscordREST.js +128 -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 +57 -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 +34 -0
  88. package/Helpers/intents.js.map +1 -0
  89. package/Helpers/interactions.d.ts +116 -0
  90. package/Helpers/interactions.d.ts.map +1 -0
  91. package/Helpers/interactions.js +143 -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 +17 -0
  96. package/Helpers/members.js.map +1 -0
  97. package/Helpers/permissions.d.ts +42 -0
  98. package/Helpers/permissions.d.ts.map +1 -0
  99. package/Helpers/permissions.js +97 -0
  100. package/Helpers/permissions.js.map +1 -0
  101. package/Helpers/ui.d.ts +105 -0
  102. package/Helpers/ui.d.ts.map +1 -0
  103. package/Helpers/ui.js +162 -0
  104. package/Helpers/ui.js.map +1 -0
  105. package/Interactions/builder.d.ts +48 -0
  106. package/Interactions/builder.d.ts.map +1 -0
  107. package/Interactions/builder.js +64 -0
  108. package/Interactions/builder.js.map +1 -0
  109. package/Interactions/commandHelper.d.ts +83 -0
  110. package/Interactions/commandHelper.d.ts.map +1 -0
  111. package/Interactions/commandHelper.js +57 -0
  112. package/Interactions/commandHelper.js.map +1 -0
  113. package/Interactions/context.d.ts +53 -0
  114. package/Interactions/context.d.ts.map +1 -0
  115. package/Interactions/context.js +47 -0
  116. package/Interactions/context.js.map +1 -0
  117. package/Interactions/definitions.d.ts +43 -0
  118. package/Interactions/definitions.d.ts.map +1 -0
  119. package/Interactions/definitions.js +67 -0
  120. package/Interactions/definitions.js.map +1 -0
  121. package/Interactions/error.d.ts +2 -0
  122. package/Interactions/error.d.ts.map +1 -0
  123. package/Interactions/error.js +8 -0
  124. package/Interactions/error.js.map +1 -0
  125. package/Interactions/gateway.d.ts +20 -0
  126. package/Interactions/gateway.d.ts.map +1 -0
  127. package/Interactions/gateway.js +92 -0
  128. package/Interactions/gateway.js.map +1 -0
  129. package/Interactions/handlers.d.ts +15 -0
  130. package/Interactions/handlers.d.ts.map +1 -0
  131. package/Interactions/handlers.js +73 -0
  132. package/Interactions/handlers.js.map +1 -0
  133. package/Interactions/index.d.ts +17 -0
  134. package/Interactions/index.d.ts.map +1 -0
  135. package/Interactions/index.js +94 -0
  136. package/Interactions/index.js.map +1 -0
  137. package/Interactions/utils.d.ts +61 -0
  138. package/Interactions/utils.d.ts.map +1 -0
  139. package/Interactions/utils.js +35 -0
  140. package/Interactions/utils.js.map +1 -0
  141. package/Interactions/webhook.d.ts +71 -0
  142. package/Interactions/webhook.d.ts.map +1 -0
  143. package/Interactions/webhook.js +89 -0
  144. package/Interactions/webhook.js.map +1 -0
  145. package/RateLimit/memory.d.ts +3 -0
  146. package/RateLimit/memory.d.ts.map +1 -0
  147. package/RateLimit/memory.js +47 -0
  148. package/RateLimit/memory.js.map +1 -0
  149. package/RateLimit/utils.d.ts +3 -0
  150. package/RateLimit/utils.d.ts.map +1 -0
  151. package/RateLimit/utils.js +25 -0
  152. package/RateLimit/utils.js.map +1 -0
  153. package/RateLimit.d.ts +30 -0
  154. package/RateLimit.d.ts.map +1 -0
  155. package/RateLimit.js +37 -0
  156. package/RateLimit.js.map +1 -0
  157. package/gateway.d.ts +19 -0
  158. package/gateway.d.ts.map +1 -0
  159. package/gateway.js +72 -0
  160. package/gateway.js.map +1 -0
  161. package/index.d.ts +18 -0
  162. package/index.d.ts.map +1 -0
  163. package/index.js +71 -0
  164. package/index.js.map +1 -0
  165. package/mjs/Cache/driver.mjs +3 -0
  166. package/mjs/Cache/driver.mjs.map +1 -0
  167. package/mjs/Cache/memory.mjs +48 -0
  168. package/mjs/Cache/memory.mjs.map +1 -0
  169. package/mjs/Cache/memoryTTL.mjs +119 -0
  170. package/mjs/Cache/memoryTTL.mjs.map +1 -0
  171. package/mjs/Cache/prelude.mjs +131 -0
  172. package/mjs/Cache/prelude.mjs.map +1 -0
  173. package/mjs/Cache.mjs +90 -0
  174. package/mjs/Cache.mjs.map +1 -0
  175. package/mjs/DiscordConfig.mjs +32 -0
  176. package/mjs/DiscordConfig.mjs.map +1 -0
  177. package/mjs/DiscordGateway/DiscordWS.mjs +77 -0
  178. package/mjs/DiscordGateway/DiscordWS.mjs.map +1 -0
  179. package/mjs/DiscordGateway/Messaging.mjs +35 -0
  180. package/mjs/DiscordGateway/Messaging.mjs.map +1 -0
  181. package/mjs/DiscordGateway/Shard/StateStore.mjs +41 -0
  182. package/mjs/DiscordGateway/Shard/StateStore.mjs.map +1 -0
  183. package/mjs/DiscordGateway/Shard/heartbeats.mjs +25 -0
  184. package/mjs/DiscordGateway/Shard/heartbeats.mjs.map +1 -0
  185. package/mjs/DiscordGateway/Shard/identify.mjs +29 -0
  186. package/mjs/DiscordGateway/Shard/identify.mjs.map +1 -0
  187. package/mjs/DiscordGateway/Shard/sendEvents.mjs +26 -0
  188. package/mjs/DiscordGateway/Shard/sendEvents.mjs.map +1 -0
  189. package/mjs/DiscordGateway/Shard/utils.mjs +3 -0
  190. package/mjs/DiscordGateway/Shard/utils.mjs.map +1 -0
  191. package/mjs/DiscordGateway/Shard.mjs +147 -0
  192. package/mjs/DiscordGateway/Shard.mjs.map +1 -0
  193. package/mjs/DiscordGateway/ShardStore.mjs +24 -0
  194. package/mjs/DiscordGateway/ShardStore.mjs.map +1 -0
  195. package/mjs/DiscordGateway/Sharder.mjs +67 -0
  196. package/mjs/DiscordGateway/Sharder.mjs.map +1 -0
  197. package/mjs/DiscordGateway.mjs +21 -0
  198. package/mjs/DiscordGateway.mjs.map +1 -0
  199. package/mjs/DiscordREST/Generated.mjs +2471 -0
  200. package/mjs/DiscordREST/Generated.mjs.map +1 -0
  201. package/mjs/DiscordREST/utils.mjs +21 -0
  202. package/mjs/DiscordREST/utils.mjs.map +1 -0
  203. package/mjs/DiscordREST.mjs +119 -0
  204. package/mjs/DiscordREST.mjs.map +1 -0
  205. package/mjs/Helpers/flags.mjs +45 -0
  206. package/mjs/Helpers/flags.mjs.map +1 -0
  207. package/mjs/Helpers/intents.mjs +27 -0
  208. package/mjs/Helpers/intents.mjs.map +1 -0
  209. package/mjs/Helpers/interactions.mjs +115 -0
  210. package/mjs/Helpers/interactions.mjs.map +1 -0
  211. package/mjs/Helpers/members.mjs +9 -0
  212. package/mjs/Helpers/members.mjs.map +1 -0
  213. package/mjs/Helpers/permissions.mjs +84 -0
  214. package/mjs/Helpers/permissions.mjs.map +1 -0
  215. package/mjs/Helpers/ui.mjs +137 -0
  216. package/mjs/Helpers/ui.mjs.map +1 -0
  217. package/mjs/Interactions/builder.mjs +56 -0
  218. package/mjs/Interactions/builder.mjs.map +1 -0
  219. package/mjs/Interactions/commandHelper.mjs +49 -0
  220. package/mjs/Interactions/commandHelper.mjs.map +1 -0
  221. package/mjs/Interactions/context.mjs +28 -0
  222. package/mjs/Interactions/context.mjs.map +1 -0
  223. package/mjs/Interactions/definitions.mjs +51 -0
  224. package/mjs/Interactions/definitions.mjs.map +1 -0
  225. package/mjs/Interactions/error.mjs +2 -0
  226. package/mjs/Interactions/error.mjs.map +1 -0
  227. package/mjs/Interactions/gateway.mjs +82 -0
  228. package/mjs/Interactions/gateway.mjs.map +1 -0
  229. package/mjs/Interactions/handlers.mjs +64 -0
  230. package/mjs/Interactions/handlers.mjs.map +1 -0
  231. package/mjs/Interactions/index.mjs +11 -0
  232. package/mjs/Interactions/index.mjs.map +1 -0
  233. package/mjs/Interactions/utils.mjs +26 -0
  234. package/mjs/Interactions/utils.mjs.map +1 -0
  235. package/mjs/Interactions/webhook.mjs +75 -0
  236. package/mjs/Interactions/webhook.mjs.map +1 -0
  237. package/mjs/RateLimit/memory.mjs +39 -0
  238. package/mjs/RateLimit/memory.mjs.map +1 -0
  239. package/mjs/RateLimit/utils.mjs +18 -0
  240. package/mjs/RateLimit/utils.mjs.map +1 -0
  241. package/mjs/RateLimit.mjs +28 -0
  242. package/mjs/RateLimit.mjs.map +1 -0
  243. package/mjs/gateway.mjs +19 -0
  244. package/mjs/gateway.mjs.map +1 -0
  245. package/mjs/index.mjs +18 -0
  246. package/mjs/index.mjs.map +1 -0
  247. package/mjs/types.mjs +356 -0
  248. package/mjs/types.mjs.map +1 -0
  249. package/mjs/utils/Effect.mjs +44 -0
  250. package/mjs/utils/Effect.mjs.map +1 -0
  251. package/mjs/version.mjs +2 -0
  252. package/mjs/version.mjs.map +1 -0
  253. package/mjs/webhooks.mjs +6 -0
  254. package/mjs/webhooks.mjs.map +1 -0
  255. package/package.json +33 -77
  256. package/src/version.ts +1 -0
  257. package/types.d.ts +2458 -0
  258. package/types.d.ts.map +1 -0
  259. package/types.js +408 -0
  260. package/types.js.map +1 -0
  261. package/utils/Effect.d.ts +5 -0
  262. package/utils/Effect.d.ts.map +1 -0
  263. package/utils/Effect.js +53 -0
  264. package/utils/Effect.js.map +1 -0
  265. package/version.d.ts +2 -0
  266. package/version.d.ts.map +1 -0
  267. package/version.js +8 -0
  268. package/version.js.map +1 -0
  269. package/webhooks.d.ts +8 -0
  270. package/webhooks.d.ts.map +1 -0
  271. package/webhooks.js +55 -0
  272. package/webhooks.js.map +1 -0
  273. package/.babel.cjs.json +0 -11
  274. package/.babel.mjs.json +0 -10
  275. package/.envrc +0 -1
  276. package/.gitmodules +0 -3
  277. package/.husky/pre-commit +0 -2
  278. package/.oxlintrc.json +0 -72
  279. package/.prettierignore +0 -0
  280. package/.prettierrc.json +0 -5
  281. package/.tool-versions +0 -1
  282. package/.vscode/debug.cjs +0 -8
  283. package/.vscode/launch.json +0 -23
  284. package/.vscode/settings.json +0 -29
  285. package/.vscode/tasks.json +0 -44
  286. package/AGENTS.md +0 -15
  287. package/CHANGELOG.md +0 -1566
  288. package/examples/.env.example +0 -5
  289. package/examples/interactions.ts +0 -79
  290. package/examples/readme.ts +0 -56
  291. package/examples/registry.ts +0 -66
  292. package/flake.lock +0 -27
  293. package/flake.nix +0 -21
  294. package/lerna.json +0 -12
  295. package/pnpm-workspace.yaml +0 -7
  296. package/scripts/generate-client.sh +0 -10
  297. package/scripts/worktree-setup.sh +0 -8
  298. package/test/index.test.ts +0 -5
  299. package/vitest.config.ts +0 -22
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["Chunk","_interopRequireWildcard","require","Effect","Array","_commandHelper","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","flattenDefinitions","definitions","handleResponse","map","toReadonlyArray","definition","transform","handle","isEffect","scoped","flatMap","_","CommandHelper","exports","splitDefinitions","grouped","reduce","Autocomplete","GlobalApplicationCommand","GuildApplicationCommand","MessageComponent","ModalSubmit","Commands","acc","d","_tag","push","command","name"],"sources":["../src/Interactions/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,cAAAC,OAAA;AACA,IAAAC,MAAA,gBAAAF,uBAAA,cAAAC,OAAA;AAGA,IAAAE,KAAA,gBAAAH,uBAAA,cAAAC,OAAA;AACA,IAAAG,cAAA,gBAAAH,OAAA;AAAkD,SAAAD,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,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;AAgB3C,MAAMkB,kBAAkB,GAAGA,CAChCC,WAKC,EACDC,cAG2B,KAE3BvB,KAAK,CAACwB,GAAG,CAAC5B,KAAK,CAAC6B,eAAe,CAACH,WAAW,CAAC,EAAE,CAAC,CAACI,UAAU,EAAEC,SAAS,CAAC,MAAM;EAC1E,GAAGD,UAAU;EACbE,MAAM,EAAE7B,MAAM,CAAC8B,QAAQ,CAACH,UAAU,CAACE,MAAM,CAAC,GACrCnB,CAAyB,IACxBV,MAAM,CAAC+B,MAAM,CACXH,SAAS,CACP5B,MAAM,CAACgC,OAAO,CACZL,UAAU,CAACE,MAAiE,EAC5EI,CAAC,IAAIT,cAAc,CAACd,CAAC,EAAEuB,CAAC,CAAC,CAC1B,CACF,CACF,GACFvB,CAAyB,IACxBV,MAAM,CAAC+B,MAAM,CACXH,SAAS,CACP5B,MAAM,CAACgC,OAAO,CAEVL,UAAU,CAACE,MAGZ,CAAC,IAAIK,4BAAa,CAACxB,CAAC,CAAC,CAAC,EACvBuB,CAAC,IAAIT,cAAc,CAACd,CAAC,EAAEuB,CAAC,CAAC,CAC1B,CACF;CAEV,CAAC,CAAC;AAAAE,OAAA,CAAAb,kBAAA,GAAAA,kBAAA;AAEE,MAAMc,gBAAgB,GAC3Bb,WAA4D,IAC1D;EACF,MAAMc,OAAO,GAAGpC,KAAK,CAACqC,MAAM,CAC1Bf,WAAW,EACX;IACEgB,YAAY,EAAE,EAAE;IAChBC,wBAAwB,EAAE,EAAE;IAC5BC,uBAAuB,EAAE,EAAE;IAC3BC,gBAAgB,EAAE,EAAE;IACpBC,WAAW,EAAE,EAAE;IACfC,QAAQ,EAAE;GAOX,EACD,CAACC,GAAG,EAAEC,CAAC,KAAI;IACTD,GAAG,CAACC,CAAC,CAACC,IAAI,CAAC,CAACC,IAAI,CAACF,CAAQ,CAAC;IAC1B,IACEA,CAAC,CAACC,IAAI,KAAK,0BAA0B,IACrCD,CAAC,CAACC,IAAI,KAAK,yBAAyB,EACpC;MACAF,GAAG,CAACD,QAAQ,CAACE,CAAC,CAACG,OAAO,CAACC,IAAI,CAAC,GAAGJ,CAAQ;IACzC;IACA,OAAOD,GAAG;EACZ,CAAC,CACF;EAED,OAAOR,OAAO;AAChB,CAAC;AAAAF,OAAA,CAAAC,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ import type * as Cause from "effect/Cause";
2
+ import type * as Config from "effect/Config";
3
+ import * as Redacted from "effect/Redacted";
4
+ import * as Effect from "effect/Effect";
5
+ import * as Layer from "effect/Layer";
6
+ import * as ServiceMap from "effect/ServiceMap";
7
+ import type { DefinitionNotFound } from "./handlers.ts";
8
+ import type { InteractionBuilder } from "./index.ts";
9
+ import type * as Discord from "../types.ts";
10
+ import * as Verify from "discord-verify";
11
+ export declare class BadWebhookSignature {
12
+ readonly _tag = "BadWebhookSignature";
13
+ }
14
+ export type Headers = Record<string, string | Array<string> | undefined>;
15
+ export interface MakeConfigOpts {
16
+ readonly applicationId: string;
17
+ readonly publicKey: Redacted.Redacted;
18
+ readonly crypto: SubtleCrypto;
19
+ readonly algorithm: keyof typeof Verify.PlatformAlgorithm;
20
+ }
21
+ declare const WebhookConfig_base: ServiceMap.ServiceClass<WebhookConfig, "dfx/Interactions/WebhookConfig", {
22
+ applicationId: string;
23
+ publicKey: string;
24
+ crypto: SubtleCrypto;
25
+ algorithm: string | {
26
+ name: string;
27
+ namedCurve: string;
28
+ public: boolean;
29
+ } | {
30
+ name: string;
31
+ namedCurve: string;
32
+ public: boolean;
33
+ } | {
34
+ name: string;
35
+ namedCurve: string;
36
+ public: boolean;
37
+ } | {
38
+ name: string;
39
+ namedCurve: string;
40
+ };
41
+ }>;
42
+ export declare class WebhookConfig extends WebhookConfig_base {
43
+ }
44
+ export declare const layer: (opts: MakeConfigOpts) => Layer.Layer<WebhookConfig, never, never>;
45
+ export declare const layerConfig: (config: Config.Config<MakeConfigOpts>) => Layer.Layer<WebhookConfig, Config.ConfigError>;
46
+ declare const WebhookParseError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").MatchRecord<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }, void, { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Cause.YieldableError & {
47
+ readonly _tag: "WebhookParseError";
48
+ } & Readonly<A>;
49
+ export declare class WebhookParseError extends WebhookParseError_base<{
50
+ cause: unknown;
51
+ }> {
52
+ }
53
+ export interface HandleWebhookOpts<E> {
54
+ headers: Headers;
55
+ body: string;
56
+ success: (a: Discord.CreateInteractionResponseRequest) => Effect.Effect<void>;
57
+ error: (e: Cause.Cause<E>) => Effect.Effect<void>;
58
+ }
59
+ /**
60
+ * @tsplus getter dfx/InteractionBuilder webhookHandler
61
+ */
62
+ export declare const makeHandler: <R, E, TE>(ix: InteractionBuilder<R, E, TE>) => (({ body, error, headers, success, }: HandleWebhookOpts<E | WebhookParseError | BadWebhookSignature | DefinitionNotFound>) => Effect.Effect<void, never, WebhookConfig>);
63
+ /**
64
+ * @tsplus getter dfx/InteractionBuilder simpleWebhookHandler
65
+ */
66
+ export declare const makeSimpleHandler: <R, E, TE>(ix: InteractionBuilder<R, E, TE>) => (({ body, headers, }: {
67
+ headers: Headers;
68
+ body: string;
69
+ }) => Effect.Effect<Discord.CreateInteractionResponseRequest, BadWebhookSignature | WebhookParseError | DefinitionNotFound, WebhookConfig>);
70
+ export {};
71
+ //# sourceMappingURL=webhook.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.d.ts","sourceRoot":"","sources":["../src/Interactions/webhook.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,KAAK,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,EAAsB,kBAAkB,EAAE,MAAM,YAAY,CAAA;AAExE,OAAO,KAAK,KAAK,OAAO,MAAM,aAAa,CAAA;AAC3C,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAGxC,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,IAAI,yBAAwB;CACtC;AAED,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,CAAA;AAgCxE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,QAAQ,CAAA;IACrC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAA;IAC7B,QAAQ,CAAC,SAAS,EAAE,MAAM,OAAO,MAAM,CAAC,iBAAiB,CAAA;CAC1D;;;;;;;;;;;;;;;;;;;;;;AAaD,qBAAa,aAAc,SAAQ,kBAGE;CAAG;AAExC,eAAO,MAAM,KAAK,GAAI,MAAM,cAAc,6CACM,CAAA;AAEhD,eAAO,MAAM,WAAW,EAAE,CACxB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,KAClC,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAEyB,CAAA;;;;AAE3E,qBAAa,iBAAkB,SAAQ,uBAAsC;IAC3E,KAAK,EAAE,OAAO,CAAA;CACf,CAAC;CAAG;AAqDL,MAAM,WAAW,iBAAiB,CAAC,CAAC;IAClC,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,gCAAgC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC7E,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAClD;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EAClC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAC/B,CAAC,CAAC,EACH,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,iBAAiB,CAClB,CAAC,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,kBAAkB,CACjE,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,CAkB9C,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,CAAC,EAAE,CAAC,EAAE,EAAE,EACxC,IAAI,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,KAC/B,CAAC,CAAC,EACH,IAAI,EACJ,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACb,KAAK,MAAM,CAAC,MAAM,CACjB,OAAO,CAAC,gCAAgC,EACxC,mBAAmB,GAAG,iBAAiB,GAAG,kBAAkB,EAC5D,aAAa,CACd,CAQA,CAAA"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.makeSimpleHandler = exports.makeHandler = exports.layerConfig = exports.layer = exports.WebhookParseError = exports.WebhookConfig = exports.BadWebhookSignature = void 0;
7
+ var Chunk = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Chunk"));
8
+ var _Function = /*#__PURE__*/require("effect/Function");
9
+ var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
10
+ var Redacted = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Redacted"));
11
+ var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
12
+ var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
13
+ var ServiceMap = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/ServiceMap"));
14
+ var _handlers = /*#__PURE__*/require("./handlers.js");
15
+ var _index = /*#__PURE__*/require("./index.js");
16
+ var Verify = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("discord-verify"));
17
+ var Data = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Data"));
18
+ 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); }
19
+ class BadWebhookSignature {
20
+ _tag = "BadWebhookSignature";
21
+ }
22
+ exports.BadWebhookSignature = BadWebhookSignature;
23
+ const checkSignature = (publicKey, headers, body, crypto, algorithm) => Effect.fromOption(Option.all({
24
+ signature: Option.fromNullishOr(headers["x-signature-ed25519"]),
25
+ timestamp: Option.fromNullishOr(headers["x-signature-timestamp"])
26
+ })).pipe(Effect.flatMap(_ => Effect.promise(() => Verify.verify(body, _.signature, _.timestamp, publicKey, crypto, algorithm))), Effect.filterOrFail(_Function.identity, () => new BadWebhookSignature()), Effect.catchCause(() => Effect.fail(new BadWebhookSignature())), Effect.asVoid);
27
+ const makeConfig = ({
28
+ algorithm,
29
+ applicationId,
30
+ crypto,
31
+ publicKey
32
+ }) => ({
33
+ applicationId,
34
+ publicKey: Redacted.value(publicKey),
35
+ crypto,
36
+ algorithm: Verify.PlatformAlgorithm[algorithm]
37
+ });
38
+ class WebhookConfig extends /*#__PURE__*/ServiceMap.Service()("dfx/Interactions/WebhookConfig") {}
39
+ exports.WebhookConfig = WebhookConfig;
40
+ const layer = opts => Layer.succeed(WebhookConfig, makeConfig(opts));
41
+ exports.layer = layer;
42
+ const layerConfig = config => Layer.effect(WebhookConfig, Effect.map(config.asEffect(), makeConfig));
43
+ exports.layerConfig = layerConfig;
44
+ class WebhookParseError extends /*#__PURE__*/Data.TaggedError("WebhookParseError") {}
45
+ exports.WebhookParseError = WebhookParseError;
46
+ const fromHeadersAndBody = (headers, body) => WebhookConfig.use(({
47
+ algorithm,
48
+ crypto,
49
+ publicKey
50
+ }) => checkSignature(publicKey, headers, body, crypto, algorithm).pipe(Effect.andThen(Effect.try({
51
+ try: () => JSON.parse(body),
52
+ catch: cause => new WebhookParseError({
53
+ cause
54
+ })
55
+ }))));
56
+ const run = (definitions, handleResponse) => {
57
+ const handler = (0, _handlers.handlers)(definitions, handleResponse);
58
+ return (headers, body) => Effect.flatMap(fromHeadersAndBody(headers, body), interaction => Effect.withSpan(Effect.provideService(handler[interaction.type](interaction), _index.Interaction, interaction), "dfx.Interaction", {
59
+ attributes: {
60
+ interactionId: interaction.id
61
+ },
62
+ captureStackTrace: false
63
+ }));
64
+ };
65
+ /**
66
+ * @tsplus getter dfx/InteractionBuilder webhookHandler
67
+ */
68
+ const makeHandler = ix => {
69
+ const handle = run(Chunk.map(ix.definitions, ([d]) => [d, _Function.identity]), (_i, r) => Effect.succeed(r));
70
+ return ({
71
+ body,
72
+ error,
73
+ headers,
74
+ success
75
+ }) => handle(headers, body).pipe(Effect.flatMap(success), Effect.catchCause(error));
76
+ };
77
+ /**
78
+ * @tsplus getter dfx/InteractionBuilder simpleWebhookHandler
79
+ */
80
+ exports.makeHandler = makeHandler;
81
+ const makeSimpleHandler = ix => {
82
+ const handle = run(Chunk.map(ix.definitions, ([d]) => [d, _Function.identity]), (_i, r) => Effect.succeed(r));
83
+ return ({
84
+ body,
85
+ headers
86
+ }) => handle(headers, body);
87
+ };
88
+ exports.makeSimpleHandler = makeSimpleHandler;
89
+ //# sourceMappingURL=webhook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webhook.js","names":["Chunk","_interopRequireWildcard","require","_Function","Option","Redacted","Effect","Layer","ServiceMap","_handlers","_index","Verify","Data","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","BadWebhookSignature","_tag","exports","checkSignature","publicKey","headers","body","crypto","algorithm","fromOption","all","signature","fromNullishOr","timestamp","pipe","flatMap","_","promise","verify","filterOrFail","identity","catchCause","fail","asVoid","makeConfig","applicationId","value","PlatformAlgorithm","WebhookConfig","Service","layer","opts","succeed","layerConfig","config","effect","map","asEffect","WebhookParseError","TaggedError","fromHeadersAndBody","use","andThen","try","JSON","parse","catch","cause","run","definitions","handleResponse","handler","handlers","interaction","withSpan","provideService","type","Interaction","attributes","interactionId","id","captureStackTrace","makeHandler","ix","handle","d","_i","error","success","makeSimpleHandler"],"sources":["../src/Interactions/webhook.ts"],"sourcesContent":[null],"mappings":";;;;;;AAAA,IAAAA,KAAA,gBAAAC,uBAAA,cAAAC,OAAA;AACA,IAAAC,SAAA,gBAAAD,OAAA;AACA,IAAAE,MAAA,gBAAAH,uBAAA,cAAAC,OAAA;AAGA,IAAAG,QAAA,gBAAAJ,uBAAA,cAAAC,OAAA;AACA,IAAAI,MAAA,gBAAAL,uBAAA,cAAAC,OAAA;AACA,IAAAK,KAAA,gBAAAN,uBAAA,cAAAC,OAAA;AACA,IAAAM,UAAA,gBAAAP,uBAAA,cAAAC,OAAA;AAGA,IAAAO,SAAA,gBAAAP,OAAA;AAEA,IAAAQ,MAAA,gBAAAR,OAAA;AAEA,IAAAS,MAAA,gBAAAV,uBAAA,cAAAC,OAAA;AACA,IAAAU,IAAA,gBAAAX,uBAAA,cAAAC,OAAA;AAAmC,SAAAD,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAY,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;AAE7B,MAAOkB,mBAAmB;EACrBC,IAAI,GAAG,qBAAqB;;AACtCC,OAAA,CAAAF,mBAAA,GAAAA,mBAAA;AAID,MAAMG,cAAc,GAAGA,CACrBC,SAAiB,EACjBC,OAAgB,EAChBC,IAAY,EACZC,MAAoB,EACpBC,SAAc,KAEdlC,MAAM,CAACmC,UAAU,CACfrC,MAAM,CAACsC,GAAG,CAAC;EACTC,SAAS,EAAEvC,MAAM,CAACwC,aAAa,CAACP,OAAO,CAAC,qBAAqB,CAAC,CAAC;EAC/DQ,SAAS,EAAEzC,MAAM,CAACwC,aAAa,CAACP,OAAO,CAAC,uBAAuB,CAAC;CACjE,CAAC,CACH,CAACS,IAAI,CACJxC,MAAM,CAACyC,OAAO,CAACC,CAAC,IACd1C,MAAM,CAAC2C,OAAO,CAAC,MACbtC,MAAM,CAACuC,MAAM,CACXZ,IAAI,EACJU,CAAC,CAACL,SAAmB,EACrBK,CAAC,CAACH,SAAmB,EACrBT,SAAS,EACTG,MAAM,EACNC,SAAS,CACV,CACF,CACF,EACDlC,MAAM,CAAC6C,YAAY,CAACC,kBAAQ,EAAE,MAAM,IAAIpB,mBAAmB,EAAE,CAAC,EAC9D1B,MAAM,CAAC+C,UAAU,CAAC,MAAM/C,MAAM,CAACgD,IAAI,CAAC,IAAItB,mBAAmB,EAAE,CAAC,CAAC,EAC/D1B,MAAM,CAACiD,MAAM,CACd;AAQH,MAAMC,UAAU,GAAGA,CAAC;EAClBhB,SAAS;EACTiB,aAAa;EACblB,MAAM;EACNH;AAAS,CACM,MAAM;EACrBqB,aAAa;EACbrB,SAAS,EAAE/B,QAAQ,CAACqD,KAAK,CAACtB,SAAS,CAAC;EACpCG,MAAM;EACNC,SAAS,EAAE7B,MAAM,CAACgD,iBAAiB,CAACnB,SAAS;CAC9C,CAAC;AAEI,MAAOoB,aAAc,sBAAQpD,UAAU,CAACqD,OAAO,EAGlD,CAAC,gCAAgC,CAAC;AAAG3B,OAAA,CAAA0B,aAAA,GAAAA,aAAA;AAEjC,MAAME,KAAK,GAAIC,IAAoB,IACxCxD,KAAK,CAACyD,OAAO,CAACJ,aAAa,EAAEJ,UAAU,CAACO,IAAI,CAAC,CAAC;AAAA7B,OAAA,CAAA4B,KAAA,GAAAA,KAAA;AAEzC,MAAMG,WAAW,GAGtBC,MAAqC,IAClC3D,KAAK,CAAC4D,MAAM,CAACP,aAAa,EAAEtD,MAAM,CAAC8D,GAAG,CAACF,MAAM,CAACG,QAAQ,EAAE,EAAEb,UAAU,CAAC,CAAC;AAAAtB,OAAA,CAAA+B,WAAA,GAAAA,WAAA;AAErE,MAAOK,iBAAkB,sBAAQ1D,IAAI,CAAC2D,WAAW,CAAC,mBAAmB,CAEzE;AAAGrC,OAAA,CAAAoC,iBAAA,GAAAA,iBAAA;AAEL,MAAME,kBAAkB,GAAGA,CAACnC,OAAgB,EAAEC,IAAY,KACxDsB,aAAa,CAACa,GAAG,CAAC,CAAC;EAAEjC,SAAS;EAAED,MAAM;EAAEH;AAAS,CAAE,KACjDD,cAAc,CAACC,SAAS,EAAEC,OAAO,EAAEC,IAAI,EAAEC,MAAM,EAAEC,SAAS,CAAC,CAACM,IAAI,CAC9DxC,MAAM,CAACoE,OAAO,CACZpE,MAAM,CAACqE,GAAG,CAAC;EACTA,GAAG,EAAEA,CAAA,KAAMC,IAAI,CAACC,KAAK,CAACvC,IAAI,CAA2B;EACrDwC,KAAK,EAAEC,KAAK,IAAI,IAAIT,iBAAiB,CAAC;IAAES;EAAK,CAAE;CAChD,CAAC,CACH,CACF,CACF;AAEH,MAAMC,GAAG,GAAGA,CACVC,WAOC,EACDC,cAGkE,KAChE;EACF,MAAMC,OAAO,GAAG,IAAAC,kBAAQ,EAACH,WAAW,EAAEC,cAAc,CAAC;EACrD,OAAO,CACL7C,OAAgB,EAChBC,IAAY,KAMZhC,MAAM,CAACyC,OAAO,CAACyB,kBAAkB,CAACnC,OAAO,EAAEC,IAAI,CAAC,EAAE+C,WAAW,IAC3D/E,MAAM,CAACgF,QAAQ,CACbhF,MAAM,CAACiF,cAAc,CACnBJ,OAAO,CAACE,WAAW,CAACG,IAAI,CAAC,CAACH,WAAW,CAAC,EACtCI,kBAAW,EACXJ,WAAW,CACZ,EACD,iBAAiB,EACjB;IACEK,UAAU,EAAE;MAAEC,aAAa,EAAEN,WAAW,CAACO;IAAE,CAAE;IAC7CC,iBAAiB,EAAE;GACpB,CACF,CACF;AACL,CAAC;AASD;;;AAGO,MAAMC,WAAW,GACtBC,EAAgC,IAQiB;EACjD,MAAMC,MAAM,GAAGhB,GAAG,CAChBhF,KAAK,CAACoE,GAAG,CAAC2B,EAAE,CAACd,WAAW,EAAE,CAAC,CAACgB,CAAC,CAAC,KAAK,CAACA,CAAC,EAAE7C,kBAAQ,CAAQ,CAAC,EACxD,CAAC8C,EAAE,EAAElF,CAAC,KAAKV,MAAM,CAAC0D,OAAO,CAAChD,CAAC,CAAC,CAC7B;EAED,OAAO,CAAC;IACNsB,IAAI;IACJ6D,KAAK;IACL9D,OAAO;IACP+D;EAAO,CAGR,KACCJ,MAAM,CAAC3D,OAAO,EAAEC,IAAI,CAAC,CAACQ,IAAI,CACxBxC,MAAM,CAACyC,OAAO,CAACqD,OAAO,CAAC,EACvB9F,MAAM,CAAC+C,UAAU,CAAC8C,KAAK,CAAC,CACzB;AACL,CAAC;AAED;;;AAAAjE,OAAA,CAAA4D,WAAA,GAAAA,WAAA;AAGO,MAAMO,iBAAiB,GAC5BN,EAAgC,IAW7B;EACH,MAAMC,MAAM,GAAGhB,GAAG,CAChBhF,KAAK,CAACoE,GAAG,CAAC2B,EAAE,CAACd,WAAW,EAAE,CAAC,CAACgB,CAAC,CAAC,KAAK,CAACA,CAAC,EAAE7C,kBAAQ,CAAQ,CAAC,EACxD,CAAC8C,EAAE,EAAElF,CAAC,KAAKV,MAAM,CAAC0D,OAAO,CAAChD,CAAC,CAAC,CAC7B;EAED,OAAO,CAAC;IAAEsB,IAAI;IAAED;EAAO,CAAsC,KAC3D2D,MAAM,CAAC3D,OAAO,EAAEC,IAAI,CAAC;AACzB,CAAC;AAAAJ,OAAA,CAAAmE,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { RateLimitStoreService } from "../RateLimit.ts";
2
+ export declare const make: () => RateLimitStoreService;
3
+ //# sourceMappingURL=memory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../src/RateLimit/memory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAiB,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAO3E,eAAO,MAAM,IAAI,QAAO,qBAqDvB,CAAA"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.make = void 0;
7
+ var Option = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Option"));
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
9
+ 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); }
10
+ const make = () => {
11
+ const buckets = new Map();
12
+ const routes = new Map();
13
+ const counters = new Map();
14
+ const getCounter = key => Option.filter(Option.fromNullishOr(counters.get(key)), c => c.expires > Date.now());
15
+ const getBucketForRoute = route => Effect.sync(() => Option.fromNullishOr(buckets.get(routes.get(route))));
16
+ return {
17
+ hasBucket: key => Effect.sync(() => buckets.has(key)),
18
+ putBucket: bucket => Effect.sync(() => {
19
+ buckets.set(bucket.key, bucket);
20
+ }),
21
+ getBucketForRoute,
22
+ putBucketRoute: (route, bucket) => Effect.sync(() => {
23
+ routes.set(route, bucket);
24
+ }),
25
+ removeCounter: key => Effect.sync(() => {
26
+ counters.delete(key);
27
+ }),
28
+ incrementCounter: (key, window, limit) => Effect.sync(() => {
29
+ const now = Date.now();
30
+ const perRequest = Math.ceil(window / limit);
31
+ const counter = Option.getOrElse(getCounter(key), () => ({
32
+ expires: now,
33
+ count: 0
34
+ }));
35
+ const count = counter.count + 1;
36
+ const expires = counter.expires + perRequest;
37
+ counters.set(key, {
38
+ ...counter,
39
+ count,
40
+ expires
41
+ });
42
+ return [count, expires - now];
43
+ })
44
+ };
45
+ };
46
+ exports.make = make;
47
+ //# sourceMappingURL=memory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory.js","names":["Option","_interopRequireWildcard","require","Effect","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","make","buckets","Map","routes","counters","getCounter","key","filter","fromNullishOr","c","expires","Date","now","getBucketForRoute","route","sync","hasBucket","putBucket","bucket","putBucketRoute","removeCounter","delete","incrementCounter","window","limit","perRequest","Math","ceil","counter","getOrElse","count","exports"],"sources":["../src/RateLimit/memory.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ import type { Duration } from "effect/Duration";
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":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAG/C,eAAO,MAAM,SAAS,GACpB,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,OAAO,MAAM,EACb,KAAK,MAAM,KACV,QAmBF,CAAA"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.delayFrom = void 0;
7
+ var _Duration = /*#__PURE__*/require("effect/Duration");
8
+ const delayFrom = (window, limit, count, ttl) => {
9
+ const perRequest = Math.ceil(window / limit);
10
+ const totalTime = count * perRequest;
11
+ const elapsedTime = totalTime - ttl;
12
+ const elapsedWindows = Math.floor(elapsedTime / window);
13
+ const completedRequests = elapsedWindows * limit;
14
+ const remainingRequests = count - completedRequests;
15
+ const remainingWindows = Math.floor((remainingRequests - 1) / limit);
16
+ const delayRemainder = elapsedTime % window;
17
+ const requestRemainder = count % limit;
18
+ const staggerDelay = requestRemainder * 50;
19
+ if (remainingWindows === 0) {
20
+ return _Duration.zero;
21
+ }
22
+ return (0, _Duration.millis)(remainingWindows * window - delayRemainder + staggerDelay);
23
+ };
24
+ exports.delayFrom = delayFrom;
25
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["_Duration","require","delayFrom","window","limit","count","ttl","perRequest","Math","ceil","totalTime","elapsedTime","elapsedWindows","floor","completedRequests","remainingRequests","remainingWindows","delayRemainder","requestRemainder","staggerDelay","zero","millis","exports"],"sources":["../src/RateLimit/utils.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,SAAA,gBAAAC,OAAA;AAEO,MAAMC,SAAS,GAAGA,CACvBC,MAAc,EACdC,KAAa,EACbC,KAAa,EACbC,GAAW,KACC;EACZ,MAAMC,UAAU,GAAGC,IAAI,CAACC,IAAI,CAACN,MAAM,GAAGC,KAAK,CAAC;EAE5C,MAAMM,SAAS,GAAGL,KAAK,GAAGE,UAAU;EACpC,MAAMI,WAAW,GAAGD,SAAS,GAAGJ,GAAG;EACnC,MAAMM,cAAc,GAAGJ,IAAI,CAACK,KAAK,CAACF,WAAW,GAAGR,MAAM,CAAC;EACvD,MAAMW,iBAAiB,GAAGF,cAAc,GAAGR,KAAK;EAChD,MAAMW,iBAAiB,GAAGV,KAAK,GAAGS,iBAAiB;EACnD,MAAME,gBAAgB,GAAGR,IAAI,CAACK,KAAK,CAAC,CAACE,iBAAiB,GAAG,CAAC,IAAIX,KAAK,CAAC;EACpE,MAAMa,cAAc,GAAGN,WAAW,GAAGR,MAAM;EAE3C,MAAMe,gBAAgB,GAAGb,KAAK,GAAGD,KAAK;EACtC,MAAMe,YAAY,GAAGD,gBAAgB,GAAG,EAAE;EAE1C,IAAIF,gBAAgB,KAAK,CAAC,EAAE;IAC1B,OAAOI,cAAI;EACb;EAEA,OAAO,IAAAC,gBAAM,EAACL,gBAAgB,GAAGb,MAAM,GAAGc,cAAc,GAAGE,YAAY,CAAC;AAC1E,CAAC;AAAAG,OAAA,CAAApB,SAAA,GAAAA,SAAA","ignoreList":[]}
package/RateLimit.d.ts ADDED
@@ -0,0 +1,30 @@
1
+ import * as Duration from "effect/Duration";
2
+ import type * as Option from "effect/Option";
3
+ import * as Effect from "effect/Effect";
4
+ import * as Layer from "effect/Layer";
5
+ import * as ServiceMap from "effect/ServiceMap";
6
+ export type BucketDetails = {
7
+ key: "global" | string;
8
+ resetAfter: number;
9
+ limit: number;
10
+ };
11
+ export interface RateLimitStoreService {
12
+ readonly hasBucket: (bucketKey: string) => Effect.Effect<boolean>;
13
+ readonly putBucket: (bucket: BucketDetails) => Effect.Effect<void>;
14
+ readonly getBucketForRoute: (route: string) => Effect.Effect<Option.Option<BucketDetails>>;
15
+ readonly putBucketRoute: (route: string, bucketKey: string) => Effect.Effect<void>;
16
+ readonly incrementCounter: (key: string, window: number, limit: number) => Effect.Effect<readonly [count: number, ttl: number]>;
17
+ readonly removeCounter: (key: string) => Effect.Effect<void>;
18
+ }
19
+ declare const RateLimitStore_base: ServiceMap.ServiceClass<RateLimitStore, "dfx/RateLimit/RateLimitStore", RateLimitStoreService>;
20
+ export declare class RateLimitStore extends RateLimitStore_base {
21
+ }
22
+ export declare const MemoryRateLimitStoreLive: Layer.Layer<RateLimitStore, never, never>;
23
+ declare const RateLimiter_base: ServiceMap.ServiceClass<RateLimiter, "dfx/RateLimit/RateLimiter", {
24
+ maybeWait: (key: string, window: Duration.Duration, limit: number, multiplier?: number) => Effect.Effect<void, never, never>;
25
+ }>;
26
+ export declare class RateLimiter extends RateLimiter_base {
27
+ }
28
+ export declare const RateLimiterLive: Layer.Layer<RateLimiter, never, RateLimitStore>;
29
+ export {};
30
+ //# sourceMappingURL=RateLimit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimit.d.ts","sourceRoot":"","sources":["./src/RateLimit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAC3C,OAAO,KAAK,KAAK,MAAM,MAAM,eAAe,CAAA;AAC5C,OAAO,KAAK,MAAM,MAAM,eAAe,CAAA;AACvC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAGrC,OAAO,KAAK,UAAU,MAAM,mBAAmB,CAAA;AAE/C,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,qBAAqB;IACpC,QAAQ,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAEjE,QAAQ,CAAC,SAAS,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAElE,QAAQ,CAAC,iBAAiB,EAAE,CAC1B,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;IAEhD,QAAQ,CAAC,cAAc,EAAE,CACvB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,KACd,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAExB,QAAQ,CAAC,gBAAgB,EAAE,CACzB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,KACV,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;IAEzD,QAAQ,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;CAC7D;;AAED,qBAAa,cAAe,SAAQ,mBAGD;CAAG;AAEtC,eAAO,MAAM,wBAAwB,2CAA0C,CAAA;;eAsChE,CACT,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,QAAQ,CAAC,QAAQ,EACzB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,MAAM,KAChB,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;;AAR1C,qBAAa,WAAY,SAAQ,gBAUD;CAAG;AAEnC,eAAO,MAAM,eAAe,iDAAyC,CAAA"}
package/RateLimit.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RateLimiterLive = exports.RateLimiter = exports.RateLimitStore = exports.MemoryRateLimitStoreLive = void 0;
7
+ var Duration = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Duration"));
8
+ var Effect = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Effect"));
9
+ var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
10
+ var Memory = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./RateLimit/memory.js"));
11
+ var _utils = /*#__PURE__*/require("./RateLimit/utils.js");
12
+ var ServiceMap = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/ServiceMap"));
13
+ 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); }
14
+ class RateLimitStore extends /*#__PURE__*/ServiceMap.Service()("dfx/RateLimit/RateLimitStore") {}
15
+ exports.RateLimitStore = RateLimitStore;
16
+ const MemoryRateLimitStoreLive = exports.MemoryRateLimitStoreLive = /*#__PURE__*/Layer.sync(RateLimitStore, Memory.make);
17
+ const makeLimiter = /*#__PURE__*/Effect.gen(function* () {
18
+ const store = yield* RateLimitStore;
19
+ const maybeWait = (key, window, limit, multiplier = 1.05) => {
20
+ const windowMs = Duration.toMillis(window) * multiplier;
21
+ return store.incrementCounter(key, windowMs, limit).pipe(Effect.map(([count, ttl]) => (0, _utils.delayFrom)(windowMs, limit, count, ttl)), Effect.tap(d => Effect.annotateLogs(Effect.logTrace("maybeWait"), {
22
+ service: "RateLimit",
23
+ key,
24
+ window: Duration.toMillis(window),
25
+ windowMs,
26
+ limit,
27
+ delay: Duration.toMillis(d)
28
+ })), Effect.tap(_ => Duration.toMillis(_) === 0 ? Effect.void : Effect.sleep(_)), Effect.asVoid);
29
+ };
30
+ return {
31
+ maybeWait
32
+ };
33
+ });
34
+ class RateLimiter extends /*#__PURE__*/ServiceMap.Service()("dfx/RateLimit/RateLimiter") {}
35
+ exports.RateLimiter = RateLimiter;
36
+ const RateLimiterLive = exports.RateLimiterLive = /*#__PURE__*/Layer.effect(RateLimiter, makeLimiter);
37
+ //# sourceMappingURL=RateLimit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RateLimit.js","names":["Duration","_interopRequireWildcard","require","Effect","Layer","Memory","_utils","ServiceMap","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RateLimitStore","Service","exports","MemoryRateLimitStoreLive","sync","make","makeLimiter","gen","store","maybeWait","key","window","limit","multiplier","windowMs","toMillis","incrementCounter","pipe","map","count","ttl","delayFrom","tap","d","annotateLogs","logTrace","service","delay","_","void","sleep","asVoid","RateLimiter","RateLimiterLive","effect"],"sources":["./src/RateLimit.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
package/gateway.d.ts ADDED
@@ -0,0 +1,19 @@
1
+ import * as CachePrelude from "./Cache/prelude.ts";
2
+ import type { DiscordGateway } from "./DiscordGateway.ts";
3
+ import * as DiscordWS from "./DiscordGateway/DiscordWS.ts";
4
+ import * as Shard from "./DiscordGateway/Shard.ts";
5
+ import * as SendEvent from "./DiscordGateway/Shard/sendEvents.ts";
6
+ import * as ShardStore from "./DiscordGateway/ShardStore.ts";
7
+ import type { DiscordREST } from "./DiscordREST.ts";
8
+ import type { InteractionsRegistry } from "./Interactions/gateway.ts";
9
+ import type { RateLimiter } from "./RateLimit.ts";
10
+ import * as Layer from "effect/Layer";
11
+ import type * as HttpClient from "effect/unstable/http/HttpClient";
12
+ import type { DiscordConfig } from "./DiscordConfig.ts";
13
+ import type { WebSocketConstructor } from "effect/unstable/socket/Socket";
14
+ export { DiscordGateway, DiscordGatewayLive } from "./DiscordGateway.ts";
15
+ export { InteractionsRegistry, InteractionsRegistryLive, interactionsSync, run as runIx, setInteractionsSync, } from "./Interactions/gateway.ts";
16
+ export { CachePrelude, DiscordWS, SendEvent, Shard, ShardStore };
17
+ export declare const DiscordLive: Layer.Layer<RateLimiter | DiscordGateway | DiscordREST, never, DiscordConfig | WebSocketConstructor | HttpClient.HttpClient>;
18
+ export declare const DiscordIxLive: Layer.Layer<RateLimiter | DiscordGateway | DiscordREST | InteractionsRegistry, never, DiscordConfig | WebSocketConstructor | HttpClient.HttpClient>;
19
+ //# sourceMappingURL=gateway.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["./src/gateway.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,OAAO,KAAK,SAAS,MAAM,+BAA+B,CAAA;AAE1D,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAA;AAElD,OAAO,KAAK,SAAS,MAAM,sCAAsC,CAAA;AACjE,OAAO,KAAK,UAAU,MAAM,gCAAgC,CAAA;AAE5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAA;AAErE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AACrC,OAAO,KAAK,KAAK,UAAU,MAAM,iCAAiC,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACvD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAEzE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAExE,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,gBAAgB,EAChB,GAAG,IAAI,KAAK,EACZ,mBAAmB,GACpB,MAAM,2BAA2B,CAAA;AAElC,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,CAAA;AAEhE,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,KAAK,CACnC,WAAW,GAAG,cAAc,GAAG,WAAW,EAC1C,KAAK,EACL,aAAa,GAAG,oBAAoB,GAAG,UAAU,CAAC,UAAU,CAO7D,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,KAAK,CACrC,WAAW,GAAG,cAAc,GAAG,WAAW,GAAG,oBAAoB,EACjE,KAAK,EACL,aAAa,GAAG,oBAAoB,GAAG,UAAU,CAAC,UAAU,CACI,CAAA"}
package/gateway.js ADDED
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CachePrelude = void 0;
7
+ Object.defineProperty(exports, "DiscordGateway", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _DiscordGateway.DiscordGateway;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "DiscordGatewayLive", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _DiscordGateway.DiscordGatewayLive;
17
+ }
18
+ });
19
+ exports.DiscordWS = exports.DiscordLive = exports.DiscordIxLive = void 0;
20
+ Object.defineProperty(exports, "InteractionsRegistry", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _gateway.InteractionsRegistry;
24
+ }
25
+ });
26
+ Object.defineProperty(exports, "InteractionsRegistryLive", {
27
+ enumerable: true,
28
+ get: function () {
29
+ return _gateway.InteractionsRegistryLive;
30
+ }
31
+ });
32
+ exports.ShardStore = exports.Shard = exports.SendEvent = void 0;
33
+ Object.defineProperty(exports, "interactionsSync", {
34
+ enumerable: true,
35
+ get: function () {
36
+ return _gateway.interactionsSync;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "runIx", {
40
+ enumerable: true,
41
+ get: function () {
42
+ return _gateway.run;
43
+ }
44
+ });
45
+ Object.defineProperty(exports, "setInteractionsSync", {
46
+ enumerable: true,
47
+ get: function () {
48
+ return _gateway.setInteractionsSync;
49
+ }
50
+ });
51
+ var CachePrelude = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Cache/prelude.js"));
52
+ exports.CachePrelude = CachePrelude;
53
+ var _DiscordGateway = /*#__PURE__*/require("./DiscordGateway.js");
54
+ var _DiscordWS = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DiscordGateway/DiscordWS.js"));
55
+ var DiscordWS = _DiscordWS;
56
+ exports.DiscordWS = _DiscordWS;
57
+ var Shard = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DiscordGateway/Shard.js"));
58
+ exports.Shard = Shard;
59
+ var _StateStore = /*#__PURE__*/require("./DiscordGateway/Shard/StateStore.js");
60
+ var SendEvent = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DiscordGateway/Shard/sendEvents.js"));
61
+ exports.SendEvent = SendEvent;
62
+ var _ShardStore = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DiscordGateway/ShardStore.js"));
63
+ var ShardStore = _ShardStore;
64
+ exports.ShardStore = _ShardStore;
65
+ var _DiscordREST = /*#__PURE__*/require("./DiscordREST.js");
66
+ var _gateway = /*#__PURE__*/require("./Interactions/gateway.js");
67
+ var _RateLimit = /*#__PURE__*/require("./RateLimit.js");
68
+ var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
69
+ 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); }
70
+ const DiscordLive = exports.DiscordLive = /*#__PURE__*/Layer.mergeAll(_RateLimit.RateLimiterLive, _DiscordGateway.DiscordGatewayLive).pipe(/*#__PURE__*/Layer.provideMerge(_DiscordREST.DiscordRESTLive), /*#__PURE__*/Layer.provide(_DiscordWS.JsonDiscordWSCodecLive), /*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive), /*#__PURE__*/Layer.provide(_ShardStore.MemoryShardStoreLive), /*#__PURE__*/Layer.provide(_StateStore.ShardStateStore.MemoryLive));
71
+ const DiscordIxLive = exports.DiscordIxLive = /*#__PURE__*/_gateway.InteractionsRegistryLive.pipe(/*#__PURE__*/Layer.provideMerge(DiscordLive));
72
+ //# sourceMappingURL=gateway.js.map
package/gateway.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gateway.js","names":["CachePrelude","_interopRequireWildcard","require","exports","_DiscordGateway","_DiscordWS","DiscordWS","Shard","_StateStore","SendEvent","_ShardStore","ShardStore","_DiscordREST","_gateway","_RateLimit","Layer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DiscordLive","mergeAll","RateLimiterLive","DiscordGatewayLive","pipe","provideMerge","DiscordRESTLive","provide","JsonDiscordWSCodecLive","MemoryRateLimitStoreLive","MemoryShardStoreLive","ShardStateStore","MemoryLive","DiscordIxLive","InteractionsRegistryLive"],"sources":["./src/gateway.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,gBAAAC,uBAAA,cAAAC,OAAA;AAAkDC,OAAA,CAAAH,YAAA,GAAAA,YAAA;AAElD,IAAAI,eAAA,gBAAAF,OAAA;AACA,IAAAG,UAAA,gBAAAJ,uBAAA,cAAAC,OAAA;AAA0D,IAAAI,SAAA,GAAAD,UAAA;AAAAF,OAAA,CAAAG,SAAA,GAAAD,UAAA;AAE1D,IAAAE,KAAA,gBAAAN,uBAAA,cAAAC,OAAA;AAAkDC,OAAA,CAAAI,KAAA,GAAAA,KAAA;AAClD,IAAAC,WAAA,gBAAAN,OAAA;AACA,IAAAO,SAAA,gBAAAR,uBAAA,cAAAC,OAAA;AAAiEC,OAAA,CAAAM,SAAA,GAAAA,SAAA;AACjE,IAAAC,WAAA,gBAAAT,uBAAA,cAAAC,OAAA;AAA4D,IAAAS,UAAA,GAAAD,WAAA;AAAAP,OAAA,CAAAQ,UAAA,GAAAD,WAAA;AAG5D,IAAAE,YAAA,gBAAAV,OAAA;AAEA,IAAAW,QAAA,gBAAAX,OAAA;AAEA,IAAAY,UAAA,gBAAAZ,OAAA;AACA,IAAAa,KAAA,gBAAAd,uBAAA,cAAAC,OAAA;AAAqC,SAAAD,wBAAAe,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAe,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;AAiB9B,MAAMkB,WAAW,GAAAhC,OAAA,CAAAgC,WAAA,gBAIpBpB,KAAK,CAACqB,QAAQ,CAACC,0BAAe,EAAEC,kCAAkB,CAAC,CAACC,IAAI,cAC1DxB,KAAK,CAACyB,YAAY,CAACC,4BAAe,CAAC,eACnC1B,KAAK,CAAC2B,OAAO,CAACC,iCAAsB,CAAC,eACrC5B,KAAK,CAAC2B,OAAO,CAACE,mCAAwB,CAAC,eACvC7B,KAAK,CAAC2B,OAAO,CAACG,gCAAoB,CAAC,eACnC9B,KAAK,CAAC2B,OAAO,CAACI,2BAAe,CAACC,UAAU,CAAC,CAC1C;AAEM,MAAMC,aAAa,GAAA7C,OAAA,CAAA6C,aAAA,gBAItBC,iCAAwB,CAACV,IAAI,cAACxB,KAAK,CAACyB,YAAY,CAACL,WAAW,CAAC,CAAC","ignoreList":[]}
package/index.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import type { HttpClient } from "effect/unstable/http/HttpClient";
2
+ import * as Cache from "./Cache.ts";
3
+ import * as DiscordConfig from "./DiscordConfig.ts";
4
+ import type { DiscordREST } from "./DiscordREST.ts";
5
+ import * as Flags from "./Helpers/flags.ts";
6
+ import * as Intents from "./Helpers/intents.ts";
7
+ import * as IxHelpers from "./Helpers/interactions.ts";
8
+ import * as Members from "./Helpers/members.ts";
9
+ import * as Perms from "./Helpers/permissions.ts";
10
+ import * as UI from "./Helpers/ui.ts";
11
+ import * as Ix from "./Interactions/index.ts";
12
+ import * as Discord from "./types.ts";
13
+ import * as Layer from "effect/Layer";
14
+ export { DiscordREST, DiscordRESTLive } from "./DiscordREST.ts";
15
+ export { type BucketDetails, MemoryRateLimitStoreLive, RateLimitStore, RateLimiter, RateLimiterLive, } from "./RateLimit.ts";
16
+ export { Cache, Discord, DiscordConfig, Flags, Intents, Ix, IxHelpers, Members, Perms, UI, };
17
+ export declare const DiscordRESTMemoryLive: Layer.Layer<DiscordREST, never, DiscordConfig.DiscordConfig | HttpClient>;
18
+ //# 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,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,KAAK,MAAM,YAAY,CAAA;AACnC,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAA;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAEnD,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;AACrC,OAAO,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAE7C,OAAO,KAAK,OAAO,MAAM,YAAY,CAAA;AACrC,OAAO,KAAK,KAAK,MAAM,cAAc,CAAA;AAErC,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAE/D,OAAO,EACL,KAAK,aAAa,EAClB,wBAAwB,EACxB,cAAc,EACd,WAAW,EACX,eAAe,GAChB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EACL,KAAK,EACL,OAAO,EACP,aAAa,EACb,KAAK,EACL,OAAO,EACP,EAAE,EACF,SAAS,EACT,OAAO,EACP,KAAK,EACL,EAAE,GACH,CAAA;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,KAAK,CAC7C,WAAW,EACX,KAAK,EACL,aAAa,CAAC,aAAa,GAAG,UAAU,CACuB,CAAA"}
package/index.js ADDED
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.DiscordConfig = exports.Discord = exports.Cache = void 0;
7
+ Object.defineProperty(exports, "DiscordREST", {
8
+ enumerable: true,
9
+ get: function () {
10
+ return _DiscordREST.DiscordREST;
11
+ }
12
+ });
13
+ Object.defineProperty(exports, "DiscordRESTLive", {
14
+ enumerable: true,
15
+ get: function () {
16
+ return _DiscordREST.DiscordRESTLive;
17
+ }
18
+ });
19
+ exports.Members = exports.IxHelpers = exports.Ix = exports.Intents = exports.Flags = exports.DiscordRESTMemoryLive = void 0;
20
+ Object.defineProperty(exports, "MemoryRateLimitStoreLive", {
21
+ enumerable: true,
22
+ get: function () {
23
+ return _RateLimit.MemoryRateLimitStoreLive;
24
+ }
25
+ });
26
+ exports.Perms = void 0;
27
+ Object.defineProperty(exports, "RateLimitStore", {
28
+ enumerable: true,
29
+ get: function () {
30
+ return _RateLimit.RateLimitStore;
31
+ }
32
+ });
33
+ Object.defineProperty(exports, "RateLimiter", {
34
+ enumerable: true,
35
+ get: function () {
36
+ return _RateLimit.RateLimiter;
37
+ }
38
+ });
39
+ Object.defineProperty(exports, "RateLimiterLive", {
40
+ enumerable: true,
41
+ get: function () {
42
+ return _RateLimit.RateLimiterLive;
43
+ }
44
+ });
45
+ exports.UI = void 0;
46
+ var Cache = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Cache.js"));
47
+ exports.Cache = Cache;
48
+ var DiscordConfig = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./DiscordConfig.js"));
49
+ exports.DiscordConfig = DiscordConfig;
50
+ var _DiscordREST = /*#__PURE__*/require("./DiscordREST.js");
51
+ var Flags = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/flags.js"));
52
+ exports.Flags = Flags;
53
+ var Intents = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/intents.js"));
54
+ exports.Intents = Intents;
55
+ var IxHelpers = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/interactions.js"));
56
+ exports.IxHelpers = IxHelpers;
57
+ var Members = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/members.js"));
58
+ exports.Members = Members;
59
+ var Perms = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/permissions.js"));
60
+ exports.Perms = Perms;
61
+ var UI = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Helpers/ui.js"));
62
+ exports.UI = UI;
63
+ var Ix = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./Interactions/index.js"));
64
+ exports.Ix = Ix;
65
+ var _RateLimit = /*#__PURE__*/require("./RateLimit.js");
66
+ var Discord = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("./types.js"));
67
+ exports.Discord = Discord;
68
+ var Layer = /*#__PURE__*/_interopRequireWildcard(/*#__PURE__*/require("effect/Layer"));
69
+ 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); }
70
+ const DiscordRESTMemoryLive = exports.DiscordRESTMemoryLive = /*#__PURE__*/_DiscordREST.DiscordRESTLive.pipe(/*#__PURE__*/Layer.provide(_RateLimit.MemoryRateLimitStoreLive));
71
+ //# sourceMappingURL=index.js.map
package/index.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["Cache","_interopRequireWildcard","require","exports","DiscordConfig","_DiscordREST","Flags","Intents","IxHelpers","Members","Perms","UI","Ix","_RateLimit","Discord","Layer","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DiscordRESTMemoryLive","DiscordRESTLive","pipe","provide","MemoryRateLimitStoreLive"],"sources":["./src/index.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,KAAA,gBAAAC,uBAAA,cAAAC,OAAA;AAAmCC,OAAA,CAAAH,KAAA,GAAAA,KAAA;AACnC,IAAAI,aAAA,gBAAAH,uBAAA,cAAAC,OAAA;AAAmDC,OAAA,CAAAC,aAAA,GAAAA,aAAA;AAEnD,IAAAC,YAAA,gBAAAH,OAAA;AACA,IAAAI,KAAA,gBAAAL,uBAAA,cAAAC,OAAA;AAA2CC,OAAA,CAAAG,KAAA,GAAAA,KAAA;AAC3C,IAAAC,OAAA,gBAAAN,uBAAA,cAAAC,OAAA;AAA+CC,OAAA,CAAAI,OAAA,GAAAA,OAAA;AAC/C,IAAAC,SAAA,gBAAAP,uBAAA,cAAAC,OAAA;AAAsDC,OAAA,CAAAK,SAAA,GAAAA,SAAA;AACtD,IAAAC,OAAA,gBAAAR,uBAAA,cAAAC,OAAA;AAA+CC,OAAA,CAAAM,OAAA,GAAAA,OAAA;AAC/C,IAAAC,KAAA,gBAAAT,uBAAA,cAAAC,OAAA;AAAiDC,OAAA,CAAAO,KAAA,GAAAA,KAAA;AACjD,IAAAC,EAAA,gBAAAV,uBAAA,cAAAC,OAAA;AAAqCC,OAAA,CAAAQ,EAAA,GAAAA,EAAA;AACrC,IAAAC,EAAA,gBAAAX,uBAAA,cAAAC,OAAA;AAA6CC,OAAA,CAAAS,EAAA,GAAAA,EAAA;AAC7C,IAAAC,UAAA,gBAAAX,OAAA;AACA,IAAAY,OAAA,gBAAAb,uBAAA,cAAAC,OAAA;AAAqCC,OAAA,CAAAW,OAAA,GAAAA,OAAA;AACrC,IAAAC,KAAA,gBAAAd,uBAAA,cAAAC,OAAA;AAAqC,SAAAD,wBAAAe,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAjB,uBAAA,YAAAA,CAAAe,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;AAyB9B,MAAMkB,qBAAqB,GAAAhC,OAAA,CAAAgC,qBAAA,gBAI9BC,4BAAe,CAACC,IAAI,cAACtB,KAAK,CAACuB,OAAO,CAACC,mCAAwB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,3 @@
1
+ export const createParentDriver = driver => driver;
2
+ export const createDriver = driver => driver;
3
+ //# sourceMappingURL=driver.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"driver.mjs","names":["createParentDriver","driver","createDriver"],"sources":["../../src/Cache/driver.ts"],"sourcesContent":[null],"mappings":"AAwBA,OAAO,MAAMA,kBAAkB,GAAUC,MAA+B,IACtEA,MAAM;AAWR,OAAO,MAAMC,YAAY,GAAUD,MAAyB,IAAKA,MAAM","ignoreList":[]}