add discord webhook (and pin typescript to 5.4.5 due to a fun discord.js bug)

This commit is contained in:
Elijah R 2024-07-12 20:58:12 -04:00
parent 5e9de132b3
commit 276ea9208a
9 changed files with 354 additions and 131 deletions

View file

@ -32,6 +32,10 @@ html = """
</ol> </ol>
""" """
[discord]
enabled = false
webhookURL = ""
[tts] [tts]
enabled = true enabled = true
# https://git.computernewb.com/computernewb/SAPIServer # https://git.computernewb.com/computernewb/SAPIServer

View file

@ -6,13 +6,14 @@
}, },
"packageManager": "yarn@4.2.2", "packageManager": "yarn@4.2.2",
"devDependencies": { "devDependencies": {
"@types/node": "^20.14.9", "@types/node": "^20.14.10",
"@types/ws": "^8.5.10", "@types/ws": "^8.5.10",
"typescript": "^5.5.3" "typescript": "5.4.5"
}, },
"dependencies": { "dependencies": {
"@fastify/static": "^7.0.4", "@fastify/static": "^7.0.4",
"@fastify/websocket": "^10.0.1", "@fastify/websocket": "^10.0.1",
"discord.js": "^14.15.3",
"fastify": "^4.28.1", "fastify": "^4.28.1",
"html-entities": "^2.5.2", "html-entities": "^2.5.2",
"mysql2": "^3.10.2", "mysql2": "^3.10.2",

View file

@ -6,7 +6,8 @@ export interface IConfig {
} }
mysql: MySQLConfig; mysql: MySQLConfig;
chat: ChatConfig; chat: ChatConfig;
motd: motdConfig motd: motdConfig;
discord: DiscordConfig;
tts: TTSConfig; tts: TTSConfig;
agents: AgentConfig[]; agents: AgentConfig[];
} }
@ -51,4 +52,9 @@ export interface MySQLConfig {
username: string; username: string;
password: string; password: string;
database: string; database: string;
}
export interface DiscordConfig {
enabled: boolean;
webhookURL: string;
} }

18
server/src/discord.ts Normal file
View file

@ -0,0 +1,18 @@
import { WebhookClient } from "discord.js";
import { DiscordConfig } from "./config.js";
export class DiscordLogger {
private webhook: WebhookClient;
constructor(config: DiscordConfig) {
this.webhook = new WebhookClient({url: config.webhookURL});
}
logMsg(username: string, msg: string) {
this.webhook.send({
username,
allowedMentions: {},
content: msg,
});
}
}

View file

@ -8,10 +8,10 @@ import { IConfig } from './config.js';
import * as fs from 'fs'; import * as fs from 'fs';
import { TTSClient } from './tts.js'; import { TTSClient } from './tts.js';
import path from 'path'; import path from 'path';
import { fileURLToPath } from 'url';
import { isIP } from 'net'; import { isIP } from 'net';
import { Database } from './database.js'; import { Database } from './database.js';
import { MSAgentErrorMessage, MSAgentProtocolMessageType } from '@msagent-chat/protocol'; import { MSAgentErrorMessage, MSAgentProtocolMessageType } from '@msagent-chat/protocol';
import { DiscordLogger } from './discord.js';
let config: IConfig; let config: IConfig;
let configPath: string; let configPath: string;
@ -88,7 +88,13 @@ app.get("/api/motd/html", (req, res) => {
return config.motd.html; return config.motd.html;
}); });
let room = new MSAgentChatRoom(config.chat, config.agents, db, tts); // Discord
let discord = null;
if (config.discord.enabled) {
discord = new DiscordLogger(config.discord);
}
let room = new MSAgentChatRoom(config.chat, config.agents, db, tts, discord);
app.register(async app => { app.register(async app => {
app.get("/api/socket", {websocket: true}, async (socket, req) => { app.get("/api/socket", {websocket: true}, async (socket, req) => {

View file

@ -1,5 +1,5 @@
import { EventEmitter } from 'events'; import { EventEmitter } from 'node:events';
import { RateLimitConfig } from './config'; import { RateLimitConfig } from './config.js';
// Class to ratelimit a resource (chatting, logging in, etc) // Class to ratelimit a resource (chatting, logging in, etc)
export default class RateLimiter extends EventEmitter { export default class RateLimiter extends EventEmitter {

View file

@ -4,6 +4,7 @@ import { TTSClient } from "./tts.js";
import { AgentConfig, ChatConfig } from "./config.js"; import { AgentConfig, ChatConfig } from "./config.js";
import * as htmlentities from 'html-entities'; import * as htmlentities from 'html-entities';
import { Database } from "./database.js"; import { Database } from "./database.js";
import { DiscordLogger } from "./discord.js";
export class MSAgentChatRoom { export class MSAgentChatRoom {
agents: AgentConfig[]; agents: AgentConfig[];
@ -12,13 +13,15 @@ export class MSAgentChatRoom {
msgId : number = 0; msgId : number = 0;
config: ChatConfig; config: ChatConfig;
db: Database; db: Database;
discord: DiscordLogger | null;
constructor(config: ChatConfig, agents: AgentConfig[], db: Database, tts: TTSClient | null) { constructor(config: ChatConfig, agents: AgentConfig[], db: Database, tts: TTSClient | null, discord: DiscordLogger | null) {
this.agents = agents; this.agents = agents;
this.clients = []; this.clients = [];
this.config = config; this.config = config;
this.tts = tts; this.tts = tts;
this.db = db; this.db = db;
this.discord = discord;
} }
addClient(client: Client) { addClient(client: Client) {
@ -79,6 +82,7 @@ export class MSAgentChatRoom {
for (const _client of this.getActiveClients()) { for (const _client of this.getActiveClients()) {
_client.send(msg); _client.send(msg);
} }
this.discord?.logMsg(client.username!, message);
}); });
client.on('admin', () => { client.on('admin', () => {
let msg: MSAgentPromoteMessage = { let msg: MSAgentPromoteMessage = {

View file

@ -1,7 +1,7 @@
import path from "path"; import path from "path";
import * as fs from 'fs/promises'; import * as fs from 'fs/promises';
import { TTSConfig } from "./config.js"; import { TTSConfig } from "./config.js";
import { Readable } from "stream"; import { Readable } from "node:stream";
import { ReadableStream } from 'node:stream/web'; import { ReadableStream } from 'node:stream/web';
import { finished } from "node:stream/promises"; import { finished } from "node:stream/promises";

428
yarn.lock
View file

@ -34,6 +34,85 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@discordjs/builders@npm:^1.8.2":
version: 1.8.2
resolution: "@discordjs/builders@npm:1.8.2"
dependencies:
"@discordjs/formatters": "npm:^0.4.0"
"@discordjs/util": "npm:^1.1.0"
"@sapphire/shapeshift": "npm:^3.9.7"
discord-api-types: "npm:0.37.83"
fast-deep-equal: "npm:^3.1.3"
ts-mixer: "npm:^6.0.4"
tslib: "npm:^2.6.2"
checksum: 10c0/108fe8903e9bc875a28b39629589391e44f41835169114e93c15548b5635632862168d4bec3392eac12e981d06b830d90f11b7af38fd664d7ea9cfa46b0726f3
languageName: node
linkType: hard
"@discordjs/collection@npm:1.5.3":
version: 1.5.3
resolution: "@discordjs/collection@npm:1.5.3"
checksum: 10c0/54338e005e9a1c6a5c91464cbcc378a5bf74410ad5b8bba1961b80d0ec8f1eb1b768ea737ad03bcb62430ea84aa5561523318b739538b334115ed775630ca42c
languageName: node
linkType: hard
"@discordjs/collection@npm:^2.1.0":
version: 2.1.0
resolution: "@discordjs/collection@npm:2.1.0"
checksum: 10c0/537df017962d4b98a35768db0d47e457a3f64daf550921368f98d3fbd66358d76f00ce01eac61163841b353747e702d1e1ea8badfdc2fb5a412eae7e84b1c607
languageName: node
linkType: hard
"@discordjs/formatters@npm:^0.4.0":
version: 0.4.0
resolution: "@discordjs/formatters@npm:0.4.0"
dependencies:
discord-api-types: "npm:0.37.83"
checksum: 10c0/9788e00559155f1767f85d02f14b0368affd4b7b86c1ff2207779906093ad9caf86cd74a60e681da5e762234b45fc9368c044247a484b4691cd652d5ff0d4f70
languageName: node
linkType: hard
"@discordjs/rest@npm:^2.3.0":
version: 2.3.0
resolution: "@discordjs/rest@npm:2.3.0"
dependencies:
"@discordjs/collection": "npm:^2.1.0"
"@discordjs/util": "npm:^1.1.0"
"@sapphire/async-queue": "npm:^1.5.2"
"@sapphire/snowflake": "npm:^3.5.3"
"@vladfrangu/async_event_emitter": "npm:^2.2.4"
discord-api-types: "npm:0.37.83"
magic-bytes.js: "npm:^1.10.0"
tslib: "npm:^2.6.2"
undici: "npm:6.13.0"
checksum: 10c0/f971c16f4095fd9f092d8d73dfed788341823bc06901b5b6b3b15a65697dc6bff4cc6ade93bedc2c2a6e01d39dae8bac9ebbed59a3a336fdbf2d81a4e63d2581
languageName: node
linkType: hard
"@discordjs/util@npm:^1.1.0":
version: 1.1.0
resolution: "@discordjs/util@npm:1.1.0"
checksum: 10c0/e4a7945b17eb86b3fa5bf49e49e0d0786c8f39e66bbeee19f01db4e817cf5a4761e684ec63a7d832722648d0e23236eeb21c450c34a11683102813a23701bda4
languageName: node
linkType: hard
"@discordjs/ws@npm:^1.1.1":
version: 1.1.1
resolution: "@discordjs/ws@npm:1.1.1"
dependencies:
"@discordjs/collection": "npm:^2.1.0"
"@discordjs/rest": "npm:^2.3.0"
"@discordjs/util": "npm:^1.1.0"
"@sapphire/async-queue": "npm:^1.5.2"
"@types/ws": "npm:^8.5.10"
"@vladfrangu/async_event_emitter": "npm:^2.2.4"
discord-api-types: "npm:0.37.83"
tslib: "npm:^2.6.2"
ws: "npm:^8.16.0"
checksum: 10c0/57e46534e3ea8ba53c1fbd282d4f0aa03563e10244847f6e6393957a56d05ae0af52c43114d6a6e1d7a3f3127498b09efd69dd3da11abe5e4a5170ac2e269178
languageName: node
linkType: hard
"@fastify/accept-negotiator@npm:^1.0.0": "@fastify/accept-negotiator@npm:^1.0.0":
version: 1.1.0 version: 1.1.0
resolution: "@fastify/accept-negotiator@npm:1.1.0" resolution: "@fastify/accept-negotiator@npm:1.1.0"
@ -229,13 +308,14 @@ __metadata:
dependencies: dependencies:
"@fastify/static": "npm:^7.0.4" "@fastify/static": "npm:^7.0.4"
"@fastify/websocket": "npm:^10.0.1" "@fastify/websocket": "npm:^10.0.1"
"@types/node": "npm:^20.14.9" "@types/node": "npm:^20.14.10"
"@types/ws": "npm:^8.5.10" "@types/ws": "npm:^8.5.10"
discord.js: "npm:^14.15.3"
fastify: "npm:^4.28.1" fastify: "npm:^4.28.1"
html-entities: "npm:^2.5.2" html-entities: "npm:^2.5.2"
mysql2: "npm:^3.10.2" mysql2: "npm:^3.10.2"
toml: "npm:^3.0.0" toml: "npm:^3.0.0"
typescript: "npm:^5.5.3" typescript: "npm:5.4.5"
ws: "npm:^8.17.1" ws: "npm:^8.17.1"
languageName: unknown languageName: unknown
linkType: soft linkType: soft
@ -1195,90 +1275,114 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-darwin-arm64@npm:1.6.6": "@sapphire/async-queue@npm:^1.5.2":
version: 1.6.6 version: 1.5.2
resolution: "@swc/core-darwin-arm64@npm:1.6.6" resolution: "@sapphire/async-queue@npm:1.5.2"
checksum: 10c0/e588a70efe7993a85e3e81103f3f9c3c2c12dd6f3ab2a0f0b763fa412a99780db7a9e1560f188c77945e5e561a40be53120f49b5d83dfa88dd2cf02955e46647
languageName: node
linkType: hard
"@sapphire/shapeshift@npm:^3.9.7":
version: 3.9.7
resolution: "@sapphire/shapeshift@npm:3.9.7"
dependencies:
fast-deep-equal: "npm:^3.1.3"
lodash: "npm:^4.17.21"
checksum: 10c0/29883d4c1986714fd4b2a7e4a58bf30a4598a02bbe031605dd99b766310a98889e2ae6f16bf37f43d91cf5960733dc1a619bfdaa85a96bc0ff9cc5ce57b8e689
languageName: node
linkType: hard
"@sapphire/snowflake@npm:3.5.3, @sapphire/snowflake@npm:^3.5.3":
version: 3.5.3
resolution: "@sapphire/snowflake@npm:3.5.3"
checksum: 10c0/361b6a3e16eea4eb48b2608005ce397d4163065ccd84077059a0f609b97fb9cc52a173d7a64bbfce6f5d1e77be0f9704fd72ef64683a3dc7e455e9b4a1c90db1
languageName: node
linkType: hard
"@swc/core-darwin-arm64@npm:1.6.13":
version: 1.6.13
resolution: "@swc/core-darwin-arm64@npm:1.6.13"
conditions: os=darwin & cpu=arm64 conditions: os=darwin & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-darwin-x64@npm:1.6.6": "@swc/core-darwin-x64@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-darwin-x64@npm:1.6.6" resolution: "@swc/core-darwin-x64@npm:1.6.13"
conditions: os=darwin & cpu=x64 conditions: os=darwin & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-linux-arm-gnueabihf@npm:1.6.6": "@swc/core-linux-arm-gnueabihf@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-linux-arm-gnueabihf@npm:1.6.6" resolution: "@swc/core-linux-arm-gnueabihf@npm:1.6.13"
conditions: os=linux & cpu=arm conditions: os=linux & cpu=arm
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-linux-arm64-gnu@npm:1.6.6": "@swc/core-linux-arm64-gnu@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-linux-arm64-gnu@npm:1.6.6" resolution: "@swc/core-linux-arm64-gnu@npm:1.6.13"
conditions: os=linux & cpu=arm64 & libc=glibc conditions: os=linux & cpu=arm64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-linux-arm64-musl@npm:1.6.6": "@swc/core-linux-arm64-musl@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-linux-arm64-musl@npm:1.6.6" resolution: "@swc/core-linux-arm64-musl@npm:1.6.13"
conditions: os=linux & cpu=arm64 & libc=musl conditions: os=linux & cpu=arm64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-linux-x64-gnu@npm:1.6.6": "@swc/core-linux-x64-gnu@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-linux-x64-gnu@npm:1.6.6" resolution: "@swc/core-linux-x64-gnu@npm:1.6.13"
conditions: os=linux & cpu=x64 & libc=glibc conditions: os=linux & cpu=x64 & libc=glibc
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-linux-x64-musl@npm:1.6.6": "@swc/core-linux-x64-musl@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-linux-x64-musl@npm:1.6.6" resolution: "@swc/core-linux-x64-musl@npm:1.6.13"
conditions: os=linux & cpu=x64 & libc=musl conditions: os=linux & cpu=x64 & libc=musl
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-win32-arm64-msvc@npm:1.6.6": "@swc/core-win32-arm64-msvc@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-win32-arm64-msvc@npm:1.6.6" resolution: "@swc/core-win32-arm64-msvc@npm:1.6.13"
conditions: os=win32 & cpu=arm64 conditions: os=win32 & cpu=arm64
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-win32-ia32-msvc@npm:1.6.6": "@swc/core-win32-ia32-msvc@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-win32-ia32-msvc@npm:1.6.6" resolution: "@swc/core-win32-ia32-msvc@npm:1.6.13"
conditions: os=win32 & cpu=ia32 conditions: os=win32 & cpu=ia32
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core-win32-x64-msvc@npm:1.6.6": "@swc/core-win32-x64-msvc@npm:1.6.13":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core-win32-x64-msvc@npm:1.6.6" resolution: "@swc/core-win32-x64-msvc@npm:1.6.13"
conditions: os=win32 & cpu=x64 conditions: os=win32 & cpu=x64
languageName: node languageName: node
linkType: hard linkType: hard
"@swc/core@npm:^1.3.36": "@swc/core@npm:^1.3.36":
version: 1.6.6 version: 1.6.13
resolution: "@swc/core@npm:1.6.6" resolution: "@swc/core@npm:1.6.13"
dependencies: dependencies:
"@swc/core-darwin-arm64": "npm:1.6.6" "@swc/core-darwin-arm64": "npm:1.6.13"
"@swc/core-darwin-x64": "npm:1.6.6" "@swc/core-darwin-x64": "npm:1.6.13"
"@swc/core-linux-arm-gnueabihf": "npm:1.6.6" "@swc/core-linux-arm-gnueabihf": "npm:1.6.13"
"@swc/core-linux-arm64-gnu": "npm:1.6.6" "@swc/core-linux-arm64-gnu": "npm:1.6.13"
"@swc/core-linux-arm64-musl": "npm:1.6.6" "@swc/core-linux-arm64-musl": "npm:1.6.13"
"@swc/core-linux-x64-gnu": "npm:1.6.6" "@swc/core-linux-x64-gnu": "npm:1.6.13"
"@swc/core-linux-x64-musl": "npm:1.6.6" "@swc/core-linux-x64-musl": "npm:1.6.13"
"@swc/core-win32-arm64-msvc": "npm:1.6.6" "@swc/core-win32-arm64-msvc": "npm:1.6.13"
"@swc/core-win32-ia32-msvc": "npm:1.6.6" "@swc/core-win32-ia32-msvc": "npm:1.6.13"
"@swc/core-win32-x64-msvc": "npm:1.6.6" "@swc/core-win32-x64-msvc": "npm:1.6.13"
"@swc/counter": "npm:^0.1.3" "@swc/counter": "npm:^0.1.3"
"@swc/types": "npm:^0.1.9" "@swc/types": "npm:^0.1.9"
peerDependencies: peerDependencies:
@ -1307,7 +1411,7 @@ __metadata:
peerDependenciesMeta: peerDependenciesMeta:
"@swc/helpers": "@swc/helpers":
optional: true optional: true
checksum: 10c0/7e46e9f81218abfda9230bc6f4aeaf86ac811c6d8441ca936669da0f182c1f5863b6611d35e4e3b649eb0d395a199b8955d823b7c572eb2203a6b191e86ccfe0 checksum: 10c0/679fe7fd80370601b5be999636a16052608fff7c039738016f3382bb307e7f48af2e465f8a6d4c1202778d4c1e324feabfd3033ebed4e5b0e3c19bdff5f7f2fb
languageName: node languageName: node
linkType: hard linkType: hard
@ -1343,12 +1447,12 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@types/node@npm:*, @types/node@npm:^20.14.9": "@types/node@npm:*, @types/node@npm:^20.14.10":
version: 20.14.9 version: 20.14.10
resolution: "@types/node@npm:20.14.9" resolution: "@types/node@npm:20.14.10"
dependencies: dependencies:
undici-types: "npm:~5.26.4" undici-types: "npm:~5.26.4"
checksum: 10c0/911ffa444dc032897f4a23ed580c67903bd38ea1c5ec99b1d00fa10b83537a3adddef8e1f29710cbdd8e556a61407ed008e06537d834e48caf449ce59f87d387 checksum: 10c0/0b06cff14365c2d0085dc16cc8cbea5c40ec09cfc1fea966be9eeecf35562760bfde8f88e86de6edfaf394501236e229d9c1084fad04fb4dec472ae245d8ae69
languageName: node languageName: node
linkType: hard linkType: hard
@ -1361,6 +1465,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@vladfrangu/async_event_emitter@npm:^2.2.4":
version: 2.4.3
resolution: "@vladfrangu/async_event_emitter@npm:2.4.3"
checksum: 10c0/ba72ea5cb02d6e1d86cfd88e38f2b2fba27b3391d72dc06eb6d56e021f0a8843cc092b94b35171a8419d4b857aa7335b755b8f0b737f12e7fb8f7821151ae4dc
languageName: node
linkType: hard
"abbrev@npm:^2.0.0": "abbrev@npm:^2.0.0":
version: 2.0.0 version: 2.0.0
resolution: "abbrev@npm:2.0.0" resolution: "abbrev@npm:2.0.0"
@ -1439,14 +1550,14 @@ __metadata:
linkType: hard linkType: hard
"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": "ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0":
version: 8.16.0 version: 8.17.1
resolution: "ajv@npm:8.16.0" resolution: "ajv@npm:8.17.1"
dependencies: dependencies:
fast-deep-equal: "npm:^3.1.3" fast-deep-equal: "npm:^3.1.3"
fast-uri: "npm:^3.0.1"
json-schema-traverse: "npm:^1.0.0" json-schema-traverse: "npm:^1.0.0"
require-from-string: "npm:^2.0.2" require-from-string: "npm:^2.0.2"
uri-js: "npm:^4.4.1" checksum: 10c0/ec3ba10a573c6b60f94639ffc53526275917a2df6810e4ab5a6b959d87459f9ef3f00d5e7865b82677cb7d21590355b34da14d1d0b9c32d75f95a187e76fff35
checksum: 10c0/6fc38aa8fd4fbfaa7096ac049e48c0cb440db36b76fef2d7d5b7d92b102735670d055d412d19176c08c9d48eaa9d06661b67e59f04943dc71ab1551e0484f88c
languageName: node languageName: node
linkType: hard linkType: hard
@ -1521,11 +1632,11 @@ __metadata:
linkType: hard linkType: hard
"base-x@npm:^3.0.8": "base-x@npm:^3.0.8":
version: 3.0.9 version: 3.0.10
resolution: "base-x@npm:3.0.9" resolution: "base-x@npm:3.0.10"
dependencies: dependencies:
safe-buffer: "npm:^5.0.1" safe-buffer: "npm:^5.0.1"
checksum: 10c0/e6bbeae30b24f748b546005affb710c5fbc8b11a83f6cd0ca999bd1ab7ad3a22e42888addc40cd145adc4edfe62fcfab4ebc91da22e4259aae441f95a77aee1a checksum: 10c0/a13a34b71439ee5381667efa630b3bf640cf17f632c5ba01990483367592e72f247d7fb4f8c6d0e3ff8c0fb7224b3ac682ff5be09b87063a45b3968f0457e563
languageName: node languageName: node
linkType: hard linkType: hard
@ -1573,16 +1684,16 @@ __metadata:
linkType: hard linkType: hard
"browserslist@npm:^4.6.6": "browserslist@npm:^4.6.6":
version: 4.23.1 version: 4.23.2
resolution: "browserslist@npm:4.23.1" resolution: "browserslist@npm:4.23.2"
dependencies: dependencies:
caniuse-lite: "npm:^1.0.30001629" caniuse-lite: "npm:^1.0.30001640"
electron-to-chromium: "npm:^1.4.796" electron-to-chromium: "npm:^1.4.820"
node-releases: "npm:^2.0.14" node-releases: "npm:^2.0.14"
update-browserslist-db: "npm:^1.0.16" update-browserslist-db: "npm:^1.1.0"
bin: bin:
browserslist: cli.js browserslist: cli.js
checksum: 10c0/eb47c7ab9d60db25ce2faca70efeb278faa7282a2f62b7f2fa2f92e5f5251cf65144244566c86559419ff4f6d78f59ea50e39911321ad91f3b27788901f1f5e9 checksum: 10c0/0217d23c69ed61cdd2530c7019bf7c822cd74c51f8baab18dd62457fed3129f52499f8d3a6f809ae1fb7bb3050aa70caa9a529cc36c7478427966dbf429723a5
languageName: node languageName: node
linkType: hard linkType: hard
@ -1607,8 +1718,8 @@ __metadata:
linkType: hard linkType: hard
"cacache@npm:^18.0.0": "cacache@npm:^18.0.0":
version: 18.0.3 version: 18.0.4
resolution: "cacache@npm:18.0.3" resolution: "cacache@npm:18.0.4"
dependencies: dependencies:
"@npmcli/fs": "npm:^3.1.0" "@npmcli/fs": "npm:^3.1.0"
fs-minipass: "npm:^3.0.0" fs-minipass: "npm:^3.0.0"
@ -1622,7 +1733,7 @@ __metadata:
ssri: "npm:^10.0.0" ssri: "npm:^10.0.0"
tar: "npm:^6.1.11" tar: "npm:^6.1.11"
unique-filename: "npm:^3.0.0" unique-filename: "npm:^3.0.0"
checksum: 10c0/dfda92840bb371fb66b88c087c61a74544363b37a265023223a99965b16a16bbb87661fe4948718d79df6e0cc04e85e62784fbcf1832b2a5e54ff4c46fbb45b7 checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f
languageName: node languageName: node
linkType: hard linkType: hard
@ -1633,10 +1744,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"caniuse-lite@npm:^1.0.30001629": "caniuse-lite@npm:^1.0.30001640":
version: 1.0.30001639 version: 1.0.30001641
resolution: "caniuse-lite@npm:1.0.30001639" resolution: "caniuse-lite@npm:1.0.30001641"
checksum: 10c0/3f56ce3d516a4fba959ad10ed6ecb15c6329233fc01f9f2714234a2ca91f408296d708a366ece510ca6566f71cb80d20d4c019441a1451ac1456e0128c8de78a checksum: 10c0/a065b641cfcc84b36955ee909bfd7313ad103d6a299f0fd261e0e4160e8f1cec79d685c5a9f11097a77687cf47154eddb8133163f2a34bcb8d73c45033a014d2
languageName: node languageName: node
linkType: hard linkType: hard
@ -1896,6 +2007,33 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"discord-api-types@npm:0.37.83":
version: 0.37.83
resolution: "discord-api-types@npm:0.37.83"
checksum: 10c0/cc1fd6c27a4076a47b1dae71212da52dd2265785edc3b099e3f0b05dae1df469e1a90e8159beff8fbdb37d65324cae4196625568541df6b9afdc80c300936ed6
languageName: node
linkType: hard
"discord.js@npm:^14.15.3":
version: 14.15.3
resolution: "discord.js@npm:14.15.3"
dependencies:
"@discordjs/builders": "npm:^1.8.2"
"@discordjs/collection": "npm:1.5.3"
"@discordjs/formatters": "npm:^0.4.0"
"@discordjs/rest": "npm:^2.3.0"
"@discordjs/util": "npm:^1.1.0"
"@discordjs/ws": "npm:^1.1.1"
"@sapphire/snowflake": "npm:3.5.3"
discord-api-types: "npm:0.37.83"
fast-deep-equal: "npm:3.1.3"
lodash.snakecase: "npm:4.1.1"
tslib: "npm:2.6.2"
undici: "npm:6.13.0"
checksum: 10c0/21a4e28541c29bf7170835f42cebc684e83615221f3c1262677e1f363e8fd28e7367e35bceabaea15873d965aecf0a832df6d572790ddec104bd0e025d11bdb8
languageName: node
linkType: hard
"dom-serializer@npm:^1.0.1": "dom-serializer@npm:^1.0.1":
version: 1.4.1 version: 1.4.1
resolution: "dom-serializer@npm:1.4.1" resolution: "dom-serializer@npm:1.4.1"
@ -1967,10 +2105,10 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"electron-to-chromium@npm:^1.4.796": "electron-to-chromium@npm:^1.4.820":
version: 1.4.816 version: 1.4.827
resolution: "electron-to-chromium@npm:1.4.816" resolution: "electron-to-chromium@npm:1.4.827"
checksum: 10c0/1a84bc42234484cbc5e8b521de57fd3ab9984a2111d8605eab26b3525f382c0c7b83b45bf8b34e5fa4a730cd183fef5dffa4a0627754c7f4fb0aae9cb3c16b37 checksum: 10c0/e37719d8f13da78eb2bc68184cdf73d167ecf413abc28afef2b0a5c55866293752fda980d83a5f42b5780781bde418b24c12e1c38f2662d25ed1c2f71880bc24
languageName: node languageName: node
linkType: hard linkType: hard
@ -2106,7 +2244,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-deep-equal@npm:^3.1.3": "fast-deep-equal@npm:3.1.3, fast-deep-equal@npm:^3.1.3":
version: 3.1.3 version: 3.1.3
resolution: "fast-deep-equal@npm:3.1.3" resolution: "fast-deep-equal@npm:3.1.3"
checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0
@ -2151,6 +2289,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"fast-uri@npm:^3.0.1":
version: 3.0.1
resolution: "fast-uri@npm:3.0.1"
checksum: 10c0/3cd46d6006083b14ca61ffe9a05b8eef75ef87e9574b6f68f2e17ecf4daa7aaadeff44e3f0f7a0ef4e0f7e7c20fc07beec49ff14dc72d0b500f00386592f2d10
languageName: node
linkType: hard
"fastify-plugin@npm:^4.0.0": "fastify-plugin@npm:^4.0.0":
version: 4.5.1 version: 4.5.1
resolution: "fastify-plugin@npm:4.5.1" resolution: "fastify-plugin@npm:4.5.1"
@ -2277,8 +2422,8 @@ __metadata:
linkType: hard linkType: hard
"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.4": "glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.4":
version: 10.4.2 version: 10.4.5
resolution: "glob@npm:10.4.2" resolution: "glob@npm:10.4.5"
dependencies: dependencies:
foreground-child: "npm:^3.1.0" foreground-child: "npm:^3.1.0"
jackspeak: "npm:^3.1.2" jackspeak: "npm:^3.1.2"
@ -2288,7 +2433,7 @@ __metadata:
path-scurry: "npm:^1.11.1" path-scurry: "npm:^1.11.1"
bin: bin:
glob: dist/esm/bin.mjs glob: dist/esm/bin.mjs
checksum: 10c0/2c7296695fa75a935f3ad17dc62e4e170a8bb8752cf64d328be8992dd6ad40777939003754e10e9741ff8fbe43aa52fba32d6930d0ffa0e3b74bc3fb5eebaa2f checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
languageName: node languageName: node
linkType: hard linkType: hard
@ -2569,15 +2714,15 @@ __metadata:
linkType: hard linkType: hard
"jackspeak@npm:^3.1.2": "jackspeak@npm:^3.1.2":
version: 3.4.0 version: 3.4.3
resolution: "jackspeak@npm:3.4.0" resolution: "jackspeak@npm:3.4.3"
dependencies: dependencies:
"@isaacs/cliui": "npm:^8.0.2" "@isaacs/cliui": "npm:^8.0.2"
"@pkgjs/parseargs": "npm:^0.11.0" "@pkgjs/parseargs": "npm:^0.11.0"
dependenciesMeta: dependenciesMeta:
"@pkgjs/parseargs": "@pkgjs/parseargs":
optional: true optional: true
checksum: 10c0/7e42d1ea411b4d57d43ea8a6afbca9224382804359cb72626d0fc45bb8db1de5ad0248283c3db45fe73e77210750d4fcc7c2b4fe5d24fda94aaa24d658295c5f checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9
languageName: node languageName: node
linkType: hard linkType: hard
@ -2791,6 +2936,20 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"lodash.snakecase@npm:4.1.1":
version: 4.1.1
resolution: "lodash.snakecase@npm:4.1.1"
checksum: 10c0/f0b3f2497eb20eea1a1cfc22d645ecaeb78ac14593eb0a40057977606d2f35f7aaff0913a06553c783b535aafc55b718f523f9eb78f8d5293f492af41002eaf9
languageName: node
linkType: hard
"lodash@npm:^4.17.21":
version: 4.17.21
resolution: "lodash@npm:4.17.21"
checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c
languageName: node
linkType: hard
"long@npm:^5.2.1": "long@npm:^5.2.1":
version: 5.2.3 version: 5.2.3
resolution: "long@npm:5.2.3" resolution: "long@npm:5.2.3"
@ -2799,9 +2958,9 @@ __metadata:
linkType: hard linkType: hard
"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0": "lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
version: 10.3.0 version: 10.4.3
resolution: "lru-cache@npm:10.3.0" resolution: "lru-cache@npm:10.4.3"
checksum: 10c0/02d57024d90672774d66e0b76328a8975483b782c68118078363be17b8e0efb4f2bee89d98ce87e72f42d68fe7cb4ad14b1205d43e4f9954f5c91e3be4eaceb8 checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb
languageName: node languageName: node
linkType: hard linkType: hard
@ -2819,6 +2978,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"magic-bytes.js@npm:^1.10.0":
version: 1.10.0
resolution: "magic-bytes.js@npm:1.10.0"
checksum: 10c0/aa751a9be6baa80da19b395a4c538e1dcf652a3760a2e507b9e04c4cb3832635b718f8a947e5b0a434a1b323792632002f98815b3389f0beb3af1c4d51eb339e
languageName: node
linkType: hard
"make-fetch-happen@npm:^13.0.0": "make-fetch-happen@npm:^13.0.0":
version: 13.0.1 version: 13.0.1
resolution: "make-fetch-happen@npm:13.0.1" resolution: "make-fetch-happen@npm:13.0.1"
@ -3122,11 +3288,11 @@ __metadata:
linkType: hard linkType: hard
"node-addon-api@npm:^7.0.0": "node-addon-api@npm:^7.0.0":
version: 7.1.0 version: 7.1.1
resolution: "node-addon-api@npm:7.1.0" resolution: "node-addon-api@npm:7.1.1"
dependencies: dependencies:
node-gyp: "npm:latest" node-gyp: "npm:latest"
checksum: 10c0/2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66 checksum: 10c0/fb32a206276d608037fa1bcd7e9921e177fe992fc610d098aa3128baca3c0050fc1e014fa007e9b3874cf865ddb4f5bd9f43ccb7cbbbe4efaff6a83e920b17e9
languageName: node languageName: node
linkType: hard linkType: hard
@ -3157,8 +3323,8 @@ __metadata:
linkType: hard linkType: hard
"node-gyp@npm:latest": "node-gyp@npm:latest":
version: 10.1.0 version: 10.2.0
resolution: "node-gyp@npm:10.1.0" resolution: "node-gyp@npm:10.2.0"
dependencies: dependencies:
env-paths: "npm:^2.2.0" env-paths: "npm:^2.2.0"
exponential-backoff: "npm:^3.1.1" exponential-backoff: "npm:^3.1.1"
@ -3166,13 +3332,13 @@ __metadata:
graceful-fs: "npm:^4.2.6" graceful-fs: "npm:^4.2.6"
make-fetch-happen: "npm:^13.0.0" make-fetch-happen: "npm:^13.0.0"
nopt: "npm:^7.0.0" nopt: "npm:^7.0.0"
proc-log: "npm:^3.0.0" proc-log: "npm:^4.1.0"
semver: "npm:^7.3.5" semver: "npm:^7.3.5"
tar: "npm:^6.1.2" tar: "npm:^6.2.1"
which: "npm:^4.0.0" which: "npm:^4.0.0"
bin: bin:
node-gyp: bin/node-gyp.js node-gyp: bin/node-gyp.js
checksum: 10c0/9cc821111ca244a01fb7f054db7523ab0a0cd837f665267eb962eb87695d71fb1e681f9e21464cc2fd7c05530dc4c81b810bca1a88f7d7186909b74477491a3c checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b
languageName: node languageName: node
linkType: hard linkType: hard
@ -3429,14 +3595,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"proc-log@npm:^3.0.0": "proc-log@npm:^4.1.0, proc-log@npm:^4.2.0":
version: 3.0.0
resolution: "proc-log@npm:3.0.0"
checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc
languageName: node
linkType: hard
"proc-log@npm:^4.2.0":
version: 4.2.0 version: 4.2.0
resolution: "proc-log@npm:4.2.0" resolution: "proc-log@npm:4.2.0"
checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9
@ -3487,13 +3646,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"punycode@npm:^2.1.0":
version: 2.3.1
resolution: "punycode@npm:2.3.1"
checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9
languageName: node
linkType: hard
"quick-format-unescaped@npm:^4.0.3": "quick-format-unescaped@npm:^4.0.3":
version: 4.0.4 version: 4.0.4
resolution: "quick-format-unescaped@npm:4.0.4" resolution: "quick-format-unescaped@npm:4.0.4"
@ -3971,7 +4123,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tar@npm:^6.1.11, tar@npm:^6.1.2": "tar@npm:^6.1.11, tar@npm:^6.2.1":
version: 6.2.1 version: 6.2.1
resolution: "tar@npm:6.2.1" resolution: "tar@npm:6.2.1"
dependencies: dependencies:
@ -4038,7 +4190,21 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tslib@npm:^2.4.0": "ts-mixer@npm:^6.0.4":
version: 6.0.4
resolution: "ts-mixer@npm:6.0.4"
checksum: 10c0/4c442fc99cdffd4a3f0ce55c624fb703f4ded5cab6912f97705489565c4a74d3e4213f10c33499ec5150900a628d38537a9a6a9e35b5045b65129a84b4db21ae
languageName: node
linkType: hard
"tslib@npm:2.6.2":
version: 2.6.2
resolution: "tslib@npm:2.6.2"
checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb
languageName: node
linkType: hard
"tslib@npm:^2.4.0, tslib@npm:^2.6.2":
version: 2.6.3 version: 2.6.3
resolution: "tslib@npm:2.6.3" resolution: "tslib@npm:2.6.3"
checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a checksum: 10c0/2598aef53d9dbe711af75522464b2104724d6467b26a60f2bdac8297d2b5f1f6b86a71f61717384aa8fd897240467aaa7bcc36a0700a0faf751293d1331db39a
@ -4061,6 +4227,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"typescript@npm:5.4.5":
version: 5.4.5
resolution: "typescript@npm:5.4.5"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10c0/2954022ada340fd3d6a9e2b8e534f65d57c92d5f3989a263754a78aba549f7e6529acc1921913560a4b816c46dce7df4a4d29f9f11a3dc0d4213bb76d043251e
languageName: node
linkType: hard
"typescript@npm:>=3.0.0, typescript@npm:^5.5.3": "typescript@npm:>=3.0.0, typescript@npm:^5.5.3":
version: 5.5.3 version: 5.5.3
resolution: "typescript@npm:5.5.3" resolution: "typescript@npm:5.5.3"
@ -4071,6 +4247,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>":
version: 5.4.5
resolution: "typescript@patch:typescript@npm%3A5.4.5#optional!builtin<compat/typescript>::version=5.4.5&hash=5adc0c"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10c0/db2ad2a16ca829f50427eeb1da155e7a45e598eec7b086d8b4e8ba44e5a235f758e606d681c66992230d3fc3b8995865e5fd0b22a2c95486d0b3200f83072ec9
languageName: node
linkType: hard
"typescript@patch:typescript@npm%3A>=3.0.0#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.5.3#optional!builtin<compat/typescript>": "typescript@patch:typescript@npm%3A>=3.0.0#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.5.3#optional!builtin<compat/typescript>":
version: 5.5.3 version: 5.5.3
resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin<compat/typescript>::version=5.5.3&hash=b45daf" resolution: "typescript@patch:typescript@npm%3A5.5.3#optional!builtin<compat/typescript>::version=5.5.3&hash=b45daf"
@ -4088,6 +4274,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"undici@npm:6.13.0":
version: 6.13.0
resolution: "undici@npm:6.13.0"
checksum: 10c0/b1b0456e7d4e87fd4f71a2a0716d8ea826f024fbcf16b7c6185194ca138cb822c20db509ed18c837fffcd9ffc3d74004ad6f950ebc895ff81ebb5ca6bf001cb2
languageName: node
linkType: hard
"unique-filename@npm:^3.0.0": "unique-filename@npm:^3.0.0":
version: 3.0.0 version: 3.0.0
resolution: "unique-filename@npm:3.0.0" resolution: "unique-filename@npm:3.0.0"
@ -4106,7 +4299,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"update-browserslist-db@npm:^1.0.16": "update-browserslist-db@npm:^1.1.0":
version: 1.1.0 version: 1.1.0
resolution: "update-browserslist-db@npm:1.1.0" resolution: "update-browserslist-db@npm:1.1.0"
dependencies: dependencies:
@ -4120,15 +4313,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"uri-js@npm:^4.4.1":
version: 4.4.1
resolution: "uri-js@npm:4.4.1"
dependencies:
punycode: "npm:^2.1.0"
checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c
languageName: node
linkType: hard
"util-deprecate@npm:^1.0.1": "util-deprecate@npm:^1.0.1":
version: 1.0.2 version: 1.0.2
resolution: "util-deprecate@npm:1.0.2" resolution: "util-deprecate@npm:1.0.2"
@ -4201,9 +4385,9 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ws@npm:^8.0.0, ws@npm:^8.17.1": "ws@npm:^8.0.0, ws@npm:^8.16.0, ws@npm:^8.17.1":
version: 8.17.1 version: 8.18.0
resolution: "ws@npm:8.17.1" resolution: "ws@npm:8.18.0"
peerDependencies: peerDependencies:
bufferutil: ^4.0.1 bufferutil: ^4.0.1
utf-8-validate: ">=5.0.2" utf-8-validate: ">=5.0.2"
@ -4212,7 +4396,7 @@ __metadata:
optional: true optional: true
utf-8-validate: utf-8-validate:
optional: true optional: true
checksum: 10c0/f4a49064afae4500be772abdc2211c8518f39e1c959640457dcee15d4488628620625c783902a52af2dd02f68558da2868fd06e6fd0e67ebcd09e6881b1b5bfe checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06
languageName: node languageName: node
linkType: hard linkType: hard