commandkit 1.0.0-dev.20250529020123 → 1.0.0-dev.20250530015910

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 (391) hide show
  1. package/dist/ActionRow-CmTHbo2t.js +25 -0
  2. package/dist/ActionRow-CmTHbo2t.js.map +1 -0
  3. package/dist/ActionRow-D0wafJhZ.d.ts +16 -0
  4. package/dist/Button-Bl5nbwTS.d.ts +32 -0
  5. package/dist/ButtonKit-BSI7lCI0.d.ts +68 -0
  6. package/dist/ChannelSelectMenuKit-L15A2jpT.d.ts +51 -0
  7. package/dist/CommandKit-CDlCsGCx.d.ts +926 -0
  8. package/dist/CommandKit-DDrQtQns.js +3281 -0
  9. package/dist/CommandKit-DDrQtQns.js.map +1 -0
  10. package/dist/CommandKit.d.ts +33 -13
  11. package/dist/CommandKit.js +46 -16
  12. package/dist/CommandKitEventsChannel-B6LKgxmv.js +44 -0
  13. package/dist/CommandKitEventsChannel-B6LKgxmv.js.map +1 -0
  14. package/dist/CommandsRouter-BHaPno8o.js +127 -0
  15. package/dist/CommandsRouter-BHaPno8o.js.map +1 -0
  16. package/dist/CommandsRouter-C7X-eXE2.d.ts +67 -0
  17. package/dist/CompilerPlugin-XzuGixkC.js +32 -0
  18. package/dist/CompilerPlugin-XzuGixkC.js.map +1 -0
  19. package/dist/CompilerPluginRuntime-zFCCw1kM.js +70 -0
  20. package/dist/CompilerPluginRuntime-zFCCw1kM.js.map +1 -0
  21. package/dist/DefaultLogger-D3G0rGnV.d.ts +30 -0
  22. package/dist/EventInterceptor-D_oEWSnF.d.ts +84 -0
  23. package/dist/EventInterceptor-DtRINyTP.js +140 -0
  24. package/dist/EventInterceptor-DtRINyTP.js.map +1 -0
  25. package/dist/EventWorkerContext-C0e23GNY.d.ts +19 -0
  26. package/dist/EventWorkerContext-XZGSHn5F.js +45 -0
  27. package/dist/EventWorkerContext-XZGSHn5F.js.map +1 -0
  28. package/dist/EventsRouter-BacqK6z3.d.ts +90 -0
  29. package/dist/EventsRouter-CqnrlbjN.js +133 -0
  30. package/dist/EventsRouter-CqnrlbjN.js.map +1 -0
  31. package/dist/ILogger-BTMQuall.d.ts +11 -0
  32. package/dist/ILogger-DucYb0bG.js +0 -0
  33. package/dist/Logger-A3wjB7L1.d.ts +17 -0
  34. package/dist/MentionableSelectMenuKit-BiUSKUtZ.d.ts +51 -0
  35. package/dist/MessageCommandParser-B13Pkwo9.js +200 -0
  36. package/dist/MessageCommandParser-B13Pkwo9.js.map +1 -0
  37. package/dist/MessageCommandParser-tzroBwij.d.ts +62 -0
  38. package/dist/Modal-Cxm6cs5c.d.ts +58 -0
  39. package/dist/ModalKit-CKtQ8eXW.d.ts +66 -0
  40. package/dist/PluginCommon-DPqnQngK.js +48 -0
  41. package/dist/PluginCommon-DPqnQngK.js.map +1 -0
  42. package/dist/RoleSelectMenuKit-BSMKkru2.d.ts +51 -0
  43. package/dist/RuntimePlugin-CKsd83M3.js +130 -0
  44. package/dist/RuntimePlugin-CKsd83M3.js.map +1 -0
  45. package/dist/SelectMenu-b7jgrkjO.d.ts +36 -0
  46. package/dist/StringSelectMenuKit-B9FHTe48.d.ts +51 -0
  47. package/dist/UserSelectMenuKit-DiP0imyo.d.ts +51 -0
  48. package/dist/app/commands/AppCommandRunner.d.ts +33 -13
  49. package/dist/app/commands/AppCommandRunner.js +38 -3
  50. package/dist/app/commands/Context.d.ts +33 -13
  51. package/dist/app/commands/Context.js +40 -3
  52. package/dist/app/commands/MessageCommandParser.d.ts +2 -60
  53. package/dist/app/commands/MessageCommandParser.js +5 -2
  54. package/dist/app/commands/helpers.d.ts +2 -7
  55. package/dist/app/commands/helpers.js +4 -2
  56. package/dist/app/events/EventWorkerContext.d.ts +34 -28
  57. package/dist/app/events/EventWorkerContext.js +6 -2
  58. package/dist/app/handlers/AppCommandHandler.d.ts +33 -13
  59. package/dist/app/handlers/AppCommandHandler.js +38 -8
  60. package/dist/app/handlers/AppEventsHandler.d.ts +33 -13
  61. package/dist/app/handlers/AppEventsHandler.js +38 -3
  62. package/dist/app/index.d.ts +33 -15
  63. package/dist/app/index.js +51 -8
  64. package/dist/app/middleware/signals.d.ts +2 -18
  65. package/dist/app/middleware/signals.js +6 -2
  66. package/dist/app/register/CommandRegistrar.d.ts +33 -13
  67. package/dist/app/register/CommandRegistrar.js +38 -3
  68. package/dist/app/router/CommandsRouter.d.ts +2 -65
  69. package/dist/app/router/CommandsRouter.js +3 -2
  70. package/dist/app/router/EventsRouter.d.ts +2 -88
  71. package/dist/app/router/EventsRouter.js +3 -2
  72. package/dist/app/router/index.d.ts +4 -3
  73. package/dist/app/router/index.js +6 -2
  74. package/dist/app-CXCbKsPz.js +0 -0
  75. package/dist/app-process-uCX52YaE.js +48 -0
  76. package/dist/app-process-uCX52YaE.js.map +1 -0
  77. package/dist/build-Bkb5t3XA.js +122 -0
  78. package/dist/build-Bkb5t3XA.js.map +1 -0
  79. package/dist/chunk-nOFOJqeH.js +30 -0
  80. package/dist/cli/app-process.d.ts +5 -3
  81. package/dist/cli/app-process.js +8 -3
  82. package/dist/cli/build.d.ts +46 -21
  83. package/dist/cli/build.js +40 -48
  84. package/dist/cli/common.d.ts +39 -19
  85. package/dist/cli/common.js +13 -10
  86. package/dist/cli/development.d.ts +3 -1
  87. package/dist/cli/development.js +185 -50
  88. package/dist/cli/development.js.map +1 -1
  89. package/dist/cli/env.d.ts +7 -5
  90. package/dist/cli/env.js +9 -2
  91. package/dist/cli/generators.d.ts +3 -1
  92. package/dist/cli/generators.js +64 -15
  93. package/dist/cli/generators.js.map +1 -1
  94. package/dist/cli/information.d.ts +3 -1
  95. package/dist/cli/information.js +110 -5
  96. package/dist/cli/information.js.map +1 -1
  97. package/dist/cli/init.d.ts +2 -10
  98. package/dist/cli/init.js +4 -99
  99. package/dist/cli/parse-env.d.ts +3 -1
  100. package/dist/cli/parse-env.js +53 -1
  101. package/dist/cli/parse-env.js.map +1 -1
  102. package/dist/cli/production.d.ts +5 -3
  103. package/dist/cli/production.js +68 -46
  104. package/dist/cli/production.js.map +1 -1
  105. package/dist/cli/type-checker.d.ts +3 -1
  106. package/dist/cli/type-checker.js +7 -5
  107. package/dist/cli/utils.d.ts +4 -2
  108. package/dist/cli/utils.js +3 -2
  109. package/dist/colors-Cd4Oz-r-.js +14 -0
  110. package/dist/colors-Cd4Oz-r-.js.map +1 -0
  111. package/dist/common-CcfjYnPG.js +0 -0
  112. package/dist/common-CeO-vn8Y.js +14 -0
  113. package/dist/common-CeO-vn8Y.js.map +1 -0
  114. package/dist/common-DirpDCa6.js +182 -0
  115. package/dist/common-DirpDCa6.js.map +1 -0
  116. package/dist/common-pvPJVTfe.d.ts +25 -0
  117. package/dist/components/common/EventInterceptor.d.ts +2 -82
  118. package/dist/components/common/EventInterceptor.js +3 -2
  119. package/dist/components/common/element.d.ts +5 -29
  120. package/dist/components/common/element.js +10 -2
  121. package/dist/components/common/types.d.ts +2 -3
  122. package/dist/components/common/types.js +1 -2
  123. package/dist/components/index.d.ts +24 -22
  124. package/dist/components/index.js +72 -16
  125. package/dist/components/v1/action-row/ActionRow.d.ts +6 -18
  126. package/dist/components/v1/action-row/ActionRow.js +3 -2
  127. package/dist/components/v1/button/Button.d.ts +7 -31
  128. package/dist/components/v1/button/Button.js +38 -16
  129. package/dist/components/v1/button/ButtonKit.d.ts +3 -66
  130. package/dist/components/v1/button/ButtonKit.js +38 -16
  131. package/dist/components/v1/modal/Modal.d.ts +7 -57
  132. package/dist/components/v1/modal/Modal.js +41 -16
  133. package/dist/components/v1/modal/ModalKit.d.ts +3 -64
  134. package/dist/components/v1/modal/ModalKit.js +38 -16
  135. package/dist/components/v1/select-menu/ChannelSelectMenuKit.d.ts +4 -49
  136. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +38 -16
  137. package/dist/components/v1/select-menu/MentionableSelectMenuKit.d.ts +4 -49
  138. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +38 -16
  139. package/dist/components/v1/select-menu/RoleSelectMenuKit.d.ts +4 -49
  140. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +38 -16
  141. package/dist/components/v1/select-menu/SelectMenu.d.ts +10 -40
  142. package/dist/components/v1/select-menu/SelectMenu.js +43 -16
  143. package/dist/components/v1/select-menu/StringSelectMenuKit.d.ts +4 -49
  144. package/dist/components/v1/select-menu/StringSelectMenuKit.js +38 -16
  145. package/dist/components/v1/select-menu/UserSelectMenuKit.d.ts +4 -49
  146. package/dist/components/v1/select-menu/UserSelectMenuKit.js +38 -16
  147. package/dist/components/v1/select-menu/common.d.ts +3 -23
  148. package/dist/components/v1/select-menu/common.js +1 -2
  149. package/dist/components/v2/common.d.ts +5 -3
  150. package/dist/components/v2/common.js +3 -2
  151. package/dist/components/v2/container.d.ts +2 -8
  152. package/dist/components/v2/container.js +4 -2
  153. package/dist/components/v2/file.d.ts +2 -8
  154. package/dist/components/v2/file.js +3 -2
  155. package/dist/components/v2/index.d.ts +8 -7
  156. package/dist/components/v2/index.js +17 -2
  157. package/dist/components/v2/media-gallery.d.ts +2 -15
  158. package/dist/components/v2/media-gallery.js +5 -2
  159. package/dist/components/v2/section.d.ts +2 -16
  160. package/dist/components/v2/section.js +5 -2
  161. package/dist/components/v2/separator.d.ts +2 -7
  162. package/dist/components/v2/separator.js +3 -2
  163. package/dist/components/v2/text-display.d.ts +2 -10
  164. package/dist/components/v2/text-display.js +3 -2
  165. package/dist/config/config.d.ts +36 -28
  166. package/dist/config/config.js +39 -3
  167. package/dist/config/default.d.ts +37 -17
  168. package/dist/config/default.js +38 -3
  169. package/dist/config/loader.d.ts +37 -17
  170. package/dist/config/loader.js +39 -11
  171. package/dist/config/types.d.ts +34 -83
  172. package/dist/config/types.js +0 -2
  173. package/dist/config/utils.d.ts +35 -26
  174. package/dist/config/utils.js +15 -1
  175. package/dist/config/utils.js.map +1 -1
  176. package/dist/config-Dyb-zl9w.d.ts +17 -0
  177. package/dist/constants-Ce6w4OFe.d.ts +17 -0
  178. package/dist/constants-DOPSzXI0.js +47 -0
  179. package/dist/constants-DOPSzXI0.js.map +1 -0
  180. package/dist/container-CpuiLsZM.js +33 -0
  181. package/dist/container-CpuiLsZM.js.map +1 -0
  182. package/dist/container-CwEATQy2.d.ts +10 -0
  183. package/dist/context/async-context.d.ts +33 -13
  184. package/dist/context/async-context.js +44 -16
  185. package/dist/context/environment.d.ts +33 -13
  186. package/dist/context/environment.js +41 -3
  187. package/dist/element-D_nyVwgB.d.ts +30 -0
  188. package/dist/element-hdSqnIpC.js +62 -0
  189. package/dist/element-hdSqnIpC.js.map +1 -0
  190. package/dist/env-DKFSgEcR.js +68 -0
  191. package/dist/env-DKFSgEcR.js.map +1 -0
  192. package/dist/error-codes-C_UO39jz.js +53 -0
  193. package/dist/error-codes-C_UO39jz.js.map +1 -0
  194. package/dist/events/CommandKitEventsChannel.d.ts +33 -13
  195. package/dist/events/CommandKitEventsChannel.js +3 -2
  196. package/dist/feature-flags-BJp6kYmi.js +85 -0
  197. package/dist/feature-flags-BJp6kYmi.js.map +1 -0
  198. package/dist/file-BdyYwkaI.d.ts +10 -0
  199. package/dist/file-DE69SSOP.js +18 -0
  200. package/dist/file-DE69SSOP.js.map +1 -0
  201. package/dist/flags/feature-flags.d.ts +33 -13
  202. package/dist/flags/feature-flags.js +40 -16
  203. package/dist/flags/store.d.ts +33 -13
  204. package/dist/flags/store.js +3 -2
  205. package/dist/helpers-CswC9gKF.js +25 -0
  206. package/dist/helpers-CswC9gKF.js.map +1 -0
  207. package/dist/helpers-DAmE106r.d.ts +9 -0
  208. package/dist/index-CUPkUUOR.d.ts +1 -0
  209. package/dist/index-Dw5cCt-A.d.ts +1 -0
  210. package/dist/index-E7Wvm5uX.d.ts +1 -0
  211. package/dist/index.d.ts +43 -51
  212. package/dist/index.js +147 -102
  213. package/dist/index.js.map +1 -1
  214. package/dist/init--p1nl1NO.d.ts +13 -0
  215. package/dist/init-D2me-V0n.js +67 -0
  216. package/dist/init-D2me-V0n.js.map +1 -0
  217. package/dist/logger/DefaultLogger.d.ts +3 -28
  218. package/dist/logger/DefaultLogger.js +38 -3
  219. package/dist/logger/ILogger.d.ts +2 -9
  220. package/dist/logger/ILogger.js +1 -2
  221. package/dist/logger/Logger.d.ts +3 -15
  222. package/dist/logger/Logger.js +39 -3
  223. package/dist/media-gallery-DCu02VXc.d.ts +17 -0
  224. package/dist/media-gallery-nUEHqKVF.js +36 -0
  225. package/dist/media-gallery-nUEHqKVF.js.map +1 -0
  226. package/dist/plugins/CompilerPlugin.d.ts +33 -13
  227. package/dist/plugins/CompilerPlugin.js +5 -2
  228. package/dist/plugins/PluginCommon.d.ts +33 -13
  229. package/dist/plugins/PluginCommon.js +5 -2
  230. package/dist/plugins/RuntimePlugin.d.ts +33 -13
  231. package/dist/plugins/RuntimePlugin.js +5 -2
  232. package/dist/plugins/index.d.ts +33 -15
  233. package/dist/plugins/index.js +44 -3
  234. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +33 -13
  235. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +38 -3
  236. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +33 -13
  237. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +3 -3
  238. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +33 -26
  239. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +38 -3
  240. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +40 -19
  241. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +38 -3
  242. package/dist/plugins/plugin-runtime/runtime.d.ts +33 -13
  243. package/dist/plugins/plugin-runtime/runtime.js +1 -2
  244. package/dist/plugins/plugin-runtime/types.d.ts +2 -72
  245. package/dist/plugins/plugin-runtime/types.js +1 -2
  246. package/dist/plugins/types.d.ts +33 -13
  247. package/dist/plugins/types.js +1 -2
  248. package/dist/resolve-file-url-pO9_rLft.js +23 -0
  249. package/dist/resolve-file-url-pO9_rLft.js.map +1 -0
  250. package/dist/router-Dn35v30f.js +0 -0
  251. package/dist/runtime-ByJtSXs_.js +0 -0
  252. package/dist/section-D6t7tyEZ.js +40 -0
  253. package/dist/section-D6t7tyEZ.js.map +1 -0
  254. package/dist/section-fktaECHL.d.ts +18 -0
  255. package/dist/separator-CuesaLrC.d.ts +8 -0
  256. package/dist/separator-DYAFK-Jj.js +17 -0
  257. package/dist/separator-DYAFK-Jj.js.map +1 -0
  258. package/dist/signals-Bp0bzjE6.js +46 -0
  259. package/dist/signals-Bp0bzjE6.js.map +1 -0
  260. package/dist/signals-DUoWkeZ7.d.ts +20 -0
  261. package/dist/store-Ci6ib2C9.js +14 -0
  262. package/dist/store-Ci6ib2C9.js.map +1 -0
  263. package/dist/text-display-DNMwmGHJ.d.ts +12 -0
  264. package/dist/text-display-Dy6JHB5X.js +19 -0
  265. package/dist/text-display-Dy6JHB5X.js.map +1 -0
  266. package/dist/type-checker-FOYNSGX0.js +84 -0
  267. package/dist/type-checker-FOYNSGX0.js.map +1 -0
  268. package/dist/types-0ADL_reY.d.ts +73 -0
  269. package/dist/types-B5VPP9ig.js +0 -0
  270. package/dist/types-BDwNROY2.d.ts +74 -0
  271. package/dist/types-Bq0EWaM3.js +0 -0
  272. package/dist/types-CJ-XvOFN.d.ts +5 -0
  273. package/dist/types-Cdh4uaFR.js +0 -0
  274. package/dist/types-package-DRhFn59I.js +66 -0
  275. package/dist/types-package-DRhFn59I.js.map +1 -0
  276. package/dist/types.d.ts +33 -13
  277. package/dist/types.js +0 -2
  278. package/dist/utilities-5Jw5BdE1.d.ts +42 -0
  279. package/dist/utils/clone.d.ts +3 -1
  280. package/dist/utils/clone.js +8 -1
  281. package/dist/utils/clone.js.map +1 -1
  282. package/dist/utils/colors.d.ts +5 -3
  283. package/dist/utils/colors.js +4 -2
  284. package/dist/utils/constants.d.ts +2 -15
  285. package/dist/utils/constants.js +7 -2
  286. package/dist/utils/dev-hooks.d.ts +33 -13
  287. package/dist/utils/dev-hooks.js +38 -3
  288. package/dist/utils/error-codes.d.ts +9 -7
  289. package/dist/utils/error-codes.js +6 -2
  290. package/dist/utils/get-paths.d.ts +3 -1
  291. package/dist/utils/get-paths.js +33 -1
  292. package/dist/utils/get-paths.js.map +1 -1
  293. package/dist/utils/resolve-file-url.d.ts +3 -1
  294. package/dist/utils/resolve-file-url.js +3 -2
  295. package/dist/utils/types-package.d.ts +3 -1
  296. package/dist/utils/types-package.js +5 -14
  297. package/dist/utils/utilities.d.ts +2 -40
  298. package/dist/utils/utilities.js +44 -3
  299. package/dist/utils/warn-unstable.d.ts +3 -1
  300. package/dist/utils/warn-unstable.js +4 -2
  301. package/dist/utils-C0V7zD7R.d.ts +10 -0
  302. package/dist/utils-IYtoeTur.js +19 -0
  303. package/dist/utils-IYtoeTur.js.map +1 -0
  304. package/dist/v2-DofkPKHs.js +0 -0
  305. package/dist/version-DnRxh8U8.js +15 -0
  306. package/dist/version-DnRxh8U8.js.map +1 -0
  307. package/dist/version-SMsmj3M1.d.ts +8 -0
  308. package/dist/version.d.ts +2 -6
  309. package/dist/version.js +3 -2
  310. package/dist/warn-unstable-V20WCBDd.js +26 -0
  311. package/dist/warn-unstable-V20WCBDd.js.map +1 -0
  312. package/package.json +5 -4
  313. package/dist/CommandKit-jZCy9fZX.d.ts +0 -914
  314. package/dist/CommandKit.js.map +0 -1
  315. package/dist/app/commands/AppCommandRunner.js.map +0 -1
  316. package/dist/app/commands/Context.js.map +0 -1
  317. package/dist/app/commands/MessageCommandParser.js.map +0 -1
  318. package/dist/app/commands/helpers.js.map +0 -1
  319. package/dist/app/events/EventWorkerContext.js.map +0 -1
  320. package/dist/app/handlers/AppCommandHandler.js.map +0 -1
  321. package/dist/app/handlers/AppEventsHandler.js.map +0 -1
  322. package/dist/app/index.js.map +0 -1
  323. package/dist/app/middleware/signals.js.map +0 -1
  324. package/dist/app/register/CommandRegistrar.js.map +0 -1
  325. package/dist/app/router/CommandsRouter.js.map +0 -1
  326. package/dist/app/router/EventsRouter.js.map +0 -1
  327. package/dist/app/router/index.js.map +0 -1
  328. package/dist/cli/app-process.js.map +0 -1
  329. package/dist/cli/build.js.map +0 -1
  330. package/dist/cli/common.js.map +0 -1
  331. package/dist/cli/env.js.map +0 -1
  332. package/dist/cli/init.js.map +0 -1
  333. package/dist/cli/type-checker.js.map +0 -1
  334. package/dist/cli/utils.js.map +0 -1
  335. package/dist/components/common/EventInterceptor.js.map +0 -1
  336. package/dist/components/common/element.js.map +0 -1
  337. package/dist/components/common/types.js.map +0 -1
  338. package/dist/components/index.js.map +0 -1
  339. package/dist/components/v1/action-row/ActionRow.js.map +0 -1
  340. package/dist/components/v1/button/Button.js.map +0 -1
  341. package/dist/components/v1/button/ButtonKit.js.map +0 -1
  342. package/dist/components/v1/modal/Modal.js.map +0 -1
  343. package/dist/components/v1/modal/ModalKit.js.map +0 -1
  344. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js.map +0 -1
  345. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js.map +0 -1
  346. package/dist/components/v1/select-menu/RoleSelectMenuKit.js.map +0 -1
  347. package/dist/components/v1/select-menu/SelectMenu.js.map +0 -1
  348. package/dist/components/v1/select-menu/StringSelectMenuKit.js.map +0 -1
  349. package/dist/components/v1/select-menu/UserSelectMenuKit.js.map +0 -1
  350. package/dist/components/v1/select-menu/common.js.map +0 -1
  351. package/dist/components/v2/common.js.map +0 -1
  352. package/dist/components/v2/container.js.map +0 -1
  353. package/dist/components/v2/file.js.map +0 -1
  354. package/dist/components/v2/index.js.map +0 -1
  355. package/dist/components/v2/media-gallery.js.map +0 -1
  356. package/dist/components/v2/section.js.map +0 -1
  357. package/dist/components/v2/separator.js.map +0 -1
  358. package/dist/components/v2/text-display.js.map +0 -1
  359. package/dist/config/config.js.map +0 -1
  360. package/dist/config/default.js.map +0 -1
  361. package/dist/config/loader.js.map +0 -1
  362. package/dist/config/types.js.map +0 -1
  363. package/dist/context/async-context.js.map +0 -1
  364. package/dist/context/environment.js.map +0 -1
  365. package/dist/events/CommandKitEventsChannel.js.map +0 -1
  366. package/dist/flags/feature-flags.js.map +0 -1
  367. package/dist/flags/store.js.map +0 -1
  368. package/dist/logger/DefaultLogger.js.map +0 -1
  369. package/dist/logger/ILogger.js.map +0 -1
  370. package/dist/logger/Logger.js.map +0 -1
  371. package/dist/plugins/CompilerPlugin.js.map +0 -1
  372. package/dist/plugins/PluginCommon.js.map +0 -1
  373. package/dist/plugins/RuntimePlugin.js.map +0 -1
  374. package/dist/plugins/index.js.map +0 -1
  375. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js.map +0 -1
  376. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js.map +0 -1
  377. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js.map +0 -1
  378. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js.map +0 -1
  379. package/dist/plugins/plugin-runtime/runtime.js.map +0 -1
  380. package/dist/plugins/plugin-runtime/types.js.map +0 -1
  381. package/dist/plugins/types.js.map +0 -1
  382. package/dist/types.js.map +0 -1
  383. package/dist/utils/colors.js.map +0 -1
  384. package/dist/utils/constants.js.map +0 -1
  385. package/dist/utils/dev-hooks.js.map +0 -1
  386. package/dist/utils/error-codes.js.map +0 -1
  387. package/dist/utils/resolve-file-url.js.map +0 -1
  388. package/dist/utils/types-package.js.map +0 -1
  389. package/dist/utils/utilities.js.map +0 -1
  390. package/dist/utils/warn-unstable.js.map +0 -1
  391. package/dist/version.js.map +0 -1
@@ -1,16 +1,38 @@
1
- "use strict";var On=Object.create;var Q=Object.defineProperty;var Ln=Object.getOwnPropertyDescriptor;var $n=Object.getOwnPropertyNames;var Fn=Object.getPrototypeOf,Un=Object.prototype.hasOwnProperty;var Dt=o=>{throw TypeError(o)};var Nn=(o,e,t)=>e in o?Q(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var i=(o,e)=>Q(o,"name",{value:e,configurable:!0});var Hn=(o,e)=>{for(var t in e)Q(o,t,{get:e[t],enumerable:!0})},Tt=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $n(e))!Un.call(o,r)&&r!==t&&Q(o,r,{get:()=>e[r],enumerable:!(n=Ln(e,r))||n.enumerable});return o};var V=(o,e,t)=>(t=o!=null?On(Fn(o)):{},Tt(e||!o||!o.__esModule?Q(t,"default",{value:o,enumerable:!0}):t,o)),Gn=o=>Tt(Q({},"__esModule",{value:!0}),o);var x=(o,e,t)=>Nn(o,typeof e!="symbol"?e+"":e,t),_e=(o,e,t)=>e.has(o)||Dt("Cannot "+t);var p=(o,e,t)=>(_e(o,e,"read from private field"),t?t.call(o):e.get(o)),y=(o,e,t)=>e.has(o)?Dt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),E=(o,e,t,n)=>(_e(o,e,"write to private field"),n?n.call(o,t):e.set(o,t),t),w=(o,e,t)=>(_e(o,e,"access private method"),t);var br={};Hn(br,{MentionableSelectMenuKit:()=>fe});module.exports=Gn(br);var Ge=require("discord.js");var Kn=require("async_hooks");var vn=V(require("events"));var At=require("picocolors"),h=(0,At.createColors)(!0);var jn=require("discord.js");var We=require("discord.js");var _n=require("discord.js");var kt=require("discord.js");var Ve=require("discord.js");var Bt=require("discord.js");var Ot=require("discord.js");var Lt=require("discord.js");var $t=require("discord.js");var Wn=require("discord.js");var q=require("discord.js");var Vn=require("discord.js");var Ut=require("discord.js");var he=require("discord.js");var qn=require("discord.js");var zn=require("discord.js");var Nt=new Set;function Jn(o,e="CommandKitWarning"){process.emitWarning(o,{code:e})}i(Jn,"emitWarning");function qe(o){Nt.has(o)||(Nt.add(o),Jn(`${o} is unstable and may change in future versions.`,"CommandKitUnstableWarning"))}i(qe,"warnUnstable");function Ht(o){return qe("CommandKit JSX"),Array.isArray(o.children)?o.children.flat():[o.children]}i(Ht,"Fragment");function Gt(o,e,...t){return qe("CommandKit JSX"),o({...e,children:e.children??t})}i(Gt,"createElement");var ge,jt,ze=class ze{constructor(e){this.client=e;y(this,ge);x(this,"subscribers",new Map);x(this,"globalHandlers",new Map);x(this,"cleanupTimer",null);w(this,ge,jt).call(this)}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null);for(let[e,t]of this.subscribers)for(let n of t)this.unsubscribe(e,n,"destroy");this.subscribers.clear(),this.globalHandlers.clear()}hasSubscribers(e){return this.subscribers.has(e)}getSubscriberCount(e){let t=this.subscribers.get(e);return(t==null?void 0:t.size)??0}hasGlobalHandlers(){return this.globalHandlers.size>0}getGlobalHandlersCount(){return this.subscribers.size}subscribe(e,t,n){return this.subscribers.has(e)||(this.subscribers.set(e,new Set),this.client.on(e,this.createGlobalHandler(e)),this.client.setMaxListeners(this.client.getMaxListeners()+1)),n??={},n.registeredAt=Date.now(),Reflect.set(t,"options",n),this.subscribers.get(e).add(t),()=>{this.unsubscribe(e,t)}}unsubscribe(e,t,n){var s,a;let r=this.subscribers.get(e);r&&(r.delete(t),r.size<1&&(this.subscribers.delete(e),this.client.removeListener(e,this.globalHandlers.get(e)),this.globalHandlers.delete(e),this.client.setMaxListeners(Math.max(this.client.getMaxListeners()-1,0))),(a=(s=Reflect.get(t,"options")).onEnd)==null||a.call(s,n??"unsubscribe"))}createGlobalHandler(e){if(this.globalHandlers.has(e))return this.globalHandlers.get(e);let t=i(async(...n)=>{let r=this.subscribers.get(e);if(r&&r.size>0)for(let s of r){let a=Reflect.get(s,"options");if(a.time&&Date.now()-a.registeredAt>a.time){this.unsubscribe(e,s,"time");continue}if(a.autoReset&&(a.registeredAt=Date.now()),!(a.filter&&!await a.filter(...n)))try{await s(...n)}catch(l){if(a.onError)await a.onError(l);else throw l}finally{a.once&&this.unsubscribe(e,s,"once")}}},"handler");return this.globalHandlers.set(e,t),t}};ge=new WeakSet,jt=i(function(){this.cleanupTimer&&clearInterval(this.cleanupTimer),this.cleanupTimer=setInterval(()=>{for(let[e,t]of this.subscribers)for(let n of t){let r=Reflect.get(n,"options");r.time&&Date.now()-r.registeredAt>r.time&&this.unsubscribe(e,n,"time")}},6e4).unref()},"#cleanupLoop"),i(ze,"EventInterceptor");var Ce=ze;var He=require("discord.js");var rt=require("fs"),ot=require("path");var ra=Symbol("kCommandKitCacheTag"),L=process.env.COMMANDKIT_IS_DEV==="true",oa=process.env.COMMANDKIT_IS_TEST==="true",ia=process.env.COMMANDKIT_BOOTSTRAP_MODE||"development",xe={ReloadCommands:"reload-commands",ReloadEvents:"reload-events",Unknown:"unknown"};var _t=require("crypto");var Ye=class Ye{constructor(e){this.options=e}id=(0,_t.randomUUID)();loadedAt=Date.now();async activate(e){}async deactivate(e){}};i(Ye,"PluginCommon");var Z=Ye;function Je(o){return o instanceof Z}i(Je,"isPlugin");var Xe=class Xe extends Z{type="compiler";async transform(e){return null}async resolve(e){return null}async onBuildStart(){}async onBuildEnd(){}};i(Xe,"CompilerPlugin");var ee=Xe;function Wt(o){return Je(o)&&o.type==="runtime"}i(Wt,"isRuntimePlugin");var Vt=require("discord.js");var M={ExitMiddleware:Symbol("kExitMiddleware"),ForwardedCommand:Symbol("kForwardedCommand"),InvalidCommandPrefix:Symbol("kInvalidCommandPrefix"),PluginCaptureHandle:Symbol("kPluginCaptureHandle")};function z(o){let e=new Error;return Reflect.set(e,"code",o),e}i(z,"createCommandKitError");function ye(o){if(!(o instanceof Error))return!1;let e=Reflect.get(o,"code");for(let t in M)if(M[t]===e)return!0;return!1}i(ye,"isCommandKitError");function F(o,e){if(!ye(o))return!1;let t=Reflect.get(o,"code");return t?Array.isArray(e)?e.includes(t):t===e:!1}i(F,"isErrorType");var Xn={autocomplete:"Autocomplete",messageContextMenu:"MessageContextMenu",userContextMenu:"UserContextMenu",chatInput:"ChatInputCommand",message:"Message"},Qn={0:h.blue,1:h.green,2:h.yellow,3:h.red,4:h.white},Zn={0:h.bgBlue,1:h.bgGreen,2:h.bgYellow,3:h.bgRed,4:h.bgWhite},be={vertical:"\u2502",horizontalDown:"\u252C",horizontalUp:"\u2534",verticalRight:"\u251C",corner:"\u2514"},Qe=class Qe{constructor(e=process.stdout,t=process.stderr){this.stdout=e;this.stderr=t;this.logger=new console.Console(this.stdout,this.stderr)}logger;_formatTime(e){let t=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),r=e.getSeconds().toString().padStart(2,"0"),s=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${r}.${s}`}_getContext(){let e=k();if(!e)return"";let t=e.variables.get("execHandlerKind"),n=e.variables.get("commandHandlerType"),r=e.variables.get("currentCommandName");if(!t&&!n)return"";let s=Xn[t];if(!s&&!n)return"";let a=e.variables.get("forwardedBy"),c=e.variables.get("forwardedTo"),l=r?h.magenta(`/${r}`)+" ":"",m=c?`${h.yellowBright(`(${a||r} \u2192 ${c})`)} `:"";return h.dim(`${be.vertical} `)+h.cyanBright(`${l}${m}${s?h.gray(`[${s}]`):""}`.trim())}_getLevelLabel(e){let t;switch(e){case 0:t="[DEBUG]";break;case 1:t="[INFO]";break;case 2:t="[WARN]";break;case 3:t="[ERROR]";break;default:t="[LOG]"}return`${Zn[e](h.whiteBright(` ${t} `))} `}_getPrefix(e){let t=this._formatTime(new Date);return`${this._getLevelLabel(e)}${h.dim(be.vertical)} ${h.dim(t)}`}_log(e,...t){let n=this._getPrefix(e),r=this._getContext(),s=Qn[e];r?this.logger.log(`${n}
2
- ${r} ${h.dim(be.corner)}`,...t.map(a=>s(a))):this.logger.log(`${n} ${h.dim(be.corner)}`,...t.map(a=>s(a)))}debug(...e){this._log(0,...e)}error(...e){this._log(3,...e)}log(...e){this._log(4,...e)}info(...e){this._log(1,...e)}warn(...e){this._log(2,...e)}};i(Qe,"DefaultLogger");var Ee=Qe;function er(o){let e=o;if(!(e!=null&&e.provider))throw new Error("A logger provider must be provided.");let t=["log","error","warn","info","debug"],n={configure(r){e=r}};for(let r of t)n[r]=(...s)=>{e.provider[r](...s)};return n}i(er,"createLogger");var C=er({provider:new Ee});var Ze=class Ze{constructor(e){this.commandkit=e}plugins=new Vt.Collection;getPlugins(){return this.plugins}getPlugin(e){return this.plugins.get(e)??null}async softRegisterPlugin(e){let t=e.name;if(!this.plugins.has(t))try{await e.activate(this),this.plugins.set(t,e)}catch(n){throw new Error(`Failed to activate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async registerPlugin(e){let t=e.name;if(this.plugins.has(t))throw new Error(`Plugin with name "${t}" already exists.`);try{await e.activate(this),this.plugins.set(t,e)}catch(n){throw new Error(`Failed to activate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async unregisterPlugin(e){let t=e.name;if(!this.plugins.has(t))throw new Error(`Plugin with name "${t}" does not exist.`);this.plugins.delete(t);try{await e.deactivate(this)}catch(n){throw new Error(`Failed to deactivate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async unregisterAllPlugins(){for(let e of this.plugins.values())await this.unregisterPlugin(e)}capture(){throw z(M.PluginCaptureHandle)}async execute(e){let t;for(let n of this.plugins.values())try{t=await e(this,n)}catch(r){if(F(r,M.PluginCaptureHandle))return!0;C.error(`Plugin "${n.name}" failed`,(r==null?void 0:r.stack)||r)}return t}};i(Ze,"CommandKitPluginRuntime");var ve=Ze;var tr=require("fs/promises");var et=class et extends ee{name="MacroPlugin";macroTransformer;async activate(){let e=await import("use-macro");this.macroTransformer=new e.MacroTransformer}async deactivate(){this.macroTransformer=null}async transform(e){if(!this.options.enabled)return null;let{contents:t,loader:n}=await this.macroTransformer.transform(e.contents.toString(),e.path);return{contents:t,loader:n}}};i(et,"MacroPlugin");var we=et;var qt={plugins:[new we({enabled:!0})],esbuildPlugins:[],compilerOptions:{macro:{development:!1}},static:!0,typescript:{ignoreBuildErrors:!1},distDir:"dist",env:{},sourceMap:{development:!0,production:!0},typedCommands:!0};var nr=qt;function Me(){return nr}i(Me,"getConfig");var zt=require("async_hooks");var rr=Symbol("commandkitEventWorker"),Jt=new zt.AsyncLocalStorage;function tt(o,e){return Reflect.set(o,rr,!0),Jt.run(o,e)}i(tt,"runInEventWorkerContext");var nt=null;function Yt(){if(nt)return nt;let o=(0,ot.join)(process.cwd(),L?".commandkit":Me().distDir);(0,rt.existsSync)(o)||(o=process.cwd());let e=["app"].map(t=>(0,ot.join)(o,t));for(let t of e)if((0,rt.existsSync)(t))return nt=t,t;return null}i(Yt,"findAppDirectory");var it=class it extends Error{constructor(){super("Event propagation stopped"),this.name="StopEventPropagationError"}};i(it,"StopEventPropagationError");var ae=it;var Rt=require("path");var S=require("discord.js");var Xt=V(require("path"));function se(o,e=!1){return`${"file://"+Xt.default.resolve(o).replace(/\\\\|\\/g,"/")}${e?`?ts=${Date.now()}`:""}`}i(se,"toFileURL");var D=require("discord.js");var J,te,le,st=class st{constructor(e,t,n){this.message=e;this.prefix=t;this.schema=n;y(this,J,null);y(this,te,null);y(this,le,[])}getArgs(){return this.parse(),p(this,le)}get options(){return p(this,te)||E(this,te,new at(this)),p(this,te)}getOption(e){var t;return(t=this.parse().options.find(n=>n.name===e))==null?void 0:t.value}getCommand(){return this.parse().command}getSubcommand(){return this.parse().subcommand}getSubcommandGroup(){return this.parse().subcommandGroup}getPrefix(){for(let e of this.prefix)if(this.message.content.startsWith(e))return e}getFullCommand(){return[this.getCommand(),this.getSubcommandGroup(),this.getSubcommand()].filter(e=>e).join(" ")}parse(){if(p(this,J))return p(this,J);let e=this.message.content,t=this.getPrefix();if(!t)throw z(M.InvalidCommandPrefix);let n=e.slice(t.length).trim().split(" "),r=n.shift();E(this,le,n);let s,a;if(r!=null&&r.includes(":")){let[,m,d]=r.split(":");!d&&m?a=m:d&&m&&(s=m,a=d)}let c=this.schema([r,s,a].filter(Boolean).join(" ").trim()),l=n.map(m=>{try{let[d,f]=m.split(":");if(!(d in c))return null;switch(c[d]){case D.ApplicationCommandOptionType.Boolean:return{name:d,value:f==="true"};case D.ApplicationCommandOptionType.Integer:return{name:d,value:parseInt(f,10)};case D.ApplicationCommandOptionType.Number:return{name:d,value:parseFloat(f)};case D.ApplicationCommandOptionType.String:return{name:d,value:f};case D.ApplicationCommandOptionType.User:return{name:d,value:this.message.mentions.users.find(g=>g.id===f.replace(/[<@!>]/g,""))};case D.ApplicationCommandOptionType.Channel:return{name:d,value:this.message.mentions.channels.find(g=>g.id===f.replace(/[<#>]/g,""))};case D.ApplicationCommandOptionType.Role:return{name:d,value:this.message.mentions.roles.find(g=>g.id===f.replace(/[<@&>]/g,""))};case D.ApplicationCommandOptionType.Attachment:return{name:d,value:this.message.attachments.find(g=>g.name===f)};default:return null}}catch{return null}}).filter(m=>m!==null);return E(this,J,{command:r,options:l,subcommand:a,subcommandGroup:s}),p(this,J)}};J=new WeakMap,te=new WeakMap,le=new WeakMap,i(st,"MessageCommandParser");var Ie=st,lt=class lt{constructor(e){this.parser=e}assertOption(e,t=!1){let n=this.parser.getOption(e);if(t&&n===void 0)throw new Error(`Option "${e}" is required.`);return n??null}getMember(e,t=!1){var s;let n=this.assertOption(e,t),r=(s=this.parser.message.guild)==null?void 0:s.members.cache.get(n==null?void 0:n.id);if(t&&!r)throw new Error(`Member "${e}" is required.`);return r??null}getAttachment(e,t=!1){return this.assertOption(e,t)}getBoolean(e,t=!1){return this.assertOption(e,t)}getNumber(e,t=!1){return this.assertOption(e,t)}getString(e,t=!1){return this.assertOption(e,t)}getInteger(e,t=!1){return this.assertOption(e,t)}getUser(e,t=!1){return this.assertOption(e,t)}getChannel(e,t=!1){return this.assertOption(e,t)}getRole(e,t=!1){return this.assertOption(e,t)}getMentionable(e,t=!1){let n=this.assertOption(e,t);if(n instanceof D.GuildMember||n instanceof D.User||n instanceof D.Role)return n;if(t)throw new Error(`Mentionable "${e}" is required.`);return null}getSubcommand(e=!1){let t=this.parser.getSubcommand();if(e&&t===void 0)throw new Error("Subcommand is required.");return t??null}getSubcommandGroup(e=!1){let t=this.parser.getSubcommandGroup();if(e&&t===void 0)throw new Error("Subcommand group is required.");return t??null}};i(lt,"MessageCommandOptions");var at=lt;var U=require("discord.js");var ct=class ct{constructor(e){this.commandkit=e;this.api.setToken(this.commandkit.client.token??process.env.DISCORD_TOKEN??process.env.TOKEN??"")}api=new U.REST;getCommandsData(){return this.commandkit.commandHandler.getCommandsArray().flatMap(n=>{let r="toJSON"in n.data.command?n.data.command.toJSON():n.data.command,s=[r];return n.data.userContextMenu&&r.type!==U.ApplicationCommandType.User&&s.push({...r,type:U.ApplicationCommandType.User,options:void 0,description_localizations:void 0,description:void 0}),n.data.messageContextMenu&&r.type!==U.ApplicationCommandType.Message&&s.push({...r,type:U.ApplicationCommandType.Message,description_localizations:void 0,description:void 0,options:void 0}),s})}async register(){let e=this.getCommandsData(),t=!1,n={preventDefault(){t=!0},commands:e};if(await this.commandkit.plugins.execute(async(a,c)=>{if(!t)return c.onBeforeRegisterCommands(a,n)}),t)return;if(!this.commandkit.client.isReady())throw new Error("Cannot register commands before the client is ready");let r=e.filter(a=>{var c;return(c=a.guilds)==null?void 0:c.filter(Boolean).length}).map(a=>{var c;return{...a,guilds:Array.from(new Set((c=a.guilds)==null?void 0:c.filter(Boolean)))}}),s=e.filter(a=>{var c;return!((c=a.guilds)!=null&&c.filter(Boolean).length)});await this.updateGlobalCommands(s),await this.updateGuildCommands(r)}async updateGlobalCommands(e){if(!e.length)return;let t=!1,n={preventDefault(){t=!0},commands:e};await this.commandkit.plugins.execute(async(r,s)=>{if(!t)return s.onBeforeRegisterGlobalCommands(r,n)});try{let r=await this.api.put(U.Routes.applicationCommands(this.commandkit.client.user.id),{body:e.map(s=>({...s,guilds:void 0}))});C.info(`\u2728 Refreshed ${r.length} global application (/) commands`)}catch(r){C.error("Failed to update global application (/) commands",r)}}async updateGuildCommands(e){if(!e.length)return;let t=!1,n={preventDefault(){t=!0},commands:e};if(await this.commandkit.plugins.execute(async(r,s)=>{if(!t)return s.onBeforePrepareGuildCommandsRegistration(r,n)}),!t)try{let r=new Map;if(e.forEach(a=>{var c;(c=a.guilds)!=null&&c.length&&a.guilds.forEach(l=>{r.has(l)||r.set(l,[]),r.get(l).push(a)})}),!r.size)return;let s=0;for(let[a,c]of r){let l=!1,m={preventDefault(){l=!0},commands:c};if(await this.commandkit.plugins.execute(async(f,g)=>{if(!l)return g.onBeforeRegisterGuildCommands(f,m)}),l)continue;let d=await this.api.put(U.Routes.applicationGuildCommands(this.commandkit.client.user.id,a),{body:c.map(f=>({...f,guilds:void 0}))});s+=d.length}C.info(`\u2728 Refreshed ${s} guild application (/) commands`)}catch(r){C.error("Failed to update guild application (/) commands",r)}}};i(ct,"CommandRegistrar");var Se=ct;var Pe=require("discord.js");var Qt=require("crypto");var v,mt=class mt{constructor(e){this.commandkit=e;y(this,v,{executionError:null,type:null,variables:new Map,deferredFunctions:new Map,marker:"",markStart:0,markEnd:0,context:null})}setContext(e){p(this,v).context=e}get context(){return p(this,v).context}getExecutionError(){return p(this,v).executionError}setExecutionError(e){if(p(this,v).executionError)throw new Error("Execution error already set.");p(this,v).executionError=e}getType(){let e=p(this,v).type;if(!e)throw new Error("Environment type not set.");return e}setType(e){p(this,v).type=e}get variables(){return p(this,v).variables}registerDeferredFunction(e){let t=(0,Qt.randomUUID)();return p(this,v).deferredFunctions.set(t,e),t}clearDeferredFunction(e){p(this,v).deferredFunctions.delete(e)}async runDeferredFunctions(){for(let[e,t]of p(this,v).deferredFunctions)try{await t(this)}catch(n){this.commandkit.emit("unhandledDeferredFunctionRejection",n)}finally{this.clearDeferredFunction(e)}}clearAllDeferredFunctions(){p(this,v).deferredFunctions.clear()}markStart(e){p(this,v).marker=e,p(this,v).markStart=performance.now()}markEnd(){p(this,v).markEnd||(p(this,v).markEnd=performance.now())}getMarker(){return p(this,v).marker}getExecutionTime(){return Math.abs(p(this,v).markEnd-p(this,v).markStart)}};v=new WeakMap,i(mt,"CommandKitEnvironment");var Re=mt;function Zt(){throw z(M.ExitMiddleware)}i(Zt,"exitMiddleware");function en(){throw z(M.ForwardedCommand)}i(en,"redirect");var T={ChatInputCommand:"chatInput",MessageContextMenu:"messageContextMenu",UserContextMenu:"userContextMenu",Autocomplete:"autocomplete",Message:"message"},ne,ce=class ce{constructor(e,t){this.commandkit=e;this.config=t;x(this,"interaction");x(this,"message");x(this,"guild");x(this,"guildId");x(this,"channel");x(this,"channelId");x(this,"client");x(this,"command");y(this,ne);x(this,"_locale",null);this.interaction=t.interaction,this.message=t.message,this.client=e.client,E(this,ne,t.store??new Map),this.command=t.command,t.interaction&&(this.guild=t.interaction.guild,this.guildId=t.interaction.guildId,this.channel=t.interaction.channel,this.channelId=t.interaction.channelId),t.message&&(this.guild=t.message.guild,this.guildId=t.message.guildId,this.channel=t.message.channel,this.channelId=t.message.channelId),this.config.environment&&this.config.environment.setContext(this)}get store(){return p(this,ne)}get commandName(){return this.isInteraction()?this.interaction.commandName:this.config.messageCommandParser.getCommand()}get options(){return this.isMessage()?this.config.messageCommandParser.options:this.interaction.options}get forwarded(){return this.config.forwarded??!1}async forwardCommand(e){let t=await this.commandkit.commandHandler.prepareCommandRun(this.isInteraction()?this.interaction:this.message,e);if(!t)throw new Error(`Command ${e} not found`);let n=this.config.environment??k();if(!n)throw new Error("No commandkit environment found.");let r={chatInput:t.command.data.chatInput,autocomplete:t.command.data.autocomplete,message:t.command.data.message,messageContextMenu:t.command.data.messageContextMenu,userContextMenu:t.command.data.userContextMenu},s=n.variables.get("execHandlerKind");if(!s)throw new Error("No execution handler kind found.");let a=r[s];if(!a)throw new Error(`No handler found for ${s}`);n.variables.set("forwardedBy",this.commandName),n.variables.set("forwardedTo",e),await a(this.clone({forwarded:!0})),en()}get executionMode(){return this.config.executionMode}isInteraction(){return this.executionMode===T.ChatInputCommand||this.executionMode===T.Autocomplete||this.executionMode===T.MessageContextMenu||this.executionMode===T.UserContextMenu}isChatInputCommand(){return this.executionMode===T.ChatInputCommand}isAutocomplete(){return this.executionMode===T.Autocomplete}isMessageContextMenu(){return this.executionMode===T.MessageContextMenu}isUserContextMenu(){return this.executionMode===T.UserContextMenu}isMessage(){return this.executionMode===T.Message}getCommandIdentifier(){return this.isInteraction()?this.interaction.commandName:this.message.content.split(" ")[0].slice(1)}getGuildLocale(){var e;return this.isInteraction()?this.interaction.guildLocale:((e=this.message.guild)==null?void 0:e.preferredLocale)??null}getUserLocale(){return this.isInteraction()?this.interaction.locale:null}getLocale(e=!1){if(this._locale)return this._locale;let t=e?this.getUserLocale():this.getGuildLocale();return t||this.commandkit.config.defaultLocale}setLocale(e){this._locale=e}clone(e){return e?new ce(this.commandkit,{...this.config,...e,store:p(this,ne)}):new ce(this.commandkit,this.config)}isMiddleware(){return this instanceof me}args(){return this.isMessage()?this.config.messageCommandParser.getArgs():[]}exit(){Zt()}};ne=new WeakMap,i(ce,"Context");var ut=ce,ue,dt=class dt extends ut{constructor(){super(...arguments);y(this,ue,!1)}get cancelled(){return p(this,ue)}cancel(){E(this,ue,!0)}setCommandRunner(t){var n,r;(r=(n=this.config.customArgs)==null?void 0:n.setCommandRunner)==null||r.call(n,t)}};ue=new WeakMap,i(dt,"MiddlewareContext");var me=dt;var De,tn,pt=class pt{constructor(e){this.handler=e;y(this,De)}async runCommand(e,t){let{commandkit:n}=this.handler,r=this.getExecutionMode(t),s=null,a=new Re(n);a.setType("COMMAND_HANDLER"),a.variables.set("commandHandlerType","app"),a.variables.set("currentCommandName",e.command.command.name),a.variables.set("execHandlerKind",r);let c=new me(n,{command:e.command,environment:a,executionMode:r,interaction:t instanceof Pe.Message?null:t,message:t instanceof Pe.Message?t:null,forwarded:!1,customArgs:{setCommandRunner:i(m=>{s=m},"setCommandRunner")},messageCommandParser:e.messageCommandParser}),l=!1;if(e.middlewares.length&&await Te(a,async()=>{for(let m of e.middlewares)if(m.data.beforeExecute)try{await m.data.beforeExecute(c)}catch(d){if(F(d,M.ExitMiddleware)){l=!0;return}if(F(d,[M.ForwardedCommand,M.InvalidCommandPrefix]))continue;throw d}}),!c.cancelled){let d=e.command.data[r];if(d||C.warn(`Command ${e.command.command.name} has no handler for ${r}`),d)try{let f=nn(a,async()=>(a.registerDeferredFunction(P=>{P.markEnd();let I=P.getExecutionError(),b=P.getMarker(),K=`${P.getExecutionTime().toFixed(2)}ms`;if(I){C.error(`[${b} - ${K}] Error executing command: ${I.stack||I}`);return}C.info(`[${b} - ${K}] Command executed successfully`)}),d(c.clone())),w(this,De,tn).bind(this)),g=s!=null?s(f):f;a.markStart(e.command.data.command.name),await n.plugins.execute(async(P,I)=>I.executeCommand(P,a,t,e,g))||await g()}catch(f){F(f,M.ExitMiddleware)&&(l=!0),F(f,[M.ForwardedCommand,M.ExitMiddleware])||C.error(f)}}!l&&e.middlewares.length&&await Te(a,async()=>{for(let m of e.middlewares)if(m.data.afterExecute)try{await m.data.afterExecute(c)}catch(d){if(F(d,M.ExitMiddleware))return;throw d}})}getExecutionMode(e){return e instanceof Pe.Message?T.Message:e.isChatInputCommand()?T.ChatInputCommand:e.isAutocomplete()?T.Autocomplete:e.isMessageContextMenuCommand()?T.MessageContextMenu:e.isUserContextMenuCommand()?T.UserContextMenu:null}};De=new WeakSet,tn=i(async function(){let e=rn();await e.runDeferredFunctions(),e.clearAllDeferredFunctions(),await this.handler.commandkit.plugins.execute(async(t,n)=>{await n.onAfterCommand(t,e)})},"#finalizer"),i(pt,"AppCommandRunner");var Ke=pt;var W=require("fs/promises"),_=require("path");var on=require("fs");async function Ae(o=!1){let e=(0,_.join)(process.cwd(),"node_modules","commandkit-types");if(!L&&!o)return e;let t=(0,_.join)(e,"package.json"),n=(0,_.join)(e,"index.js"),r=(0,_.join)(e,"index.d.ts"),s=(0,_.join)(e,"command.d.ts"),a={name:"commandkit-types",version:"1.0.0",description:"CommandKit types package",type:"commonjs",main:"index.js",types:"index.d.ts"},c="module.exports = {};",l=`// Main types index file - imports all type declarations
3
- import './command';
4
- export {};
5
- `,m=`// Auto-generated command types
6
- export {};
7
- declare module 'commandkit' {
8
- type CommandTypeData = string
9
- }`;return await(0,W.mkdir)(e,{recursive:!0}).catch(()=>{}),await(0,W.writeFile)(t,JSON.stringify(a,null,2)),await(0,W.writeFile)(n,c),await(0,W.writeFile)(r,l),await(0,W.writeFile)(s,m),e}i(Ae,"generateTypesPackage");async function an(o){let e=`// Auto-generated command types
10
- declare module 'commandkit' {
11
- ${o}
12
- }
13
- export {};
14
- `,t=(0,_.join)(process.cwd(),"node_modules","commandkit-types");if(!(0,on.existsSync)(t))return;let n=(0,_.join)(t,"command.d.ts");await(0,W.writeFile)(n,e,{encoding:"utf-8"})}i(an,"rewriteCommandDeclaration");var or={command:i(o=>o instanceof S.SlashCommandBuilder||o instanceof S.ContextMenuCommandBuilder||o&&typeof o=="object","command"),chatInput:i(o=>typeof o=="function","chatInput"),autocomplete:i(o=>typeof o=="function","autocomplete"),message:i(o=>typeof o=="function","message"),messageContextMenu:i(o=>typeof o=="function","messageContextMenu"),userContextMenu:i(o=>typeof o=="function","userContextMenu")},ir={beforeExecute:i(o=>typeof o=="function","beforeExecute"),afterExecute:i(o=>typeof o=="function","afterExecute")},ft=class ft{constructor(e){this.commandkit=e;this.registrar=new Se(this.commandkit)}loadedCommands=new S.Collection;loadedMiddlewares=new S.Collection;commandNameToId=new Map;subcommandPathToId=new Map;registrar;onInteraction=null;onMessageCreate=null;commandRunner=new Ke(this);externalCommandData=new S.Collection;externalMiddlewareData=new S.Collection;printBanner(){let e=crypto.randomUUID(),t=this.getCommandsArray().reduce((l,m)=>{let d=m.command.category||e;return l[d]=l[d]||[],l[d].push(m),l},{});console.log(h.green(`Loaded ${h.magenta(this.loadedCommands.size.toString())} commands:`));let n=Object.keys(t).sort(),r={};n.forEach(l=>{if(l!==e&&l.includes(":")){let m=l.split(":"),d=null;for(let f=m.length-1;f>0;f--){let g=m.slice(0,f).join(":");if(n.includes(g)){d=g;break}}d&&(r[d]=r[d]||[],r[d].push(l))}});let s=new Set,a=i((l,m="",d=!1,f="")=>{if(s.has(l))return;s.add(l);let g=t[l],A=r[l]&&r[l].length>0,P=d?"\u2514\u2500":"\u251C\u2500",I=f+(d?" ":"\u2502 ");if(l!==e){let b=l.includes(":")?l.split(":").pop():l;console.log(h.cyan(`${m}${P} ${h.bold(b)}`))}if(g.forEach((b,K)=>{let je=K===g.length-1&&!A?"\u2514\u2500":"\u251C\u2500",An=l!==e?I:m,kn=b.data.command.name,Bn=b.command.middlewares.length>0?h.magenta(" (\u03BB)"):"";console.log(`${h.green(`${An}${je}`)} ${h.yellow(kn)}${Bn}`)}),A){let b=r[l].sort();b.forEach((K,ie)=>{let je=ie===b.length-1;a(K,I,je,I)})}},"printCategory"),c=n.filter(l=>{if(l===e)return!0;if(l.includes(":")){let m=l.split(":");for(let d=1;d<m.length;d++){let f=m.slice(0,d).join(":");if(n.includes(f))return!1}return!0}return!0}).sort();c.forEach((l,m)=>{let d=m===c.length-1;a(l,"",d)})}getCommandsArray(){return Array.from(this.loadedCommands.values())}registerCommandHandler(){this.onInteraction??=async e=>{if(await this.commandkit.plugins.execute(async(s,a)=>a.onBeforeInteraction(s,e))||!(e.isCommand()||e.isAutocomplete()||e.isUserContextMenuCommand()||e.isMessageContextMenuCommand()))return;let r=await this.prepareCommandRun(e);if(r)return this.commandRunner.runCommand(r,e)},this.onMessageCreate??=async e=>{if(await this.commandkit.plugins.execute(async(r,s)=>s.onBeforeMessageCommand(r,e))||e.author.bot)return;let n=await this.prepareCommandRun(e);if(n)return this.commandRunner.runCommand(n,e)},this.commandkit.client.on(S.Events.InteractionCreate,this.onInteraction),this.commandkit.client.on(S.Events.MessageCreate,this.onMessageCreate)}async prepareCommandRun(e,t){var c;let n;if(!t)if(e instanceof S.Message){if(e.author.bot)return null;let l=await this.commandkit.config.getMessageCommandPrefix(e);n=new Ie(e,Array.isArray(l)?l:[l],m=>{var A,P;let d=this.commandNameToId.get(m);if(!d)return null;let f=this.loadedCommands.get(d);return!f||e.guildId&&((A=f.guilds)!=null&&A.length)&&!f.guilds.includes(e.guildId)?null:((P=("toJSON"in f.data.command?f.data.command.toJSON():f.data.command).options)==null?void 0:P.reduce((I,b)=>(I[b.name]=b.type,I),{}))??{}});try{t=n.getFullCommand().split(" ")[0]}catch(m){return F(m,M.InvalidCommandPrefix)||C.error(m),null}}else{if(!(e.isChatInputCommand()||e.isAutocomplete()||e.isContextMenuCommand()))return null;t=e.commandName}let r=this.commandNameToId.get(t);if(!r)return null;let s=this.loadedCommands.get(r);if(!s||(e instanceof S.CommandInteraction||e instanceof S.AutocompleteInteraction)&&e.guildId&&((c=s.guilds)!=null&&c.length)&&!s.guilds.includes(e.guildId))return null;let a=[];for(let l of s.command.middlewares){let m=this.loadedMiddlewares.get(l);m&&a.push(m)}return{command:s,middlewares:a,messageCommandParser:n}}async reloadCommands(){this.loadedCommands.clear(),this.loadedMiddlewares.clear(),this.commandNameToId.clear(),this.subcommandPathToId.clear(),this.externalCommandData.clear(),this.externalMiddlewareData.clear(),await this.loadCommands()}async addExternalMiddleware(e){for(let t of e)t.id&&this.externalMiddlewareData.set(t.id,t)}async addExternalCommands(e){for(let t of e)t.id&&this.externalCommandData.set(t.id,t)}async registerExternalLoadedMiddleware(e){for(let t of e)this.loadedMiddlewares.set(t.middleware.id,t)}async registerExternalLoadedCommands(e){for(let t of e)this.loadedCommands.set(t.command.id,t),this.commandNameToId.set(t.command.name,t.command.id)}async loadCommands(){await this.commandkit.plugins.execute((a,c)=>c.onBeforeCommandsLoad(a));let e=this.commandkit.commandsRouter;if(!e)throw new Error("Commands router has not yet initialized");let{commands:t,middlewares:n}=e.getData(),r=this.externalCommandData.size?t.concat(this.externalCommandData):t,s=this.externalMiddlewareData.size?n.concat(this.externalMiddlewareData):n;for(let[a,c]of s)await this.loadMiddleware(a,c);for(let[a,c]of r)await this.loadCommand(a,c);L&&await an(`type CommandTypeData = ${Array.from(this.loadedCommands.mapValues(a=>JSON.stringify(a.command.name)).values()).join(" | ")}`),await this.commandkit.plugins.execute((a,c)=>c.onAfterCommandsLoad(a))}async loadMiddleware(e,t){try{let n=await import(`${se(t.path)}?t=${Date.now()}`),r=0;for(let[s,a]of Object.entries(ir)){if(n[s]&&!await a(n[s]))throw new Error(`Invalid export for middleware ${e}: ${s} does not match expected value`);n[s]&&r++}if(r===0)throw new Error(`Invalid export for middleware ${e}: at least one handler function must be provided`);this.loadedMiddlewares.set(e,{middleware:t,data:n})}catch(n){C.error(`Failed to load middleware ${e}`,n)}}async loadCommand(e,t){try{if(t.path===null){this.loadedCommands.set(e,{command:t,data:{command:{name:t.name,description:`${t.name} commands`,type:1}}});return}let n=await import(`${se(t.path)}?t=${Date.now()}`);if(!n.command)throw new Error(`Invalid export for command ${t.name}: no command definition found`);let r=0;for(let[a,c]of Object.entries(or))if(a!=="command"&&n[a]&&r++,n[a]&&!await c(n[a]))throw new Error(`Invalid export for command ${t.name}: ${a} does not match expected value`);if(r===0)throw new Error(`Invalid export for command ${t.name}: at least one handler function must be provided`);let s=n.command;await this.commandkit.plugins.execute(async(a,c)=>{let l=await c.prepareCommand(a,s);l&&(s=l)}),this.loadedCommands.set(e,{command:t,guilds:n.guilds,data:{...n,command:"toJSON"in s?s.toJSON():s}}),this.commandNameToId.set(t.name,e)}catch(n){C.error(`Failed to load command ${t.name} (${e})`,n)}}};i(ft,"AppCommandHandler");var ke=ft;var ht=require("discord.js"),cn=require("fs"),Ct=require("fs/promises"),B=require("path");var ar=/^\+middleware\.(m|c)?(j|t)sx?$/,sn=/^\+([^+().][^().]*)\.middleware\.(m|c)?(j|t)sx?$/,ln=/^\+global-middleware\.(m|c)?(j|t)sx?$/,sr=/^([^+().][^().]*)\.(m|c)?(j|t)sx?$/,lr=/^\(.+\)$/,gt=class gt{constructor(e){this.options=e}commands=new ht.Collection;middlewares=new ht.Collection;populate(e){for(let[t,n]of Object.entries(e.commands))this.commands.set(t,n);for(let[t,n]of Object.entries(e.middlewares))this.middlewares.set(t,n)}isValidPath(){return(0,cn.existsSync)(this.options.entrypoint)}isCommand(e){return sr.test(e)}isMiddleware(e){return ar.test(e)||ln.test(e)||sn.test(e)}isCategory(e){return lr.test(e)}clear(){this.commands.clear(),this.middlewares.clear()}async scan(){let e=await(0,Ct.readdir)(this.options.entrypoint,{withFileTypes:!0});for(let t of e){if(t.name.startsWith("_"))continue;let n=(0,B.join)(this.options.entrypoint,t.name);if(t.isDirectory()){let r=this.isCategory(t.name)?t.name.slice(1,-1):null;await this.traverse(n,r)}else await this.handle(t)}return await this.applyMiddlewares(),this.toJSON()}getData(){return{commands:this.commands,middlewares:this.middlewares}}toJSON(){return{commands:Object.fromEntries(this.commands.entries()),middlewares:Object.fromEntries(this.middlewares.entries())}}async traverse(e,t){let n=await(0,Ct.readdir)(e,{withFileTypes:!0});for(let r of n)if(!r.name.startsWith("_")){if(r.isFile())(this.isCommand(r.name)||this.isMiddleware(r.name))&&await this.handle(r,t);else if(r.isDirectory()&&this.isCategory(r.name)&&t){let s=this.isCategory(r.name)?`${t}:${r.name.slice(1,-1)}`:null;await this.traverse((0,B.join)(e,r.name),s)}}}async handle(e,t=null){let n=e.name,r=(0,B.join)(e.parentPath,e.name);if(this.isCommand(n)){let s={id:crypto.randomUUID(),name:(0,B.basename)(r,(0,B.extname)(r)),path:r,category:t,parentPath:e.parentPath,relativePath:this.replaceEntrypoint(r),middlewares:[]};this.commands.set(s.id,s)}else if(this.isMiddleware(n)){let s={id:crypto.randomUUID(),name:(0,B.basename)(r,(0,B.extname)(r)),path:r,relativePath:this.replaceEntrypoint(r),parentPath:e.parentPath,global:ln.test(n),command:sn.test(n)&&n.split(".")[0]||null};this.middlewares.set(s.id,s)}}applyMiddlewares(){this.commands.forEach(e=>{let t=e.parentPath,n=Array.from(this.middlewares.values()).filter(r=>r.global?!0:r.command?r.command===e.name:r.parentPath===t).map(r=>r.id);e.middlewares=Array.from(new Set([...e.middlewares,...n]))})}replaceEntrypoint(e){return(0,B.normalize)(e).replace(this.options.entrypoint,"")}};i(gt,"CommandsRouter");var Be=gt;var mn=require("discord.js"),un=require("fs"),xt=require("fs/promises"),Oe=require("path");var yt=class yt{constructor(e){this.options=e;var t;if(e.entrypoints&&(e.entrypoints=Array.from(new Set(e.entrypoints))),!((t=e.entrypoints)!=null&&t.length))throw new Error("Entrypoint directory must be provided")}events=new mn.Collection;addEntrypoints(e){this.options.entrypoints=Array.from(new Set([...this.options.entrypoints,...e]))}match(e){return this.events.get(e)??null}get entrypoints(){return this.options.entrypoints}isValidPath(){return this.entrypoints.every(e=>(0,un.existsSync)(e))}clear(){this.events.clear()}async reload(){return this.clear(),this.scan()}async scan(){for(let e of this.entrypoints){let t=await(0,xt.readdir)(e,{withFileTypes:!0});for(let n of t)if(n.isDirectory()){let r=(0,Oe.join)(e,n.name);await this.scanEvent(n.name,r,null,[],!0)}}return Object.fromEntries(this.events)}toJSON(){return Object.fromEntries(this.events)}async scanEvent(e,t,n=null,r=[],s=!1){let a=await(0,xt.readdir)(t,{withFileTypes:!0}),c=s&&/^\(.+\)$/.test(e),l=c?e.slice(1,-1):n??null;a.sort((m,d)=>m.name.localeCompare(d.name));for(let m of a)if(!m.name.startsWith("_")){if(m.isDirectory()){let d=(0,Oe.join)(t,m.name);await this.scanEvent(m.name,d,l,r);continue}m.isFile()&&/\.(m|c)?(j|t)sx?$/.test(m.name)&&r.push((0,Oe.join)(m.parentPath,m.name))}if(!c){let m=this.events.get(e);if(m){m.listeners=Array.from(new Set([...m.listeners,...r]));return}this.events.set(e,{event:e,path:t,listeners:r,namespace:l})}}};i(yt,"EventsRouter");var Le=yt;var dn=require("discord.js");var bt=class bt{constructor(e){this.commandkit=e}loadedEvents=new dn.Collection;getEvents(){return this.loadedEvents.size===0?[]:this.loadedEvents.toJSON().map(t=>({name:t.name,namespace:t.namespace,onceListeners:t.listeners.filter(n=>n.once).length,regularListeners:t.listeners.filter(n=>!n.once).length,metadata:t.event}))}async reloadEvents(){this.unregisterAll(),await this.loadEvents()}async loadEvents(){await this.commandkit.plugins.execute((n,r)=>r.onBeforeEventsLoad(n));let t=await this.commandkit.eventsRouter.scan();for(let n of Object.values(t)){let r=[];for(let c of n.listeners){let l=await import(se(c,!0));(!l.default||typeof l.default!="function")&&C.error(`Event handler for ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} does not have a default export or is not a function`),r.push({handler:l.default,once:!!l.once})}let s=r.length;s||C.warn(`Event ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} does not have any listeners`);let a=`${n.namespace?`${n.namespace}:`:""}${n.event}`;this.loadedEvents.set(a,{name:n.event,namespace:n.namespace,event:n,listeners:r}),C.info(`\u2728 Loaded event ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} with ${s} listener${s===1?"":"s"}`)}this.registerAllClientEvents(),await this.commandkit.plugins.execute((n,r)=>r.onAfterEventsLoad(n))}unregisterAll(){this.unregisterAllClientListeners(),this.loadedEvents.clear()}registerAllClientEvents(){let e=this.commandkit.client;for(let[t,n]of this.loadedEvents.entries()){let{name:r,listeners:s,namespace:a}=n,c=s.filter(g=>g.once),l=s.filter(g=>!g.once),m=new Set,d=i(async(...g)=>{let A=!1,P={name:r,args:g,namespace:a??null,once:!1,metadata:n.event,accept(){A||(A=!0)}};await this.commandkit.plugins.execute(async(I,b)=>{var K;if(!A)return(K=b.willEmitEvent)==null?void 0:K.call(b,I,P)}).catch(Object),await tt({event:r,namespace:a??null,data:n.event,commandkit:this.commandkit,arguments:g},async()=>{for(let I of l)try{await I.handler(...g)}catch(b){if(b instanceof ae){C.debug(`Event propagation stopped for ${r}${a?` of namespace ${a}`:""}`);break}C.error(`Error handling event ${r}${a?` of namespace ${a}`:""}`,b)}})},"mainHandler"),f=i(async(...g)=>{let A=!1,P=!1,I={name:r,args:g,namespace:a??null,once:!0,metadata:n.event,accept(){P||(P=!0)}};await this.commandkit.plugins.execute(async(b,K)=>{var ie;if(!P)return(ie=K.willEmitEvent)==null?void 0:ie.call(K,b,I)}).catch(Object);for(let b of c){if(A)break;await tt({event:r,namespace:a??null,data:n.event,commandkit:this.commandkit,arguments:g},async()=>{try{if(m.has(b.handler))return;await b.handler(...g),m.add(b.handler)}catch(K){K instanceof ae&&(C.debug(`Event propagation stopped for ${r}${a?` of namespace ${a}`:""}`),A=!0),C.error(`Error handling event ${r}${a?` of namespace ${a}`:""}`,K)}})}m.size===c.length&&l.length===0&&(this.loadedEvents.delete(t),C.info(`\u{1F9F9} Cleaned up completed once-only event ${r}${a?` of namespace ${a}`:""}`))},"onceHandler");this.loadedEvents.set(t,{...n,mainListener:l.length>0?{handler:d,once:!1}:void 0,executedOnceListeners:m}),a?(l.length>0&&this.commandkit.events.on(a,r,d),c.length>0&&this.commandkit.events.once(a,r,f)):(l.length>0&&e.on(r,d),c.length>0&&e.once(r,f)),C.info(`\u{1F50C} Registered event ${r}${a?` of namespace ${a}`:""} (${l.length} regular, ${c.length} once-only)`)}}unregisterAllClientListeners(){let e=this.commandkit.client;for(let[t,{name:n,mainListener:r,namespace:s}]of this.loadedEvents.entries())r?s?this.commandkit.events.off(s,n,r.handler):e.off(n,r.handler):s?this.commandkit.events.removeAllListeners(s,n):e.removeAllListeners(n),this.loadedEvents.delete(t),C.info(`\u{1F5D1}\uFE0F Unregistered event ${n}${s?` of namespace ${s}`:""}`)}};i(bt,"AppEventsHandler");var $e=bt;var Cn=require("fs"),gn=require("path");var cr=require("rimraf"),Et=require("path"),de=V(require("fs"));var fn=require("child_process");var $;function mr(o){process.stdout.write(o),process.stdout.write(`
15
- `)}i(mr,"write");function pn(o){mr(h.red(`Error: ${o}`)),process.exit(1)}i(pn,"panic");async function ur(o){return/\.(c|m)?tsx?$/.test(o)?(process.features.typescript||await pr(),!0):!1}i(ur,"ensureTypeScript");var re;function dr(){if(re)return re;let o={"yarn.lock":"yarn","pnpm-lock.yaml":"pnpm","package-lock.json":"npm","bun.lock":"bun","bun.lockb":"bun"};for(let[e,t]of Object.entries(o))if(de.default.existsSync((0,Et.join)(process.cwd(),e))){re=t;break}return re||(re="npm"),re}i(dr,"detectPackageManager");async function pr(o){if($)return $;try{$=await import("typescript")}catch(e){if(e instanceof Error&&"code"in e&&e.code==="MODULE_NOT_FOUND")try{let t=dr();return(0,fn.execSync)(`${t} add typescript`,{stdio:"inherit",cwd:process.cwd()}),console.log(h.cyan("TypeScript has been installed automatically, restarting...")),$=await import("typescript"),$}catch{pn("TypeScript is not installed and could not be installed automatically. Please install it manually.")}pn(e||"TypeScript must be installed to use TypeScript config files.")}return $}i(pr,"loadTypeScript");async function hn(o){if(await fr(o),await ur(o)&&$){let{transpileModule:n}=$,r=de.default.readFileSync(o,"utf8"),{outputText:s}=n(r,{compilerOptions:{module:$.ModuleKind.ESNext,target:$.ScriptTarget.ESNext,moduleResolution:$.ModuleResolutionKind.NodeNext},fileName:o}),a=await Ae(),c=(0,Et.join)(a,"compiled-commandkit.config.mjs");de.default.writeFileSync(c,s),o=c}return await import(`file://${o}`).then(n=>n.default||n)}i(hn,"loadConfigFileFromPath");async function fr(o){if(!de.default.existsSync(o))throw new Error(`File not found: ${o}`)}i(fr,"ensureExists");var hr=["commandkit.config.js","commandkit.config.mjs","commandkit.config.cjs","commandkit.config.ts"];function Cr(o){return hr.map(e=>(0,gn.join)(o,e))}i(Cr,"getPossibleConfigPaths");function gr(o){let e=Cr(o);for(let t of e)if((0,Cn.existsSync)(t))return{path:t,isTypeScript:/\.ts$/.test(t)};return null}i(gr,"findConfigFile");var vt=null;async function xn(o=process.cwd()){if(vt)return vt;let e=gr(o);if(!e)return Me();let t=await hn(e.path);return vt=t,t}i(xn,"loadConfigFile");function yn(o){L&&process.on("message",async e=>{if(typeof e!="object"||e===null)return;let{event:t,path:n,id:r}=e;if(!t)return;process.env.COMMANDKIT_DEBUG_HMR==="true"&&C.info(`Received HMR event: ${t}${n?` for ${n}`:""}`);let s=!1,a=!1,c=!1,l={accept(){s=!0},preventDefault(){a=!0},path:n,event:t};try{if(await o.plugins.execute(async(m,d)=>{var f;s||await((f=d.performHMR)==null?void 0:f.call(d,m,l))}),a)return;switch(t){case xe.ReloadCommands:o.commandHandler.reloadCommands(),c=!0;break;case xe.ReloadEvents:o.eventHandler.reloadEvents(),c=!0;break;case xe.Unknown:c=!1;break;default:break}}finally{r&&process.send&&process.send({type:"commandkit-hmr-ack",id:r,handled:c||s})}})}i(yn,"registerDevHooks");var wn=require("fs");var bn=V(require("events"));var wt=class wt{constructor(e){this.commandkit=e}emitter=new bn.default;to(e){return{on:this.on.bind(this,e),off:this.off.bind(this,e),once:this.once.bind(this,e),emit:this.emit.bind(this,e),removeAllListeners:this.removeAllListeners.bind(this,e)}}on(e,t,n){this.emitter.on(`${e}:${t}`,n)}off(e,t,n){this.emitter.off(`${e}:${t}`,n)}once(e,t,n){this.emitter.once(`${e}:${t}`,n)}emit(e,t,...n){return this.emitter.emit(`${e}:${t}`,...n)}removeAllListeners(e,t){t?this.emitter.removeAllListeners(`${e}:${t}`):this.emitter.removeAllListeners(e)}};i(wt,"CommandKitEventsChannel");var Fe=wt;var En=require("discord.js");var Mt=class Mt extends En.Collection{};i(Mt,"FlagStore");var Ue=Mt;var xr,It=new Set,St=new Set;var oe,O,Mn,In,Sn,Rn,Pn,N=class N extends vn.default{constructor(t){if(N.instance&&process.emitWarning("CommandKit instance already exists. Having multiple instance in same project is discouraged and it may lead to unexpected behavior.",{code:"MultiInstanceWarning"}),!t.client)throw new Error(h.red('"client" is required when instantiating CommandKit.'));super();this.options=t;y(this,O);y(this,oe,!1);x(this,"eventInterceptor");x(this,"config",{defaultLocale:He.Locale.EnglishUS,getMessageCommandPrefix:i(()=>"!","getMessageCommandPrefix")});x(this,"store",new Map);x(this,"flags",new Ue);x(this,"commandsRouter");x(this,"eventsRouter");x(this,"commandHandler",new ke(this));x(this,"eventHandler",new $e(this));x(this,"plugins");x(this,"events",new Fe(this));this.plugins=new ve(this),N.instance||(N.instance=this),xr=N.instance,w(this,O,Mn).call(this)}async start(t){if(!p(this,oe)){if(!this.options.client)throw new Error(h.red('"client" is required when starting CommandKit.'));if(this.eventInterceptor=new Ce(this.client),L)try{yn(this),await Ae()}catch(n){process.env.COMMANDKIT_DEBUG_TYPEGEN&&C.error(n)}if(await this.loadPlugins(),await w(this,O,Sn).call(this),this.commandHandler.registerCommandHandler(),this.incrementClientListenersCount(),t!==!1&&!this.options.client.isReady()){this.client.once(He.Events.ClientReady,async()=>{await this.commandHandler.registrar.register()}),await this.plugins.execute((r,s)=>{var a;return(a=s.onBeforeClientLogin)==null?void 0:a.call(s,r)});let n=t??this.options.client.token??process.env.TOKEN??process.env.DISCORD_TOKEN;await this.options.client.login(n),await this.plugins.execute((r,s)=>{var a;return(a=s.onAfterClientLogin)==null?void 0:a.call(s,r)})}else this.options.client.isReady()&&await this.commandHandler.registrar.register();E(this,oe,!0),await w(this,O,In).call(this)}}async loadPlugins(){let n=(await xn()).plugins.flat(2).filter(r=>Wt(r));if(n.length)for(let r of n)await this.plugins.softRegisterPlugin(r)}get started(){return p(this,oe)}setPrefixResolver(t){return this.config.getMessageCommandPrefix=t,this}setDefaultLocale(t){return this.config.defaultLocale=t,this}get client(){return this.options.client}async reloadCommands(){await this.commandHandler.reloadCommands()}async reloadEvents(){await this.eventHandler.reloadEvents()}incrementClientListenersCount(){this.options.client.setMaxListeners(this.options.client.getMaxListeners()+1)}decrementClientListenersCount(){this.options.client.setMaxListeners(this.options.client.getMaxListeners()-1)}getAppDirectory(){return Yt()}getPath(t){let n=this.getAppDirectory();if(!n)return null;switch(t){case"commands":return(0,Rt.join)(n,"commands");case"events":return(0,Rt.join)(n,"events");default:return t}}};oe=new WeakMap,O=new WeakSet,Mn=i(async function(){for(let t of It)try{await t(this)}catch(n){C.error("Error while executing bootstrap hook: ",n)}finally{It.delete(t)}It.clear()},"#bootstrapHooks"),In=i(async function(){for(let t of St)try{await t(this)}catch(n){C.error("Error while executing application bootstrap hook: ",n)}finally{St.delete(t)}St.clear()},"#applicationBootstrapHooks"),Sn=i(async function(){if(!this.getAppDirectory())return;let n=this.getPath("commands"),r=this.getPath("events");this.commandsRouter=new Be({entrypoint:n}),await this.plugins.execute((s,a)=>a.onCommandsRouterInit(s)),this.eventsRouter=new Le({entrypoints:[r]}),await this.plugins.execute((s,a)=>a.onEventsRouterInit(s)),await w(this,O,Pn).call(this),await w(this,O,Rn).call(this)},"#init"),Rn=i(async function(){if(this.commandsRouter.isValidPath()){let t=await this.commandsRouter.scan();L&&(0,wn.writeFileSync)("./.commandkit/commands.json",JSON.stringify(t,null,2))}await this.commandHandler.loadCommands(),this.commandHandler.printBanner()},"#initCommands"),Pn=i(async function(){this.eventsRouter.isValidPath()&&await this.eventsRouter.scan(),await this.eventHandler.loadEvents()},"#initEvents"),i(N,"CommandKit"),x(N,"createElement",Gt),x(N,"Fragment",Ht),x(N,"instance");var Ne=N;var yr=Symbol("commandkitCommandWorker"),pe=new Kn.AsyncLocalStorage;function G(o){return pe.exit(o)}i(G,"exitContext");function Te(o,e){return Reflect.set(o,yr,!0),pe.run(o,e)}i(Te,"provideContext");function nn(o,e,t){return i((...r)=>Te(o,async()=>{try{return await e(...r)}catch(s){ye(s)||o.setExecutionError(s)}finally{typeof t=="function"&&setImmediate(async()=>{try{await t(...r)}catch{}})}}),"_fn")}i(nn,"makeContextAwareFunction");function j(o=!1){var t;let e=((t=pe.getStore())==null?void 0:t.commandkit)??Ne.instance;if(!e&&o)throw new Error("CommandKit instance not found.");return e}i(j,"getCommandKit");function k(){return pe.getStore()}i(k,"getContext");function rn(){let o=pe.getStore();if(!o)throw new Error("No commandkit environment found. Please make sure you are inside commandkit handler.");return o}i(rn,"useEnvironment");var Y,R,X,H,Dn,Tn,Pt,Kt=class Kt extends Ge.MentionableSelectMenuBuilder{constructor(){super(...arguments);y(this,H);y(this,Y,null);y(this,R,{autoReset:!1,time:5*60*1e3,once:!0});y(this,X,null)}onSelect(t,n){var r,s,a,c;if(!t)throw new TypeError('Cannot setup "onClick" without a handler function parameter.');return p(this,Y)&&w(this,H,Pt).call(this),E(this,Y,t),n&&E(this,R,{autoReset:n.autoReset??((r=p(this,R))==null?void 0:r.autoReset)??!0,time:n.time??((s=p(this,R))==null?void 0:s.time)??5*60*1e3,filter:n.filter??((a=p(this,R))==null?void 0:a.filter),onEnd:n.onEnd??((c=p(this,R))==null?void 0:c.onEnd)}),w(this,H,Tn).call(this),this}onEnd(t){if(!t)throw new TypeError('Cannot setup "onEnd" without a handler function parameter.');return p(this,R)??E(this,R,{}),p(this,R).onEnd=t,this}onError(t){if(!t)throw new TypeError('Cannot setup "onError" without a handler function parameter.');return p(this,R)??E(this,R,{}),p(this,R).onError=t,this}filter(t){return p(this,R)??E(this,R,{autoReset:!0,time:5*60*1e3}),p(this,R).filter=t,this}get customId(){return this.data.custom_id??this.data.customId}dispose(){return w(this,H,Pt).call(this),this}};Y=new WeakMap,R=new WeakMap,X=new WeakMap,H=new WeakSet,Dn=i(function(){let t=k();return t?G(()=>t.commandkit.eventInterceptor):j(!0).eventInterceptor},"#getEventInterceptor"),Tn=i(function(){if(!p(this,R))return;if(!this.customId)throw new TypeError("Cannot setup an modal collector without a custom ID.");let t=w(this,H,Dn).call(this);t&&E(this,X,t.subscribe(Ge.Events.InteractionCreate,async n=>{var l,m;if(!n.isMentionableSelectMenu())return;let r=this.customId??null,s=n.customId;if(r&&s!==r)return;let a=(l=p(this,R))==null?void 0:l.filter;if(a&&!await a(n))return;let c=p(this,Y);return c?c(n,this):(m=p(this,X))==null?void 0:m.call(this)},p(this,R)))},"#setupCollector"),Pt=i(function(){var t;(t=p(this,X))==null||t.call(this),E(this,X,null),E(this,Y,null),E(this,R,null)},"#destroyCollector"),i(Kt,"MentionableSelectMenuKit");var fe=Kt;0&&(module.exports={MentionableSelectMenuKit});
16
- //# sourceMappingURL=MentionableSelectMenuKit.js.map
1
+ require('../../../colors-Cd4Oz-r-.js');
2
+ require('../../../ActionRow-CmTHbo2t.js');
3
+ require('../../../error-codes-C_UO39jz.js');
4
+ const require_CommandKit = require('../../../CommandKit-DDrQtQns.js');
5
+ require('../../../common-CcfjYnPG.js');
6
+ require('../../../common-CeO-vn8Y.js');
7
+ require('../../../container-CpuiLsZM.js');
8
+ require('../../../file-DE69SSOP.js');
9
+ require('../../../media-gallery-nUEHqKVF.js');
10
+ require('../../../section-D6t7tyEZ.js');
11
+ require('../../../separator-DYAFK-Jj.js');
12
+ require('../../../text-display-Dy6JHB5X.js');
13
+ require('../../../v2-DofkPKHs.js');
14
+ require('../../../warn-unstable-V20WCBDd.js');
15
+ require('../../../element-hdSqnIpC.js');
16
+ require('../../../types-B5VPP9ig.js');
17
+ require('../../../EventInterceptor-DtRINyTP.js');
18
+ require('../../../constants-DOPSzXI0.js');
19
+ require('../../../PluginCommon-DPqnQngK.js');
20
+ require('../../../CompilerPlugin-XzuGixkC.js');
21
+ require('../../../RuntimePlugin-CKsd83M3.js');
22
+ require('../../../types-Bq0EWaM3.js');
23
+ require('../../../CompilerPluginRuntime-zFCCw1kM.js');
24
+ require('../../../types-Cdh4uaFR.js');
25
+ require('../../../runtime-ByJtSXs_.js');
26
+ require('../../../EventWorkerContext-XZGSHn5F.js');
27
+ require('../../../resolve-file-url-pO9_rLft.js');
28
+ require('../../../MessageCommandParser-B13Pkwo9.js');
29
+ require('../../../signals-Bp0bzjE6.js');
30
+ require('../../../types-package-DRhFn59I.js');
31
+ require('../../../CommandsRouter-BHaPno8o.js');
32
+ require('../../../EventsRouter-CqnrlbjN.js');
33
+ require('../../../router-Dn35v30f.js');
34
+ require('../../../common-DirpDCa6.js');
35
+ require('../../../CommandKitEventsChannel-B6LKgxmv.js');
36
+ require('../../../store-Ci6ib2C9.js');
37
+
38
+ exports.MentionableSelectMenuKit = require_CommandKit.MentionableSelectMenuKit;
@@ -1,49 +1,4 @@
1
- import { RoleSelectMenuInteraction, RoleSelectMenuBuilder } from 'discord.js';
2
- import { EventInterceptorErrorHandler } from '../../common/EventInterceptor.js';
3
- import { OnSelectMenuKitSubmit, CommandKitSelectMenuBuilderInteractionCollectorDispatch, CommandKitSelectMenuBuilderInteractionCollectorDispatchContextData, CommandKitSelectMenuBuilderOnEnd, SelectMenuKitPredicate } from './common.js';
4
-
5
- type OnRoleSelectMenuKitSubmit = OnSelectMenuKitSubmit<RoleSelectMenuInteraction, RoleSelectMenuKit>;
6
- type RoleSelectMenuKitPredicate = SelectMenuKitPredicate<RoleSelectMenuInteraction>;
7
- declare class RoleSelectMenuKit extends RoleSelectMenuBuilder {
8
- #private;
9
- /**
10
- * Sets the handler to run when the modal is submitted.
11
- * @param handler - The handler to run when the modal is submitted.
12
- * @param data - The context data for the interaction collector.
13
- * @returns This instance of the modal builder.
14
- * @example
15
- * ```ts
16
- * const modal = new RoleSelectMenuKit()
17
- * .setTitle('My Modal')
18
- * .setCustomId('my-modal')
19
- * .filter((interaction) => interaction.Role.id === '1234567890')
20
- * .onSelect(async (interaction) => {
21
- * await interaction.reply('You submitted the modal!');
22
- * })
23
- * .addComponents(actionRow1, actionRow2);
24
- * ```
25
- */
26
- onSelect(handler: CommandKitSelectMenuBuilderInteractionCollectorDispatch<RoleSelectMenuInteraction, RoleSelectMenuKit>, data?: CommandKitSelectMenuBuilderInteractionCollectorDispatchContextData): this;
27
- /**
28
- * Sets the handler to run when the interaction collector ends.
29
- * @param handler - The handler to run when the interaction collector ends.
30
- * @returns This instance of the modal builder.
31
- */
32
- onEnd(handler: CommandKitSelectMenuBuilderOnEnd): this;
33
- /**
34
- * Sets the handler to run when the interaction collector ends.
35
- * @param handler - The handler to run when the interaction collector ends.
36
- * @returns This instance of the modal builder.
37
- */
38
- onError(handler: EventInterceptorErrorHandler): this;
39
- /**
40
- * Sets a filter for the interaction collector.
41
- * @param predicate - The filter to use for the interaction collector.
42
- * @returns This instance of the modal builder.
43
- */
44
- filter(predicate: SelectMenuKitPredicate<RoleSelectMenuInteraction>): this;
45
- private get customId();
46
- dispose(): this;
47
- }
48
-
49
- export { type OnRoleSelectMenuKitSubmit, RoleSelectMenuKit, type RoleSelectMenuKitPredicate };
1
+ import "../../../EventInterceptor-D_oEWSnF.js";
2
+ import "../../../common-pvPJVTfe.js";
3
+ import { OnRoleSelectMenuKitSubmit, RoleSelectMenuKit, RoleSelectMenuKitPredicate } from "../../../RoleSelectMenuKit-BSMKkru2.js";
4
+ export { OnRoleSelectMenuKitSubmit, RoleSelectMenuKit, RoleSelectMenuKitPredicate };
@@ -1,16 +1,38 @@
1
- "use strict";var On=Object.create;var Q=Object.defineProperty;var Ln=Object.getOwnPropertyDescriptor;var $n=Object.getOwnPropertyNames;var Fn=Object.getPrototypeOf,Un=Object.prototype.hasOwnProperty;var Dt=o=>{throw TypeError(o)};var Nn=(o,e,t)=>e in o?Q(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var i=(o,e)=>Q(o,"name",{value:e,configurable:!0});var Hn=(o,e)=>{for(var t in e)Q(o,t,{get:e[t],enumerable:!0})},Tt=(o,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $n(e))!Un.call(o,r)&&r!==t&&Q(o,r,{get:()=>e[r],enumerable:!(n=Ln(e,r))||n.enumerable});return o};var V=(o,e,t)=>(t=o!=null?On(Fn(o)):{},Tt(e||!o||!o.__esModule?Q(t,"default",{value:o,enumerable:!0}):t,o)),Gn=o=>Tt(Q({},"__esModule",{value:!0}),o);var x=(o,e,t)=>Nn(o,typeof e!="symbol"?e+"":e,t),_e=(o,e,t)=>e.has(o)||Dt("Cannot "+t);var p=(o,e,t)=>(_e(o,e,"read from private field"),t?t.call(o):e.get(o)),y=(o,e,t)=>e.has(o)?Dt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),E=(o,e,t,n)=>(_e(o,e,"write to private field"),n?n.call(o,t):e.set(o,t),t),w=(o,e,t)=>(_e(o,e,"access private method"),t);var br={};Hn(br,{RoleSelectMenuKit:()=>fe});module.exports=Gn(br);var Ge=require("discord.js");var Kn=require("async_hooks");var vn=V(require("events"));var At=require("picocolors"),h=(0,At.createColors)(!0);var jn=require("discord.js");var We=require("discord.js");var _n=require("discord.js");var kt=require("discord.js");var Ve=require("discord.js");var Bt=require("discord.js");var Ot=require("discord.js");var Lt=require("discord.js");var $t=require("discord.js");var Wn=require("discord.js");var q=require("discord.js");var Vn=require("discord.js");var Ut=require("discord.js");var he=require("discord.js");var qn=require("discord.js");var zn=require("discord.js");var Nt=new Set;function Jn(o,e="CommandKitWarning"){process.emitWarning(o,{code:e})}i(Jn,"emitWarning");function qe(o){Nt.has(o)||(Nt.add(o),Jn(`${o} is unstable and may change in future versions.`,"CommandKitUnstableWarning"))}i(qe,"warnUnstable");function Ht(o){return qe("CommandKit JSX"),Array.isArray(o.children)?o.children.flat():[o.children]}i(Ht,"Fragment");function Gt(o,e,...t){return qe("CommandKit JSX"),o({...e,children:e.children??t})}i(Gt,"createElement");var ge,jt,ze=class ze{constructor(e){this.client=e;y(this,ge);x(this,"subscribers",new Map);x(this,"globalHandlers",new Map);x(this,"cleanupTimer",null);w(this,ge,jt).call(this)}destroy(){this.cleanupTimer&&(clearInterval(this.cleanupTimer),this.cleanupTimer=null);for(let[e,t]of this.subscribers)for(let n of t)this.unsubscribe(e,n,"destroy");this.subscribers.clear(),this.globalHandlers.clear()}hasSubscribers(e){return this.subscribers.has(e)}getSubscriberCount(e){let t=this.subscribers.get(e);return(t==null?void 0:t.size)??0}hasGlobalHandlers(){return this.globalHandlers.size>0}getGlobalHandlersCount(){return this.subscribers.size}subscribe(e,t,n){return this.subscribers.has(e)||(this.subscribers.set(e,new Set),this.client.on(e,this.createGlobalHandler(e)),this.client.setMaxListeners(this.client.getMaxListeners()+1)),n??={},n.registeredAt=Date.now(),Reflect.set(t,"options",n),this.subscribers.get(e).add(t),()=>{this.unsubscribe(e,t)}}unsubscribe(e,t,n){var s,a;let r=this.subscribers.get(e);r&&(r.delete(t),r.size<1&&(this.subscribers.delete(e),this.client.removeListener(e,this.globalHandlers.get(e)),this.globalHandlers.delete(e),this.client.setMaxListeners(Math.max(this.client.getMaxListeners()-1,0))),(a=(s=Reflect.get(t,"options")).onEnd)==null||a.call(s,n??"unsubscribe"))}createGlobalHandler(e){if(this.globalHandlers.has(e))return this.globalHandlers.get(e);let t=i(async(...n)=>{let r=this.subscribers.get(e);if(r&&r.size>0)for(let s of r){let a=Reflect.get(s,"options");if(a.time&&Date.now()-a.registeredAt>a.time){this.unsubscribe(e,s,"time");continue}if(a.autoReset&&(a.registeredAt=Date.now()),!(a.filter&&!await a.filter(...n)))try{await s(...n)}catch(l){if(a.onError)await a.onError(l);else throw l}finally{a.once&&this.unsubscribe(e,s,"once")}}},"handler");return this.globalHandlers.set(e,t),t}};ge=new WeakSet,jt=i(function(){this.cleanupTimer&&clearInterval(this.cleanupTimer),this.cleanupTimer=setInterval(()=>{for(let[e,t]of this.subscribers)for(let n of t){let r=Reflect.get(n,"options");r.time&&Date.now()-r.registeredAt>r.time&&this.unsubscribe(e,n,"time")}},6e4).unref()},"#cleanupLoop"),i(ze,"EventInterceptor");var Ce=ze;var He=require("discord.js");var rt=require("fs"),ot=require("path");var ra=Symbol("kCommandKitCacheTag"),L=process.env.COMMANDKIT_IS_DEV==="true",oa=process.env.COMMANDKIT_IS_TEST==="true",ia=process.env.COMMANDKIT_BOOTSTRAP_MODE||"development",xe={ReloadCommands:"reload-commands",ReloadEvents:"reload-events",Unknown:"unknown"};var _t=require("crypto");var Ye=class Ye{constructor(e){this.options=e}id=(0,_t.randomUUID)();loadedAt=Date.now();async activate(e){}async deactivate(e){}};i(Ye,"PluginCommon");var Z=Ye;function Je(o){return o instanceof Z}i(Je,"isPlugin");var Xe=class Xe extends Z{type="compiler";async transform(e){return null}async resolve(e){return null}async onBuildStart(){}async onBuildEnd(){}};i(Xe,"CompilerPlugin");var ee=Xe;function Wt(o){return Je(o)&&o.type==="runtime"}i(Wt,"isRuntimePlugin");var Vt=require("discord.js");var M={ExitMiddleware:Symbol("kExitMiddleware"),ForwardedCommand:Symbol("kForwardedCommand"),InvalidCommandPrefix:Symbol("kInvalidCommandPrefix"),PluginCaptureHandle:Symbol("kPluginCaptureHandle")};function z(o){let e=new Error;return Reflect.set(e,"code",o),e}i(z,"createCommandKitError");function ye(o){if(!(o instanceof Error))return!1;let e=Reflect.get(o,"code");for(let t in M)if(M[t]===e)return!0;return!1}i(ye,"isCommandKitError");function F(o,e){if(!ye(o))return!1;let t=Reflect.get(o,"code");return t?Array.isArray(e)?e.includes(t):t===e:!1}i(F,"isErrorType");var Xn={autocomplete:"Autocomplete",messageContextMenu:"MessageContextMenu",userContextMenu:"UserContextMenu",chatInput:"ChatInputCommand",message:"Message"},Qn={0:h.blue,1:h.green,2:h.yellow,3:h.red,4:h.white},Zn={0:h.bgBlue,1:h.bgGreen,2:h.bgYellow,3:h.bgRed,4:h.bgWhite},be={vertical:"\u2502",horizontalDown:"\u252C",horizontalUp:"\u2534",verticalRight:"\u251C",corner:"\u2514"},Qe=class Qe{constructor(e=process.stdout,t=process.stderr){this.stdout=e;this.stderr=t;this.logger=new console.Console(this.stdout,this.stderr)}logger;_formatTime(e){let t=e.getHours().toString().padStart(2,"0"),n=e.getMinutes().toString().padStart(2,"0"),r=e.getSeconds().toString().padStart(2,"0"),s=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${n}:${r}.${s}`}_getContext(){let e=k();if(!e)return"";let t=e.variables.get("execHandlerKind"),n=e.variables.get("commandHandlerType"),r=e.variables.get("currentCommandName");if(!t&&!n)return"";let s=Xn[t];if(!s&&!n)return"";let a=e.variables.get("forwardedBy"),c=e.variables.get("forwardedTo"),l=r?h.magenta(`/${r}`)+" ":"",m=c?`${h.yellowBright(`(${a||r} \u2192 ${c})`)} `:"";return h.dim(`${be.vertical} `)+h.cyanBright(`${l}${m}${s?h.gray(`[${s}]`):""}`.trim())}_getLevelLabel(e){let t;switch(e){case 0:t="[DEBUG]";break;case 1:t="[INFO]";break;case 2:t="[WARN]";break;case 3:t="[ERROR]";break;default:t="[LOG]"}return`${Zn[e](h.whiteBright(` ${t} `))} `}_getPrefix(e){let t=this._formatTime(new Date);return`${this._getLevelLabel(e)}${h.dim(be.vertical)} ${h.dim(t)}`}_log(e,...t){let n=this._getPrefix(e),r=this._getContext(),s=Qn[e];r?this.logger.log(`${n}
2
- ${r} ${h.dim(be.corner)}`,...t.map(a=>s(a))):this.logger.log(`${n} ${h.dim(be.corner)}`,...t.map(a=>s(a)))}debug(...e){this._log(0,...e)}error(...e){this._log(3,...e)}log(...e){this._log(4,...e)}info(...e){this._log(1,...e)}warn(...e){this._log(2,...e)}};i(Qe,"DefaultLogger");var Ee=Qe;function er(o){let e=o;if(!(e!=null&&e.provider))throw new Error("A logger provider must be provided.");let t=["log","error","warn","info","debug"],n={configure(r){e=r}};for(let r of t)n[r]=(...s)=>{e.provider[r](...s)};return n}i(er,"createLogger");var C=er({provider:new Ee});var Ze=class Ze{constructor(e){this.commandkit=e}plugins=new Vt.Collection;getPlugins(){return this.plugins}getPlugin(e){return this.plugins.get(e)??null}async softRegisterPlugin(e){let t=e.name;if(!this.plugins.has(t))try{await e.activate(this),this.plugins.set(t,e)}catch(n){throw new Error(`Failed to activate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async registerPlugin(e){let t=e.name;if(this.plugins.has(t))throw new Error(`Plugin with name "${t}" already exists.`);try{await e.activate(this),this.plugins.set(t,e)}catch(n){throw new Error(`Failed to activate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async unregisterPlugin(e){let t=e.name;if(!this.plugins.has(t))throw new Error(`Plugin with name "${t}" does not exist.`);this.plugins.delete(t);try{await e.deactivate(this)}catch(n){throw new Error(`Failed to deactivate plugin "${t}": ${(n==null?void 0:n.stack)||n}`)}}async unregisterAllPlugins(){for(let e of this.plugins.values())await this.unregisterPlugin(e)}capture(){throw z(M.PluginCaptureHandle)}async execute(e){let t;for(let n of this.plugins.values())try{t=await e(this,n)}catch(r){if(F(r,M.PluginCaptureHandle))return!0;C.error(`Plugin "${n.name}" failed`,(r==null?void 0:r.stack)||r)}return t}};i(Ze,"CommandKitPluginRuntime");var ve=Ze;var tr=require("fs/promises");var et=class et extends ee{name="MacroPlugin";macroTransformer;async activate(){let e=await import("use-macro");this.macroTransformer=new e.MacroTransformer}async deactivate(){this.macroTransformer=null}async transform(e){if(!this.options.enabled)return null;let{contents:t,loader:n}=await this.macroTransformer.transform(e.contents.toString(),e.path);return{contents:t,loader:n}}};i(et,"MacroPlugin");var we=et;var qt={plugins:[new we({enabled:!0})],esbuildPlugins:[],compilerOptions:{macro:{development:!1}},static:!0,typescript:{ignoreBuildErrors:!1},distDir:"dist",env:{},sourceMap:{development:!0,production:!0},typedCommands:!0};var nr=qt;function Me(){return nr}i(Me,"getConfig");var zt=require("async_hooks");var rr=Symbol("commandkitEventWorker"),Jt=new zt.AsyncLocalStorage;function tt(o,e){return Reflect.set(o,rr,!0),Jt.run(o,e)}i(tt,"runInEventWorkerContext");var nt=null;function Yt(){if(nt)return nt;let o=(0,ot.join)(process.cwd(),L?".commandkit":Me().distDir);(0,rt.existsSync)(o)||(o=process.cwd());let e=["app"].map(t=>(0,ot.join)(o,t));for(let t of e)if((0,rt.existsSync)(t))return nt=t,t;return null}i(Yt,"findAppDirectory");var it=class it extends Error{constructor(){super("Event propagation stopped"),this.name="StopEventPropagationError"}};i(it,"StopEventPropagationError");var ae=it;var Rt=require("path");var S=require("discord.js");var Xt=V(require("path"));function se(o,e=!1){return`${"file://"+Xt.default.resolve(o).replace(/\\\\|\\/g,"/")}${e?`?ts=${Date.now()}`:""}`}i(se,"toFileURL");var D=require("discord.js");var J,te,le,st=class st{constructor(e,t,n){this.message=e;this.prefix=t;this.schema=n;y(this,J,null);y(this,te,null);y(this,le,[])}getArgs(){return this.parse(),p(this,le)}get options(){return p(this,te)||E(this,te,new at(this)),p(this,te)}getOption(e){var t;return(t=this.parse().options.find(n=>n.name===e))==null?void 0:t.value}getCommand(){return this.parse().command}getSubcommand(){return this.parse().subcommand}getSubcommandGroup(){return this.parse().subcommandGroup}getPrefix(){for(let e of this.prefix)if(this.message.content.startsWith(e))return e}getFullCommand(){return[this.getCommand(),this.getSubcommandGroup(),this.getSubcommand()].filter(e=>e).join(" ")}parse(){if(p(this,J))return p(this,J);let e=this.message.content,t=this.getPrefix();if(!t)throw z(M.InvalidCommandPrefix);let n=e.slice(t.length).trim().split(" "),r=n.shift();E(this,le,n);let s,a;if(r!=null&&r.includes(":")){let[,m,d]=r.split(":");!d&&m?a=m:d&&m&&(s=m,a=d)}let c=this.schema([r,s,a].filter(Boolean).join(" ").trim()),l=n.map(m=>{try{let[d,f]=m.split(":");if(!(d in c))return null;switch(c[d]){case D.ApplicationCommandOptionType.Boolean:return{name:d,value:f==="true"};case D.ApplicationCommandOptionType.Integer:return{name:d,value:parseInt(f,10)};case D.ApplicationCommandOptionType.Number:return{name:d,value:parseFloat(f)};case D.ApplicationCommandOptionType.String:return{name:d,value:f};case D.ApplicationCommandOptionType.User:return{name:d,value:this.message.mentions.users.find(g=>g.id===f.replace(/[<@!>]/g,""))};case D.ApplicationCommandOptionType.Channel:return{name:d,value:this.message.mentions.channels.find(g=>g.id===f.replace(/[<#>]/g,""))};case D.ApplicationCommandOptionType.Role:return{name:d,value:this.message.mentions.roles.find(g=>g.id===f.replace(/[<@&>]/g,""))};case D.ApplicationCommandOptionType.Attachment:return{name:d,value:this.message.attachments.find(g=>g.name===f)};default:return null}}catch{return null}}).filter(m=>m!==null);return E(this,J,{command:r,options:l,subcommand:a,subcommandGroup:s}),p(this,J)}};J=new WeakMap,te=new WeakMap,le=new WeakMap,i(st,"MessageCommandParser");var Ie=st,lt=class lt{constructor(e){this.parser=e}assertOption(e,t=!1){let n=this.parser.getOption(e);if(t&&n===void 0)throw new Error(`Option "${e}" is required.`);return n??null}getMember(e,t=!1){var s;let n=this.assertOption(e,t),r=(s=this.parser.message.guild)==null?void 0:s.members.cache.get(n==null?void 0:n.id);if(t&&!r)throw new Error(`Member "${e}" is required.`);return r??null}getAttachment(e,t=!1){return this.assertOption(e,t)}getBoolean(e,t=!1){return this.assertOption(e,t)}getNumber(e,t=!1){return this.assertOption(e,t)}getString(e,t=!1){return this.assertOption(e,t)}getInteger(e,t=!1){return this.assertOption(e,t)}getUser(e,t=!1){return this.assertOption(e,t)}getChannel(e,t=!1){return this.assertOption(e,t)}getRole(e,t=!1){return this.assertOption(e,t)}getMentionable(e,t=!1){let n=this.assertOption(e,t);if(n instanceof D.GuildMember||n instanceof D.User||n instanceof D.Role)return n;if(t)throw new Error(`Mentionable "${e}" is required.`);return null}getSubcommand(e=!1){let t=this.parser.getSubcommand();if(e&&t===void 0)throw new Error("Subcommand is required.");return t??null}getSubcommandGroup(e=!1){let t=this.parser.getSubcommandGroup();if(e&&t===void 0)throw new Error("Subcommand group is required.");return t??null}};i(lt,"MessageCommandOptions");var at=lt;var U=require("discord.js");var ct=class ct{constructor(e){this.commandkit=e;this.api.setToken(this.commandkit.client.token??process.env.DISCORD_TOKEN??process.env.TOKEN??"")}api=new U.REST;getCommandsData(){return this.commandkit.commandHandler.getCommandsArray().flatMap(n=>{let r="toJSON"in n.data.command?n.data.command.toJSON():n.data.command,s=[r];return n.data.userContextMenu&&r.type!==U.ApplicationCommandType.User&&s.push({...r,type:U.ApplicationCommandType.User,options:void 0,description_localizations:void 0,description:void 0}),n.data.messageContextMenu&&r.type!==U.ApplicationCommandType.Message&&s.push({...r,type:U.ApplicationCommandType.Message,description_localizations:void 0,description:void 0,options:void 0}),s})}async register(){let e=this.getCommandsData(),t=!1,n={preventDefault(){t=!0},commands:e};if(await this.commandkit.plugins.execute(async(a,c)=>{if(!t)return c.onBeforeRegisterCommands(a,n)}),t)return;if(!this.commandkit.client.isReady())throw new Error("Cannot register commands before the client is ready");let r=e.filter(a=>{var c;return(c=a.guilds)==null?void 0:c.filter(Boolean).length}).map(a=>{var c;return{...a,guilds:Array.from(new Set((c=a.guilds)==null?void 0:c.filter(Boolean)))}}),s=e.filter(a=>{var c;return!((c=a.guilds)!=null&&c.filter(Boolean).length)});await this.updateGlobalCommands(s),await this.updateGuildCommands(r)}async updateGlobalCommands(e){if(!e.length)return;let t=!1,n={preventDefault(){t=!0},commands:e};await this.commandkit.plugins.execute(async(r,s)=>{if(!t)return s.onBeforeRegisterGlobalCommands(r,n)});try{let r=await this.api.put(U.Routes.applicationCommands(this.commandkit.client.user.id),{body:e.map(s=>({...s,guilds:void 0}))});C.info(`\u2728 Refreshed ${r.length} global application (/) commands`)}catch(r){C.error("Failed to update global application (/) commands",r)}}async updateGuildCommands(e){if(!e.length)return;let t=!1,n={preventDefault(){t=!0},commands:e};if(await this.commandkit.plugins.execute(async(r,s)=>{if(!t)return s.onBeforePrepareGuildCommandsRegistration(r,n)}),!t)try{let r=new Map;if(e.forEach(a=>{var c;(c=a.guilds)!=null&&c.length&&a.guilds.forEach(l=>{r.has(l)||r.set(l,[]),r.get(l).push(a)})}),!r.size)return;let s=0;for(let[a,c]of r){let l=!1,m={preventDefault(){l=!0},commands:c};if(await this.commandkit.plugins.execute(async(f,g)=>{if(!l)return g.onBeforeRegisterGuildCommands(f,m)}),l)continue;let d=await this.api.put(U.Routes.applicationGuildCommands(this.commandkit.client.user.id,a),{body:c.map(f=>({...f,guilds:void 0}))});s+=d.length}C.info(`\u2728 Refreshed ${s} guild application (/) commands`)}catch(r){C.error("Failed to update guild application (/) commands",r)}}};i(ct,"CommandRegistrar");var Se=ct;var Pe=require("discord.js");var Qt=require("crypto");var v,mt=class mt{constructor(e){this.commandkit=e;y(this,v,{executionError:null,type:null,variables:new Map,deferredFunctions:new Map,marker:"",markStart:0,markEnd:0,context:null})}setContext(e){p(this,v).context=e}get context(){return p(this,v).context}getExecutionError(){return p(this,v).executionError}setExecutionError(e){if(p(this,v).executionError)throw new Error("Execution error already set.");p(this,v).executionError=e}getType(){let e=p(this,v).type;if(!e)throw new Error("Environment type not set.");return e}setType(e){p(this,v).type=e}get variables(){return p(this,v).variables}registerDeferredFunction(e){let t=(0,Qt.randomUUID)();return p(this,v).deferredFunctions.set(t,e),t}clearDeferredFunction(e){p(this,v).deferredFunctions.delete(e)}async runDeferredFunctions(){for(let[e,t]of p(this,v).deferredFunctions)try{await t(this)}catch(n){this.commandkit.emit("unhandledDeferredFunctionRejection",n)}finally{this.clearDeferredFunction(e)}}clearAllDeferredFunctions(){p(this,v).deferredFunctions.clear()}markStart(e){p(this,v).marker=e,p(this,v).markStart=performance.now()}markEnd(){p(this,v).markEnd||(p(this,v).markEnd=performance.now())}getMarker(){return p(this,v).marker}getExecutionTime(){return Math.abs(p(this,v).markEnd-p(this,v).markStart)}};v=new WeakMap,i(mt,"CommandKitEnvironment");var Re=mt;function Zt(){throw z(M.ExitMiddleware)}i(Zt,"exitMiddleware");function en(){throw z(M.ForwardedCommand)}i(en,"redirect");var T={ChatInputCommand:"chatInput",MessageContextMenu:"messageContextMenu",UserContextMenu:"userContextMenu",Autocomplete:"autocomplete",Message:"message"},ne,ce=class ce{constructor(e,t){this.commandkit=e;this.config=t;x(this,"interaction");x(this,"message");x(this,"guild");x(this,"guildId");x(this,"channel");x(this,"channelId");x(this,"client");x(this,"command");y(this,ne);x(this,"_locale",null);this.interaction=t.interaction,this.message=t.message,this.client=e.client,E(this,ne,t.store??new Map),this.command=t.command,t.interaction&&(this.guild=t.interaction.guild,this.guildId=t.interaction.guildId,this.channel=t.interaction.channel,this.channelId=t.interaction.channelId),t.message&&(this.guild=t.message.guild,this.guildId=t.message.guildId,this.channel=t.message.channel,this.channelId=t.message.channelId),this.config.environment&&this.config.environment.setContext(this)}get store(){return p(this,ne)}get commandName(){return this.isInteraction()?this.interaction.commandName:this.config.messageCommandParser.getCommand()}get options(){return this.isMessage()?this.config.messageCommandParser.options:this.interaction.options}get forwarded(){return this.config.forwarded??!1}async forwardCommand(e){let t=await this.commandkit.commandHandler.prepareCommandRun(this.isInteraction()?this.interaction:this.message,e);if(!t)throw new Error(`Command ${e} not found`);let n=this.config.environment??k();if(!n)throw new Error("No commandkit environment found.");let r={chatInput:t.command.data.chatInput,autocomplete:t.command.data.autocomplete,message:t.command.data.message,messageContextMenu:t.command.data.messageContextMenu,userContextMenu:t.command.data.userContextMenu},s=n.variables.get("execHandlerKind");if(!s)throw new Error("No execution handler kind found.");let a=r[s];if(!a)throw new Error(`No handler found for ${s}`);n.variables.set("forwardedBy",this.commandName),n.variables.set("forwardedTo",e),await a(this.clone({forwarded:!0})),en()}get executionMode(){return this.config.executionMode}isInteraction(){return this.executionMode===T.ChatInputCommand||this.executionMode===T.Autocomplete||this.executionMode===T.MessageContextMenu||this.executionMode===T.UserContextMenu}isChatInputCommand(){return this.executionMode===T.ChatInputCommand}isAutocomplete(){return this.executionMode===T.Autocomplete}isMessageContextMenu(){return this.executionMode===T.MessageContextMenu}isUserContextMenu(){return this.executionMode===T.UserContextMenu}isMessage(){return this.executionMode===T.Message}getCommandIdentifier(){return this.isInteraction()?this.interaction.commandName:this.message.content.split(" ")[0].slice(1)}getGuildLocale(){var e;return this.isInteraction()?this.interaction.guildLocale:((e=this.message.guild)==null?void 0:e.preferredLocale)??null}getUserLocale(){return this.isInteraction()?this.interaction.locale:null}getLocale(e=!1){if(this._locale)return this._locale;let t=e?this.getUserLocale():this.getGuildLocale();return t||this.commandkit.config.defaultLocale}setLocale(e){this._locale=e}clone(e){return e?new ce(this.commandkit,{...this.config,...e,store:p(this,ne)}):new ce(this.commandkit,this.config)}isMiddleware(){return this instanceof me}args(){return this.isMessage()?this.config.messageCommandParser.getArgs():[]}exit(){Zt()}};ne=new WeakMap,i(ce,"Context");var ut=ce,ue,dt=class dt extends ut{constructor(){super(...arguments);y(this,ue,!1)}get cancelled(){return p(this,ue)}cancel(){E(this,ue,!0)}setCommandRunner(t){var n,r;(r=(n=this.config.customArgs)==null?void 0:n.setCommandRunner)==null||r.call(n,t)}};ue=new WeakMap,i(dt,"MiddlewareContext");var me=dt;var De,tn,pt=class pt{constructor(e){this.handler=e;y(this,De)}async runCommand(e,t){let{commandkit:n}=this.handler,r=this.getExecutionMode(t),s=null,a=new Re(n);a.setType("COMMAND_HANDLER"),a.variables.set("commandHandlerType","app"),a.variables.set("currentCommandName",e.command.command.name),a.variables.set("execHandlerKind",r);let c=new me(n,{command:e.command,environment:a,executionMode:r,interaction:t instanceof Pe.Message?null:t,message:t instanceof Pe.Message?t:null,forwarded:!1,customArgs:{setCommandRunner:i(m=>{s=m},"setCommandRunner")},messageCommandParser:e.messageCommandParser}),l=!1;if(e.middlewares.length&&await Te(a,async()=>{for(let m of e.middlewares)if(m.data.beforeExecute)try{await m.data.beforeExecute(c)}catch(d){if(F(d,M.ExitMiddleware)){l=!0;return}if(F(d,[M.ForwardedCommand,M.InvalidCommandPrefix]))continue;throw d}}),!c.cancelled){let d=e.command.data[r];if(d||C.warn(`Command ${e.command.command.name} has no handler for ${r}`),d)try{let f=nn(a,async()=>(a.registerDeferredFunction(P=>{P.markEnd();let I=P.getExecutionError(),b=P.getMarker(),K=`${P.getExecutionTime().toFixed(2)}ms`;if(I){C.error(`[${b} - ${K}] Error executing command: ${I.stack||I}`);return}C.info(`[${b} - ${K}] Command executed successfully`)}),d(c.clone())),w(this,De,tn).bind(this)),g=s!=null?s(f):f;a.markStart(e.command.data.command.name),await n.plugins.execute(async(P,I)=>I.executeCommand(P,a,t,e,g))||await g()}catch(f){F(f,M.ExitMiddleware)&&(l=!0),F(f,[M.ForwardedCommand,M.ExitMiddleware])||C.error(f)}}!l&&e.middlewares.length&&await Te(a,async()=>{for(let m of e.middlewares)if(m.data.afterExecute)try{await m.data.afterExecute(c)}catch(d){if(F(d,M.ExitMiddleware))return;throw d}})}getExecutionMode(e){return e instanceof Pe.Message?T.Message:e.isChatInputCommand()?T.ChatInputCommand:e.isAutocomplete()?T.Autocomplete:e.isMessageContextMenuCommand()?T.MessageContextMenu:e.isUserContextMenuCommand()?T.UserContextMenu:null}};De=new WeakSet,tn=i(async function(){let e=rn();await e.runDeferredFunctions(),e.clearAllDeferredFunctions(),await this.handler.commandkit.plugins.execute(async(t,n)=>{await n.onAfterCommand(t,e)})},"#finalizer"),i(pt,"AppCommandRunner");var Ke=pt;var W=require("fs/promises"),_=require("path");var on=require("fs");async function Ae(o=!1){let e=(0,_.join)(process.cwd(),"node_modules","commandkit-types");if(!L&&!o)return e;let t=(0,_.join)(e,"package.json"),n=(0,_.join)(e,"index.js"),r=(0,_.join)(e,"index.d.ts"),s=(0,_.join)(e,"command.d.ts"),a={name:"commandkit-types",version:"1.0.0",description:"CommandKit types package",type:"commonjs",main:"index.js",types:"index.d.ts"},c="module.exports = {};",l=`// Main types index file - imports all type declarations
3
- import './command';
4
- export {};
5
- `,m=`// Auto-generated command types
6
- export {};
7
- declare module 'commandkit' {
8
- type CommandTypeData = string
9
- }`;return await(0,W.mkdir)(e,{recursive:!0}).catch(()=>{}),await(0,W.writeFile)(t,JSON.stringify(a,null,2)),await(0,W.writeFile)(n,c),await(0,W.writeFile)(r,l),await(0,W.writeFile)(s,m),e}i(Ae,"generateTypesPackage");async function an(o){let e=`// Auto-generated command types
10
- declare module 'commandkit' {
11
- ${o}
12
- }
13
- export {};
14
- `,t=(0,_.join)(process.cwd(),"node_modules","commandkit-types");if(!(0,on.existsSync)(t))return;let n=(0,_.join)(t,"command.d.ts");await(0,W.writeFile)(n,e,{encoding:"utf-8"})}i(an,"rewriteCommandDeclaration");var or={command:i(o=>o instanceof S.SlashCommandBuilder||o instanceof S.ContextMenuCommandBuilder||o&&typeof o=="object","command"),chatInput:i(o=>typeof o=="function","chatInput"),autocomplete:i(o=>typeof o=="function","autocomplete"),message:i(o=>typeof o=="function","message"),messageContextMenu:i(o=>typeof o=="function","messageContextMenu"),userContextMenu:i(o=>typeof o=="function","userContextMenu")},ir={beforeExecute:i(o=>typeof o=="function","beforeExecute"),afterExecute:i(o=>typeof o=="function","afterExecute")},ft=class ft{constructor(e){this.commandkit=e;this.registrar=new Se(this.commandkit)}loadedCommands=new S.Collection;loadedMiddlewares=new S.Collection;commandNameToId=new Map;subcommandPathToId=new Map;registrar;onInteraction=null;onMessageCreate=null;commandRunner=new Ke(this);externalCommandData=new S.Collection;externalMiddlewareData=new S.Collection;printBanner(){let e=crypto.randomUUID(),t=this.getCommandsArray().reduce((l,m)=>{let d=m.command.category||e;return l[d]=l[d]||[],l[d].push(m),l},{});console.log(h.green(`Loaded ${h.magenta(this.loadedCommands.size.toString())} commands:`));let n=Object.keys(t).sort(),r={};n.forEach(l=>{if(l!==e&&l.includes(":")){let m=l.split(":"),d=null;for(let f=m.length-1;f>0;f--){let g=m.slice(0,f).join(":");if(n.includes(g)){d=g;break}}d&&(r[d]=r[d]||[],r[d].push(l))}});let s=new Set,a=i((l,m="",d=!1,f="")=>{if(s.has(l))return;s.add(l);let g=t[l],A=r[l]&&r[l].length>0,P=d?"\u2514\u2500":"\u251C\u2500",I=f+(d?" ":"\u2502 ");if(l!==e){let b=l.includes(":")?l.split(":").pop():l;console.log(h.cyan(`${m}${P} ${h.bold(b)}`))}if(g.forEach((b,K)=>{let je=K===g.length-1&&!A?"\u2514\u2500":"\u251C\u2500",An=l!==e?I:m,kn=b.data.command.name,Bn=b.command.middlewares.length>0?h.magenta(" (\u03BB)"):"";console.log(`${h.green(`${An}${je}`)} ${h.yellow(kn)}${Bn}`)}),A){let b=r[l].sort();b.forEach((K,ie)=>{let je=ie===b.length-1;a(K,I,je,I)})}},"printCategory"),c=n.filter(l=>{if(l===e)return!0;if(l.includes(":")){let m=l.split(":");for(let d=1;d<m.length;d++){let f=m.slice(0,d).join(":");if(n.includes(f))return!1}return!0}return!0}).sort();c.forEach((l,m)=>{let d=m===c.length-1;a(l,"",d)})}getCommandsArray(){return Array.from(this.loadedCommands.values())}registerCommandHandler(){this.onInteraction??=async e=>{if(await this.commandkit.plugins.execute(async(s,a)=>a.onBeforeInteraction(s,e))||!(e.isCommand()||e.isAutocomplete()||e.isUserContextMenuCommand()||e.isMessageContextMenuCommand()))return;let r=await this.prepareCommandRun(e);if(r)return this.commandRunner.runCommand(r,e)},this.onMessageCreate??=async e=>{if(await this.commandkit.plugins.execute(async(r,s)=>s.onBeforeMessageCommand(r,e))||e.author.bot)return;let n=await this.prepareCommandRun(e);if(n)return this.commandRunner.runCommand(n,e)},this.commandkit.client.on(S.Events.InteractionCreate,this.onInteraction),this.commandkit.client.on(S.Events.MessageCreate,this.onMessageCreate)}async prepareCommandRun(e,t){var c;let n;if(!t)if(e instanceof S.Message){if(e.author.bot)return null;let l=await this.commandkit.config.getMessageCommandPrefix(e);n=new Ie(e,Array.isArray(l)?l:[l],m=>{var A,P;let d=this.commandNameToId.get(m);if(!d)return null;let f=this.loadedCommands.get(d);return!f||e.guildId&&((A=f.guilds)!=null&&A.length)&&!f.guilds.includes(e.guildId)?null:((P=("toJSON"in f.data.command?f.data.command.toJSON():f.data.command).options)==null?void 0:P.reduce((I,b)=>(I[b.name]=b.type,I),{}))??{}});try{t=n.getFullCommand().split(" ")[0]}catch(m){return F(m,M.InvalidCommandPrefix)||C.error(m),null}}else{if(!(e.isChatInputCommand()||e.isAutocomplete()||e.isContextMenuCommand()))return null;t=e.commandName}let r=this.commandNameToId.get(t);if(!r)return null;let s=this.loadedCommands.get(r);if(!s||(e instanceof S.CommandInteraction||e instanceof S.AutocompleteInteraction)&&e.guildId&&((c=s.guilds)!=null&&c.length)&&!s.guilds.includes(e.guildId))return null;let a=[];for(let l of s.command.middlewares){let m=this.loadedMiddlewares.get(l);m&&a.push(m)}return{command:s,middlewares:a,messageCommandParser:n}}async reloadCommands(){this.loadedCommands.clear(),this.loadedMiddlewares.clear(),this.commandNameToId.clear(),this.subcommandPathToId.clear(),this.externalCommandData.clear(),this.externalMiddlewareData.clear(),await this.loadCommands()}async addExternalMiddleware(e){for(let t of e)t.id&&this.externalMiddlewareData.set(t.id,t)}async addExternalCommands(e){for(let t of e)t.id&&this.externalCommandData.set(t.id,t)}async registerExternalLoadedMiddleware(e){for(let t of e)this.loadedMiddlewares.set(t.middleware.id,t)}async registerExternalLoadedCommands(e){for(let t of e)this.loadedCommands.set(t.command.id,t),this.commandNameToId.set(t.command.name,t.command.id)}async loadCommands(){await this.commandkit.plugins.execute((a,c)=>c.onBeforeCommandsLoad(a));let e=this.commandkit.commandsRouter;if(!e)throw new Error("Commands router has not yet initialized");let{commands:t,middlewares:n}=e.getData(),r=this.externalCommandData.size?t.concat(this.externalCommandData):t,s=this.externalMiddlewareData.size?n.concat(this.externalMiddlewareData):n;for(let[a,c]of s)await this.loadMiddleware(a,c);for(let[a,c]of r)await this.loadCommand(a,c);L&&await an(`type CommandTypeData = ${Array.from(this.loadedCommands.mapValues(a=>JSON.stringify(a.command.name)).values()).join(" | ")}`),await this.commandkit.plugins.execute((a,c)=>c.onAfterCommandsLoad(a))}async loadMiddleware(e,t){try{let n=await import(`${se(t.path)}?t=${Date.now()}`),r=0;for(let[s,a]of Object.entries(ir)){if(n[s]&&!await a(n[s]))throw new Error(`Invalid export for middleware ${e}: ${s} does not match expected value`);n[s]&&r++}if(r===0)throw new Error(`Invalid export for middleware ${e}: at least one handler function must be provided`);this.loadedMiddlewares.set(e,{middleware:t,data:n})}catch(n){C.error(`Failed to load middleware ${e}`,n)}}async loadCommand(e,t){try{if(t.path===null){this.loadedCommands.set(e,{command:t,data:{command:{name:t.name,description:`${t.name} commands`,type:1}}});return}let n=await import(`${se(t.path)}?t=${Date.now()}`);if(!n.command)throw new Error(`Invalid export for command ${t.name}: no command definition found`);let r=0;for(let[a,c]of Object.entries(or))if(a!=="command"&&n[a]&&r++,n[a]&&!await c(n[a]))throw new Error(`Invalid export for command ${t.name}: ${a} does not match expected value`);if(r===0)throw new Error(`Invalid export for command ${t.name}: at least one handler function must be provided`);let s=n.command;await this.commandkit.plugins.execute(async(a,c)=>{let l=await c.prepareCommand(a,s);l&&(s=l)}),this.loadedCommands.set(e,{command:t,guilds:n.guilds,data:{...n,command:"toJSON"in s?s.toJSON():s}}),this.commandNameToId.set(t.name,e)}catch(n){C.error(`Failed to load command ${t.name} (${e})`,n)}}};i(ft,"AppCommandHandler");var ke=ft;var ht=require("discord.js"),cn=require("fs"),Ct=require("fs/promises"),B=require("path");var ar=/^\+middleware\.(m|c)?(j|t)sx?$/,sn=/^\+([^+().][^().]*)\.middleware\.(m|c)?(j|t)sx?$/,ln=/^\+global-middleware\.(m|c)?(j|t)sx?$/,sr=/^([^+().][^().]*)\.(m|c)?(j|t)sx?$/,lr=/^\(.+\)$/,gt=class gt{constructor(e){this.options=e}commands=new ht.Collection;middlewares=new ht.Collection;populate(e){for(let[t,n]of Object.entries(e.commands))this.commands.set(t,n);for(let[t,n]of Object.entries(e.middlewares))this.middlewares.set(t,n)}isValidPath(){return(0,cn.existsSync)(this.options.entrypoint)}isCommand(e){return sr.test(e)}isMiddleware(e){return ar.test(e)||ln.test(e)||sn.test(e)}isCategory(e){return lr.test(e)}clear(){this.commands.clear(),this.middlewares.clear()}async scan(){let e=await(0,Ct.readdir)(this.options.entrypoint,{withFileTypes:!0});for(let t of e){if(t.name.startsWith("_"))continue;let n=(0,B.join)(this.options.entrypoint,t.name);if(t.isDirectory()){let r=this.isCategory(t.name)?t.name.slice(1,-1):null;await this.traverse(n,r)}else await this.handle(t)}return await this.applyMiddlewares(),this.toJSON()}getData(){return{commands:this.commands,middlewares:this.middlewares}}toJSON(){return{commands:Object.fromEntries(this.commands.entries()),middlewares:Object.fromEntries(this.middlewares.entries())}}async traverse(e,t){let n=await(0,Ct.readdir)(e,{withFileTypes:!0});for(let r of n)if(!r.name.startsWith("_")){if(r.isFile())(this.isCommand(r.name)||this.isMiddleware(r.name))&&await this.handle(r,t);else if(r.isDirectory()&&this.isCategory(r.name)&&t){let s=this.isCategory(r.name)?`${t}:${r.name.slice(1,-1)}`:null;await this.traverse((0,B.join)(e,r.name),s)}}}async handle(e,t=null){let n=e.name,r=(0,B.join)(e.parentPath,e.name);if(this.isCommand(n)){let s={id:crypto.randomUUID(),name:(0,B.basename)(r,(0,B.extname)(r)),path:r,category:t,parentPath:e.parentPath,relativePath:this.replaceEntrypoint(r),middlewares:[]};this.commands.set(s.id,s)}else if(this.isMiddleware(n)){let s={id:crypto.randomUUID(),name:(0,B.basename)(r,(0,B.extname)(r)),path:r,relativePath:this.replaceEntrypoint(r),parentPath:e.parentPath,global:ln.test(n),command:sn.test(n)&&n.split(".")[0]||null};this.middlewares.set(s.id,s)}}applyMiddlewares(){this.commands.forEach(e=>{let t=e.parentPath,n=Array.from(this.middlewares.values()).filter(r=>r.global?!0:r.command?r.command===e.name:r.parentPath===t).map(r=>r.id);e.middlewares=Array.from(new Set([...e.middlewares,...n]))})}replaceEntrypoint(e){return(0,B.normalize)(e).replace(this.options.entrypoint,"")}};i(gt,"CommandsRouter");var Be=gt;var mn=require("discord.js"),un=require("fs"),xt=require("fs/promises"),Oe=require("path");var yt=class yt{constructor(e){this.options=e;var t;if(e.entrypoints&&(e.entrypoints=Array.from(new Set(e.entrypoints))),!((t=e.entrypoints)!=null&&t.length))throw new Error("Entrypoint directory must be provided")}events=new mn.Collection;addEntrypoints(e){this.options.entrypoints=Array.from(new Set([...this.options.entrypoints,...e]))}match(e){return this.events.get(e)??null}get entrypoints(){return this.options.entrypoints}isValidPath(){return this.entrypoints.every(e=>(0,un.existsSync)(e))}clear(){this.events.clear()}async reload(){return this.clear(),this.scan()}async scan(){for(let e of this.entrypoints){let t=await(0,xt.readdir)(e,{withFileTypes:!0});for(let n of t)if(n.isDirectory()){let r=(0,Oe.join)(e,n.name);await this.scanEvent(n.name,r,null,[],!0)}}return Object.fromEntries(this.events)}toJSON(){return Object.fromEntries(this.events)}async scanEvent(e,t,n=null,r=[],s=!1){let a=await(0,xt.readdir)(t,{withFileTypes:!0}),c=s&&/^\(.+\)$/.test(e),l=c?e.slice(1,-1):n??null;a.sort((m,d)=>m.name.localeCompare(d.name));for(let m of a)if(!m.name.startsWith("_")){if(m.isDirectory()){let d=(0,Oe.join)(t,m.name);await this.scanEvent(m.name,d,l,r);continue}m.isFile()&&/\.(m|c)?(j|t)sx?$/.test(m.name)&&r.push((0,Oe.join)(m.parentPath,m.name))}if(!c){let m=this.events.get(e);if(m){m.listeners=Array.from(new Set([...m.listeners,...r]));return}this.events.set(e,{event:e,path:t,listeners:r,namespace:l})}}};i(yt,"EventsRouter");var Le=yt;var dn=require("discord.js");var bt=class bt{constructor(e){this.commandkit=e}loadedEvents=new dn.Collection;getEvents(){return this.loadedEvents.size===0?[]:this.loadedEvents.toJSON().map(t=>({name:t.name,namespace:t.namespace,onceListeners:t.listeners.filter(n=>n.once).length,regularListeners:t.listeners.filter(n=>!n.once).length,metadata:t.event}))}async reloadEvents(){this.unregisterAll(),await this.loadEvents()}async loadEvents(){await this.commandkit.plugins.execute((n,r)=>r.onBeforeEventsLoad(n));let t=await this.commandkit.eventsRouter.scan();for(let n of Object.values(t)){let r=[];for(let c of n.listeners){let l=await import(se(c,!0));(!l.default||typeof l.default!="function")&&C.error(`Event handler for ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} does not have a default export or is not a function`),r.push({handler:l.default,once:!!l.once})}let s=r.length;s||C.warn(`Event ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} does not have any listeners`);let a=`${n.namespace?`${n.namespace}:`:""}${n.event}`;this.loadedEvents.set(a,{name:n.event,namespace:n.namespace,event:n,listeners:r}),C.info(`\u2728 Loaded event ${n.event}${n.namespace?` of namespace ${n.namespace}`:""} with ${s} listener${s===1?"":"s"}`)}this.registerAllClientEvents(),await this.commandkit.plugins.execute((n,r)=>r.onAfterEventsLoad(n))}unregisterAll(){this.unregisterAllClientListeners(),this.loadedEvents.clear()}registerAllClientEvents(){let e=this.commandkit.client;for(let[t,n]of this.loadedEvents.entries()){let{name:r,listeners:s,namespace:a}=n,c=s.filter(g=>g.once),l=s.filter(g=>!g.once),m=new Set,d=i(async(...g)=>{let A=!1,P={name:r,args:g,namespace:a??null,once:!1,metadata:n.event,accept(){A||(A=!0)}};await this.commandkit.plugins.execute(async(I,b)=>{var K;if(!A)return(K=b.willEmitEvent)==null?void 0:K.call(b,I,P)}).catch(Object),await tt({event:r,namespace:a??null,data:n.event,commandkit:this.commandkit,arguments:g},async()=>{for(let I of l)try{await I.handler(...g)}catch(b){if(b instanceof ae){C.debug(`Event propagation stopped for ${r}${a?` of namespace ${a}`:""}`);break}C.error(`Error handling event ${r}${a?` of namespace ${a}`:""}`,b)}})},"mainHandler"),f=i(async(...g)=>{let A=!1,P=!1,I={name:r,args:g,namespace:a??null,once:!0,metadata:n.event,accept(){P||(P=!0)}};await this.commandkit.plugins.execute(async(b,K)=>{var ie;if(!P)return(ie=K.willEmitEvent)==null?void 0:ie.call(K,b,I)}).catch(Object);for(let b of c){if(A)break;await tt({event:r,namespace:a??null,data:n.event,commandkit:this.commandkit,arguments:g},async()=>{try{if(m.has(b.handler))return;await b.handler(...g),m.add(b.handler)}catch(K){K instanceof ae&&(C.debug(`Event propagation stopped for ${r}${a?` of namespace ${a}`:""}`),A=!0),C.error(`Error handling event ${r}${a?` of namespace ${a}`:""}`,K)}})}m.size===c.length&&l.length===0&&(this.loadedEvents.delete(t),C.info(`\u{1F9F9} Cleaned up completed once-only event ${r}${a?` of namespace ${a}`:""}`))},"onceHandler");this.loadedEvents.set(t,{...n,mainListener:l.length>0?{handler:d,once:!1}:void 0,executedOnceListeners:m}),a?(l.length>0&&this.commandkit.events.on(a,r,d),c.length>0&&this.commandkit.events.once(a,r,f)):(l.length>0&&e.on(r,d),c.length>0&&e.once(r,f)),C.info(`\u{1F50C} Registered event ${r}${a?` of namespace ${a}`:""} (${l.length} regular, ${c.length} once-only)`)}}unregisterAllClientListeners(){let e=this.commandkit.client;for(let[t,{name:n,mainListener:r,namespace:s}]of this.loadedEvents.entries())r?s?this.commandkit.events.off(s,n,r.handler):e.off(n,r.handler):s?this.commandkit.events.removeAllListeners(s,n):e.removeAllListeners(n),this.loadedEvents.delete(t),C.info(`\u{1F5D1}\uFE0F Unregistered event ${n}${s?` of namespace ${s}`:""}`)}};i(bt,"AppEventsHandler");var $e=bt;var Cn=require("fs"),gn=require("path");var cr=require("rimraf"),Et=require("path"),de=V(require("fs"));var fn=require("child_process");var $;function mr(o){process.stdout.write(o),process.stdout.write(`
15
- `)}i(mr,"write");function pn(o){mr(h.red(`Error: ${o}`)),process.exit(1)}i(pn,"panic");async function ur(o){return/\.(c|m)?tsx?$/.test(o)?(process.features.typescript||await pr(),!0):!1}i(ur,"ensureTypeScript");var re;function dr(){if(re)return re;let o={"yarn.lock":"yarn","pnpm-lock.yaml":"pnpm","package-lock.json":"npm","bun.lock":"bun","bun.lockb":"bun"};for(let[e,t]of Object.entries(o))if(de.default.existsSync((0,Et.join)(process.cwd(),e))){re=t;break}return re||(re="npm"),re}i(dr,"detectPackageManager");async function pr(o){if($)return $;try{$=await import("typescript")}catch(e){if(e instanceof Error&&"code"in e&&e.code==="MODULE_NOT_FOUND")try{let t=dr();return(0,fn.execSync)(`${t} add typescript`,{stdio:"inherit",cwd:process.cwd()}),console.log(h.cyan("TypeScript has been installed automatically, restarting...")),$=await import("typescript"),$}catch{pn("TypeScript is not installed and could not be installed automatically. Please install it manually.")}pn(e||"TypeScript must be installed to use TypeScript config files.")}return $}i(pr,"loadTypeScript");async function hn(o){if(await fr(o),await ur(o)&&$){let{transpileModule:n}=$,r=de.default.readFileSync(o,"utf8"),{outputText:s}=n(r,{compilerOptions:{module:$.ModuleKind.ESNext,target:$.ScriptTarget.ESNext,moduleResolution:$.ModuleResolutionKind.NodeNext},fileName:o}),a=await Ae(),c=(0,Et.join)(a,"compiled-commandkit.config.mjs");de.default.writeFileSync(c,s),o=c}return await import(`file://${o}`).then(n=>n.default||n)}i(hn,"loadConfigFileFromPath");async function fr(o){if(!de.default.existsSync(o))throw new Error(`File not found: ${o}`)}i(fr,"ensureExists");var hr=["commandkit.config.js","commandkit.config.mjs","commandkit.config.cjs","commandkit.config.ts"];function Cr(o){return hr.map(e=>(0,gn.join)(o,e))}i(Cr,"getPossibleConfigPaths");function gr(o){let e=Cr(o);for(let t of e)if((0,Cn.existsSync)(t))return{path:t,isTypeScript:/\.ts$/.test(t)};return null}i(gr,"findConfigFile");var vt=null;async function xn(o=process.cwd()){if(vt)return vt;let e=gr(o);if(!e)return Me();let t=await hn(e.path);return vt=t,t}i(xn,"loadConfigFile");function yn(o){L&&process.on("message",async e=>{if(typeof e!="object"||e===null)return;let{event:t,path:n,id:r}=e;if(!t)return;process.env.COMMANDKIT_DEBUG_HMR==="true"&&C.info(`Received HMR event: ${t}${n?` for ${n}`:""}`);let s=!1,a=!1,c=!1,l={accept(){s=!0},preventDefault(){a=!0},path:n,event:t};try{if(await o.plugins.execute(async(m,d)=>{var f;s||await((f=d.performHMR)==null?void 0:f.call(d,m,l))}),a)return;switch(t){case xe.ReloadCommands:o.commandHandler.reloadCommands(),c=!0;break;case xe.ReloadEvents:o.eventHandler.reloadEvents(),c=!0;break;case xe.Unknown:c=!1;break;default:break}}finally{r&&process.send&&process.send({type:"commandkit-hmr-ack",id:r,handled:c||s})}})}i(yn,"registerDevHooks");var wn=require("fs");var bn=V(require("events"));var wt=class wt{constructor(e){this.commandkit=e}emitter=new bn.default;to(e){return{on:this.on.bind(this,e),off:this.off.bind(this,e),once:this.once.bind(this,e),emit:this.emit.bind(this,e),removeAllListeners:this.removeAllListeners.bind(this,e)}}on(e,t,n){this.emitter.on(`${e}:${t}`,n)}off(e,t,n){this.emitter.off(`${e}:${t}`,n)}once(e,t,n){this.emitter.once(`${e}:${t}`,n)}emit(e,t,...n){return this.emitter.emit(`${e}:${t}`,...n)}removeAllListeners(e,t){t?this.emitter.removeAllListeners(`${e}:${t}`):this.emitter.removeAllListeners(e)}};i(wt,"CommandKitEventsChannel");var Fe=wt;var En=require("discord.js");var Mt=class Mt extends En.Collection{};i(Mt,"FlagStore");var Ue=Mt;var xr,It=new Set,St=new Set;var oe,O,Mn,In,Sn,Rn,Pn,N=class N extends vn.default{constructor(t){if(N.instance&&process.emitWarning("CommandKit instance already exists. Having multiple instance in same project is discouraged and it may lead to unexpected behavior.",{code:"MultiInstanceWarning"}),!t.client)throw new Error(h.red('"client" is required when instantiating CommandKit.'));super();this.options=t;y(this,O);y(this,oe,!1);x(this,"eventInterceptor");x(this,"config",{defaultLocale:He.Locale.EnglishUS,getMessageCommandPrefix:i(()=>"!","getMessageCommandPrefix")});x(this,"store",new Map);x(this,"flags",new Ue);x(this,"commandsRouter");x(this,"eventsRouter");x(this,"commandHandler",new ke(this));x(this,"eventHandler",new $e(this));x(this,"plugins");x(this,"events",new Fe(this));this.plugins=new ve(this),N.instance||(N.instance=this),xr=N.instance,w(this,O,Mn).call(this)}async start(t){if(!p(this,oe)){if(!this.options.client)throw new Error(h.red('"client" is required when starting CommandKit.'));if(this.eventInterceptor=new Ce(this.client),L)try{yn(this),await Ae()}catch(n){process.env.COMMANDKIT_DEBUG_TYPEGEN&&C.error(n)}if(await this.loadPlugins(),await w(this,O,Sn).call(this),this.commandHandler.registerCommandHandler(),this.incrementClientListenersCount(),t!==!1&&!this.options.client.isReady()){this.client.once(He.Events.ClientReady,async()=>{await this.commandHandler.registrar.register()}),await this.plugins.execute((r,s)=>{var a;return(a=s.onBeforeClientLogin)==null?void 0:a.call(s,r)});let n=t??this.options.client.token??process.env.TOKEN??process.env.DISCORD_TOKEN;await this.options.client.login(n),await this.plugins.execute((r,s)=>{var a;return(a=s.onAfterClientLogin)==null?void 0:a.call(s,r)})}else this.options.client.isReady()&&await this.commandHandler.registrar.register();E(this,oe,!0),await w(this,O,In).call(this)}}async loadPlugins(){let n=(await xn()).plugins.flat(2).filter(r=>Wt(r));if(n.length)for(let r of n)await this.plugins.softRegisterPlugin(r)}get started(){return p(this,oe)}setPrefixResolver(t){return this.config.getMessageCommandPrefix=t,this}setDefaultLocale(t){return this.config.defaultLocale=t,this}get client(){return this.options.client}async reloadCommands(){await this.commandHandler.reloadCommands()}async reloadEvents(){await this.eventHandler.reloadEvents()}incrementClientListenersCount(){this.options.client.setMaxListeners(this.options.client.getMaxListeners()+1)}decrementClientListenersCount(){this.options.client.setMaxListeners(this.options.client.getMaxListeners()-1)}getAppDirectory(){return Yt()}getPath(t){let n=this.getAppDirectory();if(!n)return null;switch(t){case"commands":return(0,Rt.join)(n,"commands");case"events":return(0,Rt.join)(n,"events");default:return t}}};oe=new WeakMap,O=new WeakSet,Mn=i(async function(){for(let t of It)try{await t(this)}catch(n){C.error("Error while executing bootstrap hook: ",n)}finally{It.delete(t)}It.clear()},"#bootstrapHooks"),In=i(async function(){for(let t of St)try{await t(this)}catch(n){C.error("Error while executing application bootstrap hook: ",n)}finally{St.delete(t)}St.clear()},"#applicationBootstrapHooks"),Sn=i(async function(){if(!this.getAppDirectory())return;let n=this.getPath("commands"),r=this.getPath("events");this.commandsRouter=new Be({entrypoint:n}),await this.plugins.execute((s,a)=>a.onCommandsRouterInit(s)),this.eventsRouter=new Le({entrypoints:[r]}),await this.plugins.execute((s,a)=>a.onEventsRouterInit(s)),await w(this,O,Pn).call(this),await w(this,O,Rn).call(this)},"#init"),Rn=i(async function(){if(this.commandsRouter.isValidPath()){let t=await this.commandsRouter.scan();L&&(0,wn.writeFileSync)("./.commandkit/commands.json",JSON.stringify(t,null,2))}await this.commandHandler.loadCommands(),this.commandHandler.printBanner()},"#initCommands"),Pn=i(async function(){this.eventsRouter.isValidPath()&&await this.eventsRouter.scan(),await this.eventHandler.loadEvents()},"#initEvents"),i(N,"CommandKit"),x(N,"createElement",Gt),x(N,"Fragment",Ht),x(N,"instance");var Ne=N;var yr=Symbol("commandkitCommandWorker"),pe=new Kn.AsyncLocalStorage;function G(o){return pe.exit(o)}i(G,"exitContext");function Te(o,e){return Reflect.set(o,yr,!0),pe.run(o,e)}i(Te,"provideContext");function nn(o,e,t){return i((...r)=>Te(o,async()=>{try{return await e(...r)}catch(s){ye(s)||o.setExecutionError(s)}finally{typeof t=="function"&&setImmediate(async()=>{try{await t(...r)}catch{}})}}),"_fn")}i(nn,"makeContextAwareFunction");function j(o=!1){var t;let e=((t=pe.getStore())==null?void 0:t.commandkit)??Ne.instance;if(!e&&o)throw new Error("CommandKit instance not found.");return e}i(j,"getCommandKit");function k(){return pe.getStore()}i(k,"getContext");function rn(){let o=pe.getStore();if(!o)throw new Error("No commandkit environment found. Please make sure you are inside commandkit handler.");return o}i(rn,"useEnvironment");var Y,R,X,H,Dn,Tn,Pt,Kt=class Kt extends Ge.RoleSelectMenuBuilder{constructor(){super(...arguments);y(this,H);y(this,Y,null);y(this,R,{autoReset:!1,time:5*60*1e3,once:!0});y(this,X,null)}onSelect(t,n){var r,s,a,c;if(!t)throw new TypeError('Cannot setup "onClick" without a handler function parameter.');return p(this,Y)&&w(this,H,Pt).call(this),E(this,Y,t),n&&E(this,R,{autoReset:n.autoReset??((r=p(this,R))==null?void 0:r.autoReset)??!0,time:n.time??((s=p(this,R))==null?void 0:s.time)??5*60*1e3,filter:n.filter??((a=p(this,R))==null?void 0:a.filter),onEnd:n.onEnd??((c=p(this,R))==null?void 0:c.onEnd)}),w(this,H,Tn).call(this),this}onEnd(t){if(!t)throw new TypeError('Cannot setup "onEnd" without a handler function parameter.');return p(this,R)??E(this,R,{}),p(this,R).onEnd=t,this}onError(t){if(!t)throw new TypeError('Cannot setup "onError" without a handler function parameter.');return p(this,R)??E(this,R,{}),p(this,R).onError=t,this}filter(t){return p(this,R)??E(this,R,{autoReset:!0,time:5*60*1e3}),p(this,R).filter=t,this}get customId(){return this.data.custom_id??this.data.customId}dispose(){return w(this,H,Pt).call(this),this}};Y=new WeakMap,R=new WeakMap,X=new WeakMap,H=new WeakSet,Dn=i(function(){let t=k();return t?G(()=>t.commandkit.eventInterceptor):j(!0).eventInterceptor},"#getEventInterceptor"),Tn=i(function(){if(!p(this,R))return;if(!this.customId)throw new TypeError("Cannot setup an modal collector without a custom ID.");let t=w(this,H,Dn).call(this);t&&E(this,X,t.subscribe(Ge.Events.InteractionCreate,async n=>{var l,m;if(!n.isRoleSelectMenu())return;let r=this.customId??null,s=n.customId;if(r&&s!==r)return;let a=(l=p(this,R))==null?void 0:l.filter;if(a&&!await a(n))return;let c=p(this,Y);return c?c(n,this):(m=p(this,X))==null?void 0:m.call(this)},p(this,R)))},"#setupCollector"),Pt=i(function(){var t;(t=p(this,X))==null||t.call(this),E(this,X,null),E(this,Y,null),E(this,R,null)},"#destroyCollector"),i(Kt,"RoleSelectMenuKit");var fe=Kt;0&&(module.exports={RoleSelectMenuKit});
16
- //# sourceMappingURL=RoleSelectMenuKit.js.map
1
+ require('../../../colors-Cd4Oz-r-.js');
2
+ require('../../../ActionRow-CmTHbo2t.js');
3
+ require('../../../error-codes-C_UO39jz.js');
4
+ const require_CommandKit = require('../../../CommandKit-DDrQtQns.js');
5
+ require('../../../common-CcfjYnPG.js');
6
+ require('../../../common-CeO-vn8Y.js');
7
+ require('../../../container-CpuiLsZM.js');
8
+ require('../../../file-DE69SSOP.js');
9
+ require('../../../media-gallery-nUEHqKVF.js');
10
+ require('../../../section-D6t7tyEZ.js');
11
+ require('../../../separator-DYAFK-Jj.js');
12
+ require('../../../text-display-Dy6JHB5X.js');
13
+ require('../../../v2-DofkPKHs.js');
14
+ require('../../../warn-unstable-V20WCBDd.js');
15
+ require('../../../element-hdSqnIpC.js');
16
+ require('../../../types-B5VPP9ig.js');
17
+ require('../../../EventInterceptor-DtRINyTP.js');
18
+ require('../../../constants-DOPSzXI0.js');
19
+ require('../../../PluginCommon-DPqnQngK.js');
20
+ require('../../../CompilerPlugin-XzuGixkC.js');
21
+ require('../../../RuntimePlugin-CKsd83M3.js');
22
+ require('../../../types-Bq0EWaM3.js');
23
+ require('../../../CompilerPluginRuntime-zFCCw1kM.js');
24
+ require('../../../types-Cdh4uaFR.js');
25
+ require('../../../runtime-ByJtSXs_.js');
26
+ require('../../../EventWorkerContext-XZGSHn5F.js');
27
+ require('../../../resolve-file-url-pO9_rLft.js');
28
+ require('../../../MessageCommandParser-B13Pkwo9.js');
29
+ require('../../../signals-Bp0bzjE6.js');
30
+ require('../../../types-package-DRhFn59I.js');
31
+ require('../../../CommandsRouter-BHaPno8o.js');
32
+ require('../../../EventsRouter-CqnrlbjN.js');
33
+ require('../../../router-Dn35v30f.js');
34
+ require('../../../common-DirpDCa6.js');
35
+ require('../../../CommandKitEventsChannel-B6LKgxmv.js');
36
+ require('../../../store-Ci6ib2C9.js');
37
+
38
+ exports.RoleSelectMenuKit = require_CommandKit.RoleSelectMenuKit;
@@ -1,40 +1,10 @@
1
- import { BaseSelectMenuComponentData, StringSelectMenuInteraction, StringSelectMenuOptionBuilder, UserSelectMenuInteraction, RoleSelectMenuInteraction, ChannelSelectMenuInteraction, MentionableSelectMenuInteraction, SelectMenuComponentOptionData, APISelectMenuOption, UserSelectMenuComponentData, RoleSelectMenuComponentData, MentionableSelectMenuComponentData, ChannelSelectMenuComponentData } from 'discord.js';
2
- import { ChannelSelectMenuKit } from './ChannelSelectMenuKit.js';
3
- import { MentionableSelectMenuKit } from './MentionableSelectMenuKit.js';
4
- import { RoleSelectMenuKit } from './RoleSelectMenuKit.js';
5
- import { StringSelectMenuKit } from './StringSelectMenuKit.js';
6
- import { UserSelectMenuKit } from './UserSelectMenuKit.js';
7
- import { MaybeArray } from '../../common/types.js';
8
- import { CommandKitSelectMenuBuilderInteractionCollectorDispatch, CommandKitSelectMenuBuilderOnEnd, CommandKitSelectMenuBuilderInteractionCollectorDispatchContextData } from './common.js';
9
- import '../../common/EventInterceptor.js';
10
-
11
- interface CommonSelectMenuProps<T, C> {
12
- onSelect?: CommandKitSelectMenuBuilderInteractionCollectorDispatch<T, C>;
13
- onEnd?: CommandKitSelectMenuBuilderOnEnd;
14
- onError?: (error: Error) => any;
15
- options?: CommandKitSelectMenuBuilderInteractionCollectorDispatchContextData;
16
- }
17
- interface SelectMenuProps<T, C> extends Partial<Omit<BaseSelectMenuComponentData, 'type'>>, CommonSelectMenuProps<T, C> {
18
- }
19
- interface StringSelectMenuProps extends SelectMenuProps<StringSelectMenuInteraction, StringSelectMenuKit> {
20
- children?: MaybeArray<StringSelectMenuOptionBuilder>;
21
- }
22
- type CommonBuilderKit = StringSelectMenuKit | UserSelectMenuKit | RoleSelectMenuKit | ChannelSelectMenuKit | MentionableSelectMenuKit;
23
- type ResolveBuilderInteraction<T> = T extends StringSelectMenuKit ? StringSelectMenuInteraction : T extends UserSelectMenuKit ? UserSelectMenuInteraction : T extends RoleSelectMenuKit ? RoleSelectMenuInteraction : T extends ChannelSelectMenuKit ? ChannelSelectMenuInteraction : T extends MentionableSelectMenuKit ? MentionableSelectMenuInteraction : never;
24
- declare function StringSelectMenu(props: StringSelectMenuProps): StringSelectMenuKit;
25
- type StringSelectMenuOptionProps = SelectMenuComponentOptionData | APISelectMenuOption;
26
- declare function StringSelectMenuOption(props: StringSelectMenuOptionProps): StringSelectMenuOptionBuilder;
27
- interface UserSelectMenuProps extends Partial<Omit<UserSelectMenuComponentData, 'type'>>, CommonSelectMenuProps<UserSelectMenuInteraction, UserSelectMenuKit> {
28
- }
29
- declare function UserSelectMenu(props: UserSelectMenuProps): UserSelectMenuKit;
30
- interface RoleSelectMenuProps extends Partial<Omit<RoleSelectMenuComponentData, 'type'>>, CommonSelectMenuProps<RoleSelectMenuInteraction, RoleSelectMenuKit> {
31
- }
32
- declare function RoleSelectMenu(props: RoleSelectMenuProps): RoleSelectMenuKit;
33
- interface MentionableSelectMenuProps extends Partial<Omit<MentionableSelectMenuComponentData, 'type'>>, CommonSelectMenuProps<MentionableSelectMenuInteraction, MentionableSelectMenuKit> {
34
- }
35
- declare function MentionableSelectMenu(props: MentionableSelectMenuProps): MentionableSelectMenuKit;
36
- interface ChannelSelectMenuProps extends Partial<Omit<ChannelSelectMenuComponentData, 'type'>>, CommonSelectMenuProps<ChannelSelectMenuInteraction, ChannelSelectMenuKit> {
37
- }
38
- declare function ChannelSelectMenu(props: ChannelSelectMenuProps): ChannelSelectMenuKit;
39
-
40
- export { ChannelSelectMenu, type ChannelSelectMenuProps, type CommonBuilderKit, type CommonSelectMenuProps, MentionableSelectMenu, type MentionableSelectMenuProps, type ResolveBuilderInteraction, RoleSelectMenu, type RoleSelectMenuProps, type SelectMenuProps, StringSelectMenu, StringSelectMenuOption, type StringSelectMenuOptionProps, type StringSelectMenuProps, UserSelectMenu, type UserSelectMenuProps };
1
+ import "../../../EventInterceptor-D_oEWSnF.js";
2
+ import "../../../types-CJ-XvOFN.js";
3
+ import "../../../common-pvPJVTfe.js";
4
+ import "../../../StringSelectMenuKit-B9FHTe48.js";
5
+ import "../../../ChannelSelectMenuKit-L15A2jpT.js";
6
+ import "../../../MentionableSelectMenuKit-BiUSKUtZ.js";
7
+ import "../../../UserSelectMenuKit-DiP0imyo.js";
8
+ import "../../../RoleSelectMenuKit-BSMKkru2.js";
9
+ import { ChannelSelectMenu, ChannelSelectMenuProps, CommonBuilderKit, CommonSelectMenuProps, MentionableSelectMenu, MentionableSelectMenuProps, ResolveBuilderInteraction, RoleSelectMenu, RoleSelectMenuProps, SelectMenuProps, StringSelectMenu, StringSelectMenuOption, StringSelectMenuOptionProps, StringSelectMenuProps, UserSelectMenu, UserSelectMenuProps } from "../../../SelectMenu-b7jgrkjO.js";
10
+ export { ChannelSelectMenu, ChannelSelectMenuProps, CommonBuilderKit, CommonSelectMenuProps, MentionableSelectMenu, MentionableSelectMenuProps, ResolveBuilderInteraction, RoleSelectMenu, RoleSelectMenuProps, SelectMenuProps, StringSelectMenu, StringSelectMenuOption, StringSelectMenuOptionProps, StringSelectMenuProps, UserSelectMenu, UserSelectMenuProps };