discord-ops 0.1.0 → 0.2.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 +6 -0
- package/README.md +59 -5
- package/dist/cli/index.js +31 -13
- package/dist/cli/index.js.map +1 -1
- package/dist/client.d.ts +13 -11
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +65 -25
- package/dist/client.js.map +1 -1
- package/dist/config/index.d.ts +7 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +18 -3
- package/dist/config/index.js.map +1 -1
- package/dist/config/schema.d.ts +8 -0
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +1 -0
- package/dist/config/schema.js.map +1 -1
- package/dist/routing/resolver.d.ts +2 -1
- package/dist/routing/resolver.d.ts.map +1 -1
- package/dist/routing/resolver.js +2 -0
- package/dist/routing/resolver.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +46 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/audit/index.d.ts +2 -0
- package/dist/tools/audit/index.d.ts.map +1 -0
- package/dist/tools/audit/index.js +2 -0
- package/dist/tools/audit/index.js.map +1 -0
- package/dist/tools/audit/query-audit-log.d.ts +3 -0
- package/dist/tools/audit/query-audit-log.d.ts.map +1 -0
- package/dist/tools/audit/query-audit-log.js +60 -0
- package/dist/tools/audit/query-audit-log.js.map +1 -0
- package/dist/tools/channels/create-channel.d.ts.map +1 -1
- package/dist/tools/channels/create-channel.js +4 -1
- package/dist/tools/channels/create-channel.js.map +1 -1
- package/dist/tools/channels/delete-channel.d.ts.map +1 -1
- package/dist/tools/channels/delete-channel.js +4 -1
- package/dist/tools/channels/delete-channel.js.map +1 -1
- package/dist/tools/channels/edit-channel.d.ts.map +1 -1
- package/dist/tools/channels/edit-channel.js +4 -1
- package/dist/tools/channels/edit-channel.js.map +1 -1
- package/dist/tools/channels/get-channel.d.ts.map +1 -1
- package/dist/tools/channels/get-channel.js +4 -1
- package/dist/tools/channels/get-channel.js.map +1 -1
- package/dist/tools/channels/index.d.ts +2 -0
- package/dist/tools/channels/index.d.ts.map +1 -1
- package/dist/tools/channels/index.js +2 -0
- package/dist/tools/channels/index.js.map +1 -1
- package/dist/tools/channels/list-channels.d.ts.map +1 -1
- package/dist/tools/channels/list-channels.js +4 -1
- package/dist/tools/channels/list-channels.js.map +1 -1
- package/dist/tools/channels/purge-messages.d.ts +3 -0
- package/dist/tools/channels/purge-messages.d.ts.map +1 -0
- package/dist/tools/channels/purge-messages.js +41 -0
- package/dist/tools/channels/purge-messages.js.map +1 -0
- package/dist/tools/channels/set-slowmode.d.ts +3 -0
- package/dist/tools/channels/set-slowmode.d.ts.map +1 -0
- package/dist/tools/channels/set-slowmode.js +36 -0
- package/dist/tools/channels/set-slowmode.js.map +1 -0
- package/dist/tools/guilds/get-guild.d.ts.map +1 -1
- package/dist/tools/guilds/get-guild.js +4 -1
- package/dist/tools/guilds/get-guild.js.map +1 -1
- package/dist/tools/guilds/list-guilds.d.ts.map +1 -1
- package/dist/tools/guilds/list-guilds.js +11 -4
- package/dist/tools/guilds/list-guilds.js.map +1 -1
- package/dist/tools/health-check.d.ts.map +1 -1
- package/dist/tools/health-check.js +15 -2
- package/dist/tools/health-check.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +47 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/members/get-member.d.ts.map +1 -1
- package/dist/tools/members/get-member.js +4 -1
- package/dist/tools/members/get-member.js.map +1 -1
- package/dist/tools/members/list-members.d.ts.map +1 -1
- package/dist/tools/members/list-members.js +4 -1
- package/dist/tools/members/list-members.js.map +1 -1
- package/dist/tools/messaging/add-reaction.js +1 -1
- package/dist/tools/messaging/add-reaction.js.map +1 -1
- package/dist/tools/messaging/delete-message.d.ts.map +1 -1
- package/dist/tools/messaging/delete-message.js +1 -1
- package/dist/tools/messaging/delete-message.js.map +1 -1
- package/dist/tools/messaging/edit-message.js +1 -1
- package/dist/tools/messaging/edit-message.js.map +1 -1
- package/dist/tools/messaging/get-messages.js +1 -1
- package/dist/tools/messaging/get-messages.js.map +1 -1
- package/dist/tools/messaging/send-message.d.ts.map +1 -1
- package/dist/tools/messaging/send-message.js +2 -4
- package/dist/tools/messaging/send-message.js.map +1 -1
- package/dist/tools/moderation/ban-member.d.ts +3 -0
- package/dist/tools/moderation/ban-member.d.ts.map +1 -0
- package/dist/tools/moderation/ban-member.js +48 -0
- package/dist/tools/moderation/ban-member.js.map +1 -0
- package/dist/tools/moderation/index.d.ts +5 -0
- package/dist/tools/moderation/index.d.ts.map +1 -0
- package/dist/tools/moderation/index.js +5 -0
- package/dist/tools/moderation/index.js.map +1 -0
- package/dist/tools/moderation/kick-member.d.ts +3 -0
- package/dist/tools/moderation/kick-member.d.ts.map +1 -0
- package/dist/tools/moderation/kick-member.js +40 -0
- package/dist/tools/moderation/kick-member.js.map +1 -0
- package/dist/tools/moderation/timeout-member.d.ts +3 -0
- package/dist/tools/moderation/timeout-member.d.ts.map +1 -0
- package/dist/tools/moderation/timeout-member.js +47 -0
- package/dist/tools/moderation/timeout-member.js.map +1 -0
- package/dist/tools/moderation/unban-member.d.ts +3 -0
- package/dist/tools/moderation/unban-member.d.ts.map +1 -0
- package/dist/tools/moderation/unban-member.js +30 -0
- package/dist/tools/moderation/unban-member.js.map +1 -0
- package/dist/tools/roles/assign-role.d.ts +3 -0
- package/dist/tools/roles/assign-role.d.ts.map +1 -0
- package/dist/tools/roles/assign-role.js +40 -0
- package/dist/tools/roles/assign-role.js.map +1 -0
- package/dist/tools/roles/create-role.d.ts +3 -0
- package/dist/tools/roles/create-role.d.ts.map +1 -0
- package/dist/tools/roles/create-role.js +50 -0
- package/dist/tools/roles/create-role.js.map +1 -0
- package/dist/tools/roles/delete-role.d.ts +3 -0
- package/dist/tools/roles/delete-role.d.ts.map +1 -0
- package/dist/tools/roles/delete-role.js +32 -0
- package/dist/tools/roles/delete-role.js.map +1 -0
- package/dist/tools/roles/edit-role.d.ts +3 -0
- package/dist/tools/roles/edit-role.d.ts.map +1 -0
- package/dist/tools/roles/edit-role.js +52 -0
- package/dist/tools/roles/edit-role.js.map +1 -0
- package/dist/tools/roles/index.d.ts +4 -0
- package/dist/tools/roles/index.d.ts.map +1 -1
- package/dist/tools/roles/index.js +4 -0
- package/dist/tools/roles/index.js.map +1 -1
- package/dist/tools/roles/list-roles.d.ts.map +1 -1
- package/dist/tools/roles/list-roles.js +6 -2
- package/dist/tools/roles/list-roles.js.map +1 -1
- package/dist/tools/schema.d.ts +9 -0
- package/dist/tools/schema.d.ts.map +1 -0
- package/dist/tools/schema.js +13 -0
- package/dist/tools/schema.js.map +1 -0
- package/dist/tools/threads/create-thread.js +1 -1
- package/dist/tools/threads/create-thread.js.map +1 -1
- package/dist/tools/threads/list-threads.d.ts.map +1 -1
- package/dist/tools/threads/list-threads.js +4 -1
- package/dist/tools/threads/list-threads.js.map +1 -1
- package/dist/tools/webhooks/create-webhook.d.ts +3 -0
- package/dist/tools/webhooks/create-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/create-webhook.js +38 -0
- package/dist/tools/webhooks/create-webhook.js.map +1 -0
- package/dist/tools/webhooks/delete-webhook.d.ts +3 -0
- package/dist/tools/webhooks/delete-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/delete-webhook.js +27 -0
- package/dist/tools/webhooks/delete-webhook.js.map +1 -0
- package/dist/tools/webhooks/edit-webhook.d.ts +3 -0
- package/dist/tools/webhooks/edit-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/edit-webhook.js +36 -0
- package/dist/tools/webhooks/edit-webhook.js.map +1 -0
- package/dist/tools/webhooks/execute-webhook.d.ts +3 -0
- package/dist/tools/webhooks/execute-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/execute-webhook.js +63 -0
- package/dist/tools/webhooks/execute-webhook.js.map +1 -0
- package/dist/tools/webhooks/get-webhook.d.ts +3 -0
- package/dist/tools/webhooks/get-webhook.d.ts.map +1 -0
- package/dist/tools/webhooks/get-webhook.js +33 -0
- package/dist/tools/webhooks/get-webhook.js.map +1 -0
- package/dist/tools/webhooks/index.d.ts +7 -0
- package/dist/tools/webhooks/index.d.ts.map +1 -0
- package/dist/tools/webhooks/index.js +7 -0
- package/dist/tools/webhooks/index.js.map +1 -0
- package/dist/tools/webhooks/list-webhooks.d.ts +3 -0
- package/dist/tools/webhooks/list-webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks/list-webhooks.js +47 -0
- package/dist/tools/webhooks/list-webhooks.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"execute-webhook.js","sourceRoot":"","sources":["../../../src/tools/webhooks/execute-webhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-webhook.d.ts","sourceRoot":"","sources":["../../../src/tools/webhooks/get-webhook.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAWlD,eAAO,MAAM,UAAU,EAAE,cAuBxB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
webhook_id: snowflakeId.describe("Webhook ID to fetch"),
|
|
7
|
+
guild_id: snowflakeId.describe("Guild ID (needed for bot token resolution)"),
|
|
8
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
9
|
+
});
|
|
10
|
+
export const getWebhook = {
|
|
11
|
+
name: "get_webhook",
|
|
12
|
+
description: "Get details about a specific webhook.",
|
|
13
|
+
category: "webhooks",
|
|
14
|
+
inputSchema,
|
|
15
|
+
handle: async (input, ctx) => {
|
|
16
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
17
|
+
const client = await ctx.discord.getClient(token);
|
|
18
|
+
const webhook = await client.fetchWebhook(input.webhook_id);
|
|
19
|
+
return toolResultJson({
|
|
20
|
+
id: webhook.id,
|
|
21
|
+
name: webhook.name,
|
|
22
|
+
channel_id: webhook.channelId,
|
|
23
|
+
guild_id: webhook.guildId,
|
|
24
|
+
type: webhook.type,
|
|
25
|
+
avatar: webhook.avatar,
|
|
26
|
+
created_at: webhook.createdAt?.toISOString(),
|
|
27
|
+
owner: webhook.owner
|
|
28
|
+
? { id: webhook.owner.id, tag: webhook.owner.tag ?? webhook.owner.id }
|
|
29
|
+
: null,
|
|
30
|
+
});
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=get-webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-webhook.js","sourceRoot":"","sources":["../../../src/tools/webhooks/get-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,qBAAqB,CAAC;IACvD,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,UAAU,GAAmB;IACxC,IAAI,EAAE,aAAa;IACnB,WAAW,EAAE,uCAAuC;IACpD,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACxF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAE5D,OAAO,cAAc,CAAC;YACpB,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,QAAQ,EAAE,OAAO,CAAC,OAAO;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE;YAC5C,KAAK,EAAE,OAAO,CAAC,KAAK;gBAClB,CAAC,CAAC,EAAE,EAAE,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAG,OAAO,CAAC,KAAa,CAAC,GAAG,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE;gBAC/E,CAAC,CAAC,IAAI;SACT,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createWebhook } from "./create-webhook.js";
|
|
2
|
+
export { getWebhook } from "./get-webhook.js";
|
|
3
|
+
export { listWebhooks } from "./list-webhooks.js";
|
|
4
|
+
export { editWebhook } from "./edit-webhook.js";
|
|
5
|
+
export { deleteWebhook } from "./delete-webhook.js";
|
|
6
|
+
export { executeWebhook } from "./execute-webhook.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/tools/webhooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createWebhook } from "./create-webhook.js";
|
|
2
|
+
export { getWebhook } from "./get-webhook.js";
|
|
3
|
+
export { listWebhooks } from "./list-webhooks.js";
|
|
4
|
+
export { editWebhook } from "./edit-webhook.js";
|
|
5
|
+
export { deleteWebhook } from "./delete-webhook.js";
|
|
6
|
+
export { executeWebhook } from "./execute-webhook.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/tools/webhooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-webhooks.d.ts","sourceRoot":"","sources":["../../../src/tools/webhooks/list-webhooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAWlD,eAAO,MAAM,YAAY,EAAE,cAsC1B,CAAC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { toolResult, toolResultJson } from "../types.js";
|
|
3
|
+
import { snowflakeId } from "../schema.js";
|
|
4
|
+
import { getTokenForProject } from "../../config/index.js";
|
|
5
|
+
const inputSchema = z.object({
|
|
6
|
+
guild_id: snowflakeId.describe("Guild ID to list webhooks from"),
|
|
7
|
+
channel_id: snowflakeId.optional().describe("Filter webhooks to a specific channel"),
|
|
8
|
+
project: z.string().optional().describe("Project name (resolves bot token for multi-bot setups)"),
|
|
9
|
+
});
|
|
10
|
+
export const listWebhooks = {
|
|
11
|
+
name: "list_webhooks",
|
|
12
|
+
description: "List webhooks in a guild or channel. Requires ManageWebhooks permission.",
|
|
13
|
+
category: "webhooks",
|
|
14
|
+
inputSchema,
|
|
15
|
+
permissions: ["ManageWebhooks"],
|
|
16
|
+
requiresGuild: true,
|
|
17
|
+
handle: async (input, ctx) => {
|
|
18
|
+
const token = input.project ? getTokenForProject(input.project, ctx.config) : undefined;
|
|
19
|
+
let webhooks;
|
|
20
|
+
if (input.channel_id) {
|
|
21
|
+
const channel = await ctx.discord.getChannel(input.channel_id, token);
|
|
22
|
+
if (!("fetchWebhooks" in channel)) {
|
|
23
|
+
return toolResult("Channel does not support webhooks", true);
|
|
24
|
+
}
|
|
25
|
+
webhooks = await channel.fetchWebhooks();
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
const guild = await ctx.discord.getGuild(input.guild_id, token);
|
|
29
|
+
webhooks = await guild.fetchWebhooks();
|
|
30
|
+
}
|
|
31
|
+
const result = [...webhooks.values()].map((wh) => ({
|
|
32
|
+
id: wh.id,
|
|
33
|
+
name: wh.name,
|
|
34
|
+
channel_id: wh.channelId,
|
|
35
|
+
type: wh.type,
|
|
36
|
+
owner: wh.owner ? { id: wh.owner.id, tag: wh.owner.tag ?? wh.owner.id } : null,
|
|
37
|
+
created_at: wh.createdAt?.toISOString(),
|
|
38
|
+
}));
|
|
39
|
+
return toolResultJson({
|
|
40
|
+
guild_id: input.guild_id,
|
|
41
|
+
channel_id: input.channel_id ?? null,
|
|
42
|
+
count: result.length,
|
|
43
|
+
webhooks: result,
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
//# sourceMappingURL=list-webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-webhooks.js","sourceRoot":"","sources":["../../../src/tools/webhooks/list-webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAChE,UAAU,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACpF,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC;CAClG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,YAAY,GAAmB;IAC1C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,0EAA0E;IACvF,QAAQ,EAAE,UAAU;IACpB,WAAW;IACX,WAAW,EAAE,CAAC,gBAAgB,CAAC;IAC/B,aAAa,EAAE,IAAI;IACnB,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAExF,IAAI,QAAQ,CAAC;QACb,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACtE,IAAI,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,UAAU,CAAC,mCAAmC,EAAE,IAAI,CAAC,CAAC;YAC/D,CAAC;YACD,QAAQ,GAAG,MAAO,OAAe,CAAC,aAAa,EAAE,CAAC;QACpD,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YAChE,QAAQ,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;QACzC,CAAC;QAED,MAAM,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAO,EAAE,EAAE,CAAC,CAAC;YACtD,EAAE,EAAE,EAAE,CAAC,EAAE;YACT,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,UAAU,EAAE,EAAE,CAAC,SAAS;YACxB,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;YAC9E,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE;SACxC,CAAC,CAAC,CAAC;QAEJ,OAAO,cAAc,CAAC;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;YACpC,KAAK,EAAE,MAAM,CAAC,MAAM;YACpB,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;IACL,CAAC;CACF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "discord-ops",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Agency-grade Discord MCP server with multi-guild project routing",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -67,6 +67,7 @@
|
|
|
67
67
|
"@changesets/cli": "^2.29.4",
|
|
68
68
|
"@eslint/js": "^9.39.4",
|
|
69
69
|
"@types/node": "^22.15.3",
|
|
70
|
+
"@vitest/coverage-v8": "^3.2.4",
|
|
70
71
|
"eslint": "^9.26.0",
|
|
71
72
|
"prettier": "^3.5.3",
|
|
72
73
|
"tsx": "^4.19.4",
|