commandkit 1.2.0-rc.8 → 1.2.0-rc.9

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 (123) hide show
  1. package/dist/{CommandKitEventsChannel-B5vbINtP.js → CommandKitEventsChannel-BtRzr3Tz.js} +1 -1
  2. package/dist/{CommandKitEventsChannel-B5vbINtP.js.map → CommandKitEventsChannel-BtRzr3Tz.js.map} +1 -1
  3. package/dist/{CommandsRouter-DZAeB2v_.js → CommandsRouter-Cgcy6cK9.js} +1 -1
  4. package/dist/{CommandsRouter-DZAeB2v_.js.map → CommandsRouter-Cgcy6cK9.js.map} +1 -1
  5. package/dist/{EventWorkerContext-xgEc2N2T.d.ts → EventWorkerContext-BMk7IXpC.d.ts} +2 -2
  6. package/dist/{EventsRouter-Dzpm7ubq.js → EventsRouter-3Gygh-km.js} +1 -1
  7. package/dist/{EventsRouter-Dzpm7ubq.js.map → EventsRouter-3Gygh-km.js.map} +1 -1
  8. package/dist/analytics/analytics-engine.d.ts +1 -1
  9. package/dist/analytics/analytics-engine.js +8 -7
  10. package/dist/analytics/analytics-provider.d.ts +1 -1
  11. package/dist/analytics/utils.js +8 -7
  12. package/dist/{analytics-engine-6_M8tCeD.d.ts → analytics-engine-B7JNRnEN.d.ts} +8 -2
  13. package/dist/app/commands/AppCommandRunner.d.ts +1 -1
  14. package/dist/app/commands/AppCommandRunner.js +8 -7
  15. package/dist/app/commands/Context.d.ts +1 -1
  16. package/dist/app/commands/Context.js +8 -7
  17. package/dist/app/commands/helpers.js +1 -1
  18. package/dist/app/events/EventWorkerContext.d.ts +2 -2
  19. package/dist/app/handlers/AppCommandHandler.d.ts +1 -1
  20. package/dist/app/handlers/AppCommandHandler.js +8 -7
  21. package/dist/app/handlers/AppEventsHandler.d.ts +1 -1
  22. package/dist/app/handlers/AppEventsHandler.js +8 -7
  23. package/dist/app/index.d.ts +1 -1
  24. package/dist/app/index.js +8 -8
  25. package/dist/app/middlewares/permissions.d.ts +1 -1
  26. package/dist/app/middlewares/permissions.js +8 -7
  27. package/dist/app/register/CommandRegistrar.d.ts +1 -1
  28. package/dist/app/register/CommandRegistrar.js +8 -7
  29. package/dist/app/router/CommandsRouter.js +1 -1
  30. package/dist/app/router/EventsRouter.js +1 -1
  31. package/dist/app/router/index.js +3 -3
  32. package/dist/{app-process-u2DXakNv.js → app-process-DoG6Spkf.js} +2 -2
  33. package/dist/{app-process-u2DXakNv.js.map → app-process-DoG6Spkf.js.map} +1 -1
  34. package/dist/{build-CxC-b0wN.js → build-C9ltqPmn.js} +4 -4
  35. package/dist/{build-CxC-b0wN.js.map → build-C9ltqPmn.js.map} +1 -1
  36. package/dist/cli/app-process.js +2 -2
  37. package/dist/cli/build.d.ts +1 -1
  38. package/dist/cli/build.js +10 -9
  39. package/dist/cli/common.d.ts +1 -1
  40. package/dist/cli/common.js +1 -1
  41. package/dist/cli/development.js +11 -10
  42. package/dist/cli/development.js.map +1 -1
  43. package/dist/cli/generators.js +1 -1
  44. package/dist/cli/information.js +1 -1
  45. package/dist/cli/init.js +9 -8
  46. package/dist/cli/production.js +11 -10
  47. package/dist/cli/production.js.map +1 -1
  48. package/dist/cli/type-checker.js +2 -2
  49. package/dist/{commandkit-CuM4HbAQ.js → commandkit-Bm0gLN8i.js} +45 -28
  50. package/dist/{commandkit-CuM4HbAQ.js.map → commandkit-Bm0gLN8i.js.map} +1 -1
  51. package/dist/commandkit.d.ts +1 -1
  52. package/dist/commandkit.js +8 -7
  53. package/dist/{common-DVM_onKu.js → common-Dxr9-XPa.js} +1 -1
  54. package/dist/{common-DVM_onKu.js.map → common-Dxr9-XPa.js.map} +1 -1
  55. package/dist/components/index.js +8 -7
  56. package/dist/components/v1/button/Button.js +8 -7
  57. package/dist/components/v1/button/ButtonKit.js +8 -7
  58. package/dist/components/v1/modal/Modal.js +8 -7
  59. package/dist/components/v1/modal/ModalKit.js +8 -7
  60. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +8 -7
  61. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +8 -7
  62. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +8 -7
  63. package/dist/components/v1/select-menu/SelectMenu.js +8 -7
  64. package/dist/components/v1/select-menu/StringSelectMenuKit.js +8 -7
  65. package/dist/components/v1/select-menu/UserSelectMenuKit.js +8 -7
  66. package/dist/config/config.d.ts +2 -2
  67. package/dist/config/config.js +8 -7
  68. package/dist/config/default.d.ts +1 -1
  69. package/dist/config/default.js +8 -7
  70. package/dist/config/loader.d.ts +1 -1
  71. package/dist/config/loader.js +8 -7
  72. package/dist/config/types.d.ts +1 -1
  73. package/dist/config/utils.d.ts +1 -1
  74. package/dist/{config-nD7V_D7G.d.ts → config-BhVxyjmZ.d.ts} +2 -2
  75. package/dist/context/async-context.d.ts +1 -1
  76. package/dist/context/async-context.js +8 -7
  77. package/dist/context/environment.d.ts +1 -1
  78. package/dist/context/environment.js +8 -7
  79. package/dist/events/CommandKitEventsChannel.d.ts +1 -1
  80. package/dist/events/CommandKitEventsChannel.js +1 -1
  81. package/dist/{feature-flags-DafbZSFy.js → feature-flags-nZJB7-e5.js} +2 -2
  82. package/dist/{feature-flags-DafbZSFy.js.map → feature-flags-nZJB7-e5.js.map} +1 -1
  83. package/dist/flags/FlagProvider.d.ts +1 -1
  84. package/dist/flags/feature-flags.d.ts +1 -1
  85. package/dist/flags/feature-flags.js +9 -8
  86. package/dist/flags/store.d.ts +1 -1
  87. package/dist/flags/store.js +1 -1
  88. package/dist/{helpers-CiuN7y5B.js → helpers-BSwwrKJW.js} +1 -1
  89. package/dist/{helpers-CiuN7y5B.js.map → helpers-BSwwrKJW.js.map} +1 -1
  90. package/dist/index.d.ts +3 -3
  91. package/dist/index.js +11 -11
  92. package/dist/{init-C41hZSJg.js → init-Cy_bcUt4.js} +3 -3
  93. package/dist/{init-C41hZSJg.js.map → init-Cy_bcUt4.js.map} +1 -1
  94. package/dist/logger/DefaultLogger.js +8 -7
  95. package/dist/logger/Logger.js +8 -7
  96. package/dist/plugins/CompilerPlugin.d.ts +1 -1
  97. package/dist/plugins/PluginCommon.d.ts +1 -1
  98. package/dist/plugins/RuntimePlugin.d.ts +1 -1
  99. package/dist/plugins/index.d.ts +1 -1
  100. package/dist/plugins/index.js +8 -7
  101. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.d.ts +1 -1
  102. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +8 -7
  103. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.d.ts +1 -1
  104. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +8 -7
  105. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.d.ts +1 -1
  106. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +8 -7
  107. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.d.ts +1 -1
  108. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +8 -7
  109. package/dist/plugins/plugin-runtime/runtime.d.ts +1 -1
  110. package/dist/plugins/types.d.ts +1 -1
  111. package/dist/{store-Hcgz7DSt.js → store-CM6pWVZh.js} +1 -1
  112. package/dist/{store-Hcgz7DSt.js.map → store-CM6pWVZh.js.map} +1 -1
  113. package/dist/{type-checker-M1NIIoWL.js → type-checker-DR7RZFs5.js} +2 -2
  114. package/dist/{type-checker-M1NIIoWL.js.map → type-checker-DR7RZFs5.js.map} +1 -1
  115. package/dist/types.d.ts +1 -1
  116. package/dist/utils/dev-hooks.d.ts +1 -1
  117. package/dist/utils/dev-hooks.js +8 -7
  118. package/dist/utils/utilities.js +8 -7
  119. package/dist/{version-CS7843dE.js → version-DRSQMx0w.js} +2 -2
  120. package/dist/{version-CS7843dE.js.map → version-DRSQMx0w.js.map} +1 -1
  121. package/dist/version.js +1 -1
  122. package/package.json +2 -2
  123. /package/dist/{router-DHnFRADH.js → router-Dn35v30f.js} +0 -0
@@ -85,4 +85,4 @@ Object.defineProperty(exports, 'CommandKitEventsChannel', {
85
85
  return CommandKitEventsChannel;
86
86
  }
87
87
  });
88
- //# sourceMappingURL=CommandKitEventsChannel-B5vbINtP.js.map
88
+ //# sourceMappingURL=CommandKitEventsChannel-BtRzr3Tz.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandKitEventsChannel-B5vbINtP.js","names":[],"sources":["../src/events/CommandKitEventsChannel.ts"],"sourcesContent":["import EventEmitter from 'node:events';\nimport type { CommandKit } from '../commandkit';\nimport type { AsyncFunction, GenericFunction } from '../context/async-context';\n\n/**\n * The function type for event listeners.\n */\nexport type ListenerFunction = GenericFunction | AsyncFunction;\n\n/**\n * Represents a channel for emitting and listening to events in CommandKit.\n * This class provides methods to manage event listeners and emit events\n * within a specific namespace.\n */\nexport class CommandKitEventsChannel {\n private emitter = new EventEmitter();\n\n /**\n * Creates a new instance of CommandKitEventsChannel.\n * @param commandkit The CommandKit instance that this channel belongs to.\n */\n public constructor(public readonly commandkit: CommandKit) {}\n\n /**\n * Creates a namespaced event channel. This allows you to manage events\n * within a specific namespace, preventing conflicts with other event channels.\n * This is useful for organizing events related to different parts of your application.\n * @param namespace The namespace for the event channel.\n * @returns An object containing methods for managing events within the namespace.\n * @example commandkit.events.to('customNamespace').emit('eventName', data);\n */\n public to(namespace: string) {\n return {\n on: this.on.bind(this, namespace),\n off: this.off.bind(this, namespace),\n once: this.once.bind(this, namespace),\n emit: this.emit.bind(this, namespace),\n removeAllListeners: this.removeAllListeners.bind(this, namespace),\n };\n }\n\n /**\n * Register an event listener for a specific event within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to listen for.\n * @param listener The function to call when the event is emitted.\n */\n public on(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.on(`${namespace}:${event}`, listener);\n }\n\n /**\n * Unregister an event listener for a specific event within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to stop listening for.\n * @param listener The function that was registered as the listener.\n */\n public off(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.off(`${namespace}:${event}`, listener);\n }\n\n /**\n * Register an event listener that will be called only once for a specific event\n * within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to listen for.\n * @param listener The function to call when the event is emitted.\n */\n public once(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.once(`${namespace}:${event}`, listener);\n }\n\n /**\n * Emit an event within the specified namespace, calling all registered listeners.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to emit.\n * @param args The arguments to pass to the listeners.\n * @returns A boolean indicating whether any listeners were called.\n */\n public emit(namespace: string, event: string, ...args: any[]) {\n return this.emitter.emit(`${namespace}:${event}`, ...args);\n }\n\n /**\n * Remove all listeners for a specific event or all events within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to remove listeners for. If not provided, all listeners for all events in the namespace will be removed.\n */\n public removeAllListeners(namespace: string): void;\n public removeAllListeners(namespace: string, event: string): void;\n public removeAllListeners(namespace: string, event?: string): void {\n if (event) {\n this.emitter.removeAllListeners(`${namespace}:${event}`);\n } else {\n this.emitter.removeAllListeners(namespace);\n }\n }\n}\n"],"mappings":";;;;;;;;;;AAcA,IAAa,0BAAb,MAAqC;CACnC,AAAQ,UAAU,IAAI,qBAAc;;;;;CAMpC,AAAO,YAAY,AAAgB,YAAwB;EAAxB;;;;;;;;;;CAUnC,AAAO,GAAG,WAAmB;AAC3B,SAAO;GACL,IAAI,KAAK,GAAG,KAAK,MAAM,UAAU;GACjC,KAAK,KAAK,IAAI,KAAK,MAAM,UAAU;GACnC,MAAM,KAAK,KAAK,KAAK,MAAM,UAAU;GACrC,MAAM,KAAK,KAAK,KAAK,MAAM,UAAU;GACrC,oBAAoB,KAAK,mBAAmB,KAAK,MAAM,UAAU;GAClE;;;;;;;;CASH,AAAO,GAAG,WAAmB,OAAe,UAA4B;AACtE,OAAK,QAAQ,GAAG,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;CASpD,AAAO,IAAI,WAAmB,OAAe,UAA4B;AACvE,OAAK,QAAQ,IAAI,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;;CAUrD,AAAO,KAAK,WAAmB,OAAe,UAA4B;AACxE,OAAK,QAAQ,KAAK,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;;CAUtD,AAAO,KAAK,WAAmB,OAAe,GAAG,MAAa;AAC5D,SAAO,KAAK,QAAQ,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK;;CAU5D,AAAO,mBAAmB,WAAmB,OAAsB;AACjE,MAAI,MACF,MAAK,QAAQ,mBAAmB,GAAG,UAAU,GAAG,QAAQ;MAExD,MAAK,QAAQ,mBAAmB,UAAU"}
1
+ {"version":3,"file":"CommandKitEventsChannel-BtRzr3Tz.js","names":[],"sources":["../src/events/CommandKitEventsChannel.ts"],"sourcesContent":["import EventEmitter from 'node:events';\nimport type { CommandKit } from '../commandkit';\nimport type { AsyncFunction, GenericFunction } from '../context/async-context';\n\n/**\n * The function type for event listeners.\n */\nexport type ListenerFunction = GenericFunction | AsyncFunction;\n\n/**\n * Represents a channel for emitting and listening to events in CommandKit.\n * This class provides methods to manage event listeners and emit events\n * within a specific namespace.\n */\nexport class CommandKitEventsChannel {\n private emitter = new EventEmitter();\n\n /**\n * Creates a new instance of CommandKitEventsChannel.\n * @param commandkit The CommandKit instance that this channel belongs to.\n */\n public constructor(public readonly commandkit: CommandKit) {}\n\n /**\n * Creates a namespaced event channel. This allows you to manage events\n * within a specific namespace, preventing conflicts with other event channels.\n * This is useful for organizing events related to different parts of your application.\n * @param namespace The namespace for the event channel.\n * @returns An object containing methods for managing events within the namespace.\n * @example commandkit.events.to('customNamespace').emit('eventName', data);\n */\n public to(namespace: string) {\n return {\n on: this.on.bind(this, namespace),\n off: this.off.bind(this, namespace),\n once: this.once.bind(this, namespace),\n emit: this.emit.bind(this, namespace),\n removeAllListeners: this.removeAllListeners.bind(this, namespace),\n };\n }\n\n /**\n * Register an event listener for a specific event within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to listen for.\n * @param listener The function to call when the event is emitted.\n */\n public on(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.on(`${namespace}:${event}`, listener);\n }\n\n /**\n * Unregister an event listener for a specific event within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to stop listening for.\n * @param listener The function that was registered as the listener.\n */\n public off(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.off(`${namespace}:${event}`, listener);\n }\n\n /**\n * Register an event listener that will be called only once for a specific event\n * within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to listen for.\n * @param listener The function to call when the event is emitted.\n */\n public once(namespace: string, event: string, listener: ListenerFunction) {\n this.emitter.once(`${namespace}:${event}`, listener);\n }\n\n /**\n * Emit an event within the specified namespace, calling all registered listeners.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to emit.\n * @param args The arguments to pass to the listeners.\n * @returns A boolean indicating whether any listeners were called.\n */\n public emit(namespace: string, event: string, ...args: any[]) {\n return this.emitter.emit(`${namespace}:${event}`, ...args);\n }\n\n /**\n * Remove all listeners for a specific event or all events within the namespace.\n * @param namespace The namespace for the event channel.\n * @param event The name of the event to remove listeners for. If not provided, all listeners for all events in the namespace will be removed.\n */\n public removeAllListeners(namespace: string): void;\n public removeAllListeners(namespace: string, event: string): void;\n public removeAllListeners(namespace: string, event?: string): void {\n if (event) {\n this.emitter.removeAllListeners(`${namespace}:${event}`);\n } else {\n this.emitter.removeAllListeners(namespace);\n }\n }\n}\n"],"mappings":";;;;;;;;;;AAcA,IAAa,0BAAb,MAAqC;CACnC,AAAQ,UAAU,IAAI,qBAAc;;;;;CAMpC,AAAO,YAAY,AAAgB,YAAwB;EAAxB;;;;;;;;;;CAUnC,AAAO,GAAG,WAAmB;AAC3B,SAAO;GACL,IAAI,KAAK,GAAG,KAAK,MAAM,UAAU;GACjC,KAAK,KAAK,IAAI,KAAK,MAAM,UAAU;GACnC,MAAM,KAAK,KAAK,KAAK,MAAM,UAAU;GACrC,MAAM,KAAK,KAAK,KAAK,MAAM,UAAU;GACrC,oBAAoB,KAAK,mBAAmB,KAAK,MAAM,UAAU;GAClE;;;;;;;;CASH,AAAO,GAAG,WAAmB,OAAe,UAA4B;AACtE,OAAK,QAAQ,GAAG,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;CASpD,AAAO,IAAI,WAAmB,OAAe,UAA4B;AACvE,OAAK,QAAQ,IAAI,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;;CAUrD,AAAO,KAAK,WAAmB,OAAe,UAA4B;AACxE,OAAK,QAAQ,KAAK,GAAG,UAAU,GAAG,SAAS,SAAS;;;;;;;;;CAUtD,AAAO,KAAK,WAAmB,OAAe,GAAG,MAAa;AAC5D,SAAO,KAAK,QAAQ,KAAK,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK;;CAU5D,AAAO,mBAAmB,WAAmB,OAAsB;AACjE,MAAI,MACF,MAAK,QAAQ,mBAAmB,GAAG,UAAU,GAAG,QAAQ;MAExD,MAAK,QAAQ,mBAAmB,UAAU"}
@@ -217,4 +217,4 @@ Object.defineProperty(exports, 'CommandsRouter', {
217
217
  return CommandsRouter;
218
218
  }
219
219
  });
220
- //# sourceMappingURL=CommandsRouter-DZAeB2v_.js.map
220
+ //# sourceMappingURL=CommandsRouter-Cgcy6cK9.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CommandsRouter-DZAeB2v_.js","names":[],"sources":["../src/app/router/CommandsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { Dirent, existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { basename, extname, join, normalize } from 'node:path';\n\n/**\n * Represents a command with its metadata and middleware associations.\n */\nexport interface Command {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n middlewares: Array<string>;\n category: string | null;\n}\n\n/**\n * Represents a middleware with its metadata and scope.\n */\nexport interface Middleware {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n global: boolean;\n command: string | null;\n}\n\n/**\n * Data structure containing parsed commands and middleware.\n */\nexport interface ParsedCommandData {\n commands: Record<string, Command>;\n middlewares: Record<string, Middleware>;\n}\n\n/**\n * Configuration options for the commands router.\n */\nexport interface CommandsRouterOptions {\n entrypoint: string;\n}\n\n/**\n * @private\n * @internal\n */\nconst MIDDLEWARE_PATTERN = /^\\+middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_MIDDLEWARE_PATTERN =\n /^\\+([^+().][^().]*)\\.middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst GLOBAL_MIDDLEWARE_PATTERN = /^\\+global-middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_PATTERN = /^([^+().][^().]*)\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst CATEGORY_PATTERN = /^\\(.+\\)$/;\n\n/**\n * Handles discovery and parsing of command and middleware files in the filesystem.\n */\nexport class CommandsRouter {\n /**\n * @private\n * @internal\n */\n private commands = new Collection<string, Command>();\n\n /**\n * @private\n * @internal\n */\n private middlewares = new Collection<string, Middleware>();\n\n /**\n * Creates a new CommandsRouter instance.\n * @param options - Configuration options for the router\n */\n public constructor(private readonly options: CommandsRouterOptions) {}\n\n /**\n * Populates the router with existing command and middleware data.\n * @param data - Parsed command data to populate with\n */\n public populate(data: ParsedCommandData) {\n for (const [id, command] of Object.entries(data.commands)) {\n this.commands.set(id, command);\n }\n\n for (const [id, middleware] of Object.entries(data.middlewares)) {\n this.middlewares.set(id, middleware);\n }\n }\n\n /**\n * Checks if the configured entrypoint path exists.\n * @returns True if the path exists\n */\n public isValidPath(): boolean {\n return existsSync(this.options.entrypoint);\n }\n\n /**\n * @private\n * @internal\n */\n private isCommand(name: string): boolean {\n return COMMAND_PATTERN.test(name);\n }\n\n /**\n * @private\n * @internal\n */\n private isMiddleware(name: string): boolean {\n return (\n MIDDLEWARE_PATTERN.test(name) ||\n GLOBAL_MIDDLEWARE_PATTERN.test(name) ||\n COMMAND_MIDDLEWARE_PATTERN.test(name)\n );\n }\n\n /**\n * @private\n * @internal\n */\n private isCategory(name: string): boolean {\n return CATEGORY_PATTERN.test(name);\n }\n\n /**\n * Clears all loaded commands and middleware.\n */\n public clear() {\n this.commands.clear();\n this.middlewares.clear();\n }\n\n /**\n * Scans the filesystem for commands and middleware files.\n * @returns Parsed command data\n */\n public async scan() {\n const entries = await readdir(this.options.entrypoint, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n const fullPath = join(this.options.entrypoint, entry.name);\n\n if (entry.isDirectory()) {\n const category = this.isCategory(entry.name)\n ? entry.name.slice(1, -1)\n : null;\n\n await this.traverse(fullPath, category);\n } else {\n await this.handle(entry);\n }\n }\n\n await this.applyMiddlewares();\n\n return this.toJSON();\n }\n\n /**\n * Gets the raw command and middleware collections.\n * @returns Object containing commands and middlewares collections\n */\n public getData() {\n return {\n commands: this.commands,\n middlewares: this.middlewares,\n };\n }\n\n /**\n * Converts the loaded data to a JSON-serializable format.\n * @returns Plain object with commands and middlewares\n */\n public toJSON() {\n return {\n commands: Object.fromEntries(this.commands.entries()),\n middlewares: Object.fromEntries(this.middlewares.entries()),\n };\n }\n\n /**\n * @private\n * @internal\n */\n private async traverse(path: string, category: string | null) {\n const entries = await readdir(path, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n if (entry.isFile()) {\n if (this.isCommand(entry.name) || this.isMiddleware(entry.name)) {\n await this.handle(entry, category);\n }\n } else if (\n entry.isDirectory() &&\n this.isCategory(entry.name) &&\n category\n ) {\n // nested category\n const nestedCategory = this.isCategory(entry.name)\n ? `${category}:${entry.name.slice(1, -1)}`\n : null;\n await this.traverse(join(path, entry.name), nestedCategory);\n }\n\n // TODO: handle subcommands\n }\n }\n\n /**\n * @private\n * @internal\n */\n private async handle(entry: Dirent, category: string | null = null) {\n const name = entry.name;\n const path = join(entry.parentPath, entry.name);\n\n if (this.isCommand(name)) {\n const command: Command = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n category,\n parentPath: entry.parentPath,\n relativePath: this.replaceEntrypoint(path),\n middlewares: [],\n };\n\n this.commands.set(command.id, command);\n } else if (this.isMiddleware(name)) {\n const middleware: Middleware = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n relativePath: this.replaceEntrypoint(path),\n parentPath: entry.parentPath,\n global: GLOBAL_MIDDLEWARE_PATTERN.test(name),\n command: COMMAND_MIDDLEWARE_PATTERN.test(name)\n ? name.match(COMMAND_MIDDLEWARE_PATTERN)?.[1] || null\n : null,\n };\n\n this.middlewares.set(middleware.id, middleware);\n }\n }\n\n /**\n * @private\n * @internal\n */\n private applyMiddlewares() {\n this.commands.forEach((command) => {\n const commandPath = command.parentPath;\n const allMiddlewares = Array.from(this.middlewares.values());\n\n const commandSpecificMiddlewares = allMiddlewares\n .filter((middleware) => middleware.command === command.name)\n .map((middleware) => middleware.id);\n\n const directorySpecificMiddlewares = allMiddlewares\n .filter(\n (middleware) =>\n !middleware.global &&\n !middleware.command &&\n middleware.parentPath === commandPath,\n )\n .map((middleware) => middleware.id);\n\n const globalMiddlewares = allMiddlewares\n .filter((middleware) => middleware.global)\n .map((middleware) => middleware.id);\n\n command.middlewares = [\n ...commandSpecificMiddlewares,\n ...directorySpecificMiddlewares,\n ...globalMiddlewares,\n ];\n });\n }\n\n /**\n * @private\n * @internal\n */\n private replaceEntrypoint(path: string) {\n const normalized = normalize(path);\n return normalized.replace(this.options.entrypoint, '');\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CommandsRouter-Cgcy6cK9.js","names":[],"sources":["../src/app/router/CommandsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { Dirent, existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { basename, extname, join, normalize } from 'node:path';\n\n/**\n * Represents a command with its metadata and middleware associations.\n */\nexport interface Command {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n middlewares: Array<string>;\n category: string | null;\n}\n\n/**\n * Represents a middleware with its metadata and scope.\n */\nexport interface Middleware {\n id: string;\n name: string;\n path: string;\n relativePath: string;\n parentPath: string;\n global: boolean;\n command: string | null;\n}\n\n/**\n * Data structure containing parsed commands and middleware.\n */\nexport interface ParsedCommandData {\n commands: Record<string, Command>;\n middlewares: Record<string, Middleware>;\n}\n\n/**\n * Configuration options for the commands router.\n */\nexport interface CommandsRouterOptions {\n entrypoint: string;\n}\n\n/**\n * @private\n * @internal\n */\nconst MIDDLEWARE_PATTERN = /^\\+middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_MIDDLEWARE_PATTERN =\n /^\\+([^+().][^().]*)\\.middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst GLOBAL_MIDDLEWARE_PATTERN = /^\\+global-middleware\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst COMMAND_PATTERN = /^([^+().][^().]*)\\.(m|c)?(j|t)sx?$/;\n\n/**\n * @private\n * @internal\n */\nconst CATEGORY_PATTERN = /^\\(.+\\)$/;\n\n/**\n * Handles discovery and parsing of command and middleware files in the filesystem.\n */\nexport class CommandsRouter {\n /**\n * @private\n * @internal\n */\n private commands = new Collection<string, Command>();\n\n /**\n * @private\n * @internal\n */\n private middlewares = new Collection<string, Middleware>();\n\n /**\n * Creates a new CommandsRouter instance.\n * @param options - Configuration options for the router\n */\n public constructor(private readonly options: CommandsRouterOptions) {}\n\n /**\n * Populates the router with existing command and middleware data.\n * @param data - Parsed command data to populate with\n */\n public populate(data: ParsedCommandData) {\n for (const [id, command] of Object.entries(data.commands)) {\n this.commands.set(id, command);\n }\n\n for (const [id, middleware] of Object.entries(data.middlewares)) {\n this.middlewares.set(id, middleware);\n }\n }\n\n /**\n * Checks if the configured entrypoint path exists.\n * @returns True if the path exists\n */\n public isValidPath(): boolean {\n return existsSync(this.options.entrypoint);\n }\n\n /**\n * @private\n * @internal\n */\n private isCommand(name: string): boolean {\n return COMMAND_PATTERN.test(name);\n }\n\n /**\n * @private\n * @internal\n */\n private isMiddleware(name: string): boolean {\n return (\n MIDDLEWARE_PATTERN.test(name) ||\n GLOBAL_MIDDLEWARE_PATTERN.test(name) ||\n COMMAND_MIDDLEWARE_PATTERN.test(name)\n );\n }\n\n /**\n * @private\n * @internal\n */\n private isCategory(name: string): boolean {\n return CATEGORY_PATTERN.test(name);\n }\n\n /**\n * Clears all loaded commands and middleware.\n */\n public clear() {\n this.commands.clear();\n this.middlewares.clear();\n }\n\n /**\n * Scans the filesystem for commands and middleware files.\n * @returns Parsed command data\n */\n public async scan() {\n const entries = await readdir(this.options.entrypoint, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n const fullPath = join(this.options.entrypoint, entry.name);\n\n if (entry.isDirectory()) {\n const category = this.isCategory(entry.name)\n ? entry.name.slice(1, -1)\n : null;\n\n await this.traverse(fullPath, category);\n } else {\n await this.handle(entry);\n }\n }\n\n await this.applyMiddlewares();\n\n return this.toJSON();\n }\n\n /**\n * Gets the raw command and middleware collections.\n * @returns Object containing commands and middlewares collections\n */\n public getData() {\n return {\n commands: this.commands,\n middlewares: this.middlewares,\n };\n }\n\n /**\n * Converts the loaded data to a JSON-serializable format.\n * @returns Plain object with commands and middlewares\n */\n public toJSON() {\n return {\n commands: Object.fromEntries(this.commands.entries()),\n middlewares: Object.fromEntries(this.middlewares.entries()),\n };\n }\n\n /**\n * @private\n * @internal\n */\n private async traverse(path: string, category: string | null) {\n const entries = await readdir(path, {\n withFileTypes: true,\n });\n\n for (const entry of entries) {\n // ignore _ prefixed files\n if (entry.name.startsWith('_')) continue;\n\n if (entry.isFile()) {\n if (this.isCommand(entry.name) || this.isMiddleware(entry.name)) {\n await this.handle(entry, category);\n }\n } else if (\n entry.isDirectory() &&\n this.isCategory(entry.name) &&\n category\n ) {\n // nested category\n const nestedCategory = this.isCategory(entry.name)\n ? `${category}:${entry.name.slice(1, -1)}`\n : null;\n await this.traverse(join(path, entry.name), nestedCategory);\n }\n\n // TODO: handle subcommands\n }\n }\n\n /**\n * @private\n * @internal\n */\n private async handle(entry: Dirent, category: string | null = null) {\n const name = entry.name;\n const path = join(entry.parentPath, entry.name);\n\n if (this.isCommand(name)) {\n const command: Command = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n category,\n parentPath: entry.parentPath,\n relativePath: this.replaceEntrypoint(path),\n middlewares: [],\n };\n\n this.commands.set(command.id, command);\n } else if (this.isMiddleware(name)) {\n const middleware: Middleware = {\n id: crypto.randomUUID(),\n name: basename(path, extname(path)),\n path,\n relativePath: this.replaceEntrypoint(path),\n parentPath: entry.parentPath,\n global: GLOBAL_MIDDLEWARE_PATTERN.test(name),\n command: COMMAND_MIDDLEWARE_PATTERN.test(name)\n ? name.match(COMMAND_MIDDLEWARE_PATTERN)?.[1] || null\n : null,\n };\n\n this.middlewares.set(middleware.id, middleware);\n }\n }\n\n /**\n * @private\n * @internal\n */\n private applyMiddlewares() {\n this.commands.forEach((command) => {\n const commandPath = command.parentPath;\n const allMiddlewares = Array.from(this.middlewares.values());\n\n const commandSpecificMiddlewares = allMiddlewares\n .filter((middleware) => middleware.command === command.name)\n .map((middleware) => middleware.id);\n\n const directorySpecificMiddlewares = allMiddlewares\n .filter(\n (middleware) =>\n !middleware.global &&\n !middleware.command &&\n middleware.parentPath === commandPath,\n )\n .map((middleware) => middleware.id);\n\n const globalMiddlewares = allMiddlewares\n .filter((middleware) => middleware.global)\n .map((middleware) => middleware.id);\n\n command.middlewares = [\n ...commandSpecificMiddlewares,\n ...directorySpecificMiddlewares,\n ...globalMiddlewares,\n ];\n });\n }\n\n /**\n * @private\n * @internal\n */\n private replaceEntrypoint(path: string) {\n const normalized = normalize(path);\n return normalized.replace(this.options.entrypoint, '');\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { CommandKit } from "./analytics-engine-6_M8tCeD.js";
1
+ import { CommandKit } from "./analytics-engine-B7JNRnEN.js";
2
2
  import { ParsedEvent } from "./EventsRouter-BacqK6z3.js";
3
3
  import { AsyncLocalStorage } from "node:async_hooks";
4
4
 
@@ -40,4 +40,4 @@ declare function getEventWorkerContext(): EventWorkerContext;
40
40
  declare function isEventWorkerContext(worker: any): worker is EventWorkerContext;
41
41
  //#endregion
42
42
  export { EventWorkerContext, eventWorkerContext, getEventWorkerContext, isEventWorkerContext, runInEventWorkerContext };
43
- //# sourceMappingURL=EventWorkerContext-xgEc2N2T.d.ts.map
43
+ //# sourceMappingURL=EventWorkerContext-BMk7IXpC.d.ts.map
@@ -134,4 +134,4 @@ Object.defineProperty(exports, 'EventsRouter', {
134
134
  return EventsRouter;
135
135
  }
136
136
  });
137
- //# sourceMappingURL=EventsRouter-Dzpm7ubq.js.map
137
+ //# sourceMappingURL=EventsRouter-3Gygh-km.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"EventsRouter-Dzpm7ubq.js","names":[],"sources":["../src/app/router/EventsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\n\n/**\n * Configuration options for the EventsRouter\n * @interface EventsRouterOptions\n */\nexport interface EventsRouterOptions {\n /** Root directory path where event handlers are located */\n entrypoints: string[];\n}\n\n/**\n * Represents a parsed event with its handlers\n * @interface ParsedEvent\n */\nexport interface ParsedEvent {\n /** Name of the event derived from directory name */\n event: string;\n /** Absolute path to the event directory */\n path: string;\n /** Array of file paths to event listener handlers */\n listeners: string[];\n /** Namespace of the event */\n namespace: string | null;\n}\n\n/** Collection of event names to their parsed metadata */\nexport type EventsTree = Record<string, ParsedEvent>;\n\n/**\n * Router for discovering and managing event handler files in a directory structure.\n * Events are represented by directories, and handlers are files within those directories.\n */\nexport class EventsRouter {\n /** Internal storage of parsed events */\n private events = new Collection<string, ParsedEvent>();\n\n /**\n * Creates a new EventsRouter instance\n * @param options - Configuration options for the router\n * @throws Error if entrypoint is not provided\n */\n public constructor(private options: EventsRouterOptions) {\n if (options.entrypoints) {\n options.entrypoints = Array.from(new Set(options.entrypoints));\n }\n\n if (!options.entrypoints?.length) {\n throw new Error('Entrypoint directory must be provided');\n }\n }\n\n /**\n * Adds new entrypoints to the router\n * @param entrypoints - Array of new entrypoint paths\n */\n public addEntrypoints(entrypoints: string[]) {\n this.options.entrypoints = Array.from(\n new Set([...this.options.entrypoints, ...entrypoints]),\n );\n }\n\n /**\n * Find a parsed event by its name\n * @param event - Name of the event to find\n * @returns Parsed event metadata or null if not found\n */\n public match(event: string): ParsedEvent | null {\n return this.events.get(event) ?? null;\n }\n\n /**\n * Get the entrypoint directory path\n * @returns Entrypoint directory path\n */\n public get entrypoints(): string[] {\n return this.options.entrypoints;\n }\n\n /**\n * Checks if the entrypoint path is valid\n */\n public isValidPath() {\n return this.entrypoints.every((entrypoint) => existsSync(entrypoint));\n }\n\n /**\n * Clear all parsed events\n */\n public clear() {\n this.events.clear();\n }\n\n /**\n * Reload and re-scan the entrypoint directory for events\n * @returns Promise resolving to the updated events tree\n */\n public async reload() {\n this.clear();\n return this.scan();\n }\n\n /**\n * Scan the entrypoint directory for events and their handlers\n * @returns Promise resolving to the events tree\n */\n public async scan(): Promise<EventsTree> {\n for (const entrypoint of this.entrypoints) {\n const dirs = await readdir(entrypoint, { withFileTypes: true });\n\n for (const dir of dirs) {\n if (dir.isDirectory()) {\n const path = join(entrypoint, dir.name);\n await this.scanEvent(dir.name, path, null, [], true);\n }\n }\n }\n\n return Object.fromEntries(this.events);\n }\n\n /**\n * Convert the internal events Collection to a plain object\n * @returns Events tree as a plain object\n */\n public toJSON(): EventsTree {\n return Object.fromEntries(this.events);\n }\n\n /**\n * Recursively scan a directory for event handlers\n * @param event - Name of the event\n * @param path - Path to the event directory\n * @param listeners - Array to collect listener file paths\n * @returns Promise resolving to the parsed event metadata\n */\n private async scanEvent(\n event: string,\n path: string,\n _namespace: string | null = null,\n listeners: string[] = [],\n isRoot = false,\n ): Promise<void> {\n const files = await readdir(path, { withFileTypes: true });\n const isNamespace = isRoot && /^\\(.+\\)$/.test(event);\n\n // if event = (something) pattern then namespace is something\n const namespace = isNamespace ? event.slice(1, -1) : (_namespace ?? null);\n\n files.sort((a, b) => a.name.localeCompare(b.name));\n\n for (const file of files) {\n if (file.name.startsWith('_')) continue;\n\n if (file.isDirectory()) {\n const nextPath = join(path, file.name);\n await this.scanEvent(file.name, nextPath, namespace, listeners);\n continue;\n }\n\n if (file.isFile() && /\\.(m|c)?(j|t)sx?$/.test(file.name)) {\n listeners.push(join(file.parentPath, file.name));\n }\n }\n\n if (!isNamespace) {\n const existing = this.events.get(event);\n\n if (existing) {\n existing.listeners = Array.from(\n new Set([...existing.listeners, ...listeners]),\n );\n\n return;\n }\n\n this.events.set(event, { event, path, listeners, namespace });\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoCA,IAAa,eAAb,MAA0B;;CAExB,AAAQ,SAAS,IAAI,uBAAiC;;;;;;CAOtD,AAAO,YAAY,AAAQ,SAA8B;;EAA9B;AACzB,MAAI,QAAQ,YACV,SAAQ,cAAc,MAAM,KAAK,IAAI,IAAI,QAAQ,YAAY,CAAC;AAGhE,MAAI,0BAAC,QAAQ,yFAAa,QACxB,OAAM,IAAI,MAAM,wCAAwC;;;;;;CAQ5D,AAAO,eAAe,aAAuB;AAC3C,OAAK,QAAQ,cAAc,MAAM,KAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,aAAa,GAAG,YAAY,CAAC,CACvD;;;;;;;CAQH,AAAO,MAAM,OAAmC;AAC9C,SAAO,KAAK,OAAO,IAAI,MAAM,IAAI;;;;;;CAOnC,IAAW,cAAwB;AACjC,SAAO,KAAK,QAAQ;;;;;CAMtB,AAAO,cAAc;AACnB,SAAO,KAAK,YAAY,OAAO,uCAA0B,WAAW,CAAC;;;;;CAMvE,AAAO,QAAQ;AACb,OAAK,OAAO,OAAO;;;;;;CAOrB,MAAa,SAAS;AACpB,OAAK,OAAO;AACZ,SAAO,KAAK,MAAM;;;;;;CAOpB,MAAa,OAA4B;AACvC,OAAK,MAAM,cAAc,KAAK,aAAa;GACzC,MAAM,OAAO,oCAAc,YAAY,EAAE,eAAe,MAAM,CAAC;AAE/D,QAAK,MAAM,OAAO,KAChB,KAAI,IAAI,aAAa,EAAE;IACrB,MAAM,2BAAY,YAAY,IAAI,KAAK;AACvC,UAAM,KAAK,UAAU,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,KAAK;;;AAK1D,SAAO,OAAO,YAAY,KAAK,OAAO;;;;;;CAOxC,AAAO,SAAqB;AAC1B,SAAO,OAAO,YAAY,KAAK,OAAO;;;;;;;;;CAUxC,MAAc,UACd,OACA,MACA,aAA4B,MAC5B,YAAsB,EAAE,EACxB,SAAS,OACO;EACd,MAAM,QAAQ,oCAAc,MAAM,EAAE,eAAe,MAAM,CAAC;EAC1D,MAAM,cAAc,UAAU,WAAW,KAAK,MAAM;EAGpD,MAAM,YAAY,cAAc,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc;AAEnE,QAAM,MAAM,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,CAAC;AAElD,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,KAAK,WAAW,IAAI,CAAE;AAE/B,OAAI,KAAK,aAAa,EAAE;IACtB,MAAM,+BAAgB,MAAM,KAAK,KAAK;AACtC,UAAM,KAAK,UAAU,KAAK,MAAM,UAAU,WAAW,UAAU;AAC/D;;AAGF,OAAI,KAAK,QAAQ,IAAI,oBAAoB,KAAK,KAAK,KAAK,CACtD,WAAU,yBAAU,KAAK,YAAY,KAAK,KAAK,CAAC;;AAIpD,MAAI,CAAC,aAAa;GAChB,MAAM,WAAW,KAAK,OAAO,IAAI,MAAM;AAEvC,OAAI,UAAU;AACZ,aAAS,YAAY,MAAM,KACzB,IAAI,IAAI,CAAC,GAAG,SAAS,WAAW,GAAG,UAAU,CAAC,CAC/C;AAED;;AAGF,QAAK,OAAO,IAAI,OAAO;IAAE;IAAO;IAAM;IAAW;IAAW,CAAC"}
1
+ {"version":3,"file":"EventsRouter-3Gygh-km.js","names":[],"sources":["../src/app/router/EventsRouter.ts"],"sourcesContent":["import { Collection } from 'discord.js';\nimport { existsSync } from 'node:fs';\nimport { readdir } from 'node:fs/promises';\nimport { join } from 'node:path';\n\n/**\n * Configuration options for the EventsRouter\n * @interface EventsRouterOptions\n */\nexport interface EventsRouterOptions {\n /** Root directory path where event handlers are located */\n entrypoints: string[];\n}\n\n/**\n * Represents a parsed event with its handlers\n * @interface ParsedEvent\n */\nexport interface ParsedEvent {\n /** Name of the event derived from directory name */\n event: string;\n /** Absolute path to the event directory */\n path: string;\n /** Array of file paths to event listener handlers */\n listeners: string[];\n /** Namespace of the event */\n namespace: string | null;\n}\n\n/** Collection of event names to their parsed metadata */\nexport type EventsTree = Record<string, ParsedEvent>;\n\n/**\n * Router for discovering and managing event handler files in a directory structure.\n * Events are represented by directories, and handlers are files within those directories.\n */\nexport class EventsRouter {\n /** Internal storage of parsed events */\n private events = new Collection<string, ParsedEvent>();\n\n /**\n * Creates a new EventsRouter instance\n * @param options - Configuration options for the router\n * @throws Error if entrypoint is not provided\n */\n public constructor(private options: EventsRouterOptions) {\n if (options.entrypoints) {\n options.entrypoints = Array.from(new Set(options.entrypoints));\n }\n\n if (!options.entrypoints?.length) {\n throw new Error('Entrypoint directory must be provided');\n }\n }\n\n /**\n * Adds new entrypoints to the router\n * @param entrypoints - Array of new entrypoint paths\n */\n public addEntrypoints(entrypoints: string[]) {\n this.options.entrypoints = Array.from(\n new Set([...this.options.entrypoints, ...entrypoints]),\n );\n }\n\n /**\n * Find a parsed event by its name\n * @param event - Name of the event to find\n * @returns Parsed event metadata or null if not found\n */\n public match(event: string): ParsedEvent | null {\n return this.events.get(event) ?? null;\n }\n\n /**\n * Get the entrypoint directory path\n * @returns Entrypoint directory path\n */\n public get entrypoints(): string[] {\n return this.options.entrypoints;\n }\n\n /**\n * Checks if the entrypoint path is valid\n */\n public isValidPath() {\n return this.entrypoints.every((entrypoint) => existsSync(entrypoint));\n }\n\n /**\n * Clear all parsed events\n */\n public clear() {\n this.events.clear();\n }\n\n /**\n * Reload and re-scan the entrypoint directory for events\n * @returns Promise resolving to the updated events tree\n */\n public async reload() {\n this.clear();\n return this.scan();\n }\n\n /**\n * Scan the entrypoint directory for events and their handlers\n * @returns Promise resolving to the events tree\n */\n public async scan(): Promise<EventsTree> {\n for (const entrypoint of this.entrypoints) {\n const dirs = await readdir(entrypoint, { withFileTypes: true });\n\n for (const dir of dirs) {\n if (dir.isDirectory()) {\n const path = join(entrypoint, dir.name);\n await this.scanEvent(dir.name, path, null, [], true);\n }\n }\n }\n\n return Object.fromEntries(this.events);\n }\n\n /**\n * Convert the internal events Collection to a plain object\n * @returns Events tree as a plain object\n */\n public toJSON(): EventsTree {\n return Object.fromEntries(this.events);\n }\n\n /**\n * Recursively scan a directory for event handlers\n * @param event - Name of the event\n * @param path - Path to the event directory\n * @param listeners - Array to collect listener file paths\n * @returns Promise resolving to the parsed event metadata\n */\n private async scanEvent(\n event: string,\n path: string,\n _namespace: string | null = null,\n listeners: string[] = [],\n isRoot = false,\n ): Promise<void> {\n const files = await readdir(path, { withFileTypes: true });\n const isNamespace = isRoot && /^\\(.+\\)$/.test(event);\n\n // if event = (something) pattern then namespace is something\n const namespace = isNamespace ? event.slice(1, -1) : (_namespace ?? null);\n\n files.sort((a, b) => a.name.localeCompare(b.name));\n\n for (const file of files) {\n if (file.name.startsWith('_')) continue;\n\n if (file.isDirectory()) {\n const nextPath = join(path, file.name);\n await this.scanEvent(file.name, nextPath, namespace, listeners);\n continue;\n }\n\n if (file.isFile() && /\\.(m|c)?(j|t)sx?$/.test(file.name)) {\n listeners.push(join(file.parentPath, file.name));\n }\n }\n\n if (!isNamespace) {\n const existing = this.events.get(event);\n\n if (existing) {\n existing.listeners = Array.from(\n new Set([...existing.listeners, ...listeners]),\n );\n\n return;\n }\n\n this.events.set(event, { event, path, listeners, namespace });\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAoCA,IAAa,eAAb,MAA0B;;CAExB,AAAQ,SAAS,IAAI,uBAAiC;;;;;;CAOtD,AAAO,YAAY,AAAQ,SAA8B;;EAA9B;AACzB,MAAI,QAAQ,YACV,SAAQ,cAAc,MAAM,KAAK,IAAI,IAAI,QAAQ,YAAY,CAAC;AAGhE,MAAI,0BAAC,QAAQ,yFAAa,QACxB,OAAM,IAAI,MAAM,wCAAwC;;;;;;CAQ5D,AAAO,eAAe,aAAuB;AAC3C,OAAK,QAAQ,cAAc,MAAM,KAC/B,IAAI,IAAI,CAAC,GAAG,KAAK,QAAQ,aAAa,GAAG,YAAY,CAAC,CACvD;;;;;;;CAQH,AAAO,MAAM,OAAmC;AAC9C,SAAO,KAAK,OAAO,IAAI,MAAM,IAAI;;;;;;CAOnC,IAAW,cAAwB;AACjC,SAAO,KAAK,QAAQ;;;;;CAMtB,AAAO,cAAc;AACnB,SAAO,KAAK,YAAY,OAAO,uCAA0B,WAAW,CAAC;;;;;CAMvE,AAAO,QAAQ;AACb,OAAK,OAAO,OAAO;;;;;;CAOrB,MAAa,SAAS;AACpB,OAAK,OAAO;AACZ,SAAO,KAAK,MAAM;;;;;;CAOpB,MAAa,OAA4B;AACvC,OAAK,MAAM,cAAc,KAAK,aAAa;GACzC,MAAM,OAAO,oCAAc,YAAY,EAAE,eAAe,MAAM,CAAC;AAE/D,QAAK,MAAM,OAAO,KAChB,KAAI,IAAI,aAAa,EAAE;IACrB,MAAM,2BAAY,YAAY,IAAI,KAAK;AACvC,UAAM,KAAK,UAAU,IAAI,MAAM,MAAM,MAAM,EAAE,EAAE,KAAK;;;AAK1D,SAAO,OAAO,YAAY,KAAK,OAAO;;;;;;CAOxC,AAAO,SAAqB;AAC1B,SAAO,OAAO,YAAY,KAAK,OAAO;;;;;;;;;CAUxC,MAAc,UACd,OACA,MACA,aAA4B,MAC5B,YAAsB,EAAE,EACxB,SAAS,OACO;EACd,MAAM,QAAQ,oCAAc,MAAM,EAAE,eAAe,MAAM,CAAC;EAC1D,MAAM,cAAc,UAAU,WAAW,KAAK,MAAM;EAGpD,MAAM,YAAY,cAAc,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc;AAEnE,QAAM,MAAM,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,KAAK,CAAC;AAElD,OAAK,MAAM,QAAQ,OAAO;AACxB,OAAI,KAAK,KAAK,WAAW,IAAI,CAAE;AAE/B,OAAI,KAAK,aAAa,EAAE;IACtB,MAAM,+BAAgB,MAAM,KAAK,KAAK;AACtC,UAAM,KAAK,UAAU,KAAK,MAAM,UAAU,WAAW,UAAU;AAC/D;;AAGF,OAAI,KAAK,QAAQ,IAAI,oBAAoB,KAAK,KAAK,KAAK,CACtD,WAAU,yBAAU,KAAK,YAAY,KAAK,KAAK,CAAC;;AAIpD,MAAI,CAAC,aAAa;GAChB,MAAM,WAAW,KAAK,OAAO,IAAI,MAAM;AAEvC,OAAI,UAAU;AACZ,aAAS,YAAY,MAAM,KACzB,IAAI,IAAI,CAAC,GAAG,SAAS,WAAW,GAAG,UAAU,CAAC,CAC/C;AAED;;AAGF,QAAK,OAAO,IAAI,OAAO;IAAE;IAAO;IAAM;IAAW;IAAW,CAAC"}
@@ -1,4 +1,4 @@
1
- import { AnalyticsEngine, FilterFunction } from "../analytics-engine-6_M8tCeD.js";
1
+ import { AnalyticsEngine, FilterFunction } from "../analytics-engine-B7JNRnEN.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../commandkit-Bm0gLN8i.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -27,11 +27,12 @@ require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
29
  require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../CommandsRouter-DZAeB2v_.js');
31
- require('../EventsRouter-Dzpm7ubq.js');
32
- require('../router-DHnFRADH.js');
33
- require('../common-DVM_onKu.js');
34
- require('../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../store-Hcgz7DSt.js');
30
+ require('../helpers-BSwwrKJW.js');
31
+ require('../CommandsRouter-Cgcy6cK9.js');
32
+ require('../EventsRouter-3Gygh-km.js');
33
+ require('../router-Dn35v30f.js');
34
+ require('../common-Dxr9-XPa.js');
35
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../store-CM6pWVZh.js');
36
37
 
37
38
  exports.AnalyticsEngine = require_commandkit.AnalyticsEngine;
@@ -1,4 +1,4 @@
1
- import { AnalyticsEvent, AnalyticsProvider, IdentifyEvent } from "../analytics-engine-6_M8tCeD.js";
1
+ import { AnalyticsEvent, AnalyticsProvider, IdentifyEvent } from "../analytics-engine-B7JNRnEN.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../commandkit-Bm0gLN8i.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -27,12 +27,13 @@ require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  require('../signals-ChFMD7mB.js');
29
29
  require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../CommandsRouter-DZAeB2v_.js');
31
- require('../EventsRouter-Dzpm7ubq.js');
32
- require('../router-DHnFRADH.js');
33
- require('../common-DVM_onKu.js');
34
- require('../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../store-Hcgz7DSt.js');
30
+ require('../helpers-BSwwrKJW.js');
31
+ require('../CommandsRouter-Cgcy6cK9.js');
32
+ require('../EventsRouter-3Gygh-km.js');
33
+ require('../router-Dn35v30f.js');
34
+ require('../common-Dxr9-XPa.js');
35
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../store-CM6pWVZh.js');
36
37
 
37
38
  exports.getDoNotTrack = require_commandkit.getDoNotTrack;
38
39
  exports.noAnalytics = require_commandkit.noAnalytics;
@@ -58,6 +58,10 @@ interface CommandMetadata {
58
58
  * The bot permissions required to execute the command.
59
59
  */
60
60
  botPermissions?: PermissionsString | PermissionsString[];
61
+ /**
62
+ * The name aliases for the `user` and `message` context menu commands. When i18n plugin is in use, this option will be ignored if the translation for the context menu command name is provided.
63
+ */
64
+ nameAliases?: Record<'user' | 'message', string>;
61
65
  }
62
66
  /**
63
67
  * @deprecated Use `CommandMetadata` instead.
@@ -858,6 +862,7 @@ declare class AppCommandHandler {
858
862
  /**
859
863
  * Finds a command by name.
860
864
  * @param name - The command name to search for
865
+ * @param hint - The hint for the command type (user or message)
861
866
  * @returns The loaded command or null if not found
862
867
  */
863
868
  private findCommandByName;
@@ -902,9 +907,10 @@ declare class AppCommandHandler {
902
907
  /**
903
908
  * Gets the metadata for a command.
904
909
  * @param command - The command name to get metadata for
910
+ * @param hint - The hint for the command type (user or message)
905
911
  * @returns The command metadata or null if not found
906
912
  */
907
- getMetadataFor(command: string): CommandMetadata | null;
913
+ getMetadataFor(command: string, hint?: 'user' | 'message'): CommandMetadata | null;
908
914
  }
909
915
  //#endregion
910
916
  //#region src/events/CommandKitEventsChannel.d.ts
@@ -2255,4 +2261,4 @@ declare class AnalyticsEngine {
2255
2261
  }
2256
2262
  //#endregion
2257
2263
  export { AnalyticsEngine, AnalyticsEvent, AnalyticsProvider, AnyCommandExecute, AppCommand, AppCommandHandler, AppCommandNative, AppCommandRunner, AppEventsHandler, AppEventsHandlerLoadedData, AsyncFunction, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, BootstrapFunction, ChatInputCommand, ChatInputCommandContext, CommandBuilderLike, CommandContext, CommandContextOptions, CommandData, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandExecutionMode, CommandFlagContext, CommandKit, CommandKitCompilerOptions, CommandKitConfig, CommandKitConfiguration, CommandKitEnvironment, CommandKitEnvironmentInternalData, CommandKitEnvironmentType, CommandKitEventDispatch, CommandKitEventsChannel, CommandKitHMREvent, CommandKitOptions, CommandKitPlugin, CommandKitPluginRuntime, CommandMetadata, CommandMetadataFunction, CommandRegistrar, CommandTypeData, CommonDirectiveTransformer, CommonDirectiveTransformerOptions, CommonPluginRuntime, CompilerPlugin, CompilerPluginRuntime, Context, ContextParameters, CustomAppCommandProps, CustomEvaluationContext, CustomEvaluationFunction, DecideFunction, DeepPartial, DeepRequired, EvaluationContext, EventFlagContext, EventHandler, EventListener, FeatureFlag, FeatureFlagDefinition, FilterFunction, FlagConfiguration, FlagProvider, FlagRunner, FlagStore, GenericFunction, IdentifyEvent, IdentifyFunction, InteractionCommandContext, InteractionCommandMiddlewareContext, IpcMessageCommand, JsonFlagProvider, LegacyCommandMetadata, ListenerFunction, LoadedCommand, LoadedEvent, MaybeFalsey, MaybePromise, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, PluginCommon, PluginOptions, PluginTransformParameters, PluginType, PreRegisterCommandsEvent, PreparedAppCommandExecution, ResolvableCommand, ResolvedCommandKitConfig, RunCommand, RunCommandOptions, RuntimePlugin, SlashCommandMiddlewareContext, TemplateHandler, TransformedResult, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext, after, cancelAfter, commandkit, exitContext, flag, getCommandKit, getContext, isCommandWorkerContext, isCompilerPlugin, isPlugin, isRuntimePlugin, makeContextAwareFunction, mergeDeep, onApplicationBootstrap, onBootstrap, provideContext, registerDevHooks, setFlagProvider, useEnvironment, useStore };
2258
- //# sourceMappingURL=analytics-engine-6_M8tCeD.d.ts.map
2264
+ //# sourceMappingURL=analytics-engine-B7JNRnEN.d.ts.map
@@ -1,4 +1,4 @@
1
- import { AppCommandRunner, RunCommandOptions } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { AppCommandRunner, RunCommandOptions } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,11 +27,12 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.AppCommandRunner = require_commandkit.AppCommandRunner;
@@ -1,4 +1,4 @@
1
- import { AnyCommandExecute, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, ChatInputCommand, ChatInputCommandContext, CommandContextOptions, CommandExecutionMode, Context, ContextParameters, InteractionCommandContext, InteractionCommandMiddlewareContext, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, SlashCommandMiddlewareContext, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { AnyCommandExecute, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, ChatInputCommand, ChatInputCommandContext, CommandContextOptions, CommandExecutionMode, Context, ContextParameters, InteractionCommandContext, InteractionCommandMiddlewareContext, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, SlashCommandMiddlewareContext, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,12 +27,13 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.CommandExecutionMode = require_commandkit.CommandExecutionMode;
38
39
  exports.Context = require_commandkit.Context;
@@ -1,4 +1,4 @@
1
- const require_helpers = require('../../helpers-CiuN7y5B.js');
1
+ const require_helpers = require('../../helpers-BSwwrKJW.js');
2
2
 
3
3
  exports.isInteractionSource = require_helpers.isInteractionSource;
4
4
  exports.isMessageSource = require_helpers.isMessageSource;
@@ -1,4 +1,4 @@
1
- import "../../analytics-engine-6_M8tCeD.js";
1
+ import "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -29,5 +29,5 @@ import "../../CommandsRouter-CoOA7hkf.js";
29
29
  import "../../EventsRouter-BacqK6z3.js";
30
30
  import "../../index-DKcmsWXw.js";
31
31
  import "../../constants-MKu-Q1jh.js";
32
- import { EventWorkerContext, eventWorkerContext, getEventWorkerContext, isEventWorkerContext, runInEventWorkerContext } from "../../EventWorkerContext-xgEc2N2T.js";
32
+ import { EventWorkerContext, eventWorkerContext, getEventWorkerContext, isEventWorkerContext, runInEventWorkerContext } from "../../EventWorkerContext-BMk7IXpC.js";
33
33
  export { EventWorkerContext, eventWorkerContext, getEventWorkerContext, isEventWorkerContext, runInEventWorkerContext };
@@ -1,4 +1,4 @@
1
- import { AppCommand, AppCommandHandler, AppCommandNative, CommandBuilderLike, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandTypeData, CustomAppCommandProps, LoadedCommand, PreparedAppCommandExecution, ResolvableCommand, RunCommand } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { AppCommand, AppCommandHandler, AppCommandNative, CommandBuilderLike, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandTypeData, CustomAppCommandProps, LoadedCommand, PreparedAppCommandExecution, ResolvableCommand, RunCommand } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,11 +27,12 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.AppCommandHandler = require_commandkit.AppCommandHandler;
@@ -1,4 +1,4 @@
1
- import { AppEventsHandler, AppEventsHandlerLoadedData, EventListener, LoadedEvent } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { AppEventsHandler, AppEventsHandlerLoadedData, EventListener, LoadedEvent } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,11 +27,12 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.AppEventsHandler = require_commandkit.AppEventsHandler;
@@ -1,4 +1,4 @@
1
- import { AnyCommandExecute, AppCommand, AppCommandHandler, AppCommandNative, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, ChatInputCommand, ChatInputCommandContext, CommandBuilderLike, CommandContextOptions, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandExecutionMode, CommandRegistrar, CommandTypeData, Context, ContextParameters, CustomAppCommandProps, InteractionCommandContext, InteractionCommandMiddlewareContext, LoadedCommand, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, PreRegisterCommandsEvent, PreparedAppCommandExecution, ResolvableCommand, RunCommand, SlashCommandMiddlewareContext, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext } from "../analytics-engine-6_M8tCeD.js";
1
+ import { AnyCommandExecute, AppCommand, AppCommandHandler, AppCommandNative, AutocompleteCommand, AutocompleteCommandContext, AutocompleteCommandMiddlewareContext, ChatInputCommand, ChatInputCommandContext, CommandBuilderLike, CommandContextOptions, CommandDataSchema, CommandDataSchemaKey, CommandDataSchemaValue, CommandExecutionMode, CommandRegistrar, CommandTypeData, Context, ContextParameters, CustomAppCommandProps, InteractionCommandContext, InteractionCommandMiddlewareContext, LoadedCommand, MessageCommand, MessageCommandContext, MessageCommandMiddlewareContext, MessageContextMenuCommand, MessageContextMenuCommandContext, MessageContextMenuCommandMiddlewareContext, MiddlewareContext, MiddlewareContextArgs, PreRegisterCommandsEvent, PreparedAppCommandExecution, ResolvableCommand, RunCommand, SlashCommandMiddlewareContext, UserContextMenuCommand, UserContextMenuCommandContext, UserContextMenuCommandMiddlewareContext } from "../analytics-engine-B7JNRnEN.js";
2
2
  import "../EventInterceptor-x-R2qshQ.js";
3
3
  import "../ButtonKit-C7r7RPNf.js";
4
4
  import "../ModalKit-Btz58KYn.js";
package/dist/app/index.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
- const require_commandkit = require('../commandkit-CuM4HbAQ.js');
4
+ const require_commandkit = require('../commandkit-Bm0gLN8i.js');
5
5
  require('../common-CcfjYnPG.js');
6
6
  require('../common-vnMIelAE.js');
7
7
  require('../container-C6GtfAPW.js');
@@ -27,13 +27,13 @@ require('../constants-BOOGN85p.js');
27
27
  require('../EventWorkerContext-Dq29tieI.js');
28
28
  const require_signals = require('../signals-ChFMD7mB.js');
29
29
  const require_MessageCommandParser = require('../MessageCommandParser-CEuO6Ex3.js');
30
- require('../CommandsRouter-DZAeB2v_.js');
31
- require('../EventsRouter-Dzpm7ubq.js');
32
- require('../router-DHnFRADH.js');
33
- require('../common-DVM_onKu.js');
34
- require('../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../store-Hcgz7DSt.js');
36
- const require_helpers = require('../helpers-CiuN7y5B.js');
30
+ const require_helpers = require('../helpers-BSwwrKJW.js');
31
+ require('../CommandsRouter-Cgcy6cK9.js');
32
+ require('../EventsRouter-3Gygh-km.js');
33
+ require('../router-Dn35v30f.js');
34
+ require('../common-Dxr9-XPa.js');
35
+ require('../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../store-CM6pWVZh.js');
37
37
  require('../app-HN1cVg8J.js');
38
38
 
39
39
  exports.AppCommandHandler = require_commandkit.AppCommandHandler;
@@ -1,4 +1,4 @@
1
- import { MiddlewareContext } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { MiddlewareContext } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,12 +27,13 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.beforeExecute = require_commandkit.beforeExecute;
38
39
  exports.middlewareId = require_commandkit.middlewareId;
@@ -1,4 +1,4 @@
1
- import { CommandRegistrar, PreRegisterCommandsEvent } from "../../analytics-engine-6_M8tCeD.js";
1
+ import { CommandRegistrar, PreRegisterCommandsEvent } from "../../analytics-engine-B7JNRnEN.js";
2
2
  import "../../EventInterceptor-x-R2qshQ.js";
3
3
  import "../../ButtonKit-C7r7RPNf.js";
4
4
  import "../../ModalKit-Btz58KYn.js";
@@ -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-CuM4HbAQ.js');
4
+ const require_commandkit = require('../../commandkit-Bm0gLN8i.js');
5
5
  require('../../common-CcfjYnPG.js');
6
6
  require('../../common-vnMIelAE.js');
7
7
  require('../../container-C6GtfAPW.js');
@@ -27,11 +27,12 @@ require('../../constants-BOOGN85p.js');
27
27
  require('../../EventWorkerContext-Dq29tieI.js');
28
28
  require('../../signals-ChFMD7mB.js');
29
29
  require('../../MessageCommandParser-CEuO6Ex3.js');
30
- require('../../CommandsRouter-DZAeB2v_.js');
31
- require('../../EventsRouter-Dzpm7ubq.js');
32
- require('../../router-DHnFRADH.js');
33
- require('../../common-DVM_onKu.js');
34
- require('../../CommandKitEventsChannel-B5vbINtP.js');
35
- require('../../store-Hcgz7DSt.js');
30
+ require('../../helpers-BSwwrKJW.js');
31
+ require('../../CommandsRouter-Cgcy6cK9.js');
32
+ require('../../EventsRouter-3Gygh-km.js');
33
+ require('../../router-Dn35v30f.js');
34
+ require('../../common-Dxr9-XPa.js');
35
+ require('../../CommandKitEventsChannel-BtRzr3Tz.js');
36
+ require('../../store-CM6pWVZh.js');
36
37
 
37
38
  exports.CommandRegistrar = require_commandkit.CommandRegistrar;
@@ -1,3 +1,3 @@
1
- const require_CommandsRouter = require('../../CommandsRouter-DZAeB2v_.js');
1
+ const require_CommandsRouter = require('../../CommandsRouter-Cgcy6cK9.js');
2
2
 
3
3
  exports.CommandsRouter = require_CommandsRouter.CommandsRouter;
@@ -1,3 +1,3 @@
1
- const require_EventsRouter = require('../../EventsRouter-Dzpm7ubq.js');
1
+ const require_EventsRouter = require('../../EventsRouter-3Gygh-km.js');
2
2
 
3
3
  exports.EventsRouter = require_EventsRouter.EventsRouter;
@@ -1,6 +1,6 @@
1
- const require_CommandsRouter = require('../../CommandsRouter-DZAeB2v_.js');
2
- const require_EventsRouter = require('../../EventsRouter-Dzpm7ubq.js');
3
- require('../../router-DHnFRADH.js');
1
+ const require_CommandsRouter = require('../../CommandsRouter-Cgcy6cK9.js');
2
+ const require_EventsRouter = require('../../EventsRouter-3Gygh-km.js');
3
+ require('../../router-Dn35v30f.js');
4
4
 
5
5
  exports.CommandsRouter = require_CommandsRouter.CommandsRouter;
6
6
  exports.EventsRouter = require_EventsRouter.EventsRouter;
@@ -1,5 +1,5 @@
1
1
  const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const require_common = require('./common-DVM_onKu.js');
2
+ const require_common = require('./common-Dxr9-XPa.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-u2DXakNv.js.map
68
+ //# sourceMappingURL=app-process-DoG6Spkf.js.map