@commandkit/ai 1.2.0-rc.3 → 1.2.0-rc.5

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.
@@ -0,0 +1,7 @@
1
+ import { type CompilerPluginRuntime, CompilerPlugin } from 'commandkit';
2
+ export declare class AiCliPlugin extends CompilerPlugin {
3
+ readonly name = "AiCliPlugin";
4
+ private handleTemplate;
5
+ activate(ctx: CompilerPluginRuntime): Promise<void>;
6
+ deactivate(ctx: CompilerPluginRuntime): Promise<void>;
7
+ }
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AiCliPlugin = void 0;
4
+ const commandkit_1 = require("commandkit");
5
+ const node_fs_1 = require("node:fs");
6
+ const promises_1 = require("node:fs/promises");
7
+ const AI_CONFIG_TEMPLATE = `
8
+ import { configureAI } from '@commandkit/ai';
9
+ import { openai } from '@ai-sdk/openai';
10
+
11
+ configureAI({
12
+ selectAiModel: async () => {
13
+ return { model: openai('o3-mini') };
14
+ }
15
+ });
16
+ `.trimStart();
17
+ class AiCliPlugin extends commandkit_1.CompilerPlugin {
18
+ constructor() {
19
+ super(...arguments);
20
+ this.name = 'AiCliPlugin';
21
+ }
22
+ async handleTemplate(args) {
23
+ if (!(0, node_fs_1.existsSync)('./src')) {
24
+ commandkit_1.Logger.error(`No "src" directory found in the current directory`);
25
+ return;
26
+ }
27
+ let filePath = './src/ai';
28
+ const isTypeScript = (0, node_fs_1.existsSync)('tsconfig.json');
29
+ if (isTypeScript) {
30
+ filePath += '.ts';
31
+ }
32
+ else {
33
+ filePath += '.js';
34
+ }
35
+ if ((0, node_fs_1.existsSync)(filePath)) {
36
+ commandkit_1.Logger.error(`AI config file already exists at ${filePath}`);
37
+ return;
38
+ }
39
+ await (0, promises_1.writeFile)(filePath, AI_CONFIG_TEMPLATE);
40
+ commandkit_1.Logger.info(`AI config file created at ${filePath}`);
41
+ }
42
+ async activate(ctx) {
43
+ ctx.registerTemplate('ai', this.handleTemplate.bind(this));
44
+ }
45
+ async deactivate(ctx) {
46
+ ctx.unregisterTemplate('ai');
47
+ }
48
+ }
49
+ exports.AiCliPlugin = AiCliPlugin;
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLXBsdWdpbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jbGktcGx1Z2luLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFnRjtBQUNoRixxQ0FBcUM7QUFDckMsK0NBQTZDO0FBRTdDLE1BQU0sa0JBQWtCLEdBQUc7Ozs7Ozs7OztDQVMxQixDQUFDLFNBQVMsRUFBRSxDQUFDO0FBRWQsTUFBYSxXQUFZLFNBQVEsMkJBQWM7SUFBL0M7O1FBQ2tCLFNBQUksR0FBRyxhQUFhLENBQUM7SUFrQ3ZDLENBQUM7SUFoQ1MsS0FBSyxDQUFDLGNBQWMsQ0FBQyxJQUFjO1FBQ3pDLElBQUksQ0FBQyxJQUFBLG9CQUFVLEVBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUN6QixtQkFBTSxDQUFDLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBQ2xFLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzFCLE1BQU0sWUFBWSxHQUFHLElBQUEsb0JBQVUsRUFBQyxlQUFlLENBQUMsQ0FBQztRQUVqRCxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQ2pCLFFBQVEsSUFBSSxLQUFLLENBQUM7UUFDcEIsQ0FBQzthQUFNLENBQUM7WUFDTixRQUFRLElBQUksS0FBSyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLElBQUEsb0JBQVUsRUFBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3pCLG1CQUFNLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzdELE9BQU87UUFDVCxDQUFDO1FBRUQsTUFBTSxJQUFBLG9CQUFTLEVBQUMsUUFBUSxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFFOUMsbUJBQU0sQ0FBQyxJQUFJLENBQUMsNkJBQTZCLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBMEI7UUFDOUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQzdELENBQUM7SUFFTSxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQTBCO1FBQ2hELEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMvQixDQUFDO0NBQ0Y7QUFuQ0Qsa0NBbUNDIn0=
package/dist/configure.js CHANGED
@@ -96,7 +96,7 @@ const AIConfig = {
96
96
  }
97
97
  },
98
98
  onError: async (_ctx, message, error) => {
99
- commandkit_1.Logger.error(`Error processing AI message: ${error}`);
99
+ commandkit_1.Logger.error `Error processing AI message: ${error}`;
100
100
  const channel = message.channel;
101
101
  if (channel.isSendable()) {
102
102
  await message
@@ -104,7 +104,7 @@ const AIConfig = {
104
104
  content: 'An error occurred while processing your request.',
105
105
  allowedMentions: { parse: [] },
106
106
  })
107
- .catch((e) => commandkit_1.Logger.error(`Failed to send error message: ${e}`));
107
+ .catch((e) => commandkit_1.Logger.error `Failed to send error message: ${e}`);
108
108
  }
109
109
  },
110
110
  };
@@ -122,4 +122,4 @@ function getAIConfig() {
122
122
  function configureAI(config) {
123
123
  Object.assign(AIConfig, config);
124
124
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZ3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTJMQSxrQ0FFQztBQU9ELGtDQUVDO0FBcE1ELG1EQUFxRDtBQUNyRCxtQ0FBZ0Q7QUFFaEQsMkNBQW9DO0FBS3BDLE1BQU0seUJBQXlCLEdBQUcsd0NBQXdDLENBQUM7QUF1RDNFLE1BQU0sUUFBUSxHQUEwQjtJQUN0QyxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQ3BCLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQzlDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDbEIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV2QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVFLHFEQUFxRDtRQUNyRCxPQUFPLENBQ0wsQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtDQUFrQixFQUFDLE9BQU8sQ0FBQztJQUN6RSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyQyxNQUFN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
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZ3VyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQTJMQSxrQ0FFQztBQU9ELGtDQUVDO0FBcE1ELG1EQUFxRDtBQUNyRCxtQ0FBZ0Q7QUFFaEQsMkNBQW9DO0FBS3BDLE1BQU0seUJBQXlCLEdBQUcsd0NBQXdDLENBQUM7QUF1RDNFLE1BQU0sUUFBUSxHQUEwQjtJQUN0QyxtQkFBbUIsRUFBRSxLQUFLO0lBQzFCLGFBQWEsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxFQUFFO1FBQzNDLE1BQU0sZ0JBQWdCLEdBQ3BCLE1BQU0sVUFBVSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU5RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDO1lBQzlDLENBQUMsQ0FBQyxnQkFBZ0I7WUFDbEIsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV2QixNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVFLHFEQUFxRDtRQUNyRCxPQUFPLENBQ0wsQ0FBQyxlQUFlLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUN2RSxDQUFDO0lBQ0osQ0FBQztJQUNELG1CQUFtQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFBLGtDQUFrQixFQUFDLE9BQU8sQ0FBQztJQUN6RSxhQUFhLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsRUFBRTtRQUNyQyxNQUFN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
package/dist/index.d.ts CHANGED
@@ -2,6 +2,7 @@ import './augmentation';
2
2
  import { AiPlugin } from './plugin';
3
3
  import { AiPluginOptions } from './types';
4
4
  import type { Message } from 'discord.js';
5
+ import { AiCliPlugin } from './cli-plugin';
5
6
  /**
6
7
  * Retrieves the AI context.
7
8
  */
@@ -26,7 +27,7 @@ export declare function executeAI(message: Message): Promise<void>;
26
27
  * @param options The options for the AI plugin
27
28
  * @returns The AI plugin instance
28
29
  */
29
- export declare function ai(options?: AiPluginOptions): AiPlugin;
30
+ export declare function ai(options?: AiPluginOptions): (AiPlugin | AiCliPlugin)[];
30
31
  export * from './types';
31
32
  export * from './plugin';
32
33
  export * from './context';
@@ -34,3 +35,4 @@ export * from './configure';
34
35
  export * from './types';
35
36
  export * from './system-prompt';
36
37
  export * from './tools/common/index';
38
+ export { experimental_createConfig } from './utils';
package/dist/index.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.experimental_createConfig = void 0;
17
18
  exports.useAIContext = useAIContext;
18
19
  exports.useAI = useAI;
19
20
  exports.executeAI = executeAI;
@@ -22,6 +23,7 @@ require("./augmentation");
22
23
  const plugin_1 = require("./plugin");
23
24
  const ai_context_worker_1 = require("./ai-context-worker");
24
25
  const commandkit_1 = require("commandkit");
26
+ const cli_plugin_1 = require("./cli-plugin");
25
27
  /**
26
28
  * Retrieves the AI context.
27
29
  */
@@ -60,7 +62,7 @@ function executeAI(message) {
60
62
  * @returns The AI plugin instance
61
63
  */
62
64
  function ai(options) {
63
- return new plugin_1.AiPlugin(options ?? {});
65
+ return [new plugin_1.AiPlugin(options ?? {}), new cli_plugin_1.AiCliPlugin({})];
64
66
  }
65
67
  __exportStar(require("./types"), exports);
66
68
  __exportStar(require("./plugin"), exports);
@@ -69,4 +71,6 @@ __exportStar(require("./configure"), exports);
69
71
  __exportStar(require("./types"), exports);
70
72
  __exportStar(require("./system-prompt"), exports);
71
73
  __exportStar(require("./tools/common/index"), exports);
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVVBLG9DQUdDO0FBS0Qsc0JBV0M7QUFZRCw4QkFHQztBQU9ELGdCQUVDO0FBckRELDBCQUF3QjtBQUN4QixxQ0FBb0M7QUFFcEMsMkRBQXlEO0FBQ3pELDJDQUEyQztBQUczQzs7R0FFRztBQUNILFNBQWdCLFlBQVk7SUFDMUIsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUEsc0NBQWtCLEdBQUUsQ0FBQztJQUNyQyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7R0FFRztBQUNILFNBQWdCLEtBQUs7SUFDbkIsTUFBTSxVQUFVLEdBQUcsSUFBQSwwQkFBYSxFQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFRLENBQUMsQ0FBQztJQUVsRCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxNQUFNLElBQUksS0FBSyxDQUNiLDZEQUE2RCxDQUM5RCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxTQUFnQixTQUFTLENBQUMsT0FBZ0I7SUFDeEMsTUFBTSxRQUFRLEdBQUcsS0FBSyxFQUFFLENBQUM7SUFDekIsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsU0FBZ0IsRUFBRSxDQUFDLE9BQXlCO0lBQzFDLE9BQU8sSUFBSSxpQkFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUMsQ0FBQztBQUNyQyxDQUFDO0FBRUQsMENBQXdCO0FBQ3hCLDJDQUF5QjtBQUN6Qiw0Q0FBMEI7QUFDMUIsOENBQTRCO0FBQzVCLDBDQUF3QjtBQUN4QixrREFBZ0M7QUFDaEMsdURBQXFDIn0=
74
+ var utils_1 = require("./utils");
75
+ Object.defineProperty(exports, "experimental_createConfig", { enumerable: true, get: function () { return utils_1.experimental_createConfig; } });
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxvQ0FHQztBQUtELHNCQVdDO0FBWUQsOEJBR0M7QUFPRCxnQkFFQztBQXRERCwwQkFBd0I7QUFDeEIscUNBQW9DO0FBRXBDLDJEQUF5RDtBQUN6RCwyQ0FBMkM7QUFFM0MsNkNBQTJDO0FBRTNDOztHQUVHO0FBQ0gsU0FBZ0IsWUFBWTtJQUMxQixNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBQSxzQ0FBa0IsR0FBRSxDQUFDO0lBQ3JDLE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0IsS0FBSztJQUNuQixNQUFNLFVBQVUsR0FBRyxJQUFBLDBCQUFhLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFDdkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQVEsQ0FBQyxDQUFDO0lBRWxELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNkLE1BQU0sSUFBSSxLQUFLLENBQ2IsNkRBQTZELENBQzlELENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQztBQUVEOzs7Ozs7Ozs7R0FTRztBQUNILFNBQWdCLFNBQVMsQ0FBQyxPQUFnQjtJQUN4QyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQUUsQ0FBQztJQUN6QixPQUFPLFFBQVEsQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckMsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixFQUFFLENBQUMsT0FBeUI7SUFDMUMsT0FBTyxDQUFDLElBQUksaUJBQVEsQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSx3QkFBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVELDBDQUF3QjtBQUN4QiwyQ0FBeUI7QUFDekIsNENBQTBCO0FBQzFCLDhDQUE0QjtBQUM1QiwwQ0FBd0I7QUFDeEIsa0RBQWdDO0FBQ2hDLHVEQUFxQztBQUNyQyxpQ0FBb0Q7QUFBM0Msa0hBQUEseUJBQXlCLE9BQUEifQ==
package/dist/plugin.d.ts CHANGED
@@ -2,10 +2,11 @@ import { CommandKitPluginRuntime, RuntimePlugin } from 'commandkit/plugin';
2
2
  import { AiPluginOptions } from './types';
3
3
  import CommandKit from 'commandkit';
4
4
  import { Message } from 'discord.js';
5
+ import { ToolParameterType } from './tools/common';
5
6
  /**
6
7
  * Represents the configuration options for the AI plugin scoped to a specific command.
7
8
  */
8
- export interface AiConfig {
9
+ export interface AiConfig<T extends ToolParameterType = ToolParameterType> {
9
10
  /**
10
11
  * A description of the AI functionality provided by this command. If not given, the command's description will be used.
11
12
  */
@@ -13,7 +14,7 @@ export interface AiConfig {
13
14
  /**
14
15
  * A zod schema defining the parameters that the AI command accepts.
15
16
  */
16
- parameters: any;
17
+ inputSchema: T;
17
18
  }
18
19
  export declare class AiPlugin extends RuntimePlugin<AiPluginOptions> {
19
20
  readonly name = "AiPlugin";
package/dist/plugin.js CHANGED
@@ -14,12 +14,16 @@ const get_guild_by_id_1 = require("./tools/get-guild-by-id");
14
14
  const get_user_by_id_1 = require("./tools/get-user-by-id");
15
15
  const configure_1 = require("./configure");
16
16
  const augmentation_1 = require("./augmentation");
17
+ const get_member_by_id_1 = require("./tools/get-member-by-id");
18
+ const create_embed_1 = require("./tools/create-embed");
17
19
  const defaultTools = {
18
20
  getAvailableCommands: get_available_commands_1.getAvailableCommands,
19
21
  getChannelById: get_channel_by_id_1.getChannelById,
20
22
  getCurrentClientInfo: get_current_client_info_1.getCurrentClientInfo,
21
23
  getGuildById: get_guild_by_id_1.getGuildById,
22
24
  getUserById: get_user_by_id_1.getUserById,
25
+ getMemberById: get_member_by_id_1.getMemberById,
26
+ createEmbed: create_embed_1.createEmbed,
23
27
  };
24
28
  class AiPlugin extends plugin_1.RuntimePlugin {
25
29
  constructor(options) {
@@ -28,6 +32,7 @@ class AiPlugin extends plugin_1.RuntimePlugin {
28
32
  this.toolsRecord = {};
29
33
  this.defaultTools = defaultTools;
30
34
  this.onMessageFunc = null;
35
+ this.preload.add('ai.js');
31
36
  }
32
37
  async activate(ctx) {
33
38
  this.onMessageFunc = (message) => this.handleMessage(ctx.commandkit, message);
@@ -65,15 +70,15 @@ class AiPlugin extends plugin_1.RuntimePlugin {
65
70
  await (0, ai_context_worker_1.runInAiWorkerContext)(ctx, message, async () => {
66
71
  const systemPrompt = await prepareSystemPrompt(ctx, message);
67
72
  const prompt = await preparePrompt(ctx, message);
68
- const { model, abortSignal, maxSteps, ...modelOptions } = await selectAiModel(ctx, message);
69
- const promptOrMessage = typeof prompt === 'string' ? { prompt } : { messages: prompt };
73
+ const { model, abortSignal, stopWhen, ...modelOptions } = await selectAiModel(ctx, message);
74
+ const promptOrMessage = (typeof prompt === 'string' ? { prompt } : { messages: prompt });
70
75
  await onProcessingStart(ctx, message);
71
76
  try {
72
77
  const result = await (0, ai_1.generateText)({
73
78
  model,
74
79
  abortSignal: abortSignal ?? AbortSignal.timeout(60000),
75
80
  system: systemPrompt,
76
- maxSteps: maxSteps ?? 5,
81
+ stopWhen: stopWhen ?? (0, ai_1.stepCountIs)(5),
77
82
  ...modelOptions,
78
83
  tools: {
79
84
  // Include built-in least significant tools if not disabled
@@ -128,7 +133,7 @@ class AiPlugin extends plugin_1.RuntimePlugin {
128
133
  const description = cmd.data.aiConfig.description || cmd.data.command.description;
129
134
  const cmdTool = (0, ai_1.tool)({
130
135
  description,
131
- parameters: cmd.data.aiConfig.parameters,
136
+ inputSchema: cmd.data.aiConfig.inputSchema,
132
137
  async execute(params) {
133
138
  const config = (0, configure_1.getAIConfig)();
134
139
  const ctx = (0, ai_context_worker_1.getAiWorkerContext)();
@@ -165,4 +170,4 @@ class AiPlugin extends plugin_1.RuntimePlugin {
165
170
  }
166
171
  }
167
172
  exports.AiPlugin = AiPlugin;
168
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBMkU7QUFFM0UsMkNBQStEO0FBQy9ELHVDQUFzQztBQUN0QywyQ0FBeUQ7QUFDekQsMkJBQThDO0FBQzlDLDJEQUErRTtBQUMvRSwyRUFBc0U7QUFDdEUsaUVBQTJEO0FBQzNELDZFQUF1RTtBQUN2RSw2REFBdUQ7QUFDdkQsMkRBQXFEO0FBQ3JELDJDQUFxRDtBQUNyRCxpREFBbUQ7QUFnQm5ELE1BQU0sWUFBWSxHQUF5QjtJQUN6QyxvQkFBb0IsRUFBcEIsNkNBQW9CO0lBQ3BCLGNBQWMsRUFBZCxrQ0FBYztJQUNkLG9CQUFvQixFQUFwQiw4Q0FBb0I7SUFDcEIsWUFBWSxFQUFaLDhCQUFZO0lBQ1osV0FBVyxFQUFYLDRCQUFXO0NBQ1osQ0FBQztBQUVGLE1BQWEsUUFBUyxTQUFRLHNCQUE4QjtJQU0xRCxZQUFtQixPQUF3QjtRQUN6QyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFORCxTQUFJLEdBQUcsVUFBVSxDQUFDO1FBQzFCLGdCQUFXLEdBQXlCLEVBQUUsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLFlBQVksQ0FBQztRQUM1QixrQkFBYSxHQUFpRCxJQUFJLENBQUM7SUFJM0UsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBNEI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQy9CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM5QyxHQUFHLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQU0sQ0FBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ25FLElBQUEsZ0NBQWlCLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFFeEIsbUJBQU0sQ0FB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
173
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw4Q0FBMkU7QUFFM0UsMkNBQStEO0FBQy9ELHVDQUFzQztBQUN0QywyQ0FBeUQ7QUFDekQsMkJBQXlFO0FBQ3pFLDJEQUErRTtBQUMvRSwyRUFBc0U7QUFDdEUsaUVBQTJEO0FBQzNELDZFQUF1RTtBQUN2RSw2REFBdUQ7QUFDdkQsMkRBQXFEO0FBQ3JELDJDQUEwQztBQUMxQyxpREFBbUQ7QUFFbkQsK0RBQXlEO0FBQ3pELHVEQUFtRDtBQWdCbkQsTUFBTSxZQUFZLEdBQXlCO0lBQ3pDLG9CQUFvQixFQUFwQiw2Q0FBb0I7SUFDcEIsY0FBYyxFQUFkLGtDQUFjO0lBQ2Qsb0JBQW9CLEVBQXBCLDhDQUFvQjtJQUNwQixZQUFZLEVBQVosOEJBQVk7SUFDWixXQUFXLEVBQVgsNEJBQVc7SUFDWCxhQUFhLEVBQWIsZ0NBQWE7SUFDYixXQUFXLEVBQVgsMEJBQVc7Q0FDWixDQUFDO0FBRUYsTUFBYSxRQUFTLFNBQVEsc0JBQThCO0lBTTFELFlBQW1CLE9BQXdCO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQU5ELFNBQUksR0FBRyxVQUFVLENBQUM7UUFDMUIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQUcsWUFBWSxDQUFDO1FBQzVCLGtCQUFhLEdBQWlELElBQUksQ0FBQztRQUl6RSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRU0sS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUE0QjtRQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FDL0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLEdBQUcsQ0FBQyxVQUFVLENBQUMs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
@@ -1,6 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createSystemPrompt = createSystemPrompt;
4
+ const discord_js_1 = require("discord.js");
5
+ const commandkit_1 = require("commandkit");
6
+ const tz = Intl.DateTimeFormat().resolvedOptions().timeZone;
7
+ function humanReadable(ms) {
8
+ const units = [
9
+ { value: 31536000000, label: 'year' },
10
+ { value: 2628000000, label: 'month' },
11
+ { value: 604800000, label: 'week' },
12
+ { value: 86400000, label: 'day' },
13
+ { value: 3600000, label: 'hour' },
14
+ { value: 60000, label: 'minute' },
15
+ { value: 1000, label: 'second' },
16
+ ];
17
+ for (const { value, label } of units) {
18
+ if (ms >= value) {
19
+ const count = ms / value;
20
+ if (count >= 10) {
21
+ return `${Math.round(count)} ${label}${Math.round(count) === 1 ? '' : 's'}`;
22
+ }
23
+ else {
24
+ return `${count.toFixed(1)} ${label}${count === 1 ? '' : 's'}`;
25
+ }
26
+ }
27
+ }
28
+ return `${ms} milliseconds`;
29
+ }
4
30
  /**
5
31
  * Creates the default system prompt for the AI bot based on the provided message context.
6
32
  * This prompt includes the bot's role, current channel information, and response guidelines.
@@ -10,7 +36,7 @@ function createSystemPrompt(message) {
10
36
  ? message.channel.name
11
37
  : message.channel.recipient?.displayName || 'DM';
12
38
  const guildInfo = message.inGuild()
13
- ? `You are in the guild "${message.guild.name}" (ID: ${message.guildId}). You can fetch member information when needed.`
39
+ ? `You are in the guild "${message.guild.name}" (ID: ${message.guildId}) with ${message.guild?.memberCount ?? 0} members. You joined this guild on ${message.guild.members.me?.joinedAt?.toLocaleString() ?? 'unknown date'}. You can fetch member information when needed using the provided tools.`
14
40
  : 'You are in a direct message with the user.';
15
41
  return `You are ${message.client.user.username} (ID: ${message.client.user.id}), a helpful AI Discord bot.
16
42
 
@@ -23,12 +49,29 @@ function createSystemPrompt(message) {
23
49
  - Channel: "${channelInfo}" (ID: ${message.channelId})
24
50
  - Permissions: ${message.channel.isSendable() ? 'Can send messages' : 'Cannot send messages'}
25
51
  - Location: ${guildInfo}
52
+ - Today's date: ${new Date().toLocaleDateString()}
53
+ - Current time: ${new Date().toLocaleTimeString()}
54
+ - Current UTC time: ${new Date().toUTCString()}
55
+ - Current timezone: ${tz}
56
+ - Current UNIX timestamp: ${Date.now()} (in milliseconds)
57
+ - You know total ${message.client.guilds.cache.size} guilds and ${message.client.users.cache.size} users
58
+ - You know total ${message.client.channels.cache.size} channels
59
+ - Your uptime is ${humanReadable(message.client.uptime)}
60
+ - Your latency is ${message.client.ws.ping ?? -1}ms
61
+ - You were built with Discord.js v${discord_js_1.version} and CommandKit v${commandkit_1.version}
62
+ - You were created on ${message.client.user.createdAt.toLocaleString()}
26
63
 
27
64
  **Current User Information:**
28
65
  - id: ${message.author.id}
29
66
  - name: ${message.author.username}
30
67
  - display name: ${message.author.displayName}
31
68
  - avatar: ${message.author.avatarURL()}
69
+ - created at: ${message.author.createdAt.toLocaleString()}
70
+ - joined at: ${message.member?.joinedAt?.toLocaleString() ?? 'Info not available'}
71
+ - roles: ${message.member?.roles.cache.map((role) => role.name).join(', ') ?? 'No roles'}
72
+ - is bot: ${message.author.bot}
73
+ - is boosting: ${!!message.member?.premiumSince}
74
+ - has permissions: ${message.member?.permissions.toArray().join(', ') ?? 'No permissions'}
32
75
 
33
76
  **Response Guidelines:**
34
77
  - Use Discord markdown for formatting
@@ -37,4 +80,4 @@ function createSystemPrompt(message) {
37
80
 
38
81
  Focus on being helpful while staying within your capabilities.`;
39
82
  }
40
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLXByb21wdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeXN0ZW0tcHJvbXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBTUEsZ0RBa0NDO0FBdENEOzs7R0FHRztBQUNILFNBQWdCLGtCQUFrQixDQUFDLE9BQWdCO0lBQ2pELE1BQU0sV0FBVyxHQUNmLE1BQU0sSUFBSSxPQUFPLENBQUMsT0FBTztRQUN2QixDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ3RCLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDO0lBRXJELE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxPQUFPLEVBQUU7UUFDakMsQ0FBQyxDQUFDLHlCQUF5QixPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksVUFBVSxPQUFPLENBQUMsT0FBTyxrREFBa0Q7UUFDeEgsQ0FBQyxDQUFDLDRDQUE0QyxDQUFDO0lBRWpELE9BQU8sV0FBVyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLFNBQVMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTs7Ozs7Ozs7Y0FRakUsV0FBVyxVQUFVLE9BQU8sQ0FBQyxTQUFTO2lCQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsc0JBQXNCO2NBQzlFLFNBQVM7OztRQUdmLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtVQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsUUFBUTtrQkFDZixPQUFPLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDaEMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7Ozs7Ozs7K0RBT3lCLENBQUM7QUFDaEUsQ0FBQyJ9
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtLXByb21wdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9zeXN0ZW0tcHJvbXB0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBa0NBLGdEQW1EQztBQXJGRCwyQ0FBNEQ7QUFDNUQsMkNBQTBEO0FBRTFELE1BQU0sRUFBRSxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxRQUFRLENBQUM7QUFFNUQsU0FBUyxhQUFhLENBQUMsRUFBVTtJQUMvQixNQUFNLEtBQUssR0FBRztRQUNaLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ3JDLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO1FBQ3JDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ25DLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFO1FBQ2pDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO1FBQ2pDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO1FBQ2pDLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO0tBQ2pDLENBQUM7SUFFRixLQUFLLE1BQU0sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxFQUFFLENBQUM7UUFDckMsSUFBSSxFQUFFLElBQUksS0FBSyxFQUFFLENBQUM7WUFDaEIsTUFBTSxLQUFLLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQztZQUN6QixJQUFJLEtBQUssSUFBSSxFQUFFLEVBQUUsQ0FBQztnQkFDaEIsT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsS0FB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
@@ -1,6 +1,7 @@
1
- import { Schema, tool } from 'ai';
1
+ import { Schema } from 'ai';
2
2
  import { AiContext } from '../../context';
3
3
  import { z } from 'zod';
4
+ import { z as z3 } from 'zod/v3';
4
5
  /**
5
6
  * Utility type that represents a value that can be either synchronous or asynchronous.
6
7
  * @template T - The type of the value
@@ -11,13 +12,13 @@ type Awaitable<T> = T | Promise<T>;
11
12
  * Type representing the parameters schema for AI tools.
12
13
  * Extracted from the first parameter of the `tool` function from the 'ai' library.
13
14
  */
14
- export type ToolParameterType = Parameters<typeof tool>[0]['parameters'];
15
+ export type ToolParameterType = z.ZodType | z3.ZodType | Schema<any>;
15
16
  /**
16
17
  * Utility type that infers the TypeScript type from a tool parameter schema.
17
18
  * Supports both Zod schemas and AI library schemas.
18
19
  * @template T - The tool parameter type to infer from
19
20
  */
20
- export type InferParameters<T extends ToolParameterType> = T extends Schema<any> ? T['_type'] : T extends z.ZodTypeAny ? z.infer<T> : never;
21
+ export type InferParameters<T extends ToolParameterType> = T extends Schema<any> ? T['_type'] : T extends z.ZodTypeAny ? z.infer<T> : T extends z3.ZodTypeAny ? z3.infer<T> : never;
21
22
  /**
22
23
  * Configuration options for creating an AI tool.
23
24
  * @template T - The parameter schema type for the tool
@@ -29,7 +30,7 @@ export interface CreateToolOptions<T extends ToolParameterType, R = unknown> {
29
30
  /** A human-readable description of what the tool does */
30
31
  description: string;
31
32
  /** The parameter schema that defines the tool's input structure */
32
- parameters: T;
33
+ inputSchema: T;
33
34
  /** The function that executes when the tool is called */
34
35
  execute: ToolExecuteFunction<T, R>;
35
36
  }
@@ -38,10 +39,10 @@ export interface CreateToolOptions<T extends ToolParameterType, R = unknown> {
38
39
  * @template T - The parameter schema type
39
40
  * @template R - The return type of the function
40
41
  * @param ctx - The AI context containing request and response information
41
- * @param parameters - The validated parameters passed to the tool
42
+ * @param inputSchema - The validated inputSchema passed to the tool
42
43
  * @returns The result of the tool execution, which can be synchronous or asynchronous
43
44
  */
44
- export type ToolExecuteFunction<T extends ToolParameterType, R> = (ctx: AiContext, parameters: InferParameters<T>) => Awaitable<R>;
45
+ export type ToolExecuteFunction<T extends ToolParameterType, R> = (ctx: AiContext, inputSchema: InferParameters<T>) => Awaitable<R>;
45
46
  /**
46
47
  * Creates a new AI tool with the specified configuration.
47
48
  * This function wraps the underlying AI library's tool creation with additional
@@ -70,7 +71,5 @@ export type ToolExecuteFunction<T extends ToolParameterType, R> = (ctx: AiContex
70
71
  * });
71
72
  * ```
72
73
  */
73
- export declare function createTool<T extends ToolParameterType, R = unknown>(options: CreateToolOptions<T, R>): import("ai").Tool<T, R> & {
74
- execute: (args: T extends Schema<any> ? T["_type"] : T extends z.ZodTypeAny ? z.TypeOf<T> : never, options: import("ai").ToolExecutionOptions) => PromiseLike<R>;
75
- };
74
+ export declare function createTool<T extends ToolParameterType, R = unknown>(options: CreateToolOptions<T, R>): import("ai").Tool<T, R>;
76
75
  export {};
@@ -36,7 +36,7 @@ function createTool(options) {
36
36
  const _tool = (0, ai_1.tool)({
37
37
  name: options.name,
38
38
  description: options.description,
39
- parameters: options.parameters,
39
+ inputSchema: options.inputSchema,
40
40
  async execute(params) {
41
41
  const { ctx } = (0, ai_context_worker_1.getAiWorkerContext)();
42
42
  ctx.setParams(params);
@@ -45,4 +45,4 @@ function createTool(options) {
45
45
  });
46
46
  return _tool;
47
47
  }
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBdUZBLGdDQWtCQztBQXpHRCwyQkFBa0M7QUFFbEMsK0RBQTZEO0FBeUQ3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBQ0gsU0FBZ0IsVUFBVSxDQUN4QixPQUFnQztJQUVoQywwRUFBMEU7SUFDMUUsTUFBTSxLQUFLLEdBQUcsSUFBQSxTQUFJLEVBQU87UUFDdkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztRQUNoQyxVQUFVLEVBQUUsT0FBTyxDQUFDLFVBQVU7UUFDOUIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2xCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFBLHNDQUFrQixHQUFFLENBQUM7WUFFckMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUV0QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQTRCLENBQUMsQ0FBQztRQUM1RCxDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIn0=
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvdG9vbHMvY29tbW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBeUZBLGdDQWtCQztBQTNHRCwyQkFBa0M7QUFFbEMsK0RBQTZEO0FBMkQ3RDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBQ0gsU0FBZ0IsVUFBVSxDQUN4QixPQUFnQztJQUVoQywwRUFBMEU7SUFDMUUsTUFBTSxLQUFLLEdBQUcsSUFBQSxTQUFJLEVBQU87UUFDdkIsSUFBSSxFQUFFLE9BQU8sQ0FBQyxJQUFJO1FBQ2xCLFdBQVcsRUFBRSxPQUFPLENBQUMsV0FBVztRQUNoQyxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVc7UUFDaEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxNQUFNO1lBQ2xCLE1BQU0sRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFBLHNDQUFrQixHQUFFLENBQUM7WUFFckMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxNQUFpQyxDQUFDLENBQUM7WUFFakQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUE0QixDQUFDLENBQUM7UUFDNUQsQ0FBQztLQUNGLENBQUMsQ0FBQztJQUVILE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyJ9
@@ -0,0 +1,32 @@
1
+ import { z } from 'zod';
2
+ export declare const createEmbed: import("ai").Tool<z.ZodObject<{
3
+ title: z.ZodOptional<z.ZodString>;
4
+ url: z.ZodOptional<z.ZodString>;
5
+ description: z.ZodOptional<z.ZodString>;
6
+ color: z.ZodOptional<z.ZodString>;
7
+ fields: z.ZodOptional<z.ZodArray<z.ZodObject<{
8
+ name: z.ZodString;
9
+ value: z.ZodString;
10
+ inline: z.ZodBoolean;
11
+ }, z.core.$strip>>>;
12
+ author: z.ZodOptional<z.ZodObject<{
13
+ name: z.ZodString;
14
+ url: z.ZodString;
15
+ iconUrl: z.ZodString;
16
+ }, z.core.$strip>>;
17
+ footer: z.ZodOptional<z.ZodObject<{
18
+ text: z.ZodString;
19
+ iconUrl: z.ZodString;
20
+ }, z.core.$strip>>;
21
+ timestamp: z.ZodOptional<z.ZodBoolean>;
22
+ image: z.ZodOptional<z.ZodString>;
23
+ thumbnail: z.ZodOptional<z.ZodString>;
24
+ }, z.core.$strip>, {
25
+ error: string;
26
+ success?: undefined;
27
+ message?: undefined;
28
+ } | {
29
+ success: boolean;
30
+ message: string;
31
+ error?: undefined;
32
+ }>;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createEmbed = void 0;
4
+ const zod_1 = require("zod");
5
+ const common_1 = require("./common");
6
+ const discord_js_1 = require("discord.js");
7
+ exports.createEmbed = (0, common_1.createTool)({
8
+ name: 'createEmbed',
9
+ description: 'Create an embed message',
10
+ inputSchema: zod_1.z.object({
11
+ title: zod_1.z.string().describe('The title of the embed').optional(),
12
+ url: zod_1.z.string().describe('The URL of the embed').optional(),
13
+ description: zod_1.z.string().describe('The description of the embed').optional(),
14
+ color: zod_1.z.string().describe('The color of the embed').optional(),
15
+ fields: zod_1.z
16
+ .array(zod_1.z.object({
17
+ name: zod_1.z.string().describe('The name of the field'),
18
+ value: zod_1.z.string().describe('The value of the field'),
19
+ inline: zod_1.z.boolean().describe('Whether the field is inline'),
20
+ }))
21
+ .describe('The fields of the embed')
22
+ .optional(),
23
+ author: zod_1.z
24
+ .object({
25
+ name: zod_1.z.string().describe('The name of the author'),
26
+ url: zod_1.z.string().describe('The URL of the author'),
27
+ iconUrl: zod_1.z.string().describe('The icon URL of the author'),
28
+ })
29
+ .describe('The author of the embed')
30
+ .optional(),
31
+ footer: zod_1.z
32
+ .object({
33
+ text: zod_1.z.string().describe('The text of the footer'),
34
+ iconUrl: zod_1.z.string().describe('The icon URL of the footer'),
35
+ })
36
+ .describe('The footer of the embed')
37
+ .optional(),
38
+ timestamp: zod_1.z
39
+ .boolean()
40
+ .describe('Whether to add a timestamp to the embed')
41
+ .optional(),
42
+ image: zod_1.z.string().describe('The image URL of the embed').optional(),
43
+ thumbnail: zod_1.z.string().describe('The thumbnail URL of the embed').optional(),
44
+ }),
45
+ execute: async (ctx, params) => {
46
+ const { message } = ctx;
47
+ if (!message.channel.isSendable()) {
48
+ return {
49
+ error: 'You do not have permission to send messages in this channel',
50
+ };
51
+ }
52
+ const embed = new discord_js_1.EmbedBuilder();
53
+ if (params.title) {
54
+ embed.setTitle(params.title);
55
+ }
56
+ if (params.description) {
57
+ embed.setDescription(params.description);
58
+ }
59
+ if (params.color) {
60
+ embed.setColor((!Number.isNaN(params.color)
61
+ ? Number(params.color)
62
+ : params.color));
63
+ }
64
+ if (params.fields) {
65
+ embed.addFields(params.fields);
66
+ }
67
+ if (params.author) {
68
+ embed.setAuthor(params.author);
69
+ }
70
+ if (params.footer) {
71
+ embed.setFooter(params.footer);
72
+ }
73
+ if (params.timestamp) {
74
+ embed.setTimestamp();
75
+ }
76
+ if (params.image) {
77
+ embed.setImage(params.image);
78
+ }
79
+ if (params.thumbnail) {
80
+ embed.setThumbnail(params.thumbnail);
81
+ }
82
+ await message.channel.send({ embeds: [embed] });
83
+ return {
84
+ success: true,
85
+ message: 'Embedded message was sent to the channel successfully',
86
+ };
87
+ },
88
+ });
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWVtYmVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL2NyZWF0ZS1lbWJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFDeEIscUNBQXNDO0FBQ3RDLDJDQUEyRDtBQUU5QyxRQUFBLFdBQVcsR0FBRyxJQUFBLG1CQUFVLEVBQUM7SUFDcEMsSUFBSSxFQUFFLGFBQWE7SUFDbkIsV0FBVyxFQUFFLHlCQUF5QjtJQUN0QyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNwQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUMvRCxHQUFHLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUMzRCxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUMzRSxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDLFFBQVEsRUFBRTtRQUMvRCxNQUFNLEVBQUUsT0FBQzthQUNOLEtBQUssQ0FDSixPQUFDLENBQUMsTUFBTSxDQUFDO1lBQ1AsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUM7WUFDbEQsS0FBSyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUM7WUFDcEQsTUFBTSxFQUFFLE9BQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUMsNkJBQTZCLENBQUM7U0FDNUQsQ0FBQyxDQUNIO2FBQ0EsUUFBUSxDQUFDLHlCQUF5QixDQUFDO2FBQ25DLFFBQVEsRUFBRTtRQUNi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
@@ -1,14 +1,7 @@
1
1
  import { z } from 'zod';
2
- export declare const getAvailableCommands: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, {
2
+ export declare const getAvailableCommands: import("ai").Tool<z.ZodObject<{}, z.core.$strip>, {
3
3
  name: any;
4
4
  description: any;
5
5
  category: string | null;
6
6
  supportsAI: boolean;
7
- }[]> & {
8
- execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<{
9
- name: any;
10
- description: any;
11
- category: string | null;
12
- supportsAI: boolean;
13
- }[]>;
14
- };
7
+ }[]>;
@@ -6,7 +6,7 @@ const common_1 = require("./common");
6
6
  exports.getAvailableCommands = (0, common_1.createTool)({
7
7
  description: 'Get a list of all available commands.',
8
8
  name: 'getAvailableCommands',
9
- parameters: zod_1.z.object({}),
9
+ inputSchema: zod_1.z.object({}),
10
10
  execute(ctx, params) {
11
11
  const { commandkit } = ctx;
12
12
  const commands = commandkit.commandHandler
@@ -20,4 +20,4 @@ exports.getAvailableCommands = (0, common_1.createTool)({
20
20
  return commands;
21
21
  },
22
22
  });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF2YWlsYWJsZS1jb21tYW5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9nZXQtYXZhaWxhYmxlLWNvbW1hbmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUN4QixxQ0FBc0M7QUFFekIsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLG1CQUFVLEVBQUM7SUFDN0MsV0FBVyxFQUFFLHVDQUF1QztJQUNwRCxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUN4QixPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDakIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUUzQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYzthQUN2QyxnQkFBZ0IsRUFBRTthQUNsQixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDYixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUMzQixXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN6QyxRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQzlCLFVBQVUsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVU7U0FDbEUsQ0FBQyxDQUFDLENBQUM7UUFFTixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWF2YWlsYWJsZS1jb21tYW5kcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9nZXQtYXZhaWxhYmxlLWNvbW1hbmRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUN4QixxQ0FBc0M7QUFFekIsUUFBQSxvQkFBb0IsR0FBRyxJQUFBLG1CQUFVLEVBQUM7SUFDN0MsV0FBVyxFQUFFLHVDQUF1QztJQUNwRCxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztJQUN6QixPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDakIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsQ0FBQztRQUUzQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsY0FBYzthQUN2QyxnQkFBZ0IsRUFBRTthQUNsQixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDYixJQUFJLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSTtZQUMzQixXQUFXLEVBQUUsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVztZQUN6QyxRQUFRLEVBQUUsR0FBRyxDQUFDLE9BQU8sQ0FBQyxRQUFRO1lBQzlCLFVBQVUsRUFBRSxJQUFJLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLFVBQVU7U0FDbEUsQ0FBQyxDQUFDLENBQUM7UUFFTixPQUFPLFFBQVEsQ0FBQztJQUNsQixDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -1,12 +1,4 @@
1
1
  import { z } from 'zod';
2
2
  export declare const getChannelById: import("ai").Tool<z.ZodObject<{
3
3
  channelId: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- channelId: string;
6
- }, {
7
- channelId: string;
8
- }>, unknown> & {
9
- execute: (args: {
10
- channelId: string;
11
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<unknown>;
12
- };
4
+ }, z.core.$strip>, unknown>;
@@ -7,7 +7,7 @@ const commandkit_1 = require("commandkit");
7
7
  exports.getChannelById = (0, common_1.createTool)({
8
8
  description: 'Get a channel by its ID.',
9
9
  name: 'getChannelById',
10
- parameters: zod_1.z.object({
10
+ inputSchema: zod_1.z.object({
11
11
  channelId: zod_1.z.string().describe('The ID of the channel to retrieve.'),
12
12
  }),
13
13
  async execute(ctx, params) {
@@ -32,4 +32,4 @@ exports.getChannelById = (0, common_1.createTool)({
32
32
  }
33
33
  },
34
34
  });
35
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNoYW5uZWwtYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LWNoYW5uZWwtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUN0QywyQ0FBb0M7QUFFdkIsUUFBQSxjQUFjLEdBQUcsSUFBQSxtQkFBVSxFQUFDO0lBQ3ZDLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuQixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxvQ0FBb0MsQ0FBQztLQUNyRSxDQUFDO0lBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDNUQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTztvQkFDTCxLQUFLLEVBQUUsbUJBQW1CO2lCQUMzQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsbUJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEIsT0FBTztnQkFDTCxLQUFLLEVBQUUsNkJBQTZCO2FBQ3JDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWNoYW5uZWwtYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LWNoYW5uZWwtYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUN0QywyQ0FBb0M7QUFFdkIsUUFBQSxjQUFjLEdBQUcsSUFBQSxtQkFBVSxFQUFDO0lBQ3ZDLFdBQVcsRUFBRSwwQkFBMEI7SUFDdkMsSUFBSSxFQUFFLGdCQUFnQjtJQUN0QixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNwQixTQUFTLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxvQ0FBb0MsQ0FBQztLQUNyRSxDQUFDO0lBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRTtnQkFDNUQsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2IsT0FBTztvQkFDTCxLQUFLLEVBQUUsbUJBQW1CO2lCQUMzQixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU8sT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsbUJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEIsT0FBTztnQkFDTCxLQUFLLEVBQUUsNkJBQTZCO2FBQ3JDLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
@@ -1,4 +1,2 @@
1
1
  import { z } from 'zod';
2
- export declare const getCurrentClientInfo: import("ai").Tool<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>, unknown> & {
3
- execute: (args: {}, options: import("ai").ToolExecutionOptions) => PromiseLike<unknown>;
4
- };
2
+ export declare const getCurrentClientInfo: import("ai").Tool<z.ZodObject<{}, z.core.$strip>, unknown>;
@@ -6,7 +6,7 @@ const common_1 = require("./common");
6
6
  exports.getCurrentClientInfo = (0, common_1.createTool)({
7
7
  name: 'getCurrentClientInfo',
8
8
  description: 'Get information about the current discord bot user',
9
- parameters: zod_1.z.object({}),
9
+ inputSchema: zod_1.z.object({}),
10
10
  execute: async (ctx, params) => {
11
11
  const { client } = ctx;
12
12
  const user = client.user;
@@ -18,4 +18,4 @@ exports.getCurrentClientInfo = (0, common_1.createTool)({
18
18
  return user.toJSON();
19
19
  },
20
20
  });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbnQtY2xpZW50LWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LWN1cnJlbnQtY2xpZW50LWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUV6QixRQUFBLG9CQUFvQixHQUFHLElBQUEsbUJBQVUsRUFBQztJQUM3QyxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFdBQVcsRUFBRSxvREFBb0Q7SUFDakUsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3hCLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO2dCQUNMLEtBQUssRUFBRSxvQkFBb0I7YUFDNUIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWN1cnJlbnQtY2xpZW50LWluZm8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LWN1cnJlbnQtY2xpZW50LWluZm8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUV6QixRQUFBLG9CQUFvQixHQUFHLElBQUEsbUJBQVUsRUFBQztJQUM3QyxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLFdBQVcsRUFBRSxvREFBb0Q7SUFDakUsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO0lBQ3pCLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxNQUFNLEVBQUUsR0FBRyxHQUFHLENBQUM7UUFDdkIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUV6QixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVixPQUFPO2dCQUNMLEtBQUssRUFBRSxvQkFBb0I7YUFDNUIsQ0FBQztRQUNKLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN2QixDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -1,11 +1,7 @@
1
1
  import { z } from 'zod';
2
2
  export declare const getGuildById: import("ai").Tool<z.ZodObject<{
3
3
  guildId: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- guildId: string;
6
- }, {
7
- guildId: string;
8
- }>, {
4
+ }, z.core.$strip>, {
9
5
  error: string;
10
6
  id?: undefined;
11
7
  name?: undefined;
@@ -17,20 +13,4 @@ export declare const getGuildById: import("ai").Tool<z.ZodObject<{
17
13
  icon: string | null;
18
14
  memberCount: number;
19
15
  error?: undefined;
20
- }> & {
21
- execute: (args: {
22
- guildId: string;
23
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<{
24
- error: string;
25
- id?: undefined;
26
- name?: undefined;
27
- icon?: undefined;
28
- memberCount?: undefined;
29
- } | {
30
- id: string;
31
- name: string;
32
- icon: string | null;
33
- memberCount: number;
34
- error?: undefined;
35
- }>;
36
- };
16
+ }>;
@@ -7,7 +7,7 @@ const commandkit_1 = require("commandkit");
7
7
  exports.getGuildById = (0, common_1.createTool)({
8
8
  description: 'Get a guild by its ID.',
9
9
  name: 'getGuildById',
10
- parameters: zod_1.z.object({
10
+ inputSchema: zod_1.z.object({
11
11
  guildId: zod_1.z.string().describe('The ID of the guild to retrieve.'),
12
12
  }),
13
13
  async execute(ctx, params) {
@@ -38,4 +38,4 @@ exports.getGuildById = (0, common_1.createTool)({
38
38
  }
39
39
  },
40
40
  });
41
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWd1aWxkLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL2dldC1ndWlsZC1ieS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFDeEIscUNBQXNDO0FBQ3RDLDJDQUFvQztBQUV2QixRQUFBLFlBQVksR0FBRyxJQUFBLG1CQUFVLEVBQUM7SUFDckMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixVQUFVLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNuQixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQztLQUNqRSxDQUFDO0lBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDckIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztvQkFDTCxLQUFLLEVBQUUsaUJBQWlCO2lCQUN6QixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUFDLFdBQVc7YUFDL0QsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsbUJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEIsT0FBTztnQkFDTCxLQUFLLEVBQUUsMkJBQTJCO2FBQ25DLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWd1aWxkLWJ5LWlkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Rvb2xzL2dldC1ndWlsZC1ieS1pZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFDeEIscUNBQXNDO0FBQ3RDLDJDQUFvQztBQUV2QixRQUFBLFlBQVksR0FBRyxJQUFBLG1CQUFVLEVBQUM7SUFDckMsV0FBVyxFQUFFLHdCQUF3QjtJQUNyQyxJQUFJLEVBQUUsY0FBYztJQUNwQixXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNwQixPQUFPLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxrQ0FBa0MsQ0FBQztLQUNqRSxDQUFDO0lBQ0YsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsTUFBTTtRQUN2QixJQUFJLENBQUM7WUFDSCxNQUFNLEVBQUUsTUFBTSxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ3ZCLE1BQU0sS0FBSyxHQUFHLE1BQU0sTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUM7Z0JBQ3RDLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTztnQkFDckIsS0FBSyxFQUFFLEtBQUs7Z0JBQ1osS0FBSyxFQUFFLElBQUk7YUFDWixDQUFDLENBQUM7WUFFSCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQ1gsT0FBTztvQkFDTCxLQUFLLEVBQUUsaUJBQWlCO2lCQUN6QixDQUFDO1lBQ0osQ0FBQztZQUVELE9BQU87Z0JBQ0wsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFO2dCQUNaLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSTtnQkFDaEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUU7Z0JBQ3JCLFdBQVcsRUFBRSxLQUFLLENBQUMsc0JBQXNCLElBQUksS0FBSyxDQUFDLFdBQVc7YUFDL0QsQ0FBQztRQUNKLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsbUJBQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFaEIsT0FBTztnQkFDTCxLQUFLLEVBQUUsMkJBQTJCO2FBQ25DLENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyJ9
@@ -0,0 +1,42 @@
1
+ import { z } from 'zod';
2
+ export declare const getMemberById: import("ai").Tool<z.ZodObject<{
3
+ memberId: z.ZodString;
4
+ }, z.core.$strip>, {
5
+ error: string;
6
+ id?: undefined;
7
+ user?: undefined;
8
+ roles?: undefined;
9
+ joinedAt?: undefined;
10
+ isBoosting?: undefined;
11
+ voiceChannel?: undefined;
12
+ voiceChannelId?: undefined;
13
+ permissions?: undefined;
14
+ nickname?: undefined;
15
+ name?: undefined;
16
+ displayName?: undefined;
17
+ avatar?: undefined;
18
+ isBot?: undefined;
19
+ presence?: undefined;
20
+ isDeafened?: undefined;
21
+ isMuted?: undefined;
22
+ isMe?: undefined;
23
+ } | {
24
+ id: string;
25
+ user: unknown;
26
+ roles: string[];
27
+ joinedAt: string | undefined;
28
+ isBoosting: boolean;
29
+ voiceChannel: string | undefined;
30
+ voiceChannelId: string | undefined;
31
+ permissions: string;
32
+ nickname: string | null;
33
+ name: string;
34
+ displayName: string;
35
+ avatar: string;
36
+ isBot: boolean;
37
+ presence: string;
38
+ isDeafened: string | boolean;
39
+ isMuted: string | boolean;
40
+ isMe: boolean;
41
+ error?: undefined;
42
+ }>;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMemberById = void 0;
4
+ const zod_1 = require("zod");
5
+ const common_1 = require("./common");
6
+ const commandkit_1 = require("commandkit");
7
+ exports.getMemberById = (0, common_1.createTool)({
8
+ description: 'Get a member by their ID. This tool can only be used in a guild.',
9
+ name: 'getMemberById',
10
+ inputSchema: zod_1.z.object({
11
+ memberId: zod_1.z.string().describe('The ID of the member to retrieve.'),
12
+ }),
13
+ async execute(ctx, params) {
14
+ try {
15
+ const { client, message } = ctx;
16
+ if (!message.inGuild()) {
17
+ return {
18
+ error: 'This tool can only be used in a guild',
19
+ };
20
+ }
21
+ const member = await message.guild?.members.fetch(params.memberId);
22
+ return {
23
+ id: member.id,
24
+ user: member.user.toJSON(),
25
+ roles: member.roles.cache.map((role) => role.name),
26
+ joinedAt: member.joinedAt?.toLocaleString(),
27
+ isBoosting: !!member.premiumSince,
28
+ voiceChannel: member.voice.channel?.name,
29
+ voiceChannelId: member.voice.channel?.id,
30
+ permissions: member.permissions.toArray().join(', '),
31
+ nickname: member.nickname,
32
+ name: member.user.username,
33
+ displayName: member.displayName,
34
+ avatar: member.user.displayAvatarURL(),
35
+ isBot: member.user.bot,
36
+ presence: member.presence?.status ?? 'unknown',
37
+ isDeafened: member.voice.deaf ?? 'Not in VC',
38
+ isMuted: member.voice.mute ?? 'Not in VC',
39
+ isMe: member.id === message.author.id,
40
+ };
41
+ }
42
+ catch (e) {
43
+ commandkit_1.Logger.error(e);
44
+ return {
45
+ error: 'Could not fetch the user',
46
+ };
47
+ }
48
+ },
49
+ });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LW1lbWJlci1ieS1pZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90b29scy9nZXQtbWVtYmVyLWJ5LWlkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUF3QjtBQUN4QixxQ0FBc0M7QUFDdEMsMkNBQW9DO0FBRXZCLFFBQUEsYUFBYSxHQUFHLElBQUEsbUJBQVUsRUFBQztJQUN0QyxXQUFXLEVBQ1Qsa0VBQWtFO0lBQ3BFLElBQUksRUFBRSxlQUFlO0lBQ3JCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3BCLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLG1DQUFtQyxDQUFDO0tBQ25FLENBQUM7SUFDRixLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxNQUFNO1FBQ3ZCLElBQUksQ0FBQztZQUNILE1BQU0sRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FBRyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztnQkFDdkIsT0FBTztvQkFDTCxLQUFLLEVBQUUsdUNBQXVDO2lCQUMvQyxDQUFDO1lBQ0osQ0FBQztZQUVELE1BQU0sTUFBTSxHQUFHLE1BQU0sT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUVuRSxPQUFPO2dCQUNMLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDYixJQUFJLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0JBQzFCLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2xELFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLGNBQWMsRUFBRTtnQkFDM0MsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsWUFBWTtnQkFDakMsWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLElBQUk7Z0JBQ3hDLGNBQWMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUN4QyxXQUFXLEVBQUUsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUNwRCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7Z0JBQ3pCLElBQUksRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVE7Z0JBQzFCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztnQkFDL0IsTUFBTSxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQ3RDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUc7Z0JBQ3RCLFFBQVEsRUFBRSxNQUFNLENBQUMsUUFBUSxFQUFFLE1BQU0sSUFBSSxTQUFTO2dCQUM5QyxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVztnQkFDNUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLFdBQVc7Z0JBQ3pDLElBQUksRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTthQUN0QyxDQUFDO1FBQ0osQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxtQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVoQixPQUFPO2dCQUNMLEtBQUssRUFBRSwwQkFBMEI7YUFDbEMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
@@ -1,12 +1,4 @@
1
1
  import { z } from 'zod';
2
2
  export declare const getUserById: import("ai").Tool<z.ZodObject<{
3
3
  userId: z.ZodString;
4
- }, "strip", z.ZodTypeAny, {
5
- userId: string;
6
- }, {
7
- userId: string;
8
- }>, unknown> & {
9
- execute: (args: {
10
- userId: string;
11
- }, options: import("ai").ToolExecutionOptions) => PromiseLike<unknown>;
12
- };
4
+ }, z.core.$strip>, unknown>;
@@ -7,7 +7,7 @@ const commandkit_1 = require("commandkit");
7
7
  exports.getUserById = (0, common_1.createTool)({
8
8
  description: 'Get a user by their ID.',
9
9
  name: 'getUserById',
10
- parameters: zod_1.z.object({
10
+ inputSchema: zod_1.z.object({
11
11
  userId: zod_1.z.string().describe('The ID of the user to retrieve.'),
12
12
  }),
13
13
  async execute(ctx, params) {
@@ -27,4 +27,4 @@ exports.getUserById = (0, common_1.createTool)({
27
27
  }
28
28
  },
29
29
  });
30
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXVzZXItYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LXVzZXItYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUN0QywyQ0FBb0M7QUFFdkIsUUFBQSxXQUFXLEdBQUcsSUFBQSxtQkFBVSxFQUFDO0lBQ3BDLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsSUFBSSxFQUFFLGFBQWE7SUFDbkIsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDbkIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUNBQWlDLENBQUM7S0FDL0QsQ0FBQztJQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ25ELEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxtQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVoQixPQUFPO2dCQUNMLEtBQUssRUFBRSwwQkFBMEI7YUFDbEMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LXVzZXItYnktaWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMvZ2V0LXVzZXItYnktaWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQXdCO0FBQ3hCLHFDQUFzQztBQUN0QywyQ0FBb0M7QUFFdkIsUUFBQSxXQUFXLEdBQUcsSUFBQSxtQkFBVSxFQUFDO0lBQ3BDLFdBQVcsRUFBRSx5QkFBeUI7SUFDdEMsSUFBSSxFQUFFLGFBQWE7SUFDbkIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLENBQUM7UUFDcEIsTUFBTSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsaUNBQWlDLENBQUM7S0FDL0QsQ0FBQztJQUNGLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLE1BQU07UUFDdkIsSUFBSSxDQUFDO1lBQ0gsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEdBQUcsQ0FBQztZQUN2QixNQUFNLElBQUksR0FBRyxNQUFNLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQ25ELEtBQUssRUFBRSxLQUFLO2dCQUNaLEtBQUssRUFBRSxJQUFJO2FBQ1osQ0FBQyxDQUFDO1lBRUgsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDdkIsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxtQkFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUVoQixPQUFPO2dCQUNMLEtBQUssRUFBRSwwQkFBMEI7YUFDbEMsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0NBQ0YsQ0FBQyxDQUFDIn0=
package/dist/types.d.ts CHANGED
@@ -20,7 +20,7 @@ export type MessageFilter = (commandkit: CommandKit, message: Message) => Promis
20
20
  * @returns A promise that resolves to an object containing the selected model and optional metadata.
21
21
  */
22
22
  export type SelectAiModel = (ctx: AiContext, message: Message) => Promise<SelectAiModelResult>;
23
- export type SelectAiModelResult = Parameters<typeof generateText>[0];
23
+ export type SelectAiModelResult = Omit<Parameters<typeof generateText>[0], 'messages' | 'prompt'>;
24
24
  export type CommandTool = LoadedCommand & {
25
25
  tool: Tool;
26
26
  };
@@ -32,7 +32,7 @@ export interface AiPluginOptions {
32
32
  /**
33
33
  * Extracts the AI configuration params.
34
34
  */
35
- export type ExtractAiConfig<T extends Record<string, unknown>> = T extends AiConfig ? InferParameters<T['parameters']> : T;
35
+ export type ExtractAiConfig<T extends Record<string, unknown>> = T extends AiConfig ? InferParameters<T['inputSchema']> : T;
36
36
  /**
37
37
  * Represents the context in which an AI command is executed.
38
38
  * It extends the MessageCommandContext to include AI-specific properties.
package/dist/utils.d.ts CHANGED
@@ -1,6 +1,13 @@
1
1
  import { TextBasedChannel } from 'discord.js';
2
+ import { AiConfig } from './plugin';
3
+ import { CommandData } from 'commandkit';
2
4
  /**
3
5
  * @private
4
6
  * @internal
5
7
  */
6
8
  export declare function createTypingIndicator(channel: TextBasedChannel): Promise<() => void>;
9
+ /**
10
+ * Generates AI config from a CommandKit command data.
11
+ * @experimental
12
+ */
13
+ export declare function experimental_createConfig(command: CommandData): AiConfig;
package/dist/utils.js CHANGED
@@ -1,6 +1,12 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.createTypingIndicator = createTypingIndicator;
7
+ exports.experimental_createConfig = experimental_createConfig;
8
+ const discord_js_1 = require("discord.js");
9
+ const zod_1 = __importDefault(require("zod"));
4
10
  /**
5
11
  * @private
6
12
  * @internal
@@ -21,4 +27,40 @@ async function createTypingIndicator(channel) {
21
27
  clearInterval(typingInterval);
22
28
  };
23
29
  }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFNQSxzREFxQkM7QUF6QkQ7OztHQUdHO0FBQ0ksS0FBSyxVQUFVLHFCQUFxQixDQUN6QyxPQUF5QjtJQUV6QixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFcEIsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDeEIsSUFBSSxPQUFPO1lBQUUsT0FBTyxhQUFhLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFbEQsSUFBSSxPQUFPLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQztZQUN6QixNQUFNLE9BQU8sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDM0MsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGLE1BQU0sY0FBYyxHQUFHLFdBQVcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFekQsTUFBTSxNQUFNLEVBQUUsQ0FBQztJQUVmLE9BQU8sR0FBRyxFQUFFO1FBQ1YsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNmLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUNoQyxDQUFDLENBQUM7QUFDSixDQUFDIn0=
30
+ /**
31
+ * Generates AI config from a CommandKit command data.
32
+ * @experimental
33
+ */
34
+ function experimental_createConfig(command) {
35
+ const inputSchema = zod_1.default.object({
36
+ ...Object.fromEntries(command.options?.map((option) => [
37
+ option.name,
38
+ (() => {
39
+ const { type, required, description } = option;
40
+ const t = (() => {
41
+ switch (type) {
42
+ case discord_js_1.ApplicationCommandOptionType.String:
43
+ return zod_1.default.string();
44
+ case discord_js_1.ApplicationCommandOptionType.Number:
45
+ return zod_1.default.number();
46
+ case discord_js_1.ApplicationCommandOptionType.Boolean:
47
+ return zod_1.default.boolean();
48
+ case discord_js_1.ApplicationCommandOptionType.Integer:
49
+ return zod_1.default.int();
50
+ default:
51
+ throw new Error(`Unsupported option type: ${type}`);
52
+ }
53
+ })().describe(description);
54
+ if (!required) {
55
+ return t.optional();
56
+ }
57
+ return t;
58
+ })(),
59
+ ]) ?? []),
60
+ });
61
+ return {
62
+ description: command.description ?? `${command.name} command tool`,
63
+ inputSchema,
64
+ };
65
+ }
66
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFTQSxzREFxQkM7QUFNRCw4REFxQ0M7QUF6RUQsMkNBQTRFO0FBRzVFLDhDQUFvQjtBQUVwQjs7O0dBR0c7QUFDSSxLQUFLLFVBQVUscUJBQXFCLENBQ3pDLE9BQXlCO0lBRXpCLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztJQUVwQixNQUFNLE1BQU0sR0FBRyxLQUFLLElBQUksRUFBRTtRQUN4QixJQUFJLE9BQU87WUFBRSxPQUFPLGFBQWEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUVsRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsTUFBTSxjQUFjLEdBQUcsV0FBVyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUV6RCxNQUFNLE1BQU0sRUFBRSxDQUFDO0lBRWYsT0FBTyxHQUFHLEVBQUU7UUFDVixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YsYUFBYSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQ2hDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxTQUFnQix5QkFBeUIsQ0FBQyxPQUFvQjtJQUM1RCxNQUFNLFdBQVcsR0FBRyxhQUFDLENBQUMsTUFBTSxDQUFDO1FBQzNCLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FDbkIsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1lBQy9CLE1BQU0sQ0FBQyxJQUFJO1lBQ1gsQ0FBQyxHQUFHLEVBQUU7Z0JBQ0osTUFBTSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLEdBQUcsTUFBTSxDQUFDO2dCQUUvQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtvQkFDZCxRQUFRLElBQUksRUFBRSxDQUFDO3dCQUNiLEtBQUsseUNBQTRCLENBQUMsTUFBTTs0QkFDdEMsT0FBTyxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ3BCLEtBQUsseUNBQTRCLENBQUMsTUFBTTs0QkFDdEMsT0FBTyxhQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7d0JBQ3BCLEtBQUsseUNBQTRCLENBQUMsT0FBTzs0QkFDdkMsT0FBTyxhQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7d0JBQ3JCLEtBQUsseUNBQTRCLENBQUMsT0FBTzs0QkFDdkMsT0FBTyxhQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7d0JBQ2pCOzRCQUNFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLElBQUksRUFBRSxDQUFDLENBQUM7b0JBQ3hELENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBRTNCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztvQkFDZCxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztnQkFFRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUMsQ0FBQyxFQUFFO1NBQ0wsQ0FBQyxJQUFJLEVBQUUsQ0FDVDtLQUNGLENBQUMsQ0FBQztJQUVILE9BQU87UUFDTCxXQUFXLEVBQUUsT0FBTyxDQUFDLFdBQVcsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLGVBQWU7UUFDbEUsV0FBVztLQUNPLENBQUM7QUFDdkIsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@commandkit/ai",
3
- "version": "1.2.0-rc.3",
3
+ "version": "1.2.0-rc.5",
4
4
  "description": "Supercharge your CommandKit bot with AI capabilities",
5
5
  "files": [
6
6
  "dist"
@@ -25,14 +25,14 @@
25
25
  },
26
26
  "homepage": "https://github.com/underctrl-io/commandkit#readme",
27
27
  "devDependencies": {
28
- "discord.js": "^14.21.0",
28
+ "discord.js": "^14.22.1",
29
29
  "typescript": "^5.8.3",
30
- "commandkit": "1.2.0-rc.3",
31
- "tsconfig": "0.0.0-rc.3"
30
+ "commandkit": "1.2.0-rc.5",
31
+ "tsconfig": "0.0.0-rc.5"
32
32
  },
33
33
  "dependencies": {
34
- "ai": "^4.3.16",
35
- "zod": "^3.25.48"
34
+ "ai": "^5.0.22",
35
+ "zod": "^4.1.0"
36
36
  },
37
37
  "scripts": {
38
38
  "check-types": "tsc --noEmit",