@commandkit/ai 0.1.0-dev.20250611020404 → 0.1.0-dev.20250611125312
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.
- package/dist/ai-context-worker.d.ts +6 -0
- package/dist/ai-context-worker.js +7 -1
- package/dist/context.d.ts +25 -0
- package/dist/context.js +14 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -1
- package/dist/plugin.d.ts +30 -0
- package/dist/plugin.js +32 -43
- package/dist/schema.d.ts +46 -0
- package/dist/schema.js +26 -26
- package/dist/types.d.ts +23 -0
- package/package.json +3 -3
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { Message } from 'discord.js';
|
|
2
2
|
import { AiContext } from './context';
|
|
3
|
+
/**
|
|
4
|
+
* @private
|
|
5
|
+
*/
|
|
3
6
|
export declare function getAiWorkerContext(): {
|
|
4
7
|
message: Message;
|
|
5
8
|
ctx: AiContext;
|
|
6
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
7
13
|
export declare function runInAiWorkerContext<R, F extends (...args: any[]) => R>(ctx: AiContext, message: Message, callback: F): R;
|
|
@@ -4,6 +4,9 @@ exports.getAiWorkerContext = getAiWorkerContext;
|
|
|
4
4
|
exports.runInAiWorkerContext = runInAiWorkerContext;
|
|
5
5
|
const node_async_hooks_1 = require("node:async_hooks");
|
|
6
6
|
const worker = new node_async_hooks_1.AsyncLocalStorage();
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
7
10
|
function getAiWorkerContext() {
|
|
8
11
|
const ctx = worker.getStore();
|
|
9
12
|
if (!ctx) {
|
|
@@ -11,7 +14,10 @@ function getAiWorkerContext() {
|
|
|
11
14
|
}
|
|
12
15
|
return ctx;
|
|
13
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
14
20
|
function runInAiWorkerContext(ctx, message, callback) {
|
|
15
21
|
return worker.run({ message, ctx }, callback);
|
|
16
22
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWktY29udGV4dC13b3JrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvYWktY29udGV4dC13b3JrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFTQSxnREFVQztBQUtELG9EQU1DO0FBN0JELHVEQUFxRDtBQUdyRCxNQUFNLE1BQU0sR0FBRyxJQUFJLG9DQUFpQixFQUF3QyxDQUFDO0FBRTdFOztHQUVHO0FBQ0gsU0FBZ0Isa0JBQWtCO0lBQ2hDLE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUU5QixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDVCxNQUFNLElBQUksS0FBSyxDQUNiLG1GQUFtRixDQUNwRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQ2xDLEdBQWMsRUFDZCxPQUFnQixFQUNoQixRQUFXO0lBRVgsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ2hELENBQUMifQ==
|
package/dist/context.d.ts
CHANGED
|
@@ -5,11 +5,36 @@ export interface AiContextOptions<T extends Record<string, unknown> = Record<str
|
|
|
5
5
|
params: T;
|
|
6
6
|
commandkit: CommandKit;
|
|
7
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* Represents the context in which an AI command is executed.
|
|
10
|
+
* This includes the parameters passed to the command, the message that triggered it,
|
|
11
|
+
* and the CommandKit instance associated with the command.
|
|
12
|
+
*/
|
|
8
13
|
export declare class AiContext<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
14
|
+
/**
|
|
15
|
+
* The parameters passed to the AI command.
|
|
16
|
+
*/
|
|
9
17
|
params: T;
|
|
18
|
+
/**
|
|
19
|
+
* The message that triggered the AI command.
|
|
20
|
+
*/
|
|
10
21
|
message: Message;
|
|
22
|
+
/**
|
|
23
|
+
* The client instance associated with the AI command.
|
|
24
|
+
*/
|
|
11
25
|
client: Client;
|
|
26
|
+
/**
|
|
27
|
+
* The CommandKit instance associated with the AI command.
|
|
28
|
+
*/
|
|
12
29
|
commandkit: CommandKit;
|
|
30
|
+
/**
|
|
31
|
+
* Creates a new instance of AiContext.
|
|
32
|
+
* @param options - The options for the AI context, including the message, parameters, and CommandKit instance.
|
|
33
|
+
*/
|
|
13
34
|
constructor(options: AiContextOptions<T>);
|
|
35
|
+
/**
|
|
36
|
+
* Sets the parameters for the AI context.
|
|
37
|
+
* @param params - The parameters to set.
|
|
38
|
+
*/
|
|
14
39
|
setParams(params: T): void;
|
|
15
40
|
}
|
package/dist/context.js
CHANGED
|
@@ -1,16 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.AiContext = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Represents the context in which an AI command is executed.
|
|
6
|
+
* This includes the parameters passed to the command, the message that triggered it,
|
|
7
|
+
* and the CommandKit instance associated with the command.
|
|
8
|
+
*/
|
|
4
9
|
class AiContext {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new instance of AiContext.
|
|
12
|
+
* @param options - The options for the AI context, including the message, parameters, and CommandKit instance.
|
|
13
|
+
*/
|
|
5
14
|
constructor(options) {
|
|
6
15
|
this.params = options.params;
|
|
7
16
|
this.message = options.message;
|
|
8
17
|
this.commandkit = options.commandkit;
|
|
9
18
|
this.client = options.commandkit.client;
|
|
10
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* Sets the parameters for the AI context.
|
|
22
|
+
* @param params - The parameters to set.
|
|
23
|
+
*/
|
|
11
24
|
setParams(params) {
|
|
12
25
|
this.params = params;
|
|
13
26
|
}
|
|
14
27
|
}
|
|
15
28
|
exports.AiContext = AiContext;
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQVdBOzs7O0dBSUc7QUFDSCxNQUFhLFNBQVM7SUFvQnBCOzs7T0FHRztJQUNILFlBQW1CLE9BQTRCO1FBQzdDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUM3QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDMUMsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxNQUFTO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRjtBQXRDRCw4QkFzQ0MifQ==
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { AiPlugin } from './plugin';
|
|
2
2
|
import { AiPluginOptions } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Defines the AI plugin for the application.
|
|
5
|
+
* @param options The options for the AI plugin
|
|
6
|
+
* @returns The AI plugin instance
|
|
7
|
+
*/
|
|
3
8
|
export declare function ai(options?: AiPluginOptions): AiPlugin;
|
|
4
9
|
export * from './types';
|
|
5
10
|
export * from './plugin';
|
package/dist/index.js
CHANGED
|
@@ -16,10 +16,15 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
exports.ai = ai;
|
|
18
18
|
const plugin_1 = require("./plugin");
|
|
19
|
+
/**
|
|
20
|
+
* Defines the AI plugin for the application.
|
|
21
|
+
* @param options The options for the AI plugin
|
|
22
|
+
* @returns The AI plugin instance
|
|
23
|
+
*/
|
|
19
24
|
function ai(options) {
|
|
20
25
|
return new plugin_1.AiPlugin(options ?? {});
|
|
21
26
|
}
|
|
22
27
|
__exportStar(require("./types"), exports);
|
|
23
28
|
__exportStar(require("./plugin"), exports);
|
|
24
29
|
__exportStar(require("./context"), exports);
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLGdCQUVDO0FBVkQscUNBQW9DO0FBR3BDOzs7O0dBSUc7QUFDSCxTQUFnQixFQUFFLENBQUMsT0FBeUI7SUFDMUMsT0FBTyxJQUFJLGlCQUFRLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0FBQ3JDLENBQUM7QUFFRCwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDRDQUEwQiJ9
|
package/dist/plugin.d.ts
CHANGED
|
@@ -1,15 +1,45 @@
|
|
|
1
1
|
import { CommandKitPluginRuntime, RuntimePlugin } from 'commandkit/plugin';
|
|
2
2
|
import { AiPluginOptions, MessageFilter, SelectAiModel } from './types';
|
|
3
3
|
import { Message } from 'discord.js';
|
|
4
|
+
/**
|
|
5
|
+
* Represents the configuration options for the AI plugin scoped to a specific command.
|
|
6
|
+
*/
|
|
4
7
|
export interface AiConfig {
|
|
8
|
+
/**
|
|
9
|
+
* A description of the AI functionality provided by this command. If not given, the command's description will be used.
|
|
10
|
+
*/
|
|
5
11
|
description?: string;
|
|
12
|
+
/**
|
|
13
|
+
* A zod schema defining the parameters that the AI command accepts.
|
|
14
|
+
*/
|
|
6
15
|
parameters: any;
|
|
7
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Represents the configuration options for the AI model.
|
|
19
|
+
*/
|
|
8
20
|
export interface ConfigureAI {
|
|
21
|
+
/**
|
|
22
|
+
* A filter function that determines whether a message should be processed by the AI.
|
|
23
|
+
* CommandKit invokes this function before processing the message.
|
|
24
|
+
*/
|
|
9
25
|
messageFilter?: MessageFilter;
|
|
26
|
+
/**
|
|
27
|
+
* A function that selects the AI model to use based on the message.
|
|
28
|
+
* This function should return a promise that resolves to an object containing the model and options.
|
|
29
|
+
*/
|
|
10
30
|
selectAiModel?: SelectAiModel;
|
|
31
|
+
/**
|
|
32
|
+
* A function that generates a system prompt based on the message.
|
|
33
|
+
* This function should return a promise that resolves to a string containing the system prompt.
|
|
34
|
+
* If not provided, a default system prompt will be used.
|
|
35
|
+
*/
|
|
11
36
|
systemPrompt?: (message: Message) => Promise<string>;
|
|
12
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Configures the AI plugin with the provided options.
|
|
40
|
+
* This function allows you to set a message filter, select an AI model, and generate a system prompt.
|
|
41
|
+
* @param config The configuration options for the AI plugin.
|
|
42
|
+
*/
|
|
13
43
|
export declare function configureAI(config: ConfigureAI): void;
|
|
14
44
|
export declare class AiPlugin extends RuntimePlugin<AiPluginOptions> {
|
|
15
45
|
readonly name = "AiPlugin";
|
package/dist/plugin.js
CHANGED
|
@@ -13,6 +13,11 @@ const schema_1 = require("./schema");
|
|
|
13
13
|
let messageFilter = null;
|
|
14
14
|
let selectAiModel = null;
|
|
15
15
|
let generateSystemPrompt;
|
|
16
|
+
/**
|
|
17
|
+
* Configures the AI plugin with the provided options.
|
|
18
|
+
* This function allows you to set a message filter, select an AI model, and generate a system prompt.
|
|
19
|
+
* @param config The configuration options for the AI plugin.
|
|
20
|
+
*/
|
|
16
21
|
function configureAI(config) {
|
|
17
22
|
if (config.messageFilter) {
|
|
18
23
|
messageFilter = config.messageFilter;
|
|
@@ -151,9 +156,14 @@ class AiPlugin extends plugin_1.RuntimePlugin {
|
|
|
151
156
|
Tools are basically like commands that you can execute to perform specific actions based on user input.
|
|
152
157
|
Keep the response short and concise, and only use tools when necessary. Keep the response length under 2000 characters.
|
|
153
158
|
Do not include your own text in the response unless necessary. For text formatting, you can use discord's markdown syntax.
|
|
159
|
+
The current channel is ${'name' in message.channel
|
|
160
|
+
? message.channel.name
|
|
161
|
+
: message.channel.recipient?.displayName || 'DM'} whose id is ${message.channelId}. ${message.channel.isSendable()
|
|
162
|
+
? 'You can send messages in this channel.'
|
|
163
|
+
: 'You cannot send messages in this channel.'}
|
|
154
164
|
${message.inGuild() ? `\nYou are currently in a guild named ${message.guild.name} whose id is ${message.guildId}. While in guild, you can fetch member information if needed.` : '\nYou are currently in a direct message with the user.'}
|
|
155
165
|
If the user asks you to create a poll or embeds, create a text containing the poll or embed information as a markdown instead of json. If structured response is possible, use the structured response format instead.
|
|
156
|
-
If the user asks you to perform a task that requires a tool, use the tool to perform the task and return the result.
|
|
166
|
+
If the user asks you to perform a task that requires a tool, use the tool to perform the task and return the result. Reject any requests that are not related to the tools you have access to.
|
|
157
167
|
`;
|
|
158
168
|
const userInfo = `<user>
|
|
159
169
|
<id>${message.author.id}</id>
|
|
@@ -167,53 +177,32 @@ class AiPlugin extends plugin_1.RuntimePlugin {
|
|
|
167
177
|
try {
|
|
168
178
|
const { model, options, objectMode = false, } = await aiModelSelector(message);
|
|
169
179
|
const originalPrompt = `${userInfo}\nUser: ${message.content}\nAI:`;
|
|
170
|
-
|
|
171
|
-
|
|
180
|
+
let result;
|
|
181
|
+
const config = {
|
|
172
182
|
model,
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
}),
|
|
176
|
-
prompt,
|
|
183
|
+
abortSignal: AbortSignal.timeout(60000),
|
|
184
|
+
prompt: originalPrompt,
|
|
177
185
|
system: systemPrompt,
|
|
178
|
-
maxSteps: 5,
|
|
179
186
|
providerOptions: options,
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
: {}),
|
|
187
|
-
});
|
|
188
|
-
let result;
|
|
189
|
-
try {
|
|
190
|
-
result = await call({});
|
|
187
|
+
};
|
|
188
|
+
if (objectMode) {
|
|
189
|
+
result = await (0, ai_1.generateObject)({
|
|
190
|
+
...config,
|
|
191
|
+
schema: schema_1.AiResponseSchema,
|
|
192
|
+
});
|
|
191
193
|
}
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
if (!r1.text)
|
|
199
|
-
throw new Error('No text response from AI');
|
|
200
|
-
const r2 = await call({
|
|
201
|
-
includeTools: false,
|
|
202
|
-
disableObjectMode: false,
|
|
203
|
-
prompt: `Original context: ${originalPrompt} ${r1.text}\n\nGenerate a structured response based on the previous response`,
|
|
204
|
-
});
|
|
205
|
-
result = r2;
|
|
206
|
-
}
|
|
194
|
+
else {
|
|
195
|
+
result = await (0, ai_1.generateText)({
|
|
196
|
+
...config,
|
|
197
|
+
tools: { ...this.toolsRecord, ...this.defaultTools },
|
|
198
|
+
maxSteps: 5,
|
|
199
|
+
});
|
|
207
200
|
}
|
|
208
201
|
stopTyping();
|
|
209
202
|
let structuredResult = null;
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
structuredResult = val;
|
|
214
|
-
}
|
|
215
|
-
}
|
|
216
|
-
catch { }
|
|
203
|
+
structuredResult = !('text' in result)
|
|
204
|
+
? result.object
|
|
205
|
+
: null;
|
|
217
206
|
if (structuredResult) {
|
|
218
207
|
const { poll, content, embed } = structuredResult;
|
|
219
208
|
if (!poll && !content && !embed) {
|
|
@@ -254,7 +243,7 @@ class AiPlugin extends plugin_1.RuntimePlugin {
|
|
|
254
243
|
: undefined,
|
|
255
244
|
});
|
|
256
245
|
}
|
|
257
|
-
else if (!!result.text) {
|
|
246
|
+
else if ('text' in result && !!result.text) {
|
|
258
247
|
await message.reply({
|
|
259
248
|
content: result.text.substring(0, 2000),
|
|
260
249
|
allowedMentions: { parse: [] },
|
|
@@ -333,4 +322,4 @@ class AiPlugin extends plugin_1.RuntimePlugin {
|
|
|
333
322
|
}
|
|
334
323
|
}
|
|
335
324
|
exports.AiPlugin = AiPlugin;
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFpQ0Esa0NBWUM7QUE3Q0QsOENBQTJFO0FBRTNFLDJDQUFtRDtBQUNuRCx1Q0FBc0M7QUFDdEMsMkNBQXNFO0FBQ3RFLDJCQUFzRDtBQUN0RCw2QkFBd0I7QUFDeEIsMkRBQStFO0FBQy9FLHFDQUE0QztBQWU1QyxJQUFJLGFBQWEsR0FBeUIsSUFBSSxDQUFDO0FBQy9DLElBQUksYUFBYSxHQUF5QixJQUFJLENBQUM7QUFDL0MsSUFBSSxvQkFBeUUsQ0FBQztBQVE5RSxTQUFnQixXQUFXLENBQUMsTUFBbUI7SUFDN0MsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBYSxRQUFTLFNBQVEsc0JBQThCO0lBTTFELFlBQW1CLE9BQXdCO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQU5ELFNBQUksR0FBRyxVQUFVLENBQUM7UUFDMUIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztRQUN4QyxrQkFBYSxHQUFpRCxJQUFJLENBQUM7SUFJM0UsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBNEI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVB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
|
|
325
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3BsdWdpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUErREEsa0NBWUM7QUEzRUQsOENBQTJFO0FBRTNFLDJDQUFtRDtBQUNuRCx1Q0FBc0M7QUFDdEMsMkNBQXNFO0FBQ3RFLDJCQUE4RDtBQUM5RCw2QkFBd0I7QUFDeEIsMkRBQStFO0FBQy9FLHFDQUF3RDtBQXdCeEQsSUFBSSxhQUFhLEdBQXlCLElBQUksQ0FBQztBQUMvQyxJQUFJLGFBQWEsR0FBeUIsSUFBSSxDQUFDO0FBQy9DLElBQUksb0JBQXlFLENBQUM7QUF3QjlFOzs7O0dBSUc7QUFDSCxTQUFnQixXQUFXLENBQUMsTUFBbUI7SUFDN0MsSUFBSSxNQUFNLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDekIsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQUksTUFBTSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3pCLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxJQUFJLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4QixvQkFBb0IsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO0lBQzdDLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBYSxRQUFTLFNBQVEsc0JBQThCO0lBTTFELFlBQW1CLE9BQXdCO1FBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQU5ELFNBQUksR0FBRyxVQUFVLENBQUM7UUFDMUIsZ0JBQVcsR0FBeUIsRUFBRSxDQUFDO1FBQ3ZDLGlCQUFZLEdBQXlCLEVBQUUsQ0FBQztRQUN4QyxrQkFBYSxHQUFpRCxJQUFJLENBQUM7SUFJM0UsQ0FBQztJQUVNLEtBQUssQ0FBQyxRQUFRLENBQUMsR0FBNEI7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFB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
|
package/dist/schema.d.ts
CHANGED
|
@@ -1,4 +1,50 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const pollSchema: z.ZodObject<{
|
|
3
|
+
question: z.ZodObject<{
|
|
4
|
+
text: z.ZodString;
|
|
5
|
+
emoji: z.ZodOptional<z.ZodString>;
|
|
6
|
+
}, "strip", z.ZodTypeAny, {
|
|
7
|
+
text: string;
|
|
8
|
+
emoji?: string | undefined;
|
|
9
|
+
}, {
|
|
10
|
+
text: string;
|
|
11
|
+
emoji?: string | undefined;
|
|
12
|
+
}>;
|
|
13
|
+
answers: z.ZodArray<z.ZodObject<{
|
|
14
|
+
text: z.ZodString;
|
|
15
|
+
emoji: z.ZodOptional<z.ZodString>;
|
|
16
|
+
}, "strip", z.ZodTypeAny, {
|
|
17
|
+
text: string;
|
|
18
|
+
emoji?: string | undefined;
|
|
19
|
+
}, {
|
|
20
|
+
text: string;
|
|
21
|
+
emoji?: string | undefined;
|
|
22
|
+
}>, "many">;
|
|
23
|
+
allow_multiselect: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
24
|
+
duration: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
25
|
+
}, "strip", z.ZodTypeAny, {
|
|
26
|
+
question: {
|
|
27
|
+
text: string;
|
|
28
|
+
emoji?: string | undefined;
|
|
29
|
+
};
|
|
30
|
+
answers: {
|
|
31
|
+
text: string;
|
|
32
|
+
emoji?: string | undefined;
|
|
33
|
+
}[];
|
|
34
|
+
allow_multiselect: boolean;
|
|
35
|
+
duration: number;
|
|
36
|
+
}, {
|
|
37
|
+
question: {
|
|
38
|
+
text: string;
|
|
39
|
+
emoji?: string | undefined;
|
|
40
|
+
};
|
|
41
|
+
answers: {
|
|
42
|
+
text: string;
|
|
43
|
+
emoji?: string | undefined;
|
|
44
|
+
}[];
|
|
45
|
+
allow_multiselect?: boolean | undefined;
|
|
46
|
+
duration?: number | undefined;
|
|
47
|
+
}>;
|
|
2
48
|
export declare const AiResponseSchema: z.ZodObject<{
|
|
3
49
|
content: z.ZodOptional<z.ZodString>;
|
|
4
50
|
embed: z.ZodOptional<z.ZodObject<{
|
package/dist/schema.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AiResponseSchema = void 0;
|
|
3
|
+
exports.AiResponseSchema = exports.pollSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const pollMediaObject = zod_1.z
|
|
6
6
|
.object({
|
|
@@ -12,6 +12,29 @@ const pollMediaObject = zod_1.z
|
|
|
12
12
|
.describe('An optional emoji associated with the poll question. Eg: 👍'),
|
|
13
13
|
})
|
|
14
14
|
.describe('An object representing the media for a poll question, containing the text of the question. Emoji cannot be used in question text.');
|
|
15
|
+
exports.pollSchema = zod_1.z
|
|
16
|
+
.object({
|
|
17
|
+
question: pollMediaObject,
|
|
18
|
+
answers: zod_1.z
|
|
19
|
+
.array(pollMediaObject)
|
|
20
|
+
.min(1)
|
|
21
|
+
.max(10)
|
|
22
|
+
.describe('An array of answers for the poll'),
|
|
23
|
+
allow_multiselect: zod_1.z
|
|
24
|
+
.boolean()
|
|
25
|
+
.optional()
|
|
26
|
+
.default(false)
|
|
27
|
+
.describe('Whether the poll allows multiple selections'),
|
|
28
|
+
duration: zod_1.z
|
|
29
|
+
.number()
|
|
30
|
+
.int()
|
|
31
|
+
.min(1)
|
|
32
|
+
.max(32)
|
|
33
|
+
.optional()
|
|
34
|
+
.default(24)
|
|
35
|
+
.describe('The duration of the poll in hours'),
|
|
36
|
+
})
|
|
37
|
+
.describe('An object representing a poll to include in the message');
|
|
15
38
|
exports.AiResponseSchema = zod_1.z
|
|
16
39
|
.object({
|
|
17
40
|
content: zod_1.z
|
|
@@ -76,30 +99,7 @@ exports.AiResponseSchema = zod_1.z
|
|
|
76
99
|
})
|
|
77
100
|
.optional()
|
|
78
101
|
.describe('An object representing embeds to include in the discord message. This is an optional field.'),
|
|
79
|
-
poll:
|
|
80
|
-
.object({
|
|
81
|
-
question: pollMediaObject,
|
|
82
|
-
answers: zod_1.z
|
|
83
|
-
.array(pollMediaObject)
|
|
84
|
-
.min(1)
|
|
85
|
-
.max(10)
|
|
86
|
-
.describe('An array of answers for the poll'),
|
|
87
|
-
allow_multiselect: zod_1.z
|
|
88
|
-
.boolean()
|
|
89
|
-
.optional()
|
|
90
|
-
.default(false)
|
|
91
|
-
.describe('Whether the poll allows multiple selections'),
|
|
92
|
-
duration: zod_1.z
|
|
93
|
-
.number()
|
|
94
|
-
.int()
|
|
95
|
-
.min(1)
|
|
96
|
-
.max(32)
|
|
97
|
-
.optional()
|
|
98
|
-
.default(24)
|
|
99
|
-
.describe('The duration of the poll in hours'),
|
|
100
|
-
})
|
|
101
|
-
.optional()
|
|
102
|
-
.describe('An object representing a poll to include in the message'),
|
|
102
|
+
poll: exports.pollSchema.optional(),
|
|
103
103
|
})
|
|
104
104
|
.describe('The schema for an AI response message to be sent to discord, including content and embeds. At least one of content, embeds, or poll must be present.');
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3NjaGVtYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBd0I7QUFFeEIsTUFBTSxlQUFlLEdBQUcsT0FBQztLQUN0QixNQUFNLENBQUM7SUFDTixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQywrQkFBK0IsQ0FBQztJQUNqRSxLQUFLLEVBQUUsT0FBQztTQUNMLE1BQU0sRUFBRTtTQUNSLElBQUksRUFBRTtTQUNOLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FBQyw2REFBNkQsQ0FBQztDQUMzRSxDQUFDO0tBQ0QsUUFBUSxDQUNQLG1JQUFtSSxDQUNwSSxDQUFDO0FBRVMsUUFBQSxVQUFVLEdBQUcsT0FBQztLQUN4QixNQUFNLENBQUM7SUFDTixRQUFRLEVBQUUsZUFBZTtJQUN6QixPQUFPLEVBQUUsT0FBQztTQUNQLEtBQUssQ0FBQyxlQUFlLENBQUM7U0FDdEIsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNOLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDUCxRQUFRLENBQUMsa0NBQWtDLENBQUM7SUFDL0MsaUJBQWlCLEVBQUUsT0FBQztTQUNqQixPQUFPLEVBQUU7U0FDVCxRQUFRLEVBQUU7U0FDVixPQUFPLENBQUMsS0FBSyxDQUFDO1NBQ2QsUUFBUSxDQUFDLDZDQUE2QyxDQUFDO0lBQzFELFFBQVEsRUFBRSxPQUFDO1NBQ1IsTUFBTSxFQUFFO1NBQ1IsR0FBRyxFQUFFO1NBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNOLEdBQUcsQ0FBQyxFQUFFLENBQUM7U0FDUCxRQUFRLEVBQUU7U0FDVixPQUFPLENBQUMsRUFBRSxDQUFDO1NBQ1gsUUFBUSxDQUFDLG1DQUFtQyxDQUFDO0NBQ2pELENBQUM7S0FDRCxRQUFRLENBQUMseURBQXlELENBQUMsQ0FBQztBQUUxRCxRQUFBLGdCQUFnQixHQUFHLE9BQUM7S0FDOUIsTUFBTSxDQUFDO0lBQ04sT0FBTyxFQUFFLE9BQUM7U0FDUCxNQUFNLEVBQUU7U0FDUixJQUFJLEVBQUU7U0FDTixRQUFRLEVBQUU7U0FDVixRQUFRLENBQ1AsNEZBQTRGLENBQzdGO0lBQ0gsS0FBSyxFQUFFLE9BQUM7U0FDTCxNQUFNLENBQUM7UUFDTixLQUFLLEVBQUUsT0FBQzthQUNMLE1BQU0sRUFBRTthQUNSLElBQUksRUFBRTthQUNOLFFBQVEsRUFBRTthQUNWLFFBQVEsQ0FBQyxvREFBb0QsQ0FBQztRQUNqRSxXQUFXLEVBQUUsT0FBQzthQUNYLE1BQU0sRUFBRTthQUNSLElBQUksRUFBRTthQUNOLFFBQVEsRUFBRTthQUNWLFFBQVEsQ0FBQywwREFBMEQsQ0FBQztRQUN2RSxHQUFHLEVBQUUsT0FBQzthQUNILE1BQU0sRUFBRTthQUNSLFFBQVEsRUFBRTthQUNWLFFBQVEsQ0FDUCw2REFBNkQsQ0FDOUQ7UUFDSCxLQUFLLEVBQUUsT0FBQzthQUNMLE1BQU0sRUFBRTthQUNSLEdBQUcsRUFBRTthQUNMLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDTixHQUFHLENBQUMsUUFBUSxDQUFDO2FBQ2IsUUFBUSxFQUFFO2FBQ1YsUUFBUSxDQUNQLDRGQUE0RixDQUM3RjtRQUNILGNBQWMsRUFBRSxPQUFDO2FBQ2QsTUFBTSxFQUFFO2FBQ1IsUUFBUSxFQUFFO2FBQ1YsUUFBUSxDQUFDLHlEQUF5RCxDQUFDO1FBQ3RFLEtBQUssRUFBRSxPQUFDO2FBQ0wsTUFBTSxFQUFFO2FBQ1IsUUFBUSxFQUFFO2FBQ1YsUUFBUSxDQUNQLGlFQUFpRSxDQUNsRTtRQUNILE1BQU0sRUFBRSxPQUFDO2FBQ04sTUFBTSxFQUFFO2FBQ1IsUUFBUSxFQUFFO2FBQ1YsUUFBUSxDQUFDLDBEQUEwRCxDQUFDO1FBQ3ZFLFVBQVUsRUFBRSxPQUFDO2FBQ1YsTUFBTSxFQUFFO2FBQ1IsUUFBUSxFQUFFO2FBQ1YsUUFBUSxDQUNQLHFGQUFxRixDQUN0RjtRQUNILE1BQU0sRUFBRSxPQUFDO2FBQ04sS0FBSyxDQUNKLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztZQUMxRCxLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyx5QkFBeUIsQ0FBQztZQUM1RCxNQUFNLEVBQUUsT0FBQztpQkFDTixPQUFPLEVBQUU7aUJBQ1QsUUFBUSxFQUFFO2lCQUNWLE9BQU8sQ0FBQyxLQUFLLENBQUM7aUJBQ2QsUUFBUSxDQUNQLG9IQUFvSCxDQUNySDtTQUNKLENBQUMsQ0FDSDthQUNBLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDTixHQUFHLENBQUMsRUFBRSxDQUFDO2FBQ1AsT0FBTyxDQUFDLEVBQUUsQ0FBQzthQUNYLFFBQVEsRUFBRTthQUNWLFFBQVEsQ0FDUCwySUFBMkksQ0FDNUk7S0FDSixDQUFDO1NBQ0QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUNQLDZGQUE2RixDQUM5RjtJQUNILElBQUksRUFBRSxrQkFBVSxDQUFDLFFBQVEsRUFBRTtDQUM1QixDQUFDO0tBQ0QsUUFBUSxDQUNQLHNKQUFzSixDQUN2SixDQUFDIn0=
|
package/dist/types.d.ts
CHANGED
|
@@ -1,13 +1,36 @@
|
|
|
1
1
|
import { LanguageModelV1, ProviderMetadata } from 'ai';
|
|
2
2
|
import { Message } from 'discord.js';
|
|
3
3
|
import { AiContext } from './context';
|
|
4
|
+
/**
|
|
5
|
+
* Function type for filtering commands based on their name.
|
|
6
|
+
* @param commandName - The name of the command to filter.
|
|
7
|
+
* @returns A boolean indicating whether the command should be included in the filter.
|
|
8
|
+
*/
|
|
4
9
|
export type CommandFilterFunction = (commandName: string) => boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Function type for filtering messages before they are processed by the AI.
|
|
12
|
+
* @param message - The message to filter.
|
|
13
|
+
* @returns A promise that resolves to a boolean indicating whether the message should be processed.
|
|
14
|
+
*/
|
|
5
15
|
export type MessageFilter = (message: Message) => Promise<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* Function type for selecting an AI model based on the message.
|
|
18
|
+
* @param message - The message to base the model selection on.
|
|
19
|
+
* @returns A promise that resolves to an object containing the selected model and optional metadata.
|
|
20
|
+
*/
|
|
6
21
|
export type SelectAiModel = (message: Message) => Promise<{
|
|
7
22
|
model: LanguageModelV1;
|
|
8
23
|
options?: ProviderMetadata;
|
|
9
24
|
objectMode?: boolean;
|
|
10
25
|
}>;
|
|
26
|
+
/**
|
|
27
|
+
* Options for the AI plugin.
|
|
28
|
+
*/
|
|
11
29
|
export interface AiPluginOptions {
|
|
12
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Represents a command that can be executed by the AI.
|
|
33
|
+
* @param T - The type of parameters that the command accepts.
|
|
34
|
+
* @param ctx - The AI context in which the command is executed, including the message and parameters.
|
|
35
|
+
*/
|
|
13
36
|
export type AiCommand<T extends Record<string, unknown>> = (ctx: AiContext<T>) => Promise<unknown> | unknown;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commandkit/ai",
|
|
3
|
-
"version": "0.1.0-dev.
|
|
3
|
+
"version": "0.1.0-dev.20250611125312",
|
|
4
4
|
"description": "Supercharge your CommandKit bot with AI capabilities",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist"
|
|
@@ -24,8 +24,8 @@
|
|
|
24
24
|
"devDependencies": {
|
|
25
25
|
"discord.js": "^14.19.3",
|
|
26
26
|
"typescript": "^5.7.3",
|
|
27
|
-
"
|
|
28
|
-
"
|
|
27
|
+
"commandkit": "1.0.0-dev.20250611125312",
|
|
28
|
+
"tsconfig": "0.0.0-dev.20250611125312"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"ai": "^4.3.16",
|