commandkit 1.0.0-dev.20250529020123 → 1.0.0-dev.20250529125116

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 (89) hide show
  1. package/dist/CommandKit.js +4 -4
  2. package/dist/CommandKit.js.map +1 -1
  3. package/dist/app/commands/AppCommandRunner.js +2 -2
  4. package/dist/app/commands/AppCommandRunner.js.map +1 -1
  5. package/dist/app/commands/Context.js +2 -2
  6. package/dist/app/commands/Context.js.map +1 -1
  7. package/dist/app/handlers/AppCommandHandler.js +3 -3
  8. package/dist/app/handlers/AppCommandHandler.js.map +1 -1
  9. package/dist/app/handlers/AppEventsHandler.js +2 -2
  10. package/dist/app/handlers/AppEventsHandler.js.map +1 -1
  11. package/dist/app/index.js +3 -3
  12. package/dist/app/index.js.map +1 -1
  13. package/dist/app/register/CommandRegistrar.js +2 -2
  14. package/dist/app/register/CommandRegistrar.js.map +1 -1
  15. package/dist/cli/app-process.js +2 -2
  16. package/dist/cli/app-process.js.map +1 -1
  17. package/dist/cli/build.js +2 -2
  18. package/dist/cli/build.js.map +1 -1
  19. package/dist/cli/common.js +4 -4
  20. package/dist/cli/common.js.map +1 -1
  21. package/dist/cli/development.js +8 -8
  22. package/dist/cli/development.js.map +1 -1
  23. package/dist/cli/generators.js +4 -4
  24. package/dist/cli/generators.js.map +1 -1
  25. package/dist/cli/information.js +1 -1
  26. package/dist/cli/information.js.map +1 -1
  27. package/dist/cli/init.js +15 -15
  28. package/dist/cli/init.js.map +1 -1
  29. package/dist/cli/production.js +9 -9
  30. package/dist/cli/production.js.map +1 -1
  31. package/dist/cli/type-checker.js +2 -2
  32. package/dist/cli/type-checker.js.map +1 -1
  33. package/dist/components/index.js +4 -4
  34. package/dist/components/index.js.map +1 -1
  35. package/dist/components/v1/button/Button.js +4 -4
  36. package/dist/components/v1/button/Button.js.map +1 -1
  37. package/dist/components/v1/button/ButtonKit.js +4 -4
  38. package/dist/components/v1/button/ButtonKit.js.map +1 -1
  39. package/dist/components/v1/modal/Modal.js +4 -4
  40. package/dist/components/v1/modal/Modal.js.map +1 -1
  41. package/dist/components/v1/modal/ModalKit.js +4 -4
  42. package/dist/components/v1/modal/ModalKit.js.map +1 -1
  43. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +4 -4
  44. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js.map +1 -1
  45. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +4 -4
  46. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js.map +1 -1
  47. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +4 -4
  48. package/dist/components/v1/select-menu/RoleSelectMenuKit.js.map +1 -1
  49. package/dist/components/v1/select-menu/SelectMenu.js +4 -4
  50. package/dist/components/v1/select-menu/SelectMenu.js.map +1 -1
  51. package/dist/components/v1/select-menu/StringSelectMenuKit.js +4 -4
  52. package/dist/components/v1/select-menu/StringSelectMenuKit.js.map +1 -1
  53. package/dist/components/v1/select-menu/UserSelectMenuKit.js +4 -4
  54. package/dist/components/v1/select-menu/UserSelectMenuKit.js.map +1 -1
  55. package/dist/config/config.js +2 -2
  56. package/dist/config/config.js.map +1 -1
  57. package/dist/config/default.js +2 -2
  58. package/dist/config/default.js.map +1 -1
  59. package/dist/config/loader.js +4 -4
  60. package/dist/config/loader.js.map +1 -1
  61. package/dist/context/async-context.js +4 -4
  62. package/dist/context/async-context.js.map +1 -1
  63. package/dist/context/environment.js +2 -2
  64. package/dist/context/environment.js.map +1 -1
  65. package/dist/flags/feature-flags.js +6 -6
  66. package/dist/flags/feature-flags.js.map +1 -1
  67. package/dist/index.js +4 -4
  68. package/dist/index.js.map +1 -1
  69. package/dist/logger/DefaultLogger.js +2 -2
  70. package/dist/logger/DefaultLogger.js.map +1 -1
  71. package/dist/logger/Logger.js +2 -2
  72. package/dist/logger/Logger.js.map +1 -1
  73. package/dist/plugins/index.js +2 -2
  74. package/dist/plugins/index.js.map +1 -1
  75. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +1 -1
  76. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js.map +1 -1
  77. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +1 -1
  78. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js.map +1 -1
  79. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +2 -2
  80. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js.map +1 -1
  81. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +2 -2
  82. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js.map +1 -1
  83. package/dist/utils/dev-hooks.js +1 -1
  84. package/dist/utils/dev-hooks.js.map +1 -1
  85. package/dist/utils/utilities.js +1 -1
  86. package/dist/utils/utilities.js.map +1 -1
  87. package/dist/version.js +1 -1
  88. package/dist/version.js.map +1 -1
  89. package/package.json +2 -2
@@ -1,3 +1,3 @@
1
- "use strict";var Fe=Object.create;var P=Object.defineProperty;var Ue=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var He=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ce=o=>{throw TypeError(o)};var je=(o,e,t)=>e in o?P(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var n=(o,e)=>P(o,"name",{value:e,configurable:!0});var _e=(o,e)=>{for(var t in e)P(o,t,{get:e[t],enumerable:!0})},ge=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ne(e))!Ge.call(o,s)&&s!==t&&P(o,s,{get:()=>e[s],enumerable:!(i=Ue(e,s))||i.enumerable});return o};var O=(o,e,t)=>(t=o!=null?Fe(He(o)):{},ge(e||!o||!o.__esModule?P(t,"default",{value:o,enumerable:!0}):t,o)),We=o=>ge(P({},"__esModule",{value:!0}),o);var h=(o,e,t)=>je(o,typeof e!="symbol"?e+"":e,t),ee=(o,e,t)=>e.has(o)||Ce("Cannot "+t);var a=(o,e,t)=>(ee(o,e,"read from private field"),t?t.call(o):e.get(o)),d=(o,e,t)=>e.has(o)?Ce("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),C=(o,e,t,i)=>(ee(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),x=(o,e,t)=>(ee(o,e,"access private method"),t);var Lt={};_e(Lt,{AppCommandRunner:()=>z});module.exports=We(Lt);var Q=require("discord.js");var Be=require("crypto");var Te=require("async_hooks");var At=O(require("events"));var xe=require("picocolors"),l=(0,xe.createColors)(!0);var Ve=require("discord.js");var te=require("discord.js");var qe=require("discord.js");var ye=require("discord.js");var ne=require("discord.js");var be=require("discord.js");var Ee=require("discord.js");var ve=require("discord.js");var we=require("discord.js");var Me=require("discord.js");var ze=require("discord.js");var M=require("discord.js");var Je=require("discord.js");var Se=require("discord.js");var G=require("discord.js");var Ye=require("discord.js");var Xe=require("discord.js");var De=require("discord.js");var ct=require("fs"),mt=require("path");var Ro=Symbol("kCommandKitCacheTag"),L=process.env.COMMANDKIT_IS_DEV==="true",Po=process.env.COMMANDKIT_IS_TEST==="true",Ko=process.env.COMMANDKIT_BOOTSTRAP_MODE||"development";var Re=require("crypto");var re=class re{constructor(e){this.options=e}id=(0,Re.randomUUID)();loadedAt=Date.now();async activate(e){}async deactivate(e){}};n(re,"PluginCommon");var $=re;var oe=class oe extends ${type="compiler";async transform(e){return null}async resolve(e){return null}async onBuildStart(){}async onBuildEnd(){}};n(oe,"CompilerPlugin");var T=oe;var ot=require("discord.js");var p={ExitMiddleware:Symbol("kExitMiddleware"),ForwardedCommand:Symbol("kForwardedCommand"),InvalidCommandPrefix:Symbol("kInvalidCommandPrefix"),PluginCaptureHandle:Symbol("kPluginCaptureHandle")};function F(o){let e=new Error;return Reflect.set(e,"code",o),e}n(F,"createCommandKitError");function j(o){if(!(o instanceof Error))return!1;let e=Reflect.get(o,"code");for(let t in p)if(p[t]===e)return!0;return!1}n(j,"isCommandKitError");function v(o,e){if(!j(o))return!1;let t=Reflect.get(o,"code");return t?Array.isArray(e)?e.includes(t):t===e:!1}n(v,"isErrorType");var et={autocomplete:"Autocomplete",messageContextMenu:"MessageContextMenu",userContextMenu:"UserContextMenu",chatInput:"ChatInputCommand",message:"Message"},tt={0:l.blue,1:l.green,2:l.yellow,3:l.red,4:l.white},nt={0:l.bgBlue,1:l.bgGreen,2:l.bgYellow,3:l.bgRed,4:l.bgWhite},_={vertical:"\u2502",horizontalDown:"\u252C",horizontalUp:"\u2534",verticalRight:"\u251C",corner:"\u2514"},ie=class ie{constructor(e=process.stdout,t=process.stderr){this.stdout=e;this.stderr=t;this.logger=new console.Console(this.stdout,this.stderr)}logger;_formatTime(e){let t=e.getHours().toString().padStart(2,"0"),i=e.getMinutes().toString().padStart(2,"0"),s=e.getSeconds().toString().padStart(2,"0"),c=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${i}:${s}.${c}`}_getContext(){let e=g();if(!e)return"";let t=e.variables.get("execHandlerKind"),i=e.variables.get("commandHandlerType"),s=e.variables.get("currentCommandName");if(!t&&!i)return"";let c=et[t];if(!c&&!i)return"";let u=e.variables.get("forwardedBy"),w=e.variables.get("forwardedTo"),k=s?l.magenta(`/${s}`)+" ":"",b=w?`${l.yellowBright(`(${u||s} \u2192 ${w})`)} `:"";return l.dim(`${_.vertical} `)+l.cyanBright(`${k}${b}${c?l.gray(`[${c}]`):""}`.trim())}_getLevelLabel(e){let t;switch(e){case 0:t="[DEBUG]";break;case 1:t="[INFO]";break;case 2:t="[WARN]";break;case 3:t="[ERROR]";break;default:t="[LOG]"}return`${nt[e](l.whiteBright(` ${t} `))} `}_getPrefix(e){let t=this._formatTime(new Date);return`${this._getLevelLabel(e)}${l.dim(_.vertical)} ${l.dim(t)}`}_log(e,...t){let i=this._getPrefix(e),s=this._getContext(),c=tt[e];s?this.logger.log(`${i}
2
- ${s} ${l.dim(_.corner)}`,...t.map(u=>c(u))):this.logger.log(`${i} ${l.dim(_.corner)}`,...t.map(u=>c(u)))}debug(...e){this._log(0,...e)}error(...e){this._log(3,...e)}log(...e){this._log(4,...e)}info(...e){this._log(1,...e)}warn(...e){this._log(2,...e)}};n(ie,"DefaultLogger");var W=ie;function rt(o){let e=o;if(!(e!=null&&e.provider))throw new Error("A logger provider must be provided.");let t=["log","error","warn","info","debug"],i={configure(s){e=s}};for(let s of t)i[s]=(...c)=>{e.provider[s](...c)};return i}n(rt,"createLogger");var y=rt({provider:new W});var it=require("fs/promises");var ae=class ae extends T{name="MacroPlugin";macroTransformer;async activate(){let e=await import("use-macro");this.macroTransformer=new e.MacroTransformer}async deactivate(){this.macroTransformer=null}async transform(e){if(!this.options.enabled)return null;let{contents:t,loader:i}=await this.macroTransformer.transform(e.contents.toString(),e.path);return{contents:t,loader:i}}};n(ae,"MacroPlugin");var V=ae;var at={plugins:[new V({enabled:!0})],esbuildPlugins:[],compilerOptions:{macro:{development:!1}},static:!0,typescript:{ignoreBuildErrors:!1},distDir:"dist",env:{},sourceMap:{development:!0,production:!0},typedCommands:!0};var Pe=require("async_hooks");var Ji=Symbol("commandkitEventWorker"),st=new Pe.AsyncLocalStorage;var kt=require("path");var I=require("discord.js");var ut=O(require("path"));var q=require("discord.js");var se=require("discord.js");var Ke=require("fs/promises"),dt=require("path");var pt=require("fs");var ht=require("discord.js"),Ct=require("fs"),gt=require("fs/promises"),J=require("path");var xt=require("discord.js"),yt=require("fs"),bt=require("fs/promises"),Et=require("path");var vt=require("discord.js");var Pt=require("fs"),Kt=require("path");var Mt=require("rimraf"),It=require("path"),St=O(require("fs"));var Rt=require("child_process");var Bt=require("fs");var Dt=O(require("events"));var Tt=require("discord.js");var Ot=Symbol("commandkitCommandWorker"),le=new Te.AsyncLocalStorage;function Y(o,e){return Reflect.set(o,Ot,!0),le.run(o,e)}n(Y,"provideContext");function Ae(o,e,t){return n((...s)=>Y(o,async()=>{try{return await e(...s)}catch(c){j(c)||o.setExecutionError(c)}finally{typeof t=="function"&&setImmediate(async()=>{try{await t(...s)}catch{}})}}),"_fn")}n(Ae,"makeContextAwareFunction");function g(){return le.getStore()}n(g,"getContext");function ke(){let o=le.getStore();if(!o)throw new Error("No commandkit environment found. Please make sure you are inside commandkit handler.");return o}n(ke,"useEnvironment");var m,ce=class ce{constructor(e){this.commandkit=e;d(this,m,{executionError:null,type:null,variables:new Map,deferredFunctions:new Map,marker:"",markStart:0,markEnd:0,context:null})}setContext(e){a(this,m).context=e}get context(){return a(this,m).context}getExecutionError(){return a(this,m).executionError}setExecutionError(e){if(a(this,m).executionError)throw new Error("Execution error already set.");a(this,m).executionError=e}getType(){let e=a(this,m).type;if(!e)throw new Error("Environment type not set.");return e}setType(e){a(this,m).type=e}get variables(){return a(this,m).variables}registerDeferredFunction(e){let t=(0,Be.randomUUID)();return a(this,m).deferredFunctions.set(t,e),t}clearDeferredFunction(e){a(this,m).deferredFunctions.delete(e)}async runDeferredFunctions(){for(let[e,t]of a(this,m).deferredFunctions)try{await t(this)}catch(i){this.commandkit.emit("unhandledDeferredFunctionRejection",i)}finally{this.clearDeferredFunction(e)}}clearAllDeferredFunctions(){a(this,m).deferredFunctions.clear()}markStart(e){a(this,m).marker=e,a(this,m).markStart=performance.now()}markEnd(){a(this,m).markEnd||(a(this,m).markEnd=performance.now())}getMarker(){return a(this,m).marker}getExecutionTime(){return Math.abs(a(this,m).markEnd-a(this,m).markStart)}};m=new WeakMap,n(ce,"CommandKitEnvironment");var X=ce;function Oe(){throw F(p.ExitMiddleware)}n(Oe,"exitMiddleware");function Le(){throw F(p.ForwardedCommand)}n(Le,"redirect");var f={ChatInputCommand:"chatInput",MessageContextMenu:"messageContextMenu",UserContextMenu:"userContextMenu",Autocomplete:"autocomplete",Message:"message"},A,U=class U{constructor(e,t){this.commandkit=e;this.config=t;h(this,"interaction");h(this,"message");h(this,"guild");h(this,"guildId");h(this,"channel");h(this,"channelId");h(this,"client");h(this,"command");d(this,A);h(this,"_locale",null);this.interaction=t.interaction,this.message=t.message,this.client=e.client,C(this,A,t.store??new Map),this.command=t.command,t.interaction&&(this.guild=t.interaction.guild,this.guildId=t.interaction.guildId,this.channel=t.interaction.channel,this.channelId=t.interaction.channelId),t.message&&(this.guild=t.message.guild,this.guildId=t.message.guildId,this.channel=t.message.channel,this.channelId=t.message.channelId),this.config.environment&&this.config.environment.setContext(this)}get store(){return a(this,A)}get commandName(){return this.isInteraction()?this.interaction.commandName:this.config.messageCommandParser.getCommand()}get options(){return this.isMessage()?this.config.messageCommandParser.options:this.interaction.options}get forwarded(){return this.config.forwarded??!1}async forwardCommand(e){let t=await this.commandkit.commandHandler.prepareCommandRun(this.isInteraction()?this.interaction:this.message,e);if(!t)throw new Error(`Command ${e} not found`);let i=this.config.environment??g();if(!i)throw new Error("No commandkit environment found.");let s={chatInput:t.command.data.chatInput,autocomplete:t.command.data.autocomplete,message:t.command.data.message,messageContextMenu:t.command.data.messageContextMenu,userContextMenu:t.command.data.userContextMenu},c=i.variables.get("execHandlerKind");if(!c)throw new Error("No execution handler kind found.");let u=s[c];if(!u)throw new Error(`No handler found for ${c}`);i.variables.set("forwardedBy",this.commandName),i.variables.set("forwardedTo",e),await u(this.clone({forwarded:!0})),Le()}get executionMode(){return this.config.executionMode}isInteraction(){return this.executionMode===f.ChatInputCommand||this.executionMode===f.Autocomplete||this.executionMode===f.MessageContextMenu||this.executionMode===f.UserContextMenu}isChatInputCommand(){return this.executionMode===f.ChatInputCommand}isAutocomplete(){return this.executionMode===f.Autocomplete}isMessageContextMenu(){return this.executionMode===f.MessageContextMenu}isUserContextMenu(){return this.executionMode===f.UserContextMenu}isMessage(){return this.executionMode===f.Message}getCommandIdentifier(){return this.isInteraction()?this.interaction.commandName:this.message.content.split(" ")[0].slice(1)}getGuildLocale(){var e;return this.isInteraction()?this.interaction.guildLocale:((e=this.message.guild)==null?void 0:e.preferredLocale)??null}getUserLocale(){return this.isInteraction()?this.interaction.locale:null}getLocale(e=!1){if(this._locale)return this._locale;let t=e?this.getUserLocale():this.getGuildLocale();return t||this.commandkit.config.defaultLocale}setLocale(e){this._locale=e}clone(e){return e?new U(this.commandkit,{...this.config,...e,store:a(this,A)}):new U(this.commandkit,this.config)}isMiddleware(){return this instanceof N}args(){return this.isMessage()?this.config.messageCommandParser.getArgs():[]}exit(){Oe()}};A=new WeakMap,n(U,"Context");var me=U,H,ue=class ue extends me{constructor(){super(...arguments);d(this,H,!1)}get cancelled(){return a(this,H)}cancel(){C(this,H,!0)}setCommandRunner(t){var i,s;(s=(i=this.config.customArgs)==null?void 0:i.setCommandRunner)==null||s.call(i,t)}};H=new WeakMap,n(ue,"MiddlewareContext");var N=ue;var Z,$e,de=class de{constructor(e){this.handler=e;d(this,Z)}async runCommand(e,t){let{commandkit:i}=this.handler,s=this.getExecutionMode(t),c=null,u=new X(i);u.setType("COMMAND_HANDLER"),u.variables.set("commandHandlerType","app"),u.variables.set("currentCommandName",e.command.command.name),u.variables.set("execHandlerKind",s);let w=new N(i,{command:e.command,environment:u,executionMode:s,interaction:t instanceof Q.Message?null:t,message:t instanceof Q.Message?t:null,forwarded:!1,customArgs:{setCommandRunner:n(b=>{c=b},"setCommandRunner")},messageCommandParser:e.messageCommandParser}),k=!1;if(e.middlewares.length&&await Y(u,async()=>{for(let b of e.middlewares)if(b.data.beforeExecute)try{await b.data.beforeExecute(w)}catch(E){if(v(E,p.ExitMiddleware)){k=!0;return}if(v(E,[p.ForwardedCommand,p.InvalidCommandPrefix]))continue;throw E}}),!w.cancelled){let E=e.command.data[s];if(E||y.warn(`Command ${e.command.command.name} has no handler for ${s}`),E)try{let S=Ae(u,async()=>(u.registerDeferredFunction(R=>{R.markEnd();let B=R.getExecutionError(),fe=R.getMarker(),he=`${R.getExecutionTime().toFixed(2)}ms`;if(B){y.error(`[${fe} - ${he}] Error executing command: ${B.stack||B}`);return}y.info(`[${fe} - ${he}] Command executed successfully`)}),E(w.clone())),x(this,Z,$e).bind(this)),pe=c!=null?c(S):S;u.markStart(e.command.data.command.name),await i.plugins.execute(async(R,B)=>B.executeCommand(R,u,t,e,pe))||await pe()}catch(S){v(S,p.ExitMiddleware)&&(k=!0),v(S,[p.ForwardedCommand,p.ExitMiddleware])||y.error(S)}}!k&&e.middlewares.length&&await Y(u,async()=>{for(let b of e.middlewares)if(b.data.afterExecute)try{await b.data.afterExecute(w)}catch(E){if(v(E,p.ExitMiddleware))return;throw E}})}getExecutionMode(e){return e instanceof Q.Message?f.Message:e.isChatInputCommand()?f.ChatInputCommand:e.isAutocomplete()?f.Autocomplete:e.isMessageContextMenuCommand()?f.MessageContextMenu:e.isUserContextMenuCommand()?f.UserContextMenu:null}};Z=new WeakSet,$e=n(async function(){let e=ke();await e.runDeferredFunctions(),e.clearAllDeferredFunctions(),await this.handler.commandkit.plugins.execute(async(t,i)=>{await i.onAfterCommand(t,e)})},"#finalizer"),n(de,"AppCommandRunner");var z=de;0&&(module.exports={AppCommandRunner});
1
+ "use strict";var $e=Object.create;var P=Object.defineProperty;var Ue=Object.getOwnPropertyDescriptor;var Ne=Object.getOwnPropertyNames;var He=Object.getPrototypeOf,Ge=Object.prototype.hasOwnProperty;var Ce=o=>{throw TypeError(o)};var je=(o,e,t)=>e in o?P(o,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):o[e]=t;var n=(o,e)=>P(o,"name",{value:e,configurable:!0});var _e=(o,e)=>{for(var t in e)P(o,t,{get:e[t],enumerable:!0})},ge=(o,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Ne(e))!Ge.call(o,s)&&s!==t&&P(o,s,{get:()=>e[s],enumerable:!(i=Ue(e,s))||i.enumerable});return o};var O=(o,e,t)=>(t=o!=null?$e(He(o)):{},ge(e||!o||!o.__esModule?P(t,"default",{value:o,enumerable:!0}):t,o)),We=o=>ge(P({},"__esModule",{value:!0}),o);var h=(o,e,t)=>je(o,typeof e!="symbol"?e+"":e,t),ee=(o,e,t)=>e.has(o)||Ce("Cannot "+t);var a=(o,e,t)=>(ee(o,e,"read from private field"),t?t.call(o):e.get(o)),d=(o,e,t)=>e.has(o)?Ce("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(o):e.set(o,t),C=(o,e,t,i)=>(ee(o,e,"write to private field"),i?i.call(o,t):e.set(o,t),t),x=(o,e,t)=>(ee(o,e,"access private method"),t);var Lt={};_e(Lt,{AppCommandRunner:()=>z});module.exports=We(Lt);var Q=require("discord.js");var Be=require("crypto");var Te=require("async_hooks");var At=O(require("events"));var xe=require("picocolors"),l=(0,xe.createColors)(!0);var Ve=require("discord.js");var te=require("discord.js");var qe=require("discord.js");var ye=require("discord.js");var ne=require("discord.js");var be=require("discord.js");var Ee=require("discord.js");var we=require("discord.js");var ve=require("discord.js");var Me=require("discord.js");var ze=require("discord.js");var M=require("discord.js");var Je=require("discord.js");var Se=require("discord.js");var G=require("discord.js");var Ye=require("discord.js");var Xe=require("discord.js");var De=require("discord.js");var ct=require("fs"),mt=require("path");var Ro=Symbol("kCommandKitCacheTag"),L=process.env.COMMANDKIT_IS_DEV==="true",Po=process.env.COMMANDKIT_IS_TEST==="true",Ko=process.env.COMMANDKIT_BOOTSTRAP_MODE||"development";var Re=require("crypto");var re=class re{constructor(e){this.options=e}id=(0,Re.randomUUID)();loadedAt=Date.now();async activate(e){}async deactivate(e){}};n(re,"PluginCommon");var F=re;var oe=class oe extends F{type="compiler";async transform(e){return null}async resolve(e){return null}async onBuildStart(){}async onBuildEnd(){}};n(oe,"CompilerPlugin");var T=oe;var ot=require("discord.js");var p={ExitMiddleware:Symbol("kExitMiddleware"),ForwardedCommand:Symbol("kForwardedCommand"),InvalidCommandPrefix:Symbol("kInvalidCommandPrefix"),PluginCaptureHandle:Symbol("kPluginCaptureHandle")};function $(o){let e=new Error;return Reflect.set(e,"code",o),e}n($,"createCommandKitError");function j(o){if(!(o instanceof Error))return!1;let e=Reflect.get(o,"code");for(let t in p)if(p[t]===e)return!0;return!1}n(j,"isCommandKitError");function w(o,e){if(!j(o))return!1;let t=Reflect.get(o,"code");return t?Array.isArray(e)?e.includes(t):t===e:!1}n(w,"isErrorType");var et={autocomplete:"Autocomplete",messageContextMenu:"MessageContextMenu",userContextMenu:"UserContextMenu",chatInput:"ChatInputCommand",message:"Message"},tt={0:l.blue,1:l.green,2:l.yellow,3:l.red,4:l.white},nt={0:l.bgBlue,1:l.bgGreen,2:l.bgYellow,3:l.bgRed,4:l.bgWhite},_={vertical:"\u2502",horizontalDown:"\u252C",horizontalUp:"\u2534",verticalRight:"\u251C",corner:"\u2514"},ie=class ie{constructor(e=process.stdout,t=process.stderr){this.stdout=e;this.stderr=t;this.logger=new console.Console(this.stdout,this.stderr)}logger;_formatTime(e){let t=e.getHours().toString().padStart(2,"0"),i=e.getMinutes().toString().padStart(2,"0"),s=e.getSeconds().toString().padStart(2,"0"),c=e.getMilliseconds().toString().padStart(3,"0");return`${t}:${i}:${s}.${c}`}_getContext(){let e=g();if(!e)return"";let t=e.variables.get("execHandlerKind"),i=e.variables.get("commandHandlerType"),s=e.variables.get("currentCommandName");if(!t&&!i)return"";let c=et[t];if(!c&&!i)return"";let u=e.variables.get("forwardedBy"),v=e.variables.get("forwardedTo"),k=s?l.magenta(`/${s}`)+" ":"",b=v?`${l.yellowBright(`(${u||s} \u2192 ${v})`)} `:"";return l.dim(`${_.vertical} `)+l.cyanBright(`${k}${b}${c?l.gray(`[${c}]`):""}`.trim())}_getLevelLabel(e){let t;switch(e){case 0:t="[DEBUG]";break;case 1:t="[INFO]";break;case 2:t="[WARN]";break;case 3:t="[ERROR]";break;default:t="[LOG]"}return`${nt[e](l.whiteBright(` ${t} `))} `}_getPrefix(e){let t=this._formatTime(new Date);return`${this._getLevelLabel(e)}${l.dim(_.vertical)} ${l.dim(t)}`}_log(e,...t){let i=this._getPrefix(e),s=this._getContext(),c=tt[e];s?this.logger.log(`${i}
2
+ ${s} ${l.dim(_.corner)}`,...t.map(u=>c(u))):this.logger.log(`${i} ${l.dim(_.corner)}`,...t.map(u=>c(u)))}debug(...e){this._log(0,...e)}error(...e){this._log(3,...e)}log(...e){this._log(4,...e)}info(...e){this._log(1,...e)}warn(...e){this._log(2,...e)}};n(ie,"DefaultLogger");var W=ie;function rt(o){let e=o;if(!(e!=null&&e.provider))throw new Error("A logger provider must be provided.");let t=["log","error","warn","info","debug"],i={configure(s){e=s}};for(let s of t)i[s]=(...c)=>{e.provider[s](...c)};return i}n(rt,"createLogger");var y=rt({provider:new W});var it=require("fs/promises");var ae=class ae extends T{name="MacroPlugin";macroTransformer;async activate(){let e=await import("use-macro");this.macroTransformer=new e.MacroTransformer}async deactivate(){this.macroTransformer=null}async transform(e){if(!this.options.enabled)return null;let{contents:t,loader:i}=await this.macroTransformer.transform(e.contents.toString(),e.path);return{contents:t,loader:i}}};n(ae,"MacroPlugin");var V=ae;var at={plugins:[new V({enabled:!0})],esbuildPlugins:[],compilerOptions:{macro:{development:!1}},static:!0,typescript:{ignoreBuildErrors:!1},distDir:"dist",env:{},sourceMap:{development:!0,production:!0},typedCommands:!0};var Pe=require("async_hooks");var Ji=Symbol("commandkitEventWorker"),st=new Pe.AsyncLocalStorage;var kt=require("path");var I=require("discord.js");var ut=O(require("path"));var q=require("discord.js");var se=require("discord.js");var Ke=require("fs/promises"),dt=require("path");var pt=require("fs");var ht=require("discord.js"),Ct=require("fs"),gt=require("fs/promises"),J=require("path");var xt=require("discord.js"),yt=require("fs"),bt=require("fs/promises"),Et=require("path");var wt=require("discord.js");var Pt=require("fs"),Kt=require("path");var Mt=require("rimraf"),It=require("path"),St=O(require("fs"));var Rt=require("child_process");var Bt=require("fs");var Dt=O(require("events"));var Tt=require("discord.js");var Ot=Symbol("commandkitCommandWorker"),le=new Te.AsyncLocalStorage;function Y(o,e){return Reflect.set(o,Ot,!0),le.run(o,e)}n(Y,"provideContext");function Ae(o,e,t){return n((...s)=>Y(o,async()=>{try{return await e(...s)}catch(c){j(c)||o.setExecutionError(c)}finally{typeof t=="function"&&setImmediate(async()=>{try{await t(...s)}catch{}})}}),"_fn")}n(Ae,"makeContextAwareFunction");function g(){return le.getStore()}n(g,"getContext");function ke(){let o=le.getStore();if(!o)throw new Error("No commandkit environment found. Please make sure you are inside commandkit handler.");return o}n(ke,"useEnvironment");var m,ce=class ce{constructor(e){this.commandkit=e;d(this,m,{executionError:null,type:null,variables:new Map,deferredFunctions:new Map,marker:"",markStart:0,markEnd:0,context:null})}setContext(e){a(this,m).context=e}get context(){return a(this,m).context}getExecutionError(){return a(this,m).executionError}setExecutionError(e){if(a(this,m).executionError)throw new Error("Execution error already set.");a(this,m).executionError=e}getType(){let e=a(this,m).type;if(!e)throw new Error("Environment type not set.");return e}setType(e){a(this,m).type=e}get variables(){return a(this,m).variables}registerDeferredFunction(e){let t=(0,Be.randomUUID)();return a(this,m).deferredFunctions.set(t,e),t}clearDeferredFunction(e){a(this,m).deferredFunctions.delete(e)}async runDeferredFunctions(){for(let[e,t]of a(this,m).deferredFunctions)try{await t(this)}catch(i){this.commandkit.emit("unhandledDeferredFunctionRejection",i)}finally{this.clearDeferredFunction(e)}}clearAllDeferredFunctions(){a(this,m).deferredFunctions.clear()}markStart(e){a(this,m).marker=e,a(this,m).markStart=performance.now()}markEnd(){a(this,m).markEnd||(a(this,m).markEnd=performance.now())}getMarker(){return a(this,m).marker}getExecutionTime(){return Math.abs(a(this,m).markEnd-a(this,m).markStart)}};m=new WeakMap,n(ce,"CommandKitEnvironment");var X=ce;function Oe(){throw $(p.ExitMiddleware)}n(Oe,"exitMiddleware");function Le(){throw $(p.ForwardedCommand)}n(Le,"redirect");var f={ChatInputCommand:"chatInput",MessageContextMenu:"messageContextMenu",UserContextMenu:"userContextMenu",Autocomplete:"autocomplete",Message:"message"},A,U=class U{constructor(e,t){this.commandkit=e;this.config=t;h(this,"interaction");h(this,"message");h(this,"guild");h(this,"guildId");h(this,"channel");h(this,"channelId");h(this,"client");h(this,"command");d(this,A);h(this,"_locale",null);this.interaction=t.interaction,this.message=t.message,this.client=e.client,C(this,A,t.store??new Map),this.command=t.command,t.interaction&&(this.guild=t.interaction.guild,this.guildId=t.interaction.guildId,this.channel=t.interaction.channel,this.channelId=t.interaction.channelId),t.message&&(this.guild=t.message.guild,this.guildId=t.message.guildId,this.channel=t.message.channel,this.channelId=t.message.channelId),this.config.environment&&this.config.environment.setContext(this)}get store(){return a(this,A)}get commandName(){return this.isInteraction()?this.interaction.commandName:this.config.messageCommandParser.getCommand()}get options(){return this.isMessage()?this.config.messageCommandParser.options:this.interaction.options}get forwarded(){return this.config.forwarded??!1}async forwardCommand(e){let t=await this.commandkit.commandHandler.prepareCommandRun(this.isInteraction()?this.interaction:this.message,e);if(!t)throw new Error(`Command ${e} not found`);let i=this.config.environment??g();if(!i)throw new Error("No commandkit environment found.");let s={chatInput:t.command.data.chatInput,autocomplete:t.command.data.autocomplete,message:t.command.data.message,messageContextMenu:t.command.data.messageContextMenu,userContextMenu:t.command.data.userContextMenu},c=i.variables.get("execHandlerKind");if(!c)throw new Error("No execution handler kind found.");let u=s[c];if(!u)throw new Error(`No handler found for ${c}`);i.variables.set("forwardedBy",this.commandName),i.variables.set("forwardedTo",e),await u(this.clone({forwarded:!0})),Le()}get executionMode(){return this.config.executionMode}isInteraction(){return this.executionMode===f.ChatInputCommand||this.executionMode===f.Autocomplete||this.executionMode===f.MessageContextMenu||this.executionMode===f.UserContextMenu}isChatInputCommand(){return this.executionMode===f.ChatInputCommand}isAutocomplete(){return this.executionMode===f.Autocomplete}isMessageContextMenu(){return this.executionMode===f.MessageContextMenu}isUserContextMenu(){return this.executionMode===f.UserContextMenu}isMessage(){return this.executionMode===f.Message}getCommandIdentifier(){return this.isInteraction()?this.interaction.commandName:this.message.content.split(" ")[0].slice(1)}getGuildLocale(){var e;return this.isInteraction()?this.interaction.guildLocale:((e=this.message.guild)==null?void 0:e.preferredLocale)??null}getUserLocale(){return this.isInteraction()?this.interaction.locale:null}getLocale(e=!1){if(this._locale)return this._locale;let t=e?this.getUserLocale():this.getGuildLocale();return t||this.commandkit.config.defaultLocale}setLocale(e){this._locale=e}clone(e){return e?new U(this.commandkit,{...this.config,...e,store:a(this,A)}):new U(this.commandkit,this.config)}isMiddleware(){return this instanceof N}args(){return this.isMessage()?this.config.messageCommandParser.getArgs():[]}exit(){Oe()}};A=new WeakMap,n(U,"Context");var me=U,H,ue=class ue extends me{constructor(){super(...arguments);d(this,H,!1)}get cancelled(){return a(this,H)}cancel(){C(this,H,!0)}setCommandRunner(t){var i,s;(s=(i=this.config.customArgs)==null?void 0:i.setCommandRunner)==null||s.call(i,t)}};H=new WeakMap,n(ue,"MiddlewareContext");var N=ue;var Z,Fe,de=class de{constructor(e){this.handler=e;d(this,Z)}async runCommand(e,t){let{commandkit:i}=this.handler,s=this.getExecutionMode(t),c=null,u=new X(i);u.setType("COMMAND_HANDLER"),u.variables.set("commandHandlerType","app"),u.variables.set("currentCommandName",e.command.command.name),u.variables.set("execHandlerKind",s);let v=new N(i,{command:e.command,environment:u,executionMode:s,interaction:t instanceof Q.Message?null:t,message:t instanceof Q.Message?t:null,forwarded:!1,customArgs:{setCommandRunner:n(b=>{c=b},"setCommandRunner")},messageCommandParser:e.messageCommandParser}),k=!1;if(e.middlewares.length&&await Y(u,async()=>{for(let b of e.middlewares)if(b.data.beforeExecute)try{await b.data.beforeExecute(v)}catch(E){if(w(E,p.ExitMiddleware)){k=!0;return}if(w(E,[p.ForwardedCommand,p.InvalidCommandPrefix]))continue;throw E}}),!v.cancelled){let E=e.command.data[s];if(E||y.warn(`Command ${e.command.command.name} has no handler for ${s}`),E)try{let S=Ae(u,async()=>(u.registerDeferredFunction(R=>{R.markEnd();let B=R.getExecutionError(),fe=R.getMarker(),he=`${R.getExecutionTime().toFixed(2)}ms`;if(B){y.error(`[${fe} - ${he}] Error executing command: ${B.stack||B}`);return}y.info(`[${fe} - ${he}] Command executed successfully`)}),E(v.clone())),x(this,Z,Fe).bind(this)),pe=c!=null?c(S):S;u.markStart(e.command.data.command.name),await i.plugins.execute(async(R,B)=>B.executeCommand(R,u,t,e,pe))||await pe()}catch(S){w(S,p.ExitMiddleware)&&(k=!0),w(S,[p.ForwardedCommand,p.ExitMiddleware])||y.error(S)}}!k&&e.middlewares.length&&await Y(u,async()=>{for(let b of e.middlewares)if(b.data.afterExecute)try{await b.data.afterExecute(v)}catch(E){if(w(E,p.ExitMiddleware))return;throw E}})}getExecutionMode(e){return e instanceof Q.Message?f.Message:e.isChatInputCommand()?f.ChatInputCommand:e.isAutocomplete()?f.Autocomplete:e.isMessageContextMenuCommand()?f.MessageContextMenu:e.isUserContextMenuCommand()?f.UserContextMenu:null}};Z=new WeakSet,Fe=n(async function(){let e=ke();await e.runDeferredFunctions(),e.clearAllDeferredFunctions(),await this.handler.commandkit.plugins.execute(async(t,i)=>{await i.onAfterCommand(t,e)})},"#finalizer"),n(de,"AppCommandRunner");var z=de;0&&(module.exports={AppCommandRunner});
3
3
  //# sourceMappingURL=AppCommandRunner.js.map