commandkit 1.2.0-dev.20250918014906 → 1.2.0-dev.20250918101110

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 (124) hide show
  1. package/dist/{EventWorkerContext-BMk7IXpC.d.ts → EventWorkerContext-DNWfsE1t.d.ts} +2 -2
  2. package/dist/{MessageCommandParser-ROLibZPX.d.ts → MessageCommandParser-BsGMOTDo.d.ts} +3 -3
  3. package/dist/{MessageCommandParser-CEuO6Ex3.js → MessageCommandParser-Dl0xxtdr.js} +6 -2
  4. package/dist/MessageCommandParser-Dl0xxtdr.js.map +1 -0
  5. package/dist/analytics/analytics-engine.d.ts +5 -5
  6. package/dist/analytics/analytics-engine.js +4 -4
  7. package/dist/analytics/analytics-provider.d.ts +5 -5
  8. package/dist/analytics/utils.js +4 -4
  9. package/dist/{analytics-engine-B7JNRnEN.d.ts → analytics-engine-jVeSoxEk.d.ts} +4 -4
  10. package/dist/app/commands/AppCommandRunner.d.ts +5 -5
  11. package/dist/app/commands/AppCommandRunner.js +4 -4
  12. package/dist/app/commands/Context.d.ts +5 -5
  13. package/dist/app/commands/Context.js +4 -4
  14. package/dist/app/commands/MessageCommandParser.d.ts +1 -1
  15. package/dist/app/commands/MessageCommandParser.js +1 -1
  16. package/dist/app/commands/helpers.js +1 -1
  17. package/dist/app/events/EventWorkerContext.d.ts +6 -6
  18. package/dist/app/handlers/AppCommandHandler.d.ts +5 -5
  19. package/dist/app/handlers/AppCommandHandler.js +4 -4
  20. package/dist/app/handlers/AppEventsHandler.d.ts +5 -5
  21. package/dist/app/handlers/AppEventsHandler.js +4 -4
  22. package/dist/app/index.d.ts +5 -5
  23. package/dist/app/index.js +4 -4
  24. package/dist/app/middlewares/permissions.d.ts +5 -5
  25. package/dist/app/middlewares/permissions.js +4 -4
  26. package/dist/app/register/CommandRegistrar.d.ts +5 -5
  27. package/dist/app/register/CommandRegistrar.js +4 -4
  28. package/dist/app/router/index.d.ts +1 -1
  29. package/dist/{app-process-DoG6Spkf.js → app-process-cj2vF12T.js} +2 -2
  30. package/dist/{app-process-DoG6Spkf.js.map → app-process-cj2vF12T.js.map} +1 -1
  31. package/dist/{build-B-NgO2L-.js → build-DB_aX5xt.js} +7 -8
  32. package/dist/build-DB_aX5xt.js.map +1 -0
  33. package/dist/cli/app-process.js +2 -2
  34. package/dist/cli/build.d.ts +5 -5
  35. package/dist/cli/build.js +6 -6
  36. package/dist/cli/common.d.ts +12 -6
  37. package/dist/cli/common.js +2 -1
  38. package/dist/cli/development.js +7 -7
  39. package/dist/cli/generators.js +1 -1
  40. package/dist/cli/information.js +1 -1
  41. package/dist/cli/init.js +5 -5
  42. package/dist/cli/production.js +7 -7
  43. package/dist/cli/type-checker.js +2 -2
  44. package/dist/{commandkit-IgQcMJMi.js → commandkit-lhbfAyX9.js} +86 -81
  45. package/dist/{commandkit-IgQcMJMi.js.map → commandkit-lhbfAyX9.js.map} +1 -1
  46. package/dist/commandkit.d.ts +5 -5
  47. package/dist/commandkit.js +4 -4
  48. package/dist/{common-Dxr9-XPa.js → common-CrqwC-sx.js} +19 -4
  49. package/dist/common-CrqwC-sx.js.map +1 -0
  50. package/dist/components/index.d.ts +2 -2
  51. package/dist/components/index.js +4 -4
  52. package/dist/components/v1/button/Button.js +4 -4
  53. package/dist/components/v1/button/ButtonKit.js +4 -4
  54. package/dist/components/v1/modal/Modal.js +4 -4
  55. package/dist/components/v1/modal/ModalKit.js +4 -4
  56. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +4 -4
  57. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +4 -4
  58. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +4 -4
  59. package/dist/components/v1/select-menu/SelectMenu.js +4 -4
  60. package/dist/components/v1/select-menu/StringSelectMenuKit.js +4 -4
  61. package/dist/components/v1/select-menu/UserSelectMenuKit.js +4 -4
  62. package/dist/components/v2/index.d.ts +1 -1
  63. package/dist/config/config.d.ts +6 -6
  64. package/dist/config/config.js +4 -4
  65. package/dist/config/default.d.ts +5 -5
  66. package/dist/config/default.js +4 -4
  67. package/dist/config/loader.d.ts +5 -5
  68. package/dist/config/loader.js +4 -4
  69. package/dist/config/types.d.ts +5 -5
  70. package/dist/config/utils.d.ts +5 -5
  71. package/dist/{config-BhVxyjmZ.d.ts → config-YAQdMBqh.d.ts} +2 -2
  72. package/dist/context/async-context.d.ts +5 -5
  73. package/dist/context/async-context.js +4 -4
  74. package/dist/context/environment.d.ts +5 -5
  75. package/dist/context/environment.js +4 -4
  76. package/dist/events/CommandKitEventsChannel.d.ts +5 -5
  77. package/dist/{feature-flags-yRS7ZNzU.js → feature-flags-DnnKABHf.js} +2 -2
  78. package/dist/{feature-flags-yRS7ZNzU.js.map → feature-flags-DnnKABHf.js.map} +1 -1
  79. package/dist/flags/FlagProvider.d.ts +5 -5
  80. package/dist/flags/feature-flags.d.ts +5 -5
  81. package/dist/flags/feature-flags.js +5 -5
  82. package/dist/flags/store.d.ts +5 -5
  83. package/dist/{helpers-BSwwrKJW.js → helpers-Dl8wW6aO.js} +1 -1
  84. package/dist/{helpers-BSwwrKJW.js.map → helpers-Dl8wW6aO.js.map} +1 -1
  85. package/dist/index-CUPkUUOR.d.ts +1 -0
  86. package/dist/index-Dw5cCt-A.d.ts +1 -0
  87. package/dist/index-E7Wvm5uX.d.ts +1 -0
  88. package/dist/index.d.ts +7 -7
  89. package/dist/index.js +7 -7
  90. package/dist/{init-BsuMbWJY.js → init-CY7OJPF-.js} +3 -3
  91. package/dist/{init-BsuMbWJY.js.map → init-CY7OJPF-.js.map} +1 -1
  92. package/dist/logger/DefaultLogger.js +4 -4
  93. package/dist/logger/Logger.js +4 -4
  94. package/dist/plugins/CompilerPlugin.d.ts +5 -5
  95. package/dist/plugins/PluginCommon.d.ts +5 -5
  96. package/dist/plugins/RuntimePlugin.d.ts +5 -5
  97. package/dist/plugins/index.d.ts +5 -5
  98. package/dist/plugins/index.js +4 -4
  99. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +5 -5
  100. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +4 -4
  101. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +5 -5
  102. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +4 -4
  103. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +5 -5
  104. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +4 -4
  105. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +5 -5
  106. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +4 -4
  107. package/dist/plugins/plugin-runtime/runtime.d.ts +5 -5
  108. package/dist/plugins/types.d.ts +5 -5
  109. package/dist/{type-checker-DR7RZFs5.js → type-checker-ocNSZh0W.js} +2 -2
  110. package/dist/{type-checker-DR7RZFs5.js.map → type-checker-ocNSZh0W.js.map} +1 -1
  111. package/dist/types.d.ts +5 -5
  112. package/dist/utils/dev-hooks.d.ts +5 -5
  113. package/dist/utils/dev-hooks.js +4 -4
  114. package/dist/utils/utilities.js +4 -4
  115. package/dist/{version-C4u4Y0Er.js → version-BVIBH0Za.js} +2 -2
  116. package/dist/{version-C4u4Y0Er.js.map → version-BVIBH0Za.js.map} +1 -1
  117. package/dist/version.js +1 -1
  118. package/package.json +3 -3
  119. package/dist/MessageCommandParser-CEuO6Ex3.js.map +0 -1
  120. package/dist/build-B-NgO2L-.js.map +0 -1
  121. package/dist/common-Dxr9-XPa.js.map +0 -1
  122. package/dist/index-DKcmsWXw.d.ts +0 -1
  123. package/dist/index-DSBMRX9A.d.ts +0 -1
  124. package/dist/index-DdqikUQD.d.ts +0 -1
@@ -1,4 +1,4 @@
1
- import { CommandRegistrar, PreRegisterCommandsEvent } from "../../analytics-engine-B7JNRnEN.js";
1
+ import { CommandRegistrar, PreRegisterCommandsEvent } from "../../analytics-engine-jVeSoxEk.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -20,13 +20,13 @@ import "../../media-gallery-BMsXSot3.js";
20
20
  import "../../section-Dh_FhPeC.js";
21
21
  import "../../separator-CMf6Cyy5.js";
22
22
  import "../../text-display-DRw3r_lK.js";
23
- import "../../index-DSBMRX9A.js";
24
- import "../../index-DdqikUQD.js";
25
- import "../../MessageCommandParser-ROLibZPX.js";
23
+ import "../../index-Dw5cCt-A.js";
24
+ import "../../index-E7Wvm5uX.js";
25
+ import "../../MessageCommandParser-BsGMOTDo.js";
26
26
  import "../../signals-SHg7J1U_.js";
27
27
  import "../../helpers-Wg6P5fRQ.js";
28
28
  import "../../CommandsRouter-CoOA7hkf.js";
29
29
  import "../../EventsRouter-BacqK6z3.js";
30
- import "../../index-DKcmsWXw.js";
30
+ import "../../index-CUPkUUOR.js";
31
31
  import "../../constants-MKu-Q1jh.js";
32
32
  export { CommandRegistrar, PreRegisterCommandsEvent };
@@ -1,7 +1,7 @@
1
1
  require('../../colors-DL3ucTiT.js');
2
2
  require('../../ActionRow-CbdGFWMT.js');
3
3
  require('../../error-codes-Ds0bnPvT.js');
4
- const require_commandkit = require('../../commandkit-IgQcMJMi.js');
4
+ const require_commandkit = require('../../commandkit-lhbfAyX9.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -26,12 +26,12 @@ require('../../types-package-BWArjyBF.js');
26
26
  require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
- require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../helpers-BSwwrKJW.js');
29
+ require('../../helpers-Dl8wW6aO.js');
30
+ require('../../MessageCommandParser-Dl0xxtdr.js');
31
31
  require('../../CommandsRouter-Dmzw-ikm.js');
32
32
  require('../../EventsRouter-3Gygh-km.js');
33
33
  require('../../router-Dn35v30f.js');
34
- require('../../common-Dxr9-XPa.js');
34
+ require('../../common-CrqwC-sx.js');
35
35
  require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
36
  require('../../store-CM6pWVZh.js');
37
37
 
@@ -1,4 +1,4 @@
1
1
  import { Command, CommandsRouter, CommandsRouterOptions, Middleware, ParsedCommandData } from "../../CommandsRouter-CoOA7hkf.js";
2
2
  import { EventsRouter, EventsRouterOptions, EventsTree, ParsedEvent } from "../../EventsRouter-BacqK6z3.js";
3
- import "../../index-DKcmsWXw.js";
3
+ import "../../index-CUPkUUOR.js";
4
4
  export { Command, CommandsRouter, CommandsRouterOptions, EventsRouter, EventsRouterOptions, EventsTree, Middleware, ParsedCommandData, ParsedEvent };
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const require_common = require('./common-Dxr9-XPa.js');
2
+ const require_common = require('./common-CrqwC-sx.js');
3
3
  const require_env = require('./env-_68PRRoA.js');
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs);
@@ -65,4 +65,4 @@ Object.defineProperty(exports, 'createAppProcess', {
65
65
  return createAppProcess;
66
66
  }
67
67
  });
68
- //# sourceMappingURL=app-process-DoG6Spkf.js.map
68
+ //# sourceMappingURL=app-process-cj2vF12T.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-process-DoG6Spkf.js","names":[],"sources":["../src/cli/app-process.ts"],"sourcesContent":["import { IOType, spawn } from 'node:child_process';\nimport { DevEnv, ProdEnv } from './env';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\nimport { panic } from './common';\n\n/**\n * @private\n * @internal\n */\nfunction getStdio(supportsCommands: boolean) {\n if (supportsCommands) {\n return ['pipe', 'pipe', 'pipe', 'ipc'];\n }\n\n return ['pipe', 'pipe', 'pipe'];\n}\n\n/**\n * @private\n * @internal\n */\nexport function createAppProcess(\n fileName: string,\n cwd: string,\n isDev: boolean,\n) {\n if (!existsSync(join(cwd, fileName))) {\n panic(`Could not locate the entrypoint file: ${fileName}`);\n }\n\n const stdio = getStdio(isDev) as IOType[];\n\n const baseArgs = [\n `--title=\"CommandKit ${isDev ? 'Development' : 'Production'}\"`,\n '--enable-source-maps',\n ];\n\n const nodeOptions = process.env.NODE_OPTIONS;\n let nodeArgs = [...baseArgs];\n\n if (nodeOptions) {\n const options = nodeOptions.trim().split(/\\s+/);\n\n for (const option of options) {\n const optionName = option.split('=')[0];\n const existingIndex = nodeArgs.findIndex((arg) =>\n arg.startsWith(optionName),\n );\n\n if (existingIndex !== -1) {\n nodeArgs[existingIndex] = option;\n } else {\n nodeArgs.push(option);\n }\n }\n }\n\n nodeArgs.push(fileName);\n\n const ps = spawn('node', nodeArgs, {\n cwd,\n windowsHide: true,\n env: isDev ? DevEnv() : ProdEnv(),\n stdio,\n });\n\n ps.stdout?.pipe(process.stdout);\n ps.stderr?.pipe(process.stderr);\n\n return ps;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAUA,SAAS,SAAS,kBAA2B;AAC3C,KAAI,iBACF,QAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAM;AAGxC,QAAO;EAAC;EAAQ;EAAQ;EAAO;;;;;;AAOjC,SAAgB,iBAChB,UACA,KACA,OACA;;AACE,KAAI,6CAAiB,KAAK,SAAS,CAAC,CAClC,sBAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAE7B,MAAM,WAAW,CACjB,uBAAuB,QAAQ,gBAAgB,aAAa,IAC5D,uBAAuB;CAGvB,MAAM,cAAc,QAAQ,IAAI;CAChC,IAAI,WAAW,CAAC,GAAG,SAAS;AAE5B,KAAI,aAAa;EACf,MAAM,UAAU,YAAY,MAAM,CAAC,MAAM,MAAM;AAE/C,OAAK,MAAM,UAAU,SAAS;GAC5B,MAAM,aAAa,OAAO,MAAM,IAAI,CAAC;GACrC,MAAM,gBAAgB,SAAS,WAAW,QAC1C,IAAI,WAAW,WAAW,CACzB;AAED,OAAI,kBAAkB,GACpB,UAAS,iBAAiB;OAE1B,UAAS,KAAK,OAAO;;;AAK3B,UAAS,KAAK,SAAS;CAEvB,MAAM,mCAAW,QAAQ,UAAU;EACjC;EACA,aAAa;EACb,KAAK,QAAQ,oBAAQ,GAAG,qBAAS;EACjC;EACD,CAAC;AAEF,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAC/B,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAE/B,QAAO"}
1
+ {"version":3,"file":"app-process-cj2vF12T.js","names":[],"sources":["../src/cli/app-process.ts"],"sourcesContent":["import { IOType, spawn } from 'node:child_process';\nimport { DevEnv, ProdEnv } from './env';\nimport { join } from 'node:path';\nimport { existsSync } from 'node:fs';\nimport { panic } from './common';\n\n/**\n * @private\n * @internal\n */\nfunction getStdio(supportsCommands: boolean) {\n if (supportsCommands) {\n return ['pipe', 'pipe', 'pipe', 'ipc'];\n }\n\n return ['pipe', 'pipe', 'pipe'];\n}\n\n/**\n * @private\n * @internal\n */\nexport function createAppProcess(\n fileName: string,\n cwd: string,\n isDev: boolean,\n) {\n if (!existsSync(join(cwd, fileName))) {\n panic(`Could not locate the entrypoint file: ${fileName}`);\n }\n\n const stdio = getStdio(isDev) as IOType[];\n\n const baseArgs = [\n `--title=\"CommandKit ${isDev ? 'Development' : 'Production'}\"`,\n '--enable-source-maps',\n ];\n\n const nodeOptions = process.env.NODE_OPTIONS;\n let nodeArgs = [...baseArgs];\n\n if (nodeOptions) {\n const options = nodeOptions.trim().split(/\\s+/);\n\n for (const option of options) {\n const optionName = option.split('=')[0];\n const existingIndex = nodeArgs.findIndex((arg) =>\n arg.startsWith(optionName),\n );\n\n if (existingIndex !== -1) {\n nodeArgs[existingIndex] = option;\n } else {\n nodeArgs.push(option);\n }\n }\n }\n\n nodeArgs.push(fileName);\n\n const ps = spawn('node', nodeArgs, {\n cwd,\n windowsHide: true,\n env: isDev ? DevEnv() : ProdEnv(),\n stdio,\n });\n\n ps.stdout?.pipe(process.stdout);\n ps.stderr?.pipe(process.stderr);\n\n return ps;\n}\n"],"mappings":";;;;;;;;;;;;;;;AAUA,SAAS,SAAS,kBAA2B;AAC3C,KAAI,iBACF,QAAO;EAAC;EAAQ;EAAQ;EAAQ;EAAM;AAGxC,QAAO;EAAC;EAAQ;EAAQ;EAAO;;;;;;AAOjC,SAAgB,iBAChB,UACA,KACA,OACA;;AACE,KAAI,6CAAiB,KAAK,SAAS,CAAC,CAClC,sBAAM,yCAAyC,WAAW;CAG5D,MAAM,QAAQ,SAAS,MAAM;CAE7B,MAAM,WAAW,CACjB,uBAAuB,QAAQ,gBAAgB,aAAa,IAC5D,uBAAuB;CAGvB,MAAM,cAAc,QAAQ,IAAI;CAChC,IAAI,WAAW,CAAC,GAAG,SAAS;AAE5B,KAAI,aAAa;EACf,MAAM,UAAU,YAAY,MAAM,CAAC,MAAM,MAAM;AAE/C,OAAK,MAAM,UAAU,SAAS;GAC5B,MAAM,aAAa,OAAO,MAAM,IAAI,CAAC;GACrC,MAAM,gBAAgB,SAAS,WAAW,QAC1C,IAAI,WAAW,WAAW,CACzB;AAED,OAAI,kBAAkB,GACpB,UAAS,iBAAiB;OAE1B,UAAS,KAAK,OAAO;;;AAK3B,UAAS,KAAK,SAAS;CAEvB,MAAM,mCAAW,QAAQ,UAAU;EACjC;EACA,aAAa;EACb,KAAK,QAAQ,oBAAQ,GAAG,qBAAS;EACjC;EACD,CAAC;AAEF,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAC/B,kBAAG,wDAAQ,KAAK,QAAQ,OAAO;AAE/B,QAAO"}
@@ -1,10 +1,10 @@
1
1
  const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const require_commandkit = require('./commandkit-IgQcMJMi.js');
2
+ const require_commandkit = require('./commandkit-lhbfAyX9.js');
3
3
  const require_constants = require('./constants-B5_Ta7PR.js');
4
4
  const require_utils = require('./utils-KsNof0Xz.js');
5
- const require_common = require('./common-Dxr9-XPa.js');
5
+ const require_common = require('./common-CrqwC-sx.js');
6
6
  const require_env = require('./env-_68PRRoA.js');
7
- const require_type_checker = require('./type-checker-DR7RZFs5.js');
7
+ const require_type_checker = require('./type-checker-ocNSZh0W.js');
8
8
  let node_fs = require("node:fs");
9
9
  node_fs = require_chunk.__toESM(node_fs);
10
10
  let node_path = require("node:path");
@@ -13,8 +13,6 @@ let node_fs_promises = require("node:fs/promises");
13
13
  node_fs_promises = require_chunk.__toESM(node_fs_promises);
14
14
  let rimraf = require("rimraf");
15
15
  rimraf = require_chunk.__toESM(rimraf);
16
- let tsdown = require("tsdown");
17
- tsdown = require_chunk.__toESM(tsdown);
18
16
 
19
17
  //#region src/cli/build.ts
20
18
  /**
@@ -45,6 +43,7 @@ function mergeDefinitionsIfNeeded(env, isDev) {
45
43
  */
46
44
  async function buildApplication({ plugins, rolldownPlugins, isDev, configPath }) {
47
45
  var _config$typescript;
46
+ const { build } = await require_common.loadTsdown();
48
47
  const config = await require_commandkit.loadConfigFile(configPath);
49
48
  if (!isDev && !(config === null || config === void 0 || (_config$typescript = config.typescript) === null || _config$typescript === void 0 ? void 0 : _config$typescript.ignoreBuildErrors)) await require_type_checker.performTypeCheck(configPath || require_constants.COMMANDKIT_CWD);
50
49
  const pluginRuntime = new require_commandkit.CompilerPluginRuntime(plugins || []);
@@ -55,7 +54,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
55
54
  const dest = isDev ? ".commandkit" : config.distDir;
56
55
  await (0, rimraf.rimraf)(dest);
57
56
  await pluginRuntime.init();
58
- await (0, tsdown.build)(require_utils.mergeDeep({
57
+ await build(require_utils.mergeDeep({
59
58
  watch: false,
60
59
  dts: false,
61
60
  clean: true,
@@ -79,7 +78,7 @@ async function buildApplication({ plugins, rolldownPlugins, isDev, configPath })
79
78
  return defaultLog(level, log);
80
79
  },
81
80
  moduleTypes: {
82
- ".json": "js",
81
+ ".json": "json",
83
82
  ".node": "binary"
84
83
  }
85
84
  },
@@ -172,4 +171,4 @@ Object.defineProperty(exports, 'buildApplication', {
172
171
  return buildApplication;
173
172
  }
174
173
  });
175
- //# sourceMappingURL=build-B-NgO2L-.js.map
174
+ //# sourceMappingURL=build-DB_aX5xt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-DB_aX5xt.js","names":[],"sources":["../src/cli/build.ts"],"sourcesContent":["import { existsSync } from 'node:fs';\nimport { writeFile } from 'node:fs/promises';\nimport { join } from 'node:path';\nimport { rimraf } from 'rimraf';\nimport type { Options } from 'tsdown';\n\nimport { MaybeArray } from '../components';\nimport { loadConfigFile } from '../config/loader';\nimport { mergeDeep } from '../config/utils';\nimport { CompilerPlugin, CompilerPluginRuntime } from '../plugins';\nimport { COMMANDKIT_CWD } from '../utils/constants';\nimport { copyLocaleFiles, loadTsdown } from './common';\nimport { devEnvFileArgs, prodEnvFileArgs } from './env';\nimport { performTypeCheck } from './type-checker';\n\n/**\n * @private\n * @internal\n */\nexport interface ApplicationBuildOptions {\n plugins?: MaybeArray<CompilerPlugin>[] | Array<CompilerPlugin>;\n rolldownPlugins?: any[];\n isDev?: boolean;\n configPath?: string;\n}\n\n// emit public env variables and given env variables\n/**\n * @private\n * @internal\n */\nfunction mergeDefinitionsIfNeeded(env: Record<string, string>, isDev: boolean) {\n const values = Object.fromEntries(\n Object.entries(process.env).filter(\n ([k]) => !(k in env) && k.startsWith('COMMANDKIT_PUBLIC_'),\n ),\n );\n\n return {\n ...env,\n ...values,\n ...(isDev\n ? {\n NODE_ENV: 'development',\n COMMANDKIT_BOOTSTRAP_MODE: 'development',\n COMMANDKIT_IS_DEV: 'true',\n COMMANDKIT_IS_TEST: 'false',\n }\n : {\n NODE_ENV: 'production',\n COMMANDKIT_BOOTSTRAP_MODE: 'production',\n COMMANDKIT_IS_DEV: 'false',\n COMMANDKIT_IS_TEST: 'false',\n }),\n };\n}\n\n/**\n * @private\n * @internal\n */\nexport async function buildApplication({\n plugins,\n rolldownPlugins,\n isDev,\n configPath,\n}: ApplicationBuildOptions) {\n const { build } = await loadTsdown();\n const config = await loadConfigFile(configPath);\n\n if (!isDev && !config?.typescript?.ignoreBuildErrors) {\n await performTypeCheck(configPath || COMMANDKIT_CWD);\n }\n\n const pluginRuntime = new CompilerPluginRuntime(\n (plugins || []) as CompilerPlugin[],\n );\n\n rolldownPlugins ??= [];\n\n rolldownPlugins.push(pluginRuntime.toJSON());\n\n try {\n const dest = isDev ? '.commandkit' : config.distDir;\n\n // Clean the destination directory\n await rimraf(dest);\n\n await pluginRuntime.init();\n\n await build(\n mergeDeep(\n {\n watch: false,\n dts: false,\n clean: true,\n format: ['esm'],\n shims: true,\n minify: false,\n silent: !!isDev,\n inputOptions: {\n transform: {\n jsx: {\n runtime: 'automatic',\n importSource: 'commandkit',\n },\n },\n checks: {\n circularDependency: true,\n },\n onwarn: (warning, defaultWarn) => {\n if (warning?.message?.includes('compilerOptions.jsx')) return;\n\n return defaultWarn(warning);\n },\n onLog: (level, log, defaultLog) => {\n if (isDev) return;\n\n return defaultLog(level, log);\n },\n moduleTypes: {\n '.json': 'json',\n '.node': 'binary',\n },\n },\n plugins: rolldownPlugins,\n platform: 'node',\n skipNodeModulesBundle: true,\n sourcemap:\n config.sourceMap?.[isDev ? 'development' : 'production'] ?? true,\n target: 'node16',\n outDir: dest,\n env: mergeDefinitionsIfNeeded(config.env || {}, !!isDev),\n entry: Array.from(\n new Set([\n 'src/**/*.{js,cjs,mjs,ts,cts,mts,jsx,tsx}',\n `!${config.distDir}`,\n '!.commandkit',\n '!**/*.test.*',\n '!**/*.spec.*',\n ...(config.entrypoints ?? []),\n ]),\n ),\n outputOptions: {\n sanitizeFileName: (name) => name,\n },\n unbundle: isDev\n ? true\n : (config.compilerOptions?.disableChunking ?? false),\n } satisfies Options,\n config.compilerOptions?.tsdown,\n ),\n );\n\n await copyLocaleFiles('src', dest);\n await injectEntryFile(\n configPath || COMMANDKIT_CWD,\n !!isDev,\n !!(\n config.antiCrashScript?.[isDev ? 'development' : 'production'] ??\n (isDev ? true : false)\n ),\n config.distDir,\n );\n } catch (error) {\n console.error('Build failed:', error);\n if (error instanceof Error) {\n console.error('Error details:', error.stack);\n }\n process.exit(1); // Force exit on error\n } finally {\n // Ensure plugins are cleaned up\n await pluginRuntime.destroy();\n }\n}\n\nconst envScript = (dev: boolean) => `// --- Environment Variables Loader ---\nconst $env = [${(dev ? devEnvFileArgs : prodEnvFileArgs).map((p) => `\"${p}\"`).join(', ')}];\nfor (const file of $env) {\n try {\n process.loadEnvFile(file);\n console.log('\\\\x1b[36m✔ Loaded \\\\x1b[0m\\\\x1b[33m%s\\\\x1b[0m', file);\n } catch {}\n}\n`;\n\nconst antiCrashScript = [\n '// --- CommandKit Anti-Crash Monitor ---',\n \" // 'uncaughtException' event is supposed to be used to perform synchronous cleanup before shutting down the process\",\n ' // instead of using it as a means to resume operation.',\n ' // But it exists here due to compatibility reasons with discord bot ecosystem.',\n \" const p = (t) => `\\\\x1b[31m${t}\\\\x1b[0m`, b = '[CommandKit Anti-Crash Monitor]', l = console.log, e1 = 'uncaughtException', e2 = 'unhandledRejection';\",\n ' if (!process.eventNames().includes(e1)) // skip if it is already handled',\n ' process.on(e1, (e) => {',\n ' l(p(`${b} Uncaught Exception`)); l(p(b), p(e.stack || e));',\n ' })',\n ' if (!process.eventNames().includes(e2)) // skip if it is already handled',\n ' process.on(e2, (r) => {',\n ' l(p(`${b} Unhandled promise rejection`)); l(p(`${b} ${r.stack || r}`));',\n ' });',\n '// --- CommandKit Anti-Crash Monitor ---',\n].join('\\n');\n\nconst wrapInAsyncIIFE = (code: string[]) =>\n `;await (async () => {\\n${code.join('\\n\\n')}\\n})();`;\n\nasync function injectEntryFile(\n configPath: string,\n isDev: boolean,\n emitAntiCrashScript: boolean,\n distDir?: string,\n) {\n const dist = isDev ? '.commandkit' : distDir || 'dist';\n const entryFilePath = join(configPath, dist, 'index.js');\n\n // skip if the entry file already exists\n if (existsSync(entryFilePath)) return;\n\n const code = `/* Entrypoint File Generated By CommandKit */\n${isDev ? `\\n\\n// Injected for development\\n${wrapInAsyncIIFE([envScript(isDev), emitAntiCrashScript ? antiCrashScript : ''])}\\n\\n` : wrapInAsyncIIFE([envScript(isDev)])}\n\nimport { commandkit } from 'commandkit';\nimport { Client } from 'discord.js';\n\nasync function bootstrap() {\n const app = await import('./app.js').then((m) => m.default ?? m);\n\n if (!app || !(app instanceof Client)) {\n throw new Error('The app file must default export the discord.js client instance');\n }\n\n commandkit.setClient(app);\n\n await commandkit.start();\n}\n\nawait bootstrap().catch((e) => {\n console.error('Failed to bootstrap CommandKit application:\\\\n', e.stack);\n})\n`;\n\n await writeFile(entryFilePath, code);\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- require('../common-Dxr9-XPa.js');
4
+ require('../common-CrqwC-sx.js');
5
5
  require('../env-_68PRRoA.js');
6
- const require_app_process = require('../app-process-DoG6Spkf.js');
6
+ const require_app_process = require('../app-process-cj2vF12T.js');
7
7
 
8
8
  exports.createAppProcess = require_app_process.createAppProcess;
@@ -1,4 +1,4 @@
1
- import { CompilerPlugin } from "../analytics-engine-B7JNRnEN.js";
1
+ import { CompilerPlugin } from "../analytics-engine-jVeSoxEk.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
@@ -20,14 +20,14 @@ import "../media-gallery-BMsXSot3.js";
20
20
  import "../section-Dh_FhPeC.js";
21
21
  import "../separator-CMf6Cyy5.js";
22
22
  import "../text-display-DRw3r_lK.js";
23
- import "../index-DSBMRX9A.js";
24
- import "../index-DdqikUQD.js";
25
- import "../MessageCommandParser-ROLibZPX.js";
23
+ import "../index-Dw5cCt-A.js";
24
+ import "../index-E7Wvm5uX.js";
25
+ import "../MessageCommandParser-BsGMOTDo.js";
26
26
  import "../signals-SHg7J1U_.js";
27
27
  import "../helpers-Wg6P5fRQ.js";
28
28
  import "../CommandsRouter-CoOA7hkf.js";
29
29
  import "../EventsRouter-BacqK6z3.js";
30
- import "../index-DKcmsWXw.js";
30
+ import "../index-CUPkUUOR.js";
31
31
  import "../constants-MKu-Q1jh.js";
32
32
 
33
33
  //#region src/cli/build.d.ts
package/dist/cli/build.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../ActionRow-CbdGFWMT.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-IgQcMJMi.js');
4
+ require('../commandkit-lhbfAyX9.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -26,16 +26,16 @@ require('../types-package-BWArjyBF.js');
26
26
  require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
- require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../helpers-BSwwrKJW.js');
29
+ require('../helpers-Dl8wW6aO.js');
30
+ require('../MessageCommandParser-Dl0xxtdr.js');
31
31
  require('../CommandsRouter-Dmzw-ikm.js');
32
32
  require('../EventsRouter-3Gygh-km.js');
33
33
  require('../router-Dn35v30f.js');
34
- require('../common-Dxr9-XPa.js');
34
+ require('../common-CrqwC-sx.js');
35
35
  require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
36
  require('../store-CM6pWVZh.js');
37
37
  require('../env-_68PRRoA.js');
38
- require('../type-checker-DR7RZFs5.js');
39
- const require_build = require('../build-B-NgO2L-.js');
38
+ require('../type-checker-ocNSZh0W.js');
39
+ const require_build = require('../build-DB_aX5xt.js');
40
40
 
41
41
  exports.buildApplication = require_build.buildApplication;
@@ -1,4 +1,4 @@
1
- import { ResolvedCommandKitConfig } from "../analytics-engine-B7JNRnEN.js";
1
+ import { ResolvedCommandKitConfig } from "../analytics-engine-jVeSoxEk.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
@@ -20,15 +20,16 @@ import "../media-gallery-BMsXSot3.js";
20
20
  import "../section-Dh_FhPeC.js";
21
21
  import "../separator-CMf6Cyy5.js";
22
22
  import "../text-display-DRw3r_lK.js";
23
- import "../index-DSBMRX9A.js";
24
- import "../index-DdqikUQD.js";
25
- import "../MessageCommandParser-ROLibZPX.js";
23
+ import "../index-Dw5cCt-A.js";
24
+ import "../index-E7Wvm5uX.js";
25
+ import "../MessageCommandParser-BsGMOTDo.js";
26
26
  import "../signals-SHg7J1U_.js";
27
27
  import "../helpers-Wg6P5fRQ.js";
28
28
  import "../CommandsRouter-CoOA7hkf.js";
29
29
  import "../EventsRouter-BacqK6z3.js";
30
- import "../index-DKcmsWXw.js";
30
+ import "../index-CUPkUUOR.js";
31
31
  import "../constants-MKu-Q1jh.js";
32
+ import * as tsdown0 from "tsdown";
32
33
  import * as typescript0 from "typescript";
33
34
 
34
35
  //#region src/cli/common.d.ts
@@ -68,6 +69,11 @@ declare function erase(dir: string): void;
68
69
  * @internal
69
70
  */
70
71
  declare function copyLocaleFiles(_from: string, _to: string): Promise<void>;
72
+ /**
73
+ * @private
74
+ * @internal
75
+ */
76
+ declare function loadTsdown(): Promise<typeof tsdown0>;
71
77
  //#endregion
72
- export { copyLocaleFiles, erase, findEntrypoint, loadConfigFileFromPath, loadTypeScript, panic, write };
78
+ export { copyLocaleFiles, erase, findEntrypoint, loadConfigFileFromPath, loadTsdown, loadTypeScript, panic, write };
73
79
  //# sourceMappingURL=common.d.ts.map
@@ -1,12 +1,13 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- const require_common = require('../common-Dxr9-XPa.js');
4
+ const require_common = require('../common-CrqwC-sx.js');
5
5
 
6
6
  exports.copyLocaleFiles = require_common.copyLocaleFiles;
7
7
  exports.erase = require_common.erase;
8
8
  exports.findEntrypoint = require_common.findEntrypoint;
9
9
  exports.loadConfigFileFromPath = require_common.loadConfigFileFromPath;
10
+ exports.loadTsdown = require_common.loadTsdown;
10
11
  exports.loadTypeScript = require_common.loadTypeScript;
11
12
  exports.panic = require_common.panic;
12
13
  exports.write = require_common.write;
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_colors = require('../colors-DL3ucTiT.js');
3
3
  require('../ActionRow-CbdGFWMT.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-IgQcMJMi.js');
5
+ const require_commandkit = require('../commandkit-lhbfAyX9.js');
6
6
  require('../common-CcfjYnPG.js');
7
7
  require('../common-vnMIelAE.js');
8
8
  require('../container-C6GtfAPW.js');
@@ -27,18 +27,18 @@ require('../types-package-BWArjyBF.js');
27
27
  require('../constants-BOOGN85p.js');
28
28
  require('../EventWorkerContext-Dq29tieI.js');
29
29
  require('../signals-ChFMD7mB.js');
30
- require('../MessageCommandParser-CEuO6Ex3.js');
31
- require('../helpers-BSwwrKJW.js');
30
+ require('../helpers-Dl8wW6aO.js');
31
+ require('../MessageCommandParser-Dl0xxtdr.js');
32
32
  require('../CommandsRouter-Dmzw-ikm.js');
33
33
  require('../EventsRouter-3Gygh-km.js');
34
34
  require('../router-Dn35v30f.js');
35
- const require_common$2 = require('../common-Dxr9-XPa.js');
35
+ const require_common$2 = require('../common-CrqwC-sx.js');
36
36
  require('../CommandKitEventsChannel-BtRzr3Tz.js');
37
37
  require('../store-CM6pWVZh.js');
38
38
  require('../env-_68PRRoA.js');
39
- const require_app_process = require('../app-process-DoG6Spkf.js');
40
- require('../type-checker-DR7RZFs5.js');
41
- const require_build = require('../build-B-NgO2L-.js');
39
+ const require_app_process = require('../app-process-cj2vF12T.js');
40
+ require('../type-checker-ocNSZh0W.js');
41
+ const require_build = require('../build-DB_aX5xt.js');
42
42
  let node_crypto = require("node:crypto");
43
43
  node_crypto = require_chunk.__toESM(node_crypto);
44
44
  let path = require("path");
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_colors = require('../colors-DL3ucTiT.js');
3
3
  const require_constants = require('../constants-B5_Ta7PR.js');
4
4
  require('../types-package-BWArjyBF.js');
5
- const require_common = require('../common-Dxr9-XPa.js');
5
+ const require_common = require('../common-CrqwC-sx.js');
6
6
  let path = require("path");
7
7
  path = require_chunk.__toESM(path);
8
8
  let fs_promises = require("fs/promises");
@@ -1,6 +1,6 @@
1
1
  const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  const require_constants = require('../constants-B5_Ta7PR.js');
3
- const require_version = require('../version-C4u4Y0Er.js');
3
+ const require_version = require('../version-BVIBH0Za.js');
4
4
  let node_fs = require("node:fs");
5
5
  node_fs = require_chunk.__toESM(node_fs);
6
6
  let node_path = require("node:path");
package/dist/cli/init.js CHANGED
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../ActionRow-CbdGFWMT.js');
3
3
  require('../error-codes-Ds0bnPvT.js');
4
- require('../commandkit-IgQcMJMi.js');
4
+ require('../commandkit-lhbfAyX9.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -26,14 +26,14 @@ require('../types-package-BWArjyBF.js');
26
26
  require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
- require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../helpers-BSwwrKJW.js');
29
+ require('../helpers-Dl8wW6aO.js');
30
+ require('../MessageCommandParser-Dl0xxtdr.js');
31
31
  require('../CommandsRouter-Dmzw-ikm.js');
32
32
  require('../EventsRouter-3Gygh-km.js');
33
33
  require('../router-Dn35v30f.js');
34
- require('../common-Dxr9-XPa.js');
34
+ require('../common-CrqwC-sx.js');
35
35
  require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
36
  require('../store-CM6pWVZh.js');
37
- const require_init = require('../init-BsuMbWJY.js');
37
+ const require_init = require('../init-CY7OJPF-.js');
38
38
 
39
39
  exports.bootstrapCommandkitCLI = require_init.bootstrapCommandkitCLI;
@@ -2,7 +2,7 @@ const require_chunk = require('../chunk-nOFOJqeH.js');
2
2
  require('../colors-DL3ucTiT.js');
3
3
  require('../ActionRow-CbdGFWMT.js');
4
4
  require('../error-codes-Ds0bnPvT.js');
5
- const require_commandkit = require('../commandkit-IgQcMJMi.js');
5
+ const require_commandkit = require('../commandkit-lhbfAyX9.js');
6
6
  require('../common-CcfjYnPG.js');
7
7
  require('../common-vnMIelAE.js');
8
8
  require('../container-C6GtfAPW.js');
@@ -27,18 +27,18 @@ require('../types-package-BWArjyBF.js');
27
27
  require('../constants-BOOGN85p.js');
28
28
  require('../EventWorkerContext-Dq29tieI.js');
29
29
  require('../signals-ChFMD7mB.js');
30
- require('../MessageCommandParser-CEuO6Ex3.js');
31
- require('../helpers-BSwwrKJW.js');
30
+ require('../helpers-Dl8wW6aO.js');
31
+ require('../MessageCommandParser-Dl0xxtdr.js');
32
32
  require('../CommandsRouter-Dmzw-ikm.js');
33
33
  require('../EventsRouter-3Gygh-km.js');
34
34
  require('../router-Dn35v30f.js');
35
- const require_common$2 = require('../common-Dxr9-XPa.js');
35
+ const require_common$2 = require('../common-CrqwC-sx.js');
36
36
  require('../CommandKitEventsChannel-BtRzr3Tz.js');
37
37
  require('../store-CM6pWVZh.js');
38
38
  require('../env-_68PRRoA.js');
39
- const require_app_process = require('../app-process-DoG6Spkf.js');
40
- require('../type-checker-DR7RZFs5.js');
41
- const require_build = require('../build-B-NgO2L-.js');
39
+ const require_app_process = require('../app-process-cj2vF12T.js');
40
+ require('../type-checker-ocNSZh0W.js');
41
+ const require_build = require('../build-DB_aX5xt.js');
42
42
  const require_utils$1 = require('../utils-DCSnVAZ6.js');
43
43
  let fs = require("fs");
44
44
  fs = require_chunk.__toESM(fs);
@@ -1,7 +1,7 @@
1
1
  require('../colors-DL3ucTiT.js');
2
2
  require('../constants-B5_Ta7PR.js');
3
3
  require('../types-package-BWArjyBF.js');
4
- require('../common-Dxr9-XPa.js');
5
- const require_type_checker = require('../type-checker-DR7RZFs5.js');
4
+ require('../common-CrqwC-sx.js');
5
+ const require_type_checker = require('../type-checker-ocNSZh0W.js');
6
6
 
7
7
  exports.performTypeCheck = require_type_checker.performTypeCheck;
@@ -12,11 +12,11 @@ const require_types_package = require('./types-package-BWArjyBF.js');
12
12
  const require_constants$1 = require('./constants-BOOGN85p.js');
13
13
  const require_EventWorkerContext = require('./EventWorkerContext-Dq29tieI.js');
14
14
  const require_signals = require('./signals-ChFMD7mB.js');
15
- const require_MessageCommandParser = require('./MessageCommandParser-CEuO6Ex3.js');
16
- const require_helpers = require('./helpers-BSwwrKJW.js');
15
+ const require_helpers = require('./helpers-Dl8wW6aO.js');
16
+ const require_MessageCommandParser = require('./MessageCommandParser-Dl0xxtdr.js');
17
17
  const require_CommandsRouter = require('./CommandsRouter-Dmzw-ikm.js');
18
18
  const require_EventsRouter = require('./EventsRouter-3Gygh-km.js');
19
- const require_common = require('./common-Dxr9-XPa.js');
19
+ const require_common = require('./common-CrqwC-sx.js');
20
20
  const require_CommandKitEventsChannel = require('./CommandKitEventsChannel-BtRzr3Tz.js');
21
21
  const require_store = require('./store-CM6pWVZh.js');
22
22
  let node_events = require("node:events");
@@ -2632,6 +2632,81 @@ var AppCommandRunner = class {
2632
2632
  }
2633
2633
  };
2634
2634
 
2635
+ //#endregion
2636
+ //#region src/app/middlewares/permissions.ts
2637
+ const middlewareId = crypto.randomUUID();
2638
+ /**
2639
+ * @private
2640
+ * @ignore
2641
+ */
2642
+ async function beforeExecute(ctx) {
2643
+ var _interaction$channel, _message$channel, _message$member, _command$metadata, _interaction$guild, _message$guild, _command$metadata2;
2644
+ if (getConfig().disablePermissionsMiddleware) return;
2645
+ const { interaction, message, command } = ctx;
2646
+ if (interaction && !interaction.isCommand()) return;
2647
+ if (interaction && ((_interaction$channel = interaction.channel) === null || _interaction$channel === void 0 ? void 0 : _interaction$channel.isDMBased()) || message && ((_message$channel = message.channel) === null || _message$channel === void 0 ? void 0 : _message$channel.isDMBased())) {
2648
+ const channel = (interaction === null || interaction === void 0 ? void 0 : interaction.channel) ?? (message === null || message === void 0 ? void 0 : message.channel);
2649
+ const embed$1 = new discord_js.EmbedBuilder().setTitle(":x: Server-only command!").setDescription("This command can only be used in a server.").setColor("Red");
2650
+ try {
2651
+ if (channel === null || channel === void 0 ? void 0 : channel.isSendable()) if (interaction && interaction.isRepliable()) await interaction.reply({
2652
+ embeds: [embed$1],
2653
+ flags: discord_js.MessageFlags.Ephemeral
2654
+ });
2655
+ else await message.reply({ embeds: [embed$1] });
2656
+ } catch (error) {
2657
+ Logger.error`Could not send 'Server-only command' DM to user ${(interaction === null || interaction === void 0 ? void 0 : interaction.user.id) ?? (message === null || message === void 0 ? void 0 : message.author.id)} for command ${command.command.name}: ${error}`;
2658
+ }
2659
+ require_signals.stopMiddlewares();
2660
+ }
2661
+ const userPermissions = (interaction === null || interaction === void 0 ? void 0 : interaction.memberPermissions) ?? (message === null || message === void 0 || (_message$member = message.member) === null || _message$member === void 0 ? void 0 : _message$member.permissions);
2662
+ let userPermissionsRequired = ((_command$metadata = command.metadata) === null || _command$metadata === void 0 ? void 0 : _command$metadata.userPermissions) ?? [];
2663
+ let missingUserPermissions = [];
2664
+ if (typeof userPermissionsRequired === "string") userPermissionsRequired = [userPermissionsRequired];
2665
+ const botPermissions = (interaction === null || interaction === void 0 || (_interaction$guild = interaction.guild) === null || _interaction$guild === void 0 || (_interaction$guild = _interaction$guild.members.me) === null || _interaction$guild === void 0 ? void 0 : _interaction$guild.permissions) ?? (message === null || message === void 0 || (_message$guild = message.guild) === null || _message$guild === void 0 || (_message$guild = _message$guild.members.me) === null || _message$guild === void 0 ? void 0 : _message$guild.permissions);
2666
+ let botPermissionsRequired = ((_command$metadata2 = command.metadata) === null || _command$metadata2 === void 0 ? void 0 : _command$metadata2.botPermissions) ?? [];
2667
+ let missingBotPermissions = [];
2668
+ if (typeof botPermissionsRequired === "string") botPermissionsRequired = [botPermissionsRequired];
2669
+ if (!userPermissionsRequired.length && !botPermissionsRequired.length) return;
2670
+ if (userPermissionsRequired.length) {
2671
+ for (const permission of userPermissionsRequired) if (!(userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.has(permission))) missingUserPermissions.push(permission);
2672
+ }
2673
+ if (botPermissionsRequired.length) {
2674
+ for (const permission of botPermissionsRequired) if (!(botPermissions === null || botPermissions === void 0 ? void 0 : botPermissions.has(permission))) missingBotPermissions.push(permission);
2675
+ }
2676
+ if (!missingUserPermissions.length && !missingBotPermissions.length) return;
2677
+ const pattern = /([a-z])([A-Z])|([A-Z]+)([A-Z][a-z])/g;
2678
+ missingUserPermissions = missingUserPermissions.map((str) => str.replace(pattern, "$1$3 $2$4"));
2679
+ missingBotPermissions = missingBotPermissions.map((str) => str.replace(pattern, "$1$3 $2$4"));
2680
+ let embedDescription = "";
2681
+ const formatter = new Intl.ListFormat("en", {
2682
+ style: "long",
2683
+ type: "conjunction"
2684
+ });
2685
+ const getPermissionWord = (permissions) => permissions.length === 1 ? "permission" : "permissions";
2686
+ if (missingUserPermissions.length) {
2687
+ const formattedPermissions = missingUserPermissions.map((p) => `\`${p}\``);
2688
+ const permissionsString = formatter.format(formattedPermissions);
2689
+ embedDescription += `- You must have the ${permissionsString} ${getPermissionWord(missingUserPermissions)} to be able to run this command.\n`;
2690
+ }
2691
+ if (missingBotPermissions.length) {
2692
+ const formattedPermissions = missingBotPermissions.map((p) => `\`${p}\``);
2693
+ const permissionsString = formatter.format(formattedPermissions);
2694
+ embedDescription += `- I must have the ${permissionsString} ${getPermissionWord(missingBotPermissions)} to be able to execute this command.\n`;
2695
+ }
2696
+ const embed = new discord_js.EmbedBuilder().setTitle(`:x: Missing permissions!`).setDescription(embedDescription).setColor("Red");
2697
+ try {
2698
+ var _message$channel2;
2699
+ if (interaction && interaction.isRepliable()) await interaction.reply({
2700
+ embeds: [embed],
2701
+ flags: discord_js.MessageFlags.Ephemeral
2702
+ });
2703
+ else if (message && ((_message$channel2 = message.channel) === null || _message$channel2 === void 0 ? void 0 : _message$channel2.isSendable())) await message.reply({ embeds: [embed] });
2704
+ } catch (error) {
2705
+ Logger.error`Could not send 'Not enough permissions' reply to user ${(interaction === null || interaction === void 0 ? void 0 : interaction.user.id) ?? (message === null || message === void 0 ? void 0 : message.author.id)} for command ${command.command.name}: ${error}`;
2706
+ }
2707
+ require_signals.stopMiddlewares();
2708
+ }
2709
+
2635
2710
  //#endregion
2636
2711
  //#region src/app/register/CommandRegistrar.ts
2637
2712
  /**
@@ -2805,81 +2880,6 @@ var CommandRegistrar = class {
2805
2880
  }
2806
2881
  };
2807
2882
 
2808
- //#endregion
2809
- //#region src/app/middlewares/permissions.ts
2810
- const middlewareId = crypto.randomUUID();
2811
- /**
2812
- * @private
2813
- * @ignore
2814
- */
2815
- async function beforeExecute(ctx) {
2816
- var _interaction$channel, _message$channel, _message$member, _command$metadata, _interaction$guild, _message$guild, _command$metadata2;
2817
- if (getConfig().disablePermissionsMiddleware) return;
2818
- const { interaction, message, command } = ctx;
2819
- if (interaction && !interaction.isCommand()) return;
2820
- if (interaction && ((_interaction$channel = interaction.channel) === null || _interaction$channel === void 0 ? void 0 : _interaction$channel.isDMBased()) || message && ((_message$channel = message.channel) === null || _message$channel === void 0 ? void 0 : _message$channel.isDMBased())) {
2821
- const channel = (interaction === null || interaction === void 0 ? void 0 : interaction.channel) ?? (message === null || message === void 0 ? void 0 : message.channel);
2822
- const embed$1 = new discord_js.EmbedBuilder().setTitle(":x: Server-only command!").setDescription("This command can only be used in a server.").setColor("Red");
2823
- try {
2824
- if (channel === null || channel === void 0 ? void 0 : channel.isSendable()) if (interaction && interaction.isRepliable()) await interaction.reply({
2825
- embeds: [embed$1],
2826
- flags: discord_js.MessageFlags.Ephemeral
2827
- });
2828
- else await message.reply({ embeds: [embed$1] });
2829
- } catch (error) {
2830
- Logger.error`Could not send 'Server-only command' DM to user ${(interaction === null || interaction === void 0 ? void 0 : interaction.user.id) ?? (message === null || message === void 0 ? void 0 : message.author.id)} for command ${command.command.name}: ${error}`;
2831
- }
2832
- require_signals.stopMiddlewares();
2833
- }
2834
- const userPermissions = (interaction === null || interaction === void 0 ? void 0 : interaction.memberPermissions) ?? (message === null || message === void 0 || (_message$member = message.member) === null || _message$member === void 0 ? void 0 : _message$member.permissions);
2835
- let userPermissionsRequired = ((_command$metadata = command.metadata) === null || _command$metadata === void 0 ? void 0 : _command$metadata.userPermissions) ?? [];
2836
- let missingUserPermissions = [];
2837
- if (typeof userPermissionsRequired === "string") userPermissionsRequired = [userPermissionsRequired];
2838
- const botPermissions = (interaction === null || interaction === void 0 || (_interaction$guild = interaction.guild) === null || _interaction$guild === void 0 || (_interaction$guild = _interaction$guild.members.me) === null || _interaction$guild === void 0 ? void 0 : _interaction$guild.permissions) ?? (message === null || message === void 0 || (_message$guild = message.guild) === null || _message$guild === void 0 || (_message$guild = _message$guild.members.me) === null || _message$guild === void 0 ? void 0 : _message$guild.permissions);
2839
- let botPermissionsRequired = ((_command$metadata2 = command.metadata) === null || _command$metadata2 === void 0 ? void 0 : _command$metadata2.botPermissions) ?? [];
2840
- let missingBotPermissions = [];
2841
- if (typeof botPermissionsRequired === "string") botPermissionsRequired = [botPermissionsRequired];
2842
- if (!userPermissionsRequired.length && !botPermissionsRequired.length) return;
2843
- if (userPermissionsRequired.length) {
2844
- for (const permission of userPermissionsRequired) if (!(userPermissions === null || userPermissions === void 0 ? void 0 : userPermissions.has(permission))) missingUserPermissions.push(permission);
2845
- }
2846
- if (botPermissionsRequired.length) {
2847
- for (const permission of botPermissionsRequired) if (!(botPermissions === null || botPermissions === void 0 ? void 0 : botPermissions.has(permission))) missingBotPermissions.push(permission);
2848
- }
2849
- if (!missingUserPermissions.length && !missingBotPermissions.length) return;
2850
- const pattern = /([a-z])([A-Z])|([A-Z]+)([A-Z][a-z])/g;
2851
- missingUserPermissions = missingUserPermissions.map((str) => str.replace(pattern, "$1$3 $2$4"));
2852
- missingBotPermissions = missingBotPermissions.map((str) => str.replace(pattern, "$1$3 $2$4"));
2853
- let embedDescription = "";
2854
- const formatter = new Intl.ListFormat("en", {
2855
- style: "long",
2856
- type: "conjunction"
2857
- });
2858
- const getPermissionWord = (permissions) => permissions.length === 1 ? "permission" : "permissions";
2859
- if (missingUserPermissions.length) {
2860
- const formattedPermissions = missingUserPermissions.map((p) => `\`${p}\``);
2861
- const permissionsString = formatter.format(formattedPermissions);
2862
- embedDescription += `- You must have the ${permissionsString} ${getPermissionWord(missingUserPermissions)} to be able to run this command.\n`;
2863
- }
2864
- if (missingBotPermissions.length) {
2865
- const formattedPermissions = missingBotPermissions.map((p) => `\`${p}\``);
2866
- const permissionsString = formatter.format(formattedPermissions);
2867
- embedDescription += `- I must have the ${permissionsString} ${getPermissionWord(missingBotPermissions)} to be able to execute this command.\n`;
2868
- }
2869
- const embed = new discord_js.EmbedBuilder().setTitle(`:x: Missing permissions!`).setDescription(embedDescription).setColor("Red");
2870
- try {
2871
- var _message$channel2;
2872
- if (interaction && interaction.isRepliable()) await interaction.reply({
2873
- embeds: [embed],
2874
- flags: discord_js.MessageFlags.Ephemeral
2875
- });
2876
- else if (message && ((_message$channel2 = message.channel) === null || _message$channel2 === void 0 ? void 0 : _message$channel2.isSendable())) await message.reply({ embeds: [embed] });
2877
- } catch (error) {
2878
- Logger.error`Could not send 'Not enough permissions' reply to user ${(interaction === null || interaction === void 0 ? void 0 : interaction.user.id) ?? (message === null || message === void 0 ? void 0 : message.author.id)} for command ${command.command.name}: ${error}`;
2879
- }
2880
- require_signals.stopMiddlewares();
2881
- }
2882
-
2883
2883
  //#endregion
2884
2884
  //#region src/app/handlers/AppCommandHandler.ts
2885
2885
  const KNOWN_NON_HANDLER_KEYS = [
@@ -3078,8 +3078,8 @@ var AppCommandHandler = class {
3078
3078
  if (!cmdName) if (source instanceof discord_js.Message) {
3079
3079
  if (source.author.bot) return null;
3080
3080
  const prefix = await this.commandkit.appConfig.getMessageCommandPrefix(source);
3081
- if (!prefix || !prefix.length) return null;
3082
- parser = new require_MessageCommandParser.MessageCommandParser(source, Array.isArray(prefix) ? prefix : [prefix], (command) => {
3081
+ if (!prefix || (typeof prefix === "string" || Array.isArray(prefix)) && !prefix.length) return null;
3082
+ parser = new require_MessageCommandParser.MessageCommandParser(source, prefix instanceof RegExp ? prefix : Array.isArray(prefix) ? prefix : [prefix], (command) => {
3083
3083
  var _loadedCommand$metada, _loadedCommand$metada2, _json$options;
3084
3084
  const loadedCommand$1 = this.findCommandByName(command);
3085
3085
  if (!loadedCommand$1) {
@@ -3107,6 +3107,11 @@ var AppCommandHandler = class {
3107
3107
  const loadedCommand = this.findCommandByName(cmdName, hint);
3108
3108
  if (!loadedCommand) return null;
3109
3109
  if ((source instanceof discord_js.CommandInteraction || source instanceof discord_js.AutocompleteInteraction) && source.guildId && ((_loadedCommand$metada3 = loadedCommand.metadata) === null || _loadedCommand$metada3 === void 0 || (_loadedCommand$metada3 = _loadedCommand$metada3.guilds) === null || _loadedCommand$metada3 === void 0 ? void 0 : _loadedCommand$metada3.length) && !((_loadedCommand$metada4 = loadedCommand.metadata) === null || _loadedCommand$metada4 === void 0 ? void 0 : _loadedCommand$metada4.guilds.includes(source.guildId))) return null;
3110
+ if (source instanceof discord_js.Message) {
3111
+ var _loadedCommand$metada5;
3112
+ if (!source.guildId) return null;
3113
+ if (((_loadedCommand$metada5 = loadedCommand.metadata) === null || _loadedCommand$metada5 === void 0 || (_loadedCommand$metada5 = _loadedCommand$metada5.guilds) === null || _loadedCommand$metada5 === void 0 ? void 0 : _loadedCommand$metada5.length) && !loadedCommand.metadata.guilds.includes(source.guildId)) return null;
3114
+ }
3110
3115
  const middlewares = [];
3111
3116
  for (const middlewareId$1 of loadedCommand.command.middlewares) {
3112
3117
  const middleware = this.loadedMiddlewares.get(middlewareId$1);
@@ -4477,4 +4482,4 @@ Object.defineProperty(exports, 'useStore', {
4477
4482
  return useStore;
4478
4483
  }
4479
4484
  });
4480
- //# sourceMappingURL=commandkit-IgQcMJMi.js.map
4485
+ //# sourceMappingURL=commandkit-lhbfAyX9.js.map