discord-ops 0.1.0
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/CHANGELOG.md +16 -0
- package/LICENSE +21 -0
- package/README.md +150 -0
- package/dist/cli/health.d.ts +2 -0
- package/dist/cli/health.d.ts.map +1 -0
- package/dist/cli/health.js +2 -0
- package/dist/cli/health.js.map +1 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +98 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/client.d.ts +22 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +87 -0
- package/dist/client.js.map +1 -0
- package/dist/config/index.d.ts +17 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +58 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/profiles.d.ts +18 -0
- package/dist/config/profiles.d.ts.map +1 -0
- package/dist/config/profiles.js +28 -0
- package/dist/config/profiles.js.map +1 -0
- package/dist/config/schema.d.ts +76 -0
- package/dist/config/schema.d.ts.map +1 -0
- package/dist/config/schema.js +29 -0
- package/dist/config/schema.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -0
- package/dist/routing/fuzzy.d.ts +16 -0
- package/dist/routing/fuzzy.d.ts.map +1 -0
- package/dist/routing/fuzzy.js +67 -0
- package/dist/routing/fuzzy.js.map +1 -0
- package/dist/routing/resolver.d.ts +31 -0
- package/dist/routing/resolver.d.ts.map +1 -0
- package/dist/routing/resolver.js +60 -0
- package/dist/routing/resolver.js.map +1 -0
- package/dist/security/audit.d.ts +9 -0
- package/dist/security/audit.d.ts.map +1 -0
- package/dist/security/audit.js +20 -0
- package/dist/security/audit.js.map +1 -0
- package/dist/security/permissions.d.ts +6 -0
- package/dist/security/permissions.d.ts.map +1 -0
- package/dist/security/permissions.js +15 -0
- package/dist/security/permissions.js.map +1 -0
- package/dist/security/rate-limiter.d.ts +16 -0
- package/dist/security/rate-limiter.d.ts.map +1 -0
- package/dist/security/rate-limiter.js +36 -0
- package/dist/security/rate-limiter.js.map +1 -0
- package/dist/security/sanitizer.d.ts +5 -0
- package/dist/security/sanitizer.d.ts.map +1 -0
- package/dist/security/sanitizer.js +26 -0
- package/dist/security/sanitizer.js.map +1 -0
- package/dist/security/token-validator.d.ts +9 -0
- package/dist/security/token-validator.d.ts.map +1 -0
- package/dist/security/token-validator.js +18 -0
- package/dist/security/token-validator.js.map +1 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +64 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/channels/create-channel.d.ts +3 -0
- package/dist/tools/channels/create-channel.d.ts.map +1 -0
- package/dist/tools/channels/create-channel.js +46 -0
- package/dist/tools/channels/create-channel.js.map +1 -0
- package/dist/tools/channels/delete-channel.d.ts +3 -0
- package/dist/tools/channels/delete-channel.d.ts.map +1 -0
- package/dist/tools/channels/delete-channel.js +20 -0
- package/dist/tools/channels/delete-channel.js.map +1 -0
- package/dist/tools/channels/edit-channel.d.ts +3 -0
- package/dist/tools/channels/edit-channel.d.ts.map +1 -0
- package/dist/tools/channels/edit-channel.js +32 -0
- package/dist/tools/channels/edit-channel.js.map +1 -0
- package/dist/tools/channels/get-channel.d.ts +3 -0
- package/dist/tools/channels/get-channel.d.ts.map +1 -0
- package/dist/tools/channels/get-channel.js +34 -0
- package/dist/tools/channels/get-channel.js.map +1 -0
- package/dist/tools/channels/index.d.ts +6 -0
- package/dist/tools/channels/index.d.ts.map +1 -0
- package/dist/tools/channels/index.js +6 -0
- package/dist/tools/channels/index.js.map +1 -0
- package/dist/tools/channels/list-channels.d.ts +3 -0
- package/dist/tools/channels/list-channels.d.ts.map +1 -0
- package/dist/tools/channels/list-channels.js +47 -0
- package/dist/tools/channels/list-channels.js.map +1 -0
- package/dist/tools/guilds/get-guild.d.ts +3 -0
- package/dist/tools/guilds/get-guild.d.ts.map +1 -0
- package/dist/tools/guilds/get-guild.js +30 -0
- package/dist/tools/guilds/get-guild.js.map +1 -0
- package/dist/tools/guilds/index.d.ts +3 -0
- package/dist/tools/guilds/index.d.ts.map +1 -0
- package/dist/tools/guilds/index.js +3 -0
- package/dist/tools/guilds/index.js.map +1 -0
- package/dist/tools/guilds/list-guilds.d.ts +3 -0
- package/dist/tools/guilds/list-guilds.d.ts.map +1 -0
- package/dist/tools/guilds/list-guilds.js +25 -0
- package/dist/tools/guilds/list-guilds.js.map +1 -0
- package/dist/tools/health-check.d.ts +3 -0
- package/dist/tools/health-check.d.ts.map +1 -0
- package/dist/tools/health-check.js +45 -0
- package/dist/tools/health-check.js.map +1 -0
- package/dist/tools/index.d.ts +3 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +46 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/members/get-member.d.ts +3 -0
- package/dist/tools/members/get-member.d.ts.map +1 -0
- package/dist/tools/members/get-member.js +30 -0
- package/dist/tools/members/get-member.js.map +1 -0
- package/dist/tools/members/index.d.ts +3 -0
- package/dist/tools/members/index.d.ts.map +1 -0
- package/dist/tools/members/index.js +3 -0
- package/dist/tools/members/index.js.map +1 -0
- package/dist/tools/members/list-members.d.ts +3 -0
- package/dist/tools/members/list-members.d.ts.map +1 -0
- package/dist/tools/members/list-members.js +32 -0
- package/dist/tools/members/list-members.js.map +1 -0
- package/dist/tools/messaging/add-reaction.d.ts +3 -0
- package/dist/tools/messaging/add-reaction.d.ts.map +1 -0
- package/dist/tools/messaging/add-reaction.js +28 -0
- package/dist/tools/messaging/add-reaction.js.map +1 -0
- package/dist/tools/messaging/delete-message.d.ts +3 -0
- package/dist/tools/messaging/delete-message.d.ts.map +1 -0
- package/dist/tools/messaging/delete-message.js +28 -0
- package/dist/tools/messaging/delete-message.js.map +1 -0
- package/dist/tools/messaging/edit-message.d.ts +3 -0
- package/dist/tools/messaging/edit-message.d.ts.map +1 -0
- package/dist/tools/messaging/edit-message.js +33 -0
- package/dist/tools/messaging/edit-message.js.map +1 -0
- package/dist/tools/messaging/get-messages.d.ts +3 -0
- package/dist/tools/messaging/get-messages.d.ts.map +1 -0
- package/dist/tools/messaging/get-messages.js +48 -0
- package/dist/tools/messaging/get-messages.js.map +1 -0
- package/dist/tools/messaging/index.d.ts +6 -0
- package/dist/tools/messaging/index.d.ts.map +1 -0
- package/dist/tools/messaging/index.js +6 -0
- package/dist/tools/messaging/index.js.map +1 -0
- package/dist/tools/messaging/send-message.d.ts +3 -0
- package/dist/tools/messaging/send-message.d.ts.map +1 -0
- package/dist/tools/messaging/send-message.js +40 -0
- package/dist/tools/messaging/send-message.js.map +1 -0
- package/dist/tools/roles/index.d.ts +2 -0
- package/dist/tools/roles/index.d.ts.map +1 -0
- package/dist/tools/roles/index.js +2 -0
- package/dist/tools/roles/index.js.map +1 -0
- package/dist/tools/roles/list-roles.d.ts +3 -0
- package/dist/tools/roles/list-roles.d.ts.map +1 -0
- package/dist/tools/roles/list-roles.js +32 -0
- package/dist/tools/roles/list-roles.js.map +1 -0
- package/dist/tools/threads/create-thread.d.ts +3 -0
- package/dist/tools/threads/create-thread.d.ts.map +1 -0
- package/dist/tools/threads/create-thread.js +46 -0
- package/dist/tools/threads/create-thread.js.map +1 -0
- package/dist/tools/threads/index.d.ts +3 -0
- package/dist/tools/threads/index.d.ts.map +1 -0
- package/dist/tools/threads/index.js +3 -0
- package/dist/tools/threads/index.js.map +1 -0
- package/dist/tools/threads/list-threads.d.ts +3 -0
- package/dist/tools/threads/list-threads.d.ts.map +1 -0
- package/dist/tools/threads/list-threads.js +33 -0
- package/dist/tools/threads/list-threads.js.map +1 -0
- package/dist/tools/types.d.ts +29 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +10 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/transport/stdio.d.ts +3 -0
- package/dist/transport/stdio.d.ts.map +1 -0
- package/dist/transport/stdio.js +8 -0
- package/dist/transport/stdio.js.map +1 -0
- package/dist/utils/cache.d.ts +10 -0
- package/dist/utils/cache.d.ts.map +1 -0
- package/dist/utils/cache.js +27 -0
- package/dist/utils/cache.js.map +1 -0
- package/dist/utils/logger.d.ts +14 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +32 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/retry.d.ts +7 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +27 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +80 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-channel.d.ts","sourceRoot":"","sources":["../../../src/tools/channels/delete-channel.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,eAAO,MAAM,aAAa,EAAE,cAc3B,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult } from "../types.js";
|
|
3
|
+
const inputSchema = z.object({
|
|
4
|
+
channel_id: z.string().describe("Channel ID to delete"),
|
|
5
|
+
});
|
|
6
|
+
export const deleteChannel = {
|
|
7
|
+
name: "delete_channel",
|
|
8
|
+
description: "Delete a channel. This is irreversible.",
|
|
9
|
+
category: "channels",
|
|
10
|
+
inputSchema,
|
|
11
|
+
destructive: true,
|
|
12
|
+
permissions: ["ManageChannels"],
|
|
13
|
+
handle: async (input, ctx) => {
|
|
14
|
+
const channel = await ctx.discord.getChannel(input.channel_id);
|
|
15
|
+
const name = channel.name;
|
|
16
|
+
await channel.delete();
|
|
17
|
+
return toolResult(`Deleted channel #${name} (${input.channel_id})`);
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
//# sourceMappingURL=delete-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-channel.js","sourceRoot":"","sources":["../../../src/tools/channels/delete-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;CACxD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,aAAa,GAAmB;IAC3C,IAAI,EAAE,gBAAgB;IACtB,WAAW,EAAE,yCAAyC;IACtD,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,CAAC,gBAAgB,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAC1B,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC;QAEvB,OAAO,UAAU,CAAC,oBAAoB,IAAI,KAAK,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACtE,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-channel.d.ts","sourceRoot":"","sources":["../../../src/tools/channels/edit-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAUlD,eAAO,MAAM,WAAW,EAAE,cAuBzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ChannelType } from "discord.js";
|
|
3
|
+
import { toolResultJson } from "../types.js";
|
|
4
|
+
const inputSchema = z.object({
|
|
5
|
+
channel_id: z.string().describe("Channel ID to edit"),
|
|
6
|
+
name: z.string().min(1).max(100).optional().describe("New channel name"),
|
|
7
|
+
topic: z.string().max(1024).optional().describe("New channel topic"),
|
|
8
|
+
parent_id: z.string().optional().describe("New category ID"),
|
|
9
|
+
});
|
|
10
|
+
export const editChannel = {
|
|
11
|
+
name: "edit_channel",
|
|
12
|
+
description: "Edit a channel's name, topic, or category.",
|
|
13
|
+
category: "channels",
|
|
14
|
+
inputSchema,
|
|
15
|
+
permissions: ["ManageChannels"],
|
|
16
|
+
handle: async (input, ctx) => {
|
|
17
|
+
const channel = await ctx.discord.getChannel(input.channel_id);
|
|
18
|
+
const edited = await channel.edit({
|
|
19
|
+
...(input.name ? { name: input.name } : {}),
|
|
20
|
+
...(input.topic !== undefined ? { topic: input.topic } : {}),
|
|
21
|
+
...(input.parent_id ? { parent: input.parent_id } : {}),
|
|
22
|
+
});
|
|
23
|
+
return toolResultJson({
|
|
24
|
+
id: edited.id,
|
|
25
|
+
name: edited.name,
|
|
26
|
+
type: ChannelType[edited.type],
|
|
27
|
+
topic: "topic" in edited ? edited.topic : null,
|
|
28
|
+
parent_id: edited.parentId,
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=edit-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"edit-channel.js","sourceRoot":"","sources":["../../../src/tools/channels/edit-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;IACrD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kBAAkB,CAAC;IACxE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACpE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,4CAA4C;IACzD,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,WAAW,EAAE,CAAC,gBAAgB,CAAC;IAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE/D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxD,CAAC,CAAC;QAEH,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC9B,KAAK,EAAE,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;YAC9C,SAAS,EAAE,MAAM,CAAC,QAAQ;SAC3B,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-channel.d.ts","sourceRoot":"","sources":["../../../src/tools/channels/get-channel.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,eAAO,MAAM,UAAU,EAAE,cA6BxB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ChannelType } from "discord.js";
|
|
3
|
+
import { toolResultJson } from "../types.js";
|
|
4
|
+
const inputSchema = z.object({
|
|
5
|
+
channel_id: z.string().describe("Channel ID to get details for"),
|
|
6
|
+
});
|
|
7
|
+
export const getChannel = {
|
|
8
|
+
name: "get_channel",
|
|
9
|
+
description: "Get detailed information about a specific channel.",
|
|
10
|
+
category: "channels",
|
|
11
|
+
inputSchema,
|
|
12
|
+
handle: async (input, ctx) => {
|
|
13
|
+
const channel = await ctx.discord.getChannel(input.channel_id);
|
|
14
|
+
const result = {
|
|
15
|
+
id: channel.id,
|
|
16
|
+
name: channel.name,
|
|
17
|
+
type: ChannelType[channel.type],
|
|
18
|
+
position: channel.position,
|
|
19
|
+
parent_id: channel.parentId,
|
|
20
|
+
guild_id: channel.guildId,
|
|
21
|
+
};
|
|
22
|
+
if ("topic" in channel) {
|
|
23
|
+
result.topic = channel.topic;
|
|
24
|
+
}
|
|
25
|
+
if ("nsfw" in channel) {
|
|
26
|
+
result.nsfw = channel.nsfw;
|
|
27
|
+
}
|
|
28
|
+
if ("rateLimitPerUser" in channel) {
|
|
29
|
+
result.slowmode_seconds = channel.rateLimitPerUser;
|
|
30
|
+
}
|
|
31
|
+
return toolResultJson(result);
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=get-channel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-channel.js","sourceRoot":"","sources":["../../../src/tools/channels/get-channel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAoB,MAAM,YAAY,CAAC;AAE3D,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;CACjE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,oDAAoD;IACjE,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE/D,MAAM,MAAM,GAA4B;YACtC,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,SAAS,EAAE,OAAO,CAAC,QAAQ;YAC3B,QAAQ,EAAE,OAAO,CAAC,OAAO;SAC1B,CAAC;QAEF,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,GAAI,OAAuB,CAAC,KAAK,CAAC;QAChD,CAAC;QACD,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,GAAI,OAAuB,CAAC,IAAI,CAAC;QAC9C,CAAC;QACD,IAAI,kBAAkB,IAAI,OAAO,EAAE,CAAC;YAClC,MAAM,CAAC,gBAAgB,GAAI,OAAuB,CAAC,gBAAgB,CAAC;QACtE,CAAC;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { listChannels } from "./list-channels.js";
|
|
2
|
+
export { getChannel } from "./get-channel.js";
|
|
3
|
+
export { createChannel } from "./create-channel.js";
|
|
4
|
+
export { editChannel } from "./edit-channel.js";
|
|
5
|
+
export { deleteChannel } from "./delete-channel.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { listChannels } from "./list-channels.js";
|
|
2
|
+
export { getChannel } from "./get-channel.js";
|
|
3
|
+
export { createChannel } from "./create-channel.js";
|
|
4
|
+
export { editChannel } from "./edit-channel.js";
|
|
5
|
+
export { deleteChannel } from "./delete-channel.js";
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/channels/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-channels.d.ts","sourceRoot":"","sources":["../../../src/tools/channels/list-channels.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAoBlD,eAAO,MAAM,YAAY,EAAE,cA+B1B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { ChannelType } from "discord.js";
|
|
3
|
+
import { toolResultJson } from "../types.js";
|
|
4
|
+
const inputSchema = z.object({
|
|
5
|
+
guild_id: z.string().describe("Guild ID to list channels from"),
|
|
6
|
+
type: z
|
|
7
|
+
.enum(["text", "voice", "category", "announcement", "forum", "stage"])
|
|
8
|
+
.optional()
|
|
9
|
+
.describe("Filter by channel type"),
|
|
10
|
+
});
|
|
11
|
+
const CHANNEL_TYPE_MAP = {
|
|
12
|
+
text: ChannelType.GuildText,
|
|
13
|
+
voice: ChannelType.GuildVoice,
|
|
14
|
+
category: ChannelType.GuildCategory,
|
|
15
|
+
announcement: ChannelType.GuildAnnouncement,
|
|
16
|
+
forum: ChannelType.GuildForum,
|
|
17
|
+
stage: ChannelType.GuildStageVoice,
|
|
18
|
+
};
|
|
19
|
+
export const listChannels = {
|
|
20
|
+
name: "list_channels",
|
|
21
|
+
description: "List all channels in a guild, optionally filtered by type.",
|
|
22
|
+
category: "channels",
|
|
23
|
+
inputSchema,
|
|
24
|
+
requiresGuild: true,
|
|
25
|
+
handle: async (input, ctx) => {
|
|
26
|
+
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
27
|
+
const channels = await guild.channels.fetch();
|
|
28
|
+
let filtered = [...channels.values()].filter(Boolean);
|
|
29
|
+
if (input.type) {
|
|
30
|
+
const targetType = CHANNEL_TYPE_MAP[input.type];
|
|
31
|
+
filtered = filtered.filter((ch) => ch.type === targetType);
|
|
32
|
+
}
|
|
33
|
+
const result = filtered.map((ch) => ({
|
|
34
|
+
id: ch.id,
|
|
35
|
+
name: ch.name,
|
|
36
|
+
type: ChannelType[ch.type],
|
|
37
|
+
position: ch.position,
|
|
38
|
+
parent_id: ch.parentId,
|
|
39
|
+
}));
|
|
40
|
+
return toolResultJson({
|
|
41
|
+
guild_id: input.guild_id,
|
|
42
|
+
count: result.length,
|
|
43
|
+
channels: result.sort((a, b) => a.position - b.position),
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=list-channels.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-channels.js","sourceRoot":"","sources":["../../../src/tools/channels/list-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC/D,IAAI,EAAE,CAAC;SACJ,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;SACrE,QAAQ,EAAE;SACV,QAAQ,CAAC,wBAAwB,CAAC;CACtC,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAgC;IACpD,IAAI,EAAE,WAAW,CAAC,SAAS;IAC3B,KAAK,EAAE,WAAW,CAAC,UAAU;IAC7B,QAAQ,EAAE,WAAW,CAAC,aAAa;IACnC,YAAY,EAAE,WAAW,CAAC,iBAAiB;IAC3C,KAAK,EAAE,WAAW,CAAC,UAAU;IAC7B,KAAK,EAAE,WAAW,CAAC,eAAe;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,4DAA4D;IACzE,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QAE9C,IAAI,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEtD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAChD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;YACnC,EAAE,EAAE,EAAG,CAAC,EAAE;YACV,IAAI,EAAE,EAAG,CAAC,IAAI;YACd,IAAI,EAAE,WAAW,CAAC,EAAG,CAAC,IAAI,CAAC;YAC3B,QAAQ,EAAE,EAAG,CAAC,QAAQ;YACtB,SAAS,EAAE,EAAG,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-guild.d.ts","sourceRoot":"","sources":["../../../src/tools/guilds/get-guild.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAOlD,eAAO,MAAM,QAAQ,EAAE,cAwBtB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
const inputSchema = z.object({
|
|
4
|
+
guild_id: z.string().describe("Guild ID to get details for"),
|
|
5
|
+
});
|
|
6
|
+
export const getGuild = {
|
|
7
|
+
name: "get_guild",
|
|
8
|
+
description: "Get detailed information about a guild (server).",
|
|
9
|
+
category: "guilds",
|
|
10
|
+
inputSchema,
|
|
11
|
+
requiresGuild: true,
|
|
12
|
+
handle: async (input, ctx) => {
|
|
13
|
+
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
14
|
+
return toolResultJson({
|
|
15
|
+
id: guild.id,
|
|
16
|
+
name: guild.name,
|
|
17
|
+
description: guild.description,
|
|
18
|
+
member_count: guild.memberCount,
|
|
19
|
+
icon: guild.iconURL(),
|
|
20
|
+
banner: guild.bannerURL(),
|
|
21
|
+
owner_id: guild.ownerId,
|
|
22
|
+
created_at: guild.createdAt.toISOString(),
|
|
23
|
+
features: guild.features,
|
|
24
|
+
premium_tier: guild.premiumTier,
|
|
25
|
+
premium_subscription_count: guild.premiumSubscriptionCount,
|
|
26
|
+
verification_level: guild.verificationLevel,
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=get-guild.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-guild.js","sourceRoot":"","sources":["../../../src/tools/guilds/get-guild.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAmB;IACtC,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,QAAQ;IAClB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzD,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YACrB,MAAM,EAAE,KAAK,CAAC,SAAS,EAAE;YACzB,QAAQ,EAAE,KAAK,CAAC,OAAO;YACvB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;YACzC,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,0BAA0B,EAAE,KAAK,CAAC,wBAAwB;YAC1D,kBAAkB,EAAE,KAAK,CAAC,iBAAiB;SAC5C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/guilds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/guilds/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-guilds.d.ts","sourceRoot":"","sources":["../../../src/tools/guilds/list-guilds.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAKlD,eAAO,MAAM,UAAU,EAAE,cAsBxB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
const inputSchema = z.object({});
|
|
4
|
+
export const listGuilds = {
|
|
5
|
+
name: "list_guilds",
|
|
6
|
+
description: "List all guilds (servers) the bot has access to.",
|
|
7
|
+
category: "guilds",
|
|
8
|
+
inputSchema,
|
|
9
|
+
handle: async (_input, ctx) => {
|
|
10
|
+
const client = await ctx.discord.getClient();
|
|
11
|
+
const guilds = client.guilds.cache;
|
|
12
|
+
const result = [...guilds.values()].map((guild) => ({
|
|
13
|
+
id: guild.id,
|
|
14
|
+
name: guild.name,
|
|
15
|
+
member_count: guild.memberCount,
|
|
16
|
+
icon: guild.iconURL(),
|
|
17
|
+
owner_id: guild.ownerId,
|
|
18
|
+
}));
|
|
19
|
+
return toolResultJson({
|
|
20
|
+
count: result.length,
|
|
21
|
+
guilds: result,
|
|
22
|
+
});
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=list-guilds.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-guilds.js","sourceRoot":"","sources":["../../../src/tools/guilds/list-guilds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAEjC,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,kDAAkD;IAC/D,QAAQ,EAAE,QAAQ;IAClB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;QAEnC,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAClD,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,YAAY,EAAE,KAAK,CAAC,WAAW;YAC/B,IAAI,EAAE,KAAK,CAAC,OAAO,EAAE;YACrB,QAAQ,EAAE,KAAK,CAAC,OAAO;SACxB,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,MAAM,EAAE,MAAM;SACf,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-check.d.ts","sourceRoot":"","sources":["../../src/tools/health-check.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAOjD,eAAO,MAAM,WAAW,EAAE,cA2CzB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "./types.js";
|
|
3
|
+
const inputSchema = z.object({
|
|
4
|
+
guild_id: z.string().optional().describe("Guild ID to check permissions for"),
|
|
5
|
+
});
|
|
6
|
+
export const healthCheck = {
|
|
7
|
+
name: "health_check",
|
|
8
|
+
description: "Check bot connection status, permissions, and project routing config. Optionally checks permissions in a specific guild.",
|
|
9
|
+
category: "system",
|
|
10
|
+
inputSchema,
|
|
11
|
+
handle: async (input, ctx) => {
|
|
12
|
+
const connected = ctx.discord.isConnected;
|
|
13
|
+
const result = {
|
|
14
|
+
status: "ok",
|
|
15
|
+
connected,
|
|
16
|
+
projects: Object.keys(ctx.config.global.projects),
|
|
17
|
+
default_project: ctx.config.perProject?.project ?? ctx.config.global.default_project ?? null,
|
|
18
|
+
};
|
|
19
|
+
if (connected) {
|
|
20
|
+
const client = await ctx.discord.getClient();
|
|
21
|
+
result.bot_user = client.user?.tag;
|
|
22
|
+
result.guild_count = client.guilds.cache.size;
|
|
23
|
+
result.uptime_seconds = Math.floor((client.uptime ?? 0) / 1000);
|
|
24
|
+
}
|
|
25
|
+
if (input.guild_id) {
|
|
26
|
+
try {
|
|
27
|
+
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
28
|
+
const me = await guild.members.fetchMe();
|
|
29
|
+
result.guild = {
|
|
30
|
+
id: guild.id,
|
|
31
|
+
name: guild.name,
|
|
32
|
+
permissions: me.permissions.toArray(),
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
result.guild = {
|
|
37
|
+
id: input.guild_id,
|
|
38
|
+
error: err instanceof Error ? err.message : "Failed to fetch guild",
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return toolResultJson(result);
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=health-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-check.js","sourceRoot":"","sources":["../../src/tools/health-check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;CAC9E,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EACT,0HAA0H;IAC5H,QAAQ,EAAE,QAAQ;IAClB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC;QAE1C,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,IAAI;YACZ,SAAS;YACT,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,eAAe,EACb,GAAG,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI;SAC9E,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC7C,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC;YACnC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC;YAC9C,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACzD,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,KAAK,GAAG;oBACb,EAAE,EAAE,KAAK,CAAC,EAAE;oBACZ,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE;iBACtC,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,GAAG;oBACb,EAAE,EAAE,KAAK,CAAC,QAAQ;oBAClB,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB;iBACpE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAkCjD,eAAO,MAAM,QAAQ,EAAE,cAAc,EAmBpC,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
// Messaging
|
|
2
|
+
import { sendMessage } from "./messaging/send-message.js";
|
|
3
|
+
import { getMessages } from "./messaging/get-messages.js";
|
|
4
|
+
import { editMessage } from "./messaging/edit-message.js";
|
|
5
|
+
import { deleteMessage } from "./messaging/delete-message.js";
|
|
6
|
+
import { addReaction } from "./messaging/add-reaction.js";
|
|
7
|
+
// Channels
|
|
8
|
+
import { listChannels } from "./channels/list-channels.js";
|
|
9
|
+
import { getChannel } from "./channels/get-channel.js";
|
|
10
|
+
import { createChannel } from "./channels/create-channel.js";
|
|
11
|
+
import { editChannel } from "./channels/edit-channel.js";
|
|
12
|
+
import { deleteChannel } from "./channels/delete-channel.js";
|
|
13
|
+
// Guilds
|
|
14
|
+
import { listGuilds } from "./guilds/list-guilds.js";
|
|
15
|
+
import { getGuild } from "./guilds/get-guild.js";
|
|
16
|
+
// Members
|
|
17
|
+
import { listMembers } from "./members/list-members.js";
|
|
18
|
+
import { getMember } from "./members/get-member.js";
|
|
19
|
+
// Roles
|
|
20
|
+
import { listRoles } from "./roles/list-roles.js";
|
|
21
|
+
// Threads
|
|
22
|
+
import { createThread } from "./threads/create-thread.js";
|
|
23
|
+
import { listThreads } from "./threads/list-threads.js";
|
|
24
|
+
// System
|
|
25
|
+
import { healthCheck } from "./health-check.js";
|
|
26
|
+
export const allTools = [
|
|
27
|
+
sendMessage,
|
|
28
|
+
getMessages,
|
|
29
|
+
editMessage,
|
|
30
|
+
deleteMessage,
|
|
31
|
+
addReaction,
|
|
32
|
+
listChannels,
|
|
33
|
+
getChannel,
|
|
34
|
+
createChannel,
|
|
35
|
+
editChannel,
|
|
36
|
+
deleteChannel,
|
|
37
|
+
listGuilds,
|
|
38
|
+
getGuild,
|
|
39
|
+
listMembers,
|
|
40
|
+
getMember,
|
|
41
|
+
listRoles,
|
|
42
|
+
createThread,
|
|
43
|
+
listThreads,
|
|
44
|
+
healthCheck,
|
|
45
|
+
];
|
|
46
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAEA,YAAY;AACZ,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE1D,WAAW;AACX,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAE7D,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEjD,UAAU;AACV,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,QAAQ;AACR,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,UAAU;AACV,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,QAAQ,GAAqB;IACxC,WAAW;IACX,WAAW;IACX,WAAW;IACX,aAAa;IACb,WAAW;IACX,YAAY;IACZ,UAAU;IACV,aAAa;IACb,WAAW;IACX,aAAa;IACb,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;IACT,SAAS;IACT,YAAY;IACZ,WAAW;IACX,WAAW;CACZ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-member.d.ts","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,eAAO,MAAM,SAAS,EAAE,cAuBvB,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
const inputSchema = z.object({
|
|
4
|
+
guild_id: z.string().describe("Guild ID"),
|
|
5
|
+
user_id: z.string().describe("User ID to look up"),
|
|
6
|
+
});
|
|
7
|
+
export const getMember = {
|
|
8
|
+
name: "get_member",
|
|
9
|
+
description: "Get detailed information about a guild member.",
|
|
10
|
+
category: "members",
|
|
11
|
+
inputSchema,
|
|
12
|
+
requiresGuild: true,
|
|
13
|
+
handle: async (input, ctx) => {
|
|
14
|
+
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
15
|
+
const member = await guild.members.fetch(input.user_id);
|
|
16
|
+
return toolResultJson({
|
|
17
|
+
id: member.id,
|
|
18
|
+
username: member.user.username,
|
|
19
|
+
display_name: member.displayName,
|
|
20
|
+
discriminator: member.user.discriminator,
|
|
21
|
+
bot: member.user.bot,
|
|
22
|
+
avatar: member.user.avatarURL(),
|
|
23
|
+
roles: member.roles.cache.map((r) => ({ id: r.id, name: r.name, color: r.hexColor })),
|
|
24
|
+
joined_at: member.joinedAt?.toISOString(),
|
|
25
|
+
premium_since: member.premiumSince?.toISOString(),
|
|
26
|
+
permissions: member.permissions.toArray(),
|
|
27
|
+
});
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=get-member.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-member.js","sourceRoot":"","sources":["../../../src/tools/members/get-member.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;IACzC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;CACnD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAmB;IACvC,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,gDAAgD;IAC7D,QAAQ,EAAE,SAAS;IACnB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAExD,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrF,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;YACzC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE;YACjD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;SAC1C,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/members/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/members/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-members.d.ts","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAQlD,eAAO,MAAM,WAAW,EAAE,cA0BzB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
const inputSchema = z.object({
|
|
4
|
+
guild_id: z.string().describe("Guild ID to list members from"),
|
|
5
|
+
limit: z.number().min(1).max(1000).default(100).describe("Number of members to fetch"),
|
|
6
|
+
});
|
|
7
|
+
export const listMembers = {
|
|
8
|
+
name: "list_members",
|
|
9
|
+
description: "List members of a guild.",
|
|
10
|
+
category: "members",
|
|
11
|
+
inputSchema,
|
|
12
|
+
requiresGuild: true,
|
|
13
|
+
handle: async (input, ctx) => {
|
|
14
|
+
const guild = await ctx.discord.getGuild(input.guild_id);
|
|
15
|
+
const members = await guild.members.fetch({ limit: input.limit });
|
|
16
|
+
const result = members.map((member) => ({
|
|
17
|
+
id: member.id,
|
|
18
|
+
username: member.user.username,
|
|
19
|
+
display_name: member.displayName,
|
|
20
|
+
discriminator: member.user.discriminator,
|
|
21
|
+
bot: member.user.bot,
|
|
22
|
+
roles: member.roles.cache.map((r) => ({ id: r.id, name: r.name })),
|
|
23
|
+
joined_at: member.joinedAt?.toISOString(),
|
|
24
|
+
}));
|
|
25
|
+
return toolResultJson({
|
|
26
|
+
guild_id: input.guild_id,
|
|
27
|
+
count: result.length,
|
|
28
|
+
members: [...result],
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=list-members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-members.js","sourceRoot":"","sources":["../../../src/tools/members/list-members.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAC9D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,4BAA4B,CAAC;CACvF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,0BAA0B;IACvC,QAAQ,EAAE,SAAS;IACnB,WAAW;IACX,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAElE,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;YAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;YAChC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa;YACxC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,WAAW,EAAE;SAC1C,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC;SACrB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-reaction.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/add-reaction.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAalD,eAAO,MAAM,WAAW,EAAE,cAiBzB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult } from "../types.js";
|
|
3
|
+
import { resolveTarget } from "../../routing/resolver.js";
|
|
4
|
+
const inputSchema = z.object({
|
|
5
|
+
message_id: z.string().describe("ID of the message to react to"),
|
|
6
|
+
emoji: z.string().describe("Emoji to react with (unicode or custom format <:name:id>)"),
|
|
7
|
+
channel_id: z.string().optional().describe("Direct channel ID"),
|
|
8
|
+
guild_id: z.string().optional().describe("Direct guild ID"),
|
|
9
|
+
project: z.string().optional().describe("Project name for routing"),
|
|
10
|
+
channel: z.string().optional().describe("Channel alias within project"),
|
|
11
|
+
});
|
|
12
|
+
export const addReaction = {
|
|
13
|
+
name: "add_reaction",
|
|
14
|
+
description: "Add a reaction emoji to a message.",
|
|
15
|
+
category: "messaging",
|
|
16
|
+
inputSchema,
|
|
17
|
+
handle: async (input, ctx) => {
|
|
18
|
+
const target = resolveTarget(input, ctx.config);
|
|
19
|
+
if ("error" in target) {
|
|
20
|
+
return { content: [{ type: "text", text: target.error }], isError: true };
|
|
21
|
+
}
|
|
22
|
+
const channel = await ctx.discord.getChannel(target.channelId);
|
|
23
|
+
const message = await channel.messages.fetch(input.message_id);
|
|
24
|
+
await message.react(input.emoji);
|
|
25
|
+
return toolResult(`Added reaction ${input.emoji} to message ${input.message_id}`);
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=add-reaction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-reaction.js","sourceRoot":"","sources":["../../../src/tools/messaging/add-reaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IAChE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACvF,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC3D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACnE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;CACxE,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAmB;IACzC,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,oCAAoC;IACjD,QAAQ,EAAE,WAAW;IACrB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;QAChD,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjC,OAAO,UAAU,CAAC,kBAAkB,KAAK,CAAC,KAAK,eAAe,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;IACpF,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delete-message.d.ts","sourceRoot":"","sources":["../../../src/tools/messaging/delete-message.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAYlD,eAAO,MAAM,aAAa,EAAE,cAkB3B,CAAC"}
|