From 6ce1fdf67dcea5266ce3bfc36f537d2efe2f3f71 Mon Sep 17 00:00:00 2001 From: enricobuehler Date: Tue, 17 Feb 2026 18:04:32 +0100 Subject: [PATCH] restructure move to bun workspaces bump zod begin adding fluxer --- .gitea/workflows/deploy.yml | 48 -- Biomefile | 3 - adapters/discord/.gitignore | 34 ++ adapters/discord/CLAUDE.md | 106 ++++ adapters/discord/README.md | 15 + adapters/discord/bun.lock | 26 + adapters/discord/index.ts | 1 + adapters/discord/package.json | 16 + adapters/discord/src/config/config.schema.ts | 20 + adapters/discord/src/config/config.ts | 43 ++ adapters/discord/tsconfig.json | 29 ++ adapters/fluxer/.gitignore | 34 ++ adapters/fluxer/CLAUDE.md | 106 ++++ adapters/fluxer/README.md | 15 + adapters/fluxer/index.ts | 1 + adapters/fluxer/package.json | 12 + adapters/fluxer/tsconfig.json | 29 ++ biome.json | 34 ++ bun.lock | 473 ++++++++++++++++++ bun.lockb | Bin 50824 -> 0 bytes .dockerignore => core/.dockerignore | 0 Dockerfile => core/Dockerfile | 0 LICENSE => core/LICENSE | 0 README.md => core/README.md | 0 docker-compose.yml => core/docker-compose.yml | 0 drizzle.config.ts => core/drizzle.config.ts | 0 .../drizzle}/0000_needy_nightshade.sql | 0 .../drizzle}/0001_dusty_wolverine.sql | 0 .../drizzle}/meta/0000_snapshot.json | 0 .../drizzle}/meta/0001_snapshot.json | 0 {drizzle => core/drizzle}/meta/_journal.json | 0 .../icon}/mo_Avocadi_Avatar_Closeup_2.png | Bin core/package.json | 41 ++ .../actions/activity/activity.components.ts | 0 .../src}/actions/activity/activity.service.ts | 0 .../customMessage/customMessage.components.ts | 0 .../customMessage/customMessage.service.ts | 0 .../src}/actions/debug/debug.service.ts | 0 {src => core/src}/actions/dm/dm.components.ts | 0 {src => core/src}/actions/dm/dm.service.ts | 0 .../src}/actions/drink/drink.service.ts | 0 {src => core/src}/actions/drink/drink.task.ts | 0 .../dynamicVChannel.components.ts | 0 .../dynamicVChannel.service.ts | 0 .../actions/greeting/greeting.components.ts | 0 .../src}/actions/greeting/greeting.service.ts | 0 .../src}/actions/greeting/greeting.task.ts | 0 .../src}/actions/help/help.components.ts | 0 .../src}/actions/help/help.service.ts | 0 .../medication/medication.components.ts | 0 .../actions/medication/medication.service.ts | 0 .../actions/medication/medication.task.ts | 0 .../actions/pomodoro/pomodoro.components.ts | 0 .../actions/pomodoro/pomodoro.controller.ts | 0 .../src}/actions/pomodoro/pomodoro.service.ts | 0 .../reactRole/reactRoles.components.ts | 0 .../actions/reactRole/reactRoles.service.ts | 0 .../actions/support/support.components.ts | 0 .../src}/actions/support/support.service.ts | 0 .../src}/actions/waterMe/waterMe.service.ts | 0 .../src}/actions/waterMe/waterMe.task.ts | 0 {src => core/src}/commands/index.ts | 0 {src => core/src}/components/index.ts | 0 {src => core/src}/config.ts | 0 {src => core/src}/db/index.ts | 0 {src => core/src}/db/schema.ts | 0 {src => core/src}/discord.controller.ts | 0 {src => core/src}/discord.service.ts | 0 core/src/entities/channels/channels.schema.ts | 29 ++ core/src/entities/roles/roles.schema.ts | 11 + {src => core/src}/index.ts | 0 {src => core/src}/lib/client.ts | 0 {src => core/src}/lib/utils.test.ts | 0 {src => core/src}/lib/utils.ts | 0 {src => core/src}/permissions/index.ts | 0 tsconfig.json => core/tsconfig.json | 0 core/tsdown.config.ts | 15 + package.json | 44 +- process.env | 0 79 files changed, 1106 insertions(+), 79 deletions(-) delete mode 100644 .gitea/workflows/deploy.yml delete mode 100644 Biomefile create mode 100644 adapters/discord/.gitignore create mode 100644 adapters/discord/CLAUDE.md create mode 100644 adapters/discord/README.md create mode 100644 adapters/discord/bun.lock create mode 100644 adapters/discord/index.ts create mode 100644 adapters/discord/package.json create mode 100644 adapters/discord/src/config/config.schema.ts create mode 100644 adapters/discord/src/config/config.ts create mode 100644 adapters/discord/tsconfig.json create mode 100644 adapters/fluxer/.gitignore create mode 100644 adapters/fluxer/CLAUDE.md create mode 100644 adapters/fluxer/README.md create mode 100644 adapters/fluxer/index.ts create mode 100644 adapters/fluxer/package.json create mode 100644 adapters/fluxer/tsconfig.json create mode 100644 biome.json create mode 100644 bun.lock delete mode 100755 bun.lockb rename .dockerignore => core/.dockerignore (100%) rename Dockerfile => core/Dockerfile (100%) rename LICENSE => core/LICENSE (100%) rename README.md => core/README.md (100%) rename docker-compose.yml => core/docker-compose.yml (100%) rename drizzle.config.ts => core/drizzle.config.ts (100%) rename {drizzle => core/drizzle}/0000_needy_nightshade.sql (100%) rename {drizzle => core/drizzle}/0001_dusty_wolverine.sql (100%) rename {drizzle => core/drizzle}/meta/0000_snapshot.json (100%) rename {drizzle => core/drizzle}/meta/0001_snapshot.json (100%) rename {drizzle => core/drizzle}/meta/_journal.json (100%) rename {icon => core/icon}/mo_Avocadi_Avatar_Closeup_2.png (100%) create mode 100644 core/package.json rename {src => core/src}/actions/activity/activity.components.ts (100%) rename {src => core/src}/actions/activity/activity.service.ts (100%) rename {src => core/src}/actions/customMessage/customMessage.components.ts (100%) rename {src => core/src}/actions/customMessage/customMessage.service.ts (100%) rename {src => core/src}/actions/debug/debug.service.ts (100%) rename {src => core/src}/actions/dm/dm.components.ts (100%) rename {src => core/src}/actions/dm/dm.service.ts (100%) rename {src => core/src}/actions/drink/drink.service.ts (100%) rename {src => core/src}/actions/drink/drink.task.ts (100%) rename {src => core/src}/actions/dynamicVChannel/dynamicVChannel.components.ts (100%) rename {src => core/src}/actions/dynamicVChannel/dynamicVChannel.service.ts (100%) rename {src => core/src}/actions/greeting/greeting.components.ts (100%) rename {src => core/src}/actions/greeting/greeting.service.ts (100%) rename {src => core/src}/actions/greeting/greeting.task.ts (100%) rename {src => core/src}/actions/help/help.components.ts (100%) rename {src => core/src}/actions/help/help.service.ts (100%) rename {src => core/src}/actions/medication/medication.components.ts (100%) rename {src => core/src}/actions/medication/medication.service.ts (100%) rename {src => core/src}/actions/medication/medication.task.ts (100%) rename {src => core/src}/actions/pomodoro/pomodoro.components.ts (100%) rename {src => core/src}/actions/pomodoro/pomodoro.controller.ts (100%) rename {src => core/src}/actions/pomodoro/pomodoro.service.ts (100%) rename {src => core/src}/actions/reactRole/reactRoles.components.ts (100%) rename {src => core/src}/actions/reactRole/reactRoles.service.ts (100%) rename {src => core/src}/actions/support/support.components.ts (100%) rename {src => core/src}/actions/support/support.service.ts (100%) rename {src => core/src}/actions/waterMe/waterMe.service.ts (100%) rename {src => core/src}/actions/waterMe/waterMe.task.ts (100%) rename {src => core/src}/commands/index.ts (100%) rename {src => core/src}/components/index.ts (100%) rename {src => core/src}/config.ts (100%) rename {src => core/src}/db/index.ts (100%) rename {src => core/src}/db/schema.ts (100%) rename {src => core/src}/discord.controller.ts (100%) rename {src => core/src}/discord.service.ts (100%) create mode 100644 core/src/entities/channels/channels.schema.ts create mode 100644 core/src/entities/roles/roles.schema.ts rename {src => core/src}/index.ts (100%) rename {src => core/src}/lib/client.ts (100%) rename {src => core/src}/lib/utils.test.ts (100%) rename {src => core/src}/lib/utils.ts (100%) rename {src => core/src}/permissions/index.ts (100%) rename tsconfig.json => core/tsconfig.json (100%) create mode 100644 core/tsdown.config.ts delete mode 100644 process.env diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml deleted file mode 100644 index 49fe39d..0000000 --- a/.gitea/workflows/deploy.yml +++ /dev/null @@ -1,48 +0,0 @@ -name: release-tag - -on: push - -jobs: - release-image: - runs-on: ubuntu-latest - container: - image: catthehacker/ubuntu:act-latest - # env: - # DOCKER_ORG: teacup - # DOCKER_LATEST: nightly - # RUNNER_TOOL_CACHE: /toolcache - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker BuildX - uses: docker/setup-buildx-action@v2 - - - name: Login to DockerHub - uses: docker/login-action@v2 - with: - registry: git.unom.io # replace it with your local IP - username: ${{ vars.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_TOKEN }} - - - name: Get Meta - id: meta - run: | - echo REPO_NAME=$(echo ${GITHUB_REPOSITORY} | awk -F"/" '{print $2}') >> $GITHUB_OUTPUT - echo REPO_VERSION=$(git describe --tags --always | sed 's/^v//') >> $GITHUB_OUTPUT - - - name: Build and push - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile - platforms: | - linux/amd64 - linux/arm64 - push: true - tags: | # replace it with your local IP and tags - git.unom.io/mo/${{ steps.meta.outputs.REPO_NAME }}:${{ steps.meta.outputs.REPO_VERSION }} - git.unom.io/mo/${{ steps.meta.outputs.REPO_NAME }}:latest diff --git a/Biomefile b/Biomefile deleted file mode 100644 index 2853af7..0000000 --- a/Biomefile +++ /dev/null @@ -1,3 +0,0 @@ -{ - "name": "avocadi-bot" -} \ No newline at end of file diff --git a/adapters/discord/.gitignore b/adapters/discord/.gitignore new file mode 100644 index 0000000..a14702c --- /dev/null +++ b/adapters/discord/.gitignore @@ -0,0 +1,34 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/adapters/discord/CLAUDE.md b/adapters/discord/CLAUDE.md new file mode 100644 index 0000000..764c1dd --- /dev/null +++ b/adapters/discord/CLAUDE.md @@ -0,0 +1,106 @@ + +Default to using Bun instead of Node.js. + +- Use `bun ` instead of `node ` or `ts-node ` +- Use `bun test` instead of `jest` or `vitest` +- Use `bun build ` instead of `webpack` or `esbuild` +- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install` +- Use `bun run + + +``` + +With the following `frontend.tsx`: + +```tsx#frontend.tsx +import React from "react"; +import { createRoot } from "react-dom/client"; + +// import .css files directly and it works +import './index.css'; + +const root = createRoot(document.body); + +export default function Frontend() { + return

Hello, world!

; +} + +root.render(); +``` + +Then, run index.ts + +```sh +bun --hot ./index.ts +``` + +For more information, read the Bun API docs in `node_modules/bun-types/docs/**.mdx`. diff --git a/adapters/discord/README.md b/adapters/discord/README.md new file mode 100644 index 0000000..604063a --- /dev/null +++ b/adapters/discord/README.md @@ -0,0 +1,15 @@ +# discord + +To install dependencies: + +```bash +bun install +``` + +To run: + +```bash +bun run index.ts +``` + +This project was created using `bun init` in bun v1.3.5. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. diff --git a/adapters/discord/bun.lock b/adapters/discord/bun.lock new file mode 100644 index 0000000..ac46df3 --- /dev/null +++ b/adapters/discord/bun.lock @@ -0,0 +1,26 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "discord", + "devDependencies": { + "@types/bun": "latest", + }, + "peerDependencies": { + "typescript": "^5", + }, + }, + }, + "packages": { + "@types/bun": ["@types/bun@1.3.9", "", { "dependencies": { "bun-types": "1.3.9" } }, "sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw=="], + + "@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "bun-types": ["bun-types@1.3.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + } +} diff --git a/adapters/discord/index.ts b/adapters/discord/index.ts new file mode 100644 index 0000000..f67b2c6 --- /dev/null +++ b/adapters/discord/index.ts @@ -0,0 +1 @@ +console.log("Hello via Bun!"); \ No newline at end of file diff --git a/adapters/discord/package.json b/adapters/discord/package.json new file mode 100644 index 0000000..86a5b04 --- /dev/null +++ b/adapters/discord/package.json @@ -0,0 +1,16 @@ +{ + "name": "@avocadi/bot-adapter-discord", + "module": "index.ts", + "type": "module", + "private": true, + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5" + }, + "dependencies": { + "zod": "catalog:", + "@avocadi/bot-core": "workspace:*" + } +} diff --git a/adapters/discord/src/config/config.schema.ts b/adapters/discord/src/config/config.schema.ts new file mode 100644 index 0000000..c69ea92 --- /dev/null +++ b/adapters/discord/src/config/config.schema.ts @@ -0,0 +1,20 @@ +import { + TextChannels, + VoiceChannels, +} from "@avocadi/bot-core/entities/channels/channels.schema"; +import { Roles } from "@avocadi/bot-core/entities/roles/roles.schema"; +import z from "zod"; + +export const ConfigSchema = z.object({ + channelMapping: z.object({ + text: z.record(TextChannels, z.string()), + voice: z.record(VoiceChannels, z.string()), + }), + roleMapping: z.record(Roles, z.string()), + serverId: z.string(), + version: z.number(), + discord: z.object({ + token: z.string(), + applicationId: z.string(), + }), +}); diff --git a/adapters/discord/src/config/config.ts b/adapters/discord/src/config/config.ts new file mode 100644 index 0000000..53ff911 --- /dev/null +++ b/adapters/discord/src/config/config.ts @@ -0,0 +1,43 @@ +import type z from "zod"; +import type { ConfigSchema } from "./config.schema"; + +export const config: z.output = { + channelMapping: { + text: { + bot: "1317253291633279026", + bump: "1330310075759329412", + feedback: "1321626600185266176", + help: "1321860125127872605", + introduction: "1321473655523246171", + news: "1321953521435934741", + notification: "1321972449365065728", + "off-topic": "1316153372507639855", + rules: "1316153372507639849", + testing: "1451310086864507112", + welcome: "1316153372507639852", + pomodoro: "1369718059824054483", + }, + voice: { + custom: "1451323742805561457", + "for-four": "1321563441588207727", + "for-group": "1321607205207805992", + "for-three": "1321563403952721970", + "for-two": "1316153372755234858", + "pomodoro-25-5": "1369717999061438504", + "pomodoro-50-10": "1370518840114544814", + }, + }, + roleMapping: { + admin: "1321467874220576778", + mention: "1332478785731428372", + mod: "1321468169608757350", + people: "1321470720424939662", + bot: "1321491461111283722", + }, + serverId: "1316153371899592774", + version: 1, + discord: { + token: process.env.DISCORD_TOKEN || "", + applicationId: process.env.DISCORD_APPLICATION_ID || "", + }, +}; diff --git a/adapters/discord/tsconfig.json b/adapters/discord/tsconfig.json new file mode 100644 index 0000000..bfa0fea --- /dev/null +++ b/adapters/discord/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + // Environment setup & latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +} diff --git a/adapters/fluxer/.gitignore b/adapters/fluxer/.gitignore new file mode 100644 index 0000000..a14702c --- /dev/null +++ b/adapters/fluxer/.gitignore @@ -0,0 +1,34 @@ +# dependencies (bun install) +node_modules + +# output +out +dist +*.tgz + +# code coverage +coverage +*.lcov + +# logs +logs +_.log +report.[0-9]_.[0-9]_.[0-9]_.[0-9]_.json + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# caches +.eslintcache +.cache +*.tsbuildinfo + +# IntelliJ based IDEs +.idea + +# Finder (MacOS) folder config +.DS_Store diff --git a/adapters/fluxer/CLAUDE.md b/adapters/fluxer/CLAUDE.md new file mode 100644 index 0000000..764c1dd --- /dev/null +++ b/adapters/fluxer/CLAUDE.md @@ -0,0 +1,106 @@ + +Default to using Bun instead of Node.js. + +- Use `bun ` instead of `node ` or `ts-node ` +- Use `bun test` instead of `jest` or `vitest` +- Use `bun build ` instead of `webpack` or `esbuild` +- Use `bun install` instead of `npm install` or `yarn install` or `pnpm install` +- Use `bun run + + +``` + +With the following `frontend.tsx`: + +```tsx#frontend.tsx +import React from "react"; +import { createRoot } from "react-dom/client"; + +// import .css files directly and it works +import './index.css'; + +const root = createRoot(document.body); + +export default function Frontend() { + return

Hello, world!

; +} + +root.render(); +``` + +Then, run index.ts + +```sh +bun --hot ./index.ts +``` + +For more information, read the Bun API docs in `node_modules/bun-types/docs/**.mdx`. diff --git a/adapters/fluxer/README.md b/adapters/fluxer/README.md new file mode 100644 index 0000000..2edb4a7 --- /dev/null +++ b/adapters/fluxer/README.md @@ -0,0 +1,15 @@ +# fluxer + +To install dependencies: + +```bash +bun install +``` + +To run: + +```bash +bun run index.ts +``` + +This project was created using `bun init` in bun v1.3.5. [Bun](https://bun.com) is a fast all-in-one JavaScript runtime. diff --git a/adapters/fluxer/index.ts b/adapters/fluxer/index.ts new file mode 100644 index 0000000..f67b2c6 --- /dev/null +++ b/adapters/fluxer/index.ts @@ -0,0 +1 @@ +console.log("Hello via Bun!"); \ No newline at end of file diff --git a/adapters/fluxer/package.json b/adapters/fluxer/package.json new file mode 100644 index 0000000..d942816 --- /dev/null +++ b/adapters/fluxer/package.json @@ -0,0 +1,12 @@ +{ + "name": "@avocadi/bot-adapter-fluxer", + "module": "index.ts", + "type": "module", + "private": true, + "devDependencies": { + "@types/bun": "latest" + }, + "peerDependencies": { + "typescript": "^5" + } +} diff --git a/adapters/fluxer/tsconfig.json b/adapters/fluxer/tsconfig.json new file mode 100644 index 0000000..bfa0fea --- /dev/null +++ b/adapters/fluxer/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + // Environment setup & latest features + "lib": ["ESNext"], + "target": "ESNext", + "module": "Preserve", + "moduleDetection": "force", + "jsx": "react-jsx", + "allowJs": true, + + // Bundler mode + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "noEmit": true, + + // Best practices + "strict": true, + "skipLibCheck": true, + "noFallthroughCasesInSwitch": true, + "noUncheckedIndexedAccess": true, + "noImplicitOverride": true, + + // Some stricter flags (disabled by default) + "noUnusedLocals": false, + "noUnusedParameters": false, + "noPropertyAccessFromIndexSignature": false + } +} diff --git a/biome.json b/biome.json new file mode 100644 index 0000000..09945d2 --- /dev/null +++ b/biome.json @@ -0,0 +1,34 @@ +{ + "$schema": "https://biomejs.dev/schemas/2.4.2/schema.json", + "vcs": { + "enabled": true, + "clientKind": "git", + "useIgnoreFile": true + }, + "files": { + "ignoreUnknown": false + }, + "formatter": { + "enabled": true, + "indentStyle": "tab" + }, + "linter": { + "enabled": true, + "rules": { + "recommended": true + } + }, + "javascript": { + "formatter": { + "quoteStyle": "double" + } + }, + "assist": { + "enabled": true, + "actions": { + "source": { + "organizeImports": "on" + } + } + } +} diff --git a/bun.lock b/bun.lock new file mode 100644 index 0000000..6c39c60 --- /dev/null +++ b/bun.lock @@ -0,0 +1,473 @@ +{ + "lockfileVersion": 1, + "configVersion": 1, + "workspaces": { + "": { + "name": "avocadi-bot", + "devDependencies": { + "@biomejs/biome": "^2.4.2", + }, + }, + "adapters/discord": { + "name": "@avocadi/bot-adapter-discord", + "dependencies": { + "@avocadi/bot-core": "workspace:*", + "zod": "catalog:", + }, + "devDependencies": { + "@types/bun": "latest", + }, + "peerDependencies": { + "typescript": "^5", + }, + }, + "adapters/fluxer": { + "name": "@avocadi/bot-adapter-fluxer", + "devDependencies": { + "@types/bun": "latest", + }, + "peerDependencies": { + "typescript": "^5", + }, + }, + "core": { + "name": "@avocadi/bot-core", + "dependencies": { + "@discordjs/rest": "^2.4.0", + "cron": "^3.3.1", + "discord.js": "^14.16.3", + "dotenv": "^16.4.7", + "drizzle-orm": "^0.38.3", + "zod": "catalog:", + }, + "devDependencies": { + "@types/bun": "^1.1.14", + "better-sqlite3": "^11.7.0", + "drizzle-kit": "^0.30.1", + "tsdown": "catalog:", + }, + "peerDependencies": { + "typescript": "^5.7.2", + }, + }, + }, + "trustedDependencies": [ + "better-sqlite3", + "esbuild", + ], + "catalog": { + "tsdown": "^0.20.3", + "zod": "^4", + }, + "packages": { + "@avocadi/bot-adapter-discord": ["@avocadi/bot-adapter-discord@workspace:adapters/discord"], + + "@avocadi/bot-adapter-fluxer": ["@avocadi/bot-adapter-fluxer@workspace:adapters/fluxer"], + + "@avocadi/bot-core": ["@avocadi/bot-core@workspace:core"], + + "@babel/generator": ["@babel/generator@8.0.0-rc.1", "", { "dependencies": { "@babel/parser": "^8.0.0-rc.1", "@babel/types": "^8.0.0-rc.1", "@jridgewell/gen-mapping": "^0.3.12", "@jridgewell/trace-mapping": "^0.3.28", "@types/jsesc": "^2.5.0", "jsesc": "^3.0.2" } }, "sha512-3ypWOOiC4AYHKr8vYRVtWtWmyvcoItHtVqF8paFax+ydpmUdPsJpLBkBBs5ItmhdrwC3a0ZSqqFAdzls4ODP3w=="], + + "@babel/helper-string-parser": ["@babel/helper-string-parser@8.0.0-rc.2", "", {}, "sha512-noLx87RwlBEMrTzncWd/FvTxoJ9+ycHNg0n8yyYydIoDsLZuxknKgWRJUqcrVkNrJ74uGyhWQzQaS3q8xfGAhQ=="], + + "@babel/helper-validator-identifier": ["@babel/helper-validator-identifier@8.0.0-rc.1", "", {}, "sha512-I4YnARytXC2RzkLNVnf5qFNFMzp679qZpmtw/V3Jt2uGnWiIxyJtaukjG7R8pSx8nG2NamICpGfljQsogj+FbQ=="], + + "@babel/parser": ["@babel/parser@8.0.0-rc.1", "", { "dependencies": { "@babel/types": "^8.0.0-rc.1" }, "bin": "./bin/babel-parser.js" }, "sha512-6HyyU5l1yK/7h9Ki52i5h6mDAx4qJdiLQO4FdCyJNoB/gy3T3GGJdhQzzbZgvgZCugYBvwtQiWRt94QKedHnkA=="], + + "@babel/types": ["@babel/types@8.0.0-rc.1", "", { "dependencies": { "@babel/helper-string-parser": "^8.0.0-rc.1", "@babel/helper-validator-identifier": "^8.0.0-rc.1" } }, "sha512-ubmJ6TShyaD69VE9DQrlXcdkvJbmwWPB8qYj0H2kaJi29O7vJT9ajSdBd2W8CG34pwL9pYA74fi7RHC1qbLoVQ=="], + + "@biomejs/biome": ["@biomejs/biome@2.4.2", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.4.2", "@biomejs/cli-darwin-x64": "2.4.2", "@biomejs/cli-linux-arm64": "2.4.2", "@biomejs/cli-linux-arm64-musl": "2.4.2", "@biomejs/cli-linux-x64": "2.4.2", "@biomejs/cli-linux-x64-musl": "2.4.2", "@biomejs/cli-win32-arm64": "2.4.2", "@biomejs/cli-win32-x64": "2.4.2" }, "bin": { "biome": "bin/biome" } }, "sha512-vVE/FqLxNLbvYnFDYg3Xfrh1UdFhmPT5i+yPT9GE2nTUgI4rkqo5krw5wK19YHBd7aE7J6r91RRmb8RWwkjy6w=="], + + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.4.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-3pEcKCP/1POKyaZZhXcxFl3+d9njmeAihZ17k8lL/1vk+6e0Cbf0yPzKItFiT+5Yh6TQA4uKvnlqe0oVZwRxCA=="], + + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.4.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-P7hK1jLVny+0R9UwyGcECxO6sjETxfPyBm/1dmFjnDOHgdDPjPqozByunrwh4xPKld8sxOr5eAsSqal5uKgeBg=="], + + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.4.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-DI3Mi7GT2zYNgUTDEbSjl3e1KhoP76OjQdm8JpvZYZWtVDRyLd3w8llSr2TWk1z+U3P44kUBWY3X7H9MD1/DGQ=="], + + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.4.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-/x04YK9+7erw6tYEcJv9WXoBHcULI/wMOvNdAyE9S3JStZZ9yJyV67sWAI+90UHuDo/BDhq0d96LDqGlSVv7WA=="], + + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.4.2", "", { "os": "linux", "cpu": "x64" }, "sha512-GK2ErnrKpWFigYP68cXiCHK4RTL4IUWhK92AFS3U28X/nuAL5+hTuy6hyobc8JZRSt+upXt1nXChK+tuHHx4mA=="], + + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.4.2", "", { "os": "linux", "cpu": "x64" }, "sha512-wbBmTkeAoAYbOQ33f6sfKG7pcRSydQiF+dTYOBjJsnXO2mWEOQHllKlC2YVnedqZFERp2WZhFUoO7TNRwnwEHQ=="], + + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.4.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-k2uqwLYrNNxnaoiW3RJxoMGnbKda8FuCmtYG3cOtVljs3CzWxaTR+AoXwKGHscC9thax9R4kOrtWqWN0+KdPTw=="], + + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.4.2", "", { "os": "win32", "cpu": "x64" }, "sha512-9ma7C4g8Sq3cBlRJD2yrsHXB1mnnEBdpy7PhvFrylQWQb4PoyCmPucdX7frvsSBQuFtIiKCrolPl/8tCZrKvgQ=="], + + "@discordjs/builders": ["@discordjs/builders@1.13.1", "", { "dependencies": { "@discordjs/formatters": "^0.6.2", "@discordjs/util": "^1.2.0", "@sapphire/shapeshift": "^4.0.0", "discord-api-types": "^0.38.33", "fast-deep-equal": "^3.1.3", "ts-mixer": "^6.0.4", "tslib": "^2.6.3" } }, "sha512-cOU0UDHc3lp/5nKByDxkmRiNZBpdp0kx55aarbiAfakfKJHlxv/yFW1zmIqCAmwH5CRlrH9iMFKJMpvW4DPB+w=="], + + "@discordjs/collection": ["@discordjs/collection@2.1.1", "", {}, "sha512-LiSusze9Tc7qF03sLCujF5iZp7K+vRNEDBZ86FT9aQAv3vxMLihUvKvpsCWiQ2DJq1tVckopKm1rxomgNUc9hg=="], + + "@discordjs/formatters": ["@discordjs/formatters@0.6.2", "", { "dependencies": { "discord-api-types": "^0.38.33" } }, "sha512-y4UPwWhH6vChKRkGdMB4odasUbHOUwy7KL+OVwF86PvT6QVOwElx+TiI1/6kcmcEe+g5YRXJFiXSXUdabqZOvQ=="], + + "@discordjs/rest": ["@discordjs/rest@2.6.0", "", { "dependencies": { "@discordjs/collection": "^2.1.1", "@discordjs/util": "^1.1.1", "@sapphire/async-queue": "^1.5.3", "@sapphire/snowflake": "^3.5.3", "@vladfrangu/async_event_emitter": "^2.4.6", "discord-api-types": "^0.38.16", "magic-bytes.js": "^1.10.0", "tslib": "^2.6.3", "undici": "6.21.3" } }, "sha512-RDYrhmpB7mTvmCKcpj+pc5k7POKszS4E2O9TYc+U+Y4iaCP+r910QdO43qmpOja8LRr1RJ0b3U+CqVsnPqzf4w=="], + + "@discordjs/util": ["@discordjs/util@1.2.0", "", { "dependencies": { "discord-api-types": "^0.38.33" } }, "sha512-3LKP7F2+atl9vJFhaBjn4nOaSWahZ/yWjOvA4e5pnXkt2qyXRCHLxoBQy81GFtLGCq7K9lPm9R517M1U+/90Qg=="], + + "@discordjs/ws": ["@discordjs/ws@1.2.3", "", { "dependencies": { "@discordjs/collection": "^2.1.0", "@discordjs/rest": "^2.5.1", "@discordjs/util": "^1.1.0", "@sapphire/async-queue": "^1.5.2", "@types/ws": "^8.5.10", "@vladfrangu/async_event_emitter": "^2.2.4", "discord-api-types": "^0.38.1", "tslib": "^2.6.2", "ws": "^8.17.0" } }, "sha512-wPlQDxEmlDg5IxhJPuxXr3Vy9AjYq5xCvFWGJyD7w7Np8ZGu+Mc+97LCoEc/+AYCo2IDpKioiH0/c/mj5ZR9Uw=="], + + "@drizzle-team/brocli": ["@drizzle-team/brocli@0.10.2", "", {}, "sha512-z33Il7l5dKjUgGULTqBsQBQwckHh5AbIuxhdsIxDDiZAzBOrZO6q9ogcWC65kU382AfynTfgNumVcNIjuIua6w=="], + + "@emnapi/core": ["@emnapi/core@1.8.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.1.0", "tslib": "^2.4.0" } }, "sha512-AvT9QFpxK0Zd8J0jopedNm+w/2fIzvtPKPjqyw9jwvBaReTTqPBk9Hixaz7KbjimP+QNz605/XnjFcDAL2pqBg=="], + + "@emnapi/runtime": ["@emnapi/runtime@1.8.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-mehfKSMWjjNol8659Z8KxEMrdSJDDot5SXMq00dM8BN4o+CLNXQ0xH2V7EchNHV4RmbZLmmPdEaXZc5H2FXmDg=="], + + "@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.1.0", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ=="], + + "@esbuild-kit/core-utils": ["@esbuild-kit/core-utils@3.3.2", "", { "dependencies": { "esbuild": "~0.18.20", "source-map-support": "^0.5.21" } }, "sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ=="], + + "@esbuild-kit/esm-loader": ["@esbuild-kit/esm-loader@2.6.5", "", { "dependencies": { "@esbuild-kit/core-utils": "^3.3.2", "get-tsconfig": "^4.7.0" } }, "sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA=="], + + "@esbuild/aix-ppc64": ["@esbuild/aix-ppc64@0.19.12", "", { "os": "aix", "cpu": "ppc64" }, "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA=="], + + "@esbuild/android-arm": ["@esbuild/android-arm@0.19.12", "", { "os": "android", "cpu": "arm" }, "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w=="], + + "@esbuild/android-arm64": ["@esbuild/android-arm64@0.19.12", "", { "os": "android", "cpu": "arm64" }, "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA=="], + + "@esbuild/android-x64": ["@esbuild/android-x64@0.19.12", "", { "os": "android", "cpu": "x64" }, "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew=="], + + "@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.19.12", "", { "os": "darwin", "cpu": "arm64" }, "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g=="], + + "@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.19.12", "", { "os": "darwin", "cpu": "x64" }, "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A=="], + + "@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.19.12", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA=="], + + "@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.19.12", "", { "os": "freebsd", "cpu": "x64" }, "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg=="], + + "@esbuild/linux-arm": ["@esbuild/linux-arm@0.19.12", "", { "os": "linux", "cpu": "arm" }, "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w=="], + + "@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.19.12", "", { "os": "linux", "cpu": "arm64" }, "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA=="], + + "@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.19.12", "", { "os": "linux", "cpu": "ia32" }, "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA=="], + + "@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA=="], + + "@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w=="], + + "@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.19.12", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg=="], + + "@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.19.12", "", { "os": "linux", "cpu": "none" }, "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg=="], + + "@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.19.12", "", { "os": "linux", "cpu": "s390x" }, "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg=="], + + "@esbuild/linux-x64": ["@esbuild/linux-x64@0.19.12", "", { "os": "linux", "cpu": "x64" }, "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg=="], + + "@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.19.12", "", { "os": "none", "cpu": "x64" }, "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA=="], + + "@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.19.12", "", { "os": "openbsd", "cpu": "x64" }, "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw=="], + + "@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.19.12", "", { "os": "sunos", "cpu": "x64" }, "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA=="], + + "@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.19.12", "", { "os": "win32", "cpu": "arm64" }, "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A=="], + + "@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.19.12", "", { "os": "win32", "cpu": "ia32" }, "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ=="], + + "@esbuild/win32-x64": ["@esbuild/win32-x64@0.19.12", "", { "os": "win32", "cpu": "x64" }, "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA=="], + + "@jridgewell/gen-mapping": ["@jridgewell/gen-mapping@0.3.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.5.0", "@jridgewell/trace-mapping": "^0.3.24" } }, "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA=="], + + "@jridgewell/resolve-uri": ["@jridgewell/resolve-uri@3.1.2", "", {}, "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="], + + "@jridgewell/sourcemap-codec": ["@jridgewell/sourcemap-codec@1.5.5", "", {}, "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og=="], + + "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + + "@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.1", "", { "dependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1", "@tybys/wasm-util": "^0.10.1" } }, "sha512-p64ah1M1ld8xjWv3qbvFwHiFVWrq1yFvV4f7w+mzaqiR4IlSgkqhcRdHwsGgomwzBH51sRY4NEowLxnaBjcW/A=="], + + "@oxc-project/types": ["@oxc-project/types@0.112.0", "", {}, "sha512-m6RebKHIRsax2iCwVpYW2ErQwa4ywHJrE4sCK3/8JK8ZZAWOKXaRJFl/uP51gaVyyXlaS4+chU1nSCdzYf6QqQ=="], + + "@petamoriken/float16": ["@petamoriken/float16@3.9.3", "", {}, "sha512-8awtpHXCx/bNpFt4mt2xdkgtgVvKqty8VbjHI/WWWQuEw+KLzFot3f4+LkQY9YmOtq7A5GdOnqoIC8Pdygjk2g=="], + + "@quansync/fs": ["@quansync/fs@1.0.0", "", { "dependencies": { "quansync": "^1.0.0" } }, "sha512-4TJ3DFtlf1L5LDMaM6CanJ/0lckGNtJcMjQ1NAV6zDmA0tEHKZtxNKin8EgPaVX1YzljbxckyT2tJrpQKAtngQ=="], + + "@rolldown/binding-android-arm64": ["@rolldown/binding-android-arm64@1.0.0-rc.3", "", { "os": "android", "cpu": "arm64" }, "sha512-0T1k9FinuBZ/t7rZ8jN6OpUKPnUjNdYHoj/cESWrQ3ZraAJ4OMm6z7QjSfCxqj8mOp9kTKc1zHK3kGz5vMu+nQ=="], + + "@rolldown/binding-darwin-arm64": ["@rolldown/binding-darwin-arm64@1.0.0-rc.3", "", { "os": "darwin", "cpu": "arm64" }, "sha512-JWWLzvcmc/3pe7qdJqPpuPk91SoE/N+f3PcWx/6ZwuyDVyungAEJPvKm/eEldiDdwTmaEzWfIR+HORxYWrCi1A=="], + + "@rolldown/binding-darwin-x64": ["@rolldown/binding-darwin-x64@1.0.0-rc.3", "", { "os": "darwin", "cpu": "x64" }, "sha512-MTakBxfx3tde5WSmbHxuqlDsIW0EzQym+PJYGF4P6lG2NmKzi128OGynoFUqoD5ryCySEY85dug4v+LWGBElIw=="], + + "@rolldown/binding-freebsd-x64": ["@rolldown/binding-freebsd-x64@1.0.0-rc.3", "", { "os": "freebsd", "cpu": "x64" }, "sha512-jje3oopyOLs7IwfvXoS6Lxnmie5JJO7vW29fdGFu5YGY1EDbVDhD+P9vDihqS5X6fFiqL3ZQZCMBg6jyHkSVww=="], + + "@rolldown/binding-linux-arm-gnueabihf": ["@rolldown/binding-linux-arm-gnueabihf@1.0.0-rc.3", "", { "os": "linux", "cpu": "arm" }, "sha512-A0n8P3hdLAaqzSFrQoA42p23ZKBYQOw+8EH5r15Sa9X1kD9/JXe0YT2gph2QTWvdr0CVK2BOXiK6ENfy6DXOag=="], + + "@rolldown/binding-linux-arm64-gnu": ["@rolldown/binding-linux-arm64-gnu@1.0.0-rc.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-kWXkoxxarYISBJ4bLNf5vFkEbb4JvccOwxWDxuK9yee8lg5XA7OpvlTptfRuwEvYcOZf+7VS69Uenpmpyo5Bjw=="], + + "@rolldown/binding-linux-arm64-musl": ["@rolldown/binding-linux-arm64-musl@1.0.0-rc.3", "", { "os": "linux", "cpu": "arm64" }, "sha512-Z03/wrqau9Bicfgb3Dbs6SYTHliELk2PM2LpG2nFd+cGupTMF5kanLEcj2vuuJLLhptNyS61rtk7SOZ+lPsTUA=="], + + "@rolldown/binding-linux-x64-gnu": ["@rolldown/binding-linux-x64-gnu@1.0.0-rc.3", "", { "os": "linux", "cpu": "x64" }, "sha512-iSXXZsQp08CSilff/DCTFZHSVEpEwdicV3W8idHyrByrcsRDVh9sGC3sev6d8BygSGj3vt8GvUKBPCoyMA4tgQ=="], + + "@rolldown/binding-linux-x64-musl": ["@rolldown/binding-linux-x64-musl@1.0.0-rc.3", "", { "os": "linux", "cpu": "x64" }, "sha512-qaj+MFudtdCv9xZo9znFvkgoajLdc+vwf0Kz5N44g+LU5XMe+IsACgn3UG7uTRlCCvhMAGXm1XlpEA5bZBrOcw=="], + + "@rolldown/binding-openharmony-arm64": ["@rolldown/binding-openharmony-arm64@1.0.0-rc.3", "", { "os": "none", "cpu": "arm64" }, "sha512-U662UnMETyjT65gFmG9ma+XziENrs7BBnENi/27swZPYagubfHRirXHG2oMl+pEax2WvO7Kb9gHZmMakpYqBHQ=="], + + "@rolldown/binding-wasm32-wasi": ["@rolldown/binding-wasm32-wasi@1.0.0-rc.3", "", { "dependencies": { "@napi-rs/wasm-runtime": "^1.1.1" }, "cpu": "none" }, "sha512-gekrQ3Q2HiC1T5njGyuUJoGpK/l6B/TNXKed3fZXNf9YRTJn3L5MOZsFBn4bN2+UX+8+7hgdlTcEsexX988G4g=="], + + "@rolldown/binding-win32-arm64-msvc": ["@rolldown/binding-win32-arm64-msvc@1.0.0-rc.3", "", { "os": "win32", "cpu": "arm64" }, "sha512-85y5JifyMgs8m5K2XzR/VDsapKbiFiohl7s5lEj7nmNGO0pkTXE7q6TQScei96BNAsoK7JC3pA7ukA8WRHVJpg=="], + + "@rolldown/binding-win32-x64-msvc": ["@rolldown/binding-win32-x64-msvc@1.0.0-rc.3", "", { "os": "win32", "cpu": "x64" }, "sha512-a4VUQZH7LxGbUJ3qJ/TzQG8HxdHvf+jOnqf7B7oFx1TEBm+j2KNL2zr5SQ7wHkNAcaPevF6gf9tQnVBnC4mD+A=="], + + "@rolldown/pluginutils": ["@rolldown/pluginutils@1.0.0-rc.3", "", {}, "sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q=="], + + "@sapphire/async-queue": ["@sapphire/async-queue@1.5.5", "", {}, "sha512-cvGzxbba6sav2zZkH8GPf2oGk9yYoD5qrNWdu9fRehifgnFZJMV+nuy2nON2roRO4yQQ+v7MK/Pktl/HgfsUXg=="], + + "@sapphire/shapeshift": ["@sapphire/shapeshift@4.0.0", "", { "dependencies": { "fast-deep-equal": "^3.1.3", "lodash": "^4.17.21" } }, "sha512-d9dUmWVA7MMiKobL3VpLF8P2aeanRTu6ypG2OIaEv/ZHH/SUQ2iHOVyi5wAPjQ+HmnMuL0whK9ez8I/raWbtIg=="], + + "@sapphire/snowflake": ["@sapphire/snowflake@3.5.5", "", {}, "sha512-xzvBr1Q1c4lCe7i6sRnrofxeO1QTP/LKQ6A6qy0iB4x5yfiSfARMEQEghojzTNALDTcv8En04qYNIco9/K9eZQ=="], + + "@tybys/wasm-util": ["@tybys/wasm-util@0.10.1", "", { "dependencies": { "tslib": "^2.4.0" } }, "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg=="], + + "@types/bun": ["@types/bun@1.3.9", "", { "dependencies": { "bun-types": "1.3.9" } }, "sha512-KQ571yULOdWJiMH+RIWIOZ7B2RXQGpL1YQrBtLIV3FqDcCu6FsbFUBwhdKUlCKUpS3PJDsHlJ1QKlpxoVR+xtw=="], + + "@types/estree": ["@types/estree@1.0.8", "", {}, "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w=="], + + "@types/jsesc": ["@types/jsesc@2.5.1", "", {}, "sha512-9VN+6yxLOPLOav+7PwjZbxiID2bVaeq0ED4qSQmdQTdjnXJSaCVKTR58t15oqH1H5t8Ng2ZX1SabJVoN9Q34bw=="], + + "@types/luxon": ["@types/luxon@3.4.2", "", {}, "sha512-TifLZlFudklWlMBfhubvgqTXRzLDI5pCbGa4P8a3wPyUQSW+1xQ5eDsreP9DWHX3tjq1ke96uYG/nwundroWcA=="], + + "@types/node": ["@types/node@25.2.3", "", { "dependencies": { "undici-types": "~7.16.0" } }, "sha512-m0jEgYlYz+mDJZ2+F4v8D1AyQb+QzsNqRuI7xg1VQX/KlKS0qT9r1Mo16yo5F/MtifXFgaofIFsdFMox2SxIbQ=="], + + "@types/ws": ["@types/ws@8.18.1", "", { "dependencies": { "@types/node": "*" } }, "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg=="], + + "@vladfrangu/async_event_emitter": ["@vladfrangu/async_event_emitter@2.4.7", "", {}, "sha512-Xfe6rpCTxSxfbswi/W/Pz7zp1WWSNn4A0eW4mLkQUewCrXXtMj31lCg+iQyTkh/CkusZSq9eDflu7tjEDXUY6g=="], + + "ansis": ["ansis@4.2.0", "", {}, "sha512-HqZ5rWlFjGiV0tDm3UxxgNRqsOTniqoKZu0pIAfh7TZQMGuZK+hH0drySty0si0QXj1ieop4+SkSfPZBPPkHig=="], + + "ast-kit": ["ast-kit@3.0.0-beta.1", "", { "dependencies": { "@babel/parser": "^8.0.0-beta.4", "estree-walker": "^3.0.3", "pathe": "^2.0.3" } }, "sha512-trmleAnZ2PxN/loHWVhhx1qeOHSRXq4TDsBBxq3GqeJitfk3+jTQ+v/C1km/KYq9M7wKqCewMh+/NAvVH7m+bw=="], + + "base64-js": ["base64-js@1.5.1", "", {}, "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="], + + "better-sqlite3": ["better-sqlite3@11.10.0", "", { "dependencies": { "bindings": "^1.5.0", "prebuild-install": "^7.1.1" } }, "sha512-EwhOpyXiOEL/lKzHz9AW1msWFNzGc/z+LzeB3/jnFJpxu+th2yqvzsSWas1v9jgs9+xiXJcD5A8CJxAG2TaghQ=="], + + "bindings": ["bindings@1.5.0", "", { "dependencies": { "file-uri-to-path": "1.0.0" } }, "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ=="], + + "birpc": ["birpc@4.0.0", "", {}, "sha512-LShSxJP0KTmd101b6DRyGBj57LZxSDYWKitQNW/mi8GRMvZb078Uf9+pveax1DrVL89vm7mWe+TovdI/UDOuPw=="], + + "bl": ["bl@4.1.0", "", { "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", "readable-stream": "^3.4.0" } }, "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w=="], + + "buffer": ["buffer@5.7.1", "", { "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" } }, "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ=="], + + "buffer-from": ["buffer-from@1.1.2", "", {}, "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="], + + "bun-types": ["bun-types@1.3.9", "", { "dependencies": { "@types/node": "*" } }, "sha512-+UBWWOakIP4Tswh0Bt0QD0alpTY8cb5hvgiYeWCMet9YukHbzuruIEeXC2D7nMJPB12kbh8C7XJykSexEqGKJg=="], + + "cac": ["cac@6.7.14", "", {}, "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ=="], + + "chownr": ["chownr@1.1.4", "", {}, "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg=="], + + "cron": ["cron@3.5.0", "", { "dependencies": { "@types/luxon": "~3.4.0", "luxon": "~3.5.0" } }, "sha512-0eYZqCnapmxYcV06uktql93wNWdlTmmBFP2iYz+JPVcQqlyFYcn1lFuIk4R54pkOmE7mcldTAPZv6X5XA4Q46A=="], + + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + + "decompress-response": ["decompress-response@6.0.0", "", { "dependencies": { "mimic-response": "^3.1.0" } }, "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="], + + "deep-extend": ["deep-extend@0.6.0", "", {}, "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="], + + "defu": ["defu@6.1.4", "", {}, "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg=="], + + "detect-libc": ["detect-libc@2.1.2", "", {}, "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ=="], + + "discord-api-types": ["discord-api-types@0.38.39", "", {}, "sha512-XRdDQvZvID1XvcFftjSmd4dcmMi/RL/jSy5sduBDAvCGFcNFHThdIQXCEBDZFe52lCNEzuIL0QJoKYAmRmxLUA=="], + + "discord.js": ["discord.js@14.25.1", "", { "dependencies": { "@discordjs/builders": "^1.13.0", "@discordjs/collection": "1.5.3", "@discordjs/formatters": "^0.6.2", "@discordjs/rest": "^2.6.0", "@discordjs/util": "^1.2.0", "@discordjs/ws": "^1.2.3", "@sapphire/snowflake": "3.5.3", "discord-api-types": "^0.38.33", "fast-deep-equal": "3.1.3", "lodash.snakecase": "4.1.1", "magic-bytes.js": "^1.10.0", "tslib": "^2.6.3", "undici": "6.21.3" } }, "sha512-2l0gsPOLPs5t6GFZfQZKnL1OJNYFcuC/ETWsW4VtKVD/tg4ICa9x+jb9bkPffkMdRpRpuUaO/fKkHCBeiCKh8g=="], + + "dotenv": ["dotenv@16.6.1", "", {}, "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow=="], + + "drizzle-kit": ["drizzle-kit@0.30.6", "", { "dependencies": { "@drizzle-team/brocli": "^0.10.2", "@esbuild-kit/esm-loader": "^2.5.5", "esbuild": "^0.19.7", "esbuild-register": "^3.5.0", "gel": "^2.0.0" }, "bin": { "drizzle-kit": "bin.cjs" } }, "sha512-U4wWit0fyZuGuP7iNmRleQyK2V8wCuv57vf5l3MnG4z4fzNTjY/U13M8owyQ5RavqvqxBifWORaR3wIUzlN64g=="], + + "drizzle-orm": ["drizzle-orm@0.38.4", "", { "peerDependencies": { "@aws-sdk/client-rds-data": ">=3", "@cloudflare/workers-types": ">=4", "@electric-sql/pglite": ">=0.2.0", "@libsql/client": ">=0.10.0", "@libsql/client-wasm": ">=0.10.0", "@neondatabase/serverless": ">=0.10.0", "@op-engineering/op-sqlite": ">=2", "@opentelemetry/api": "^1.4.1", "@planetscale/database": ">=1", "@prisma/client": "*", "@tidbcloud/serverless": "*", "@types/better-sqlite3": "*", "@types/pg": "*", "@types/react": ">=18", "@types/sql.js": "*", "@vercel/postgres": ">=0.8.0", "@xata.io/client": "*", "better-sqlite3": ">=7", "bun-types": "*", "expo-sqlite": ">=14.0.0", "knex": "*", "kysely": "*", "mysql2": ">=2", "pg": ">=8", "postgres": ">=3", "react": ">=18", "sql.js": ">=1", "sqlite3": ">=5" }, "optionalPeers": ["@aws-sdk/client-rds-data", "@cloudflare/workers-types", "@electric-sql/pglite", "@libsql/client", "@libsql/client-wasm", "@neondatabase/serverless", "@op-engineering/op-sqlite", "@opentelemetry/api", "@planetscale/database", "@prisma/client", "@tidbcloud/serverless", "@types/better-sqlite3", "@types/pg", "@types/react", "@types/sql.js", "@vercel/postgres", "@xata.io/client", "better-sqlite3", "bun-types", "expo-sqlite", "knex", "kysely", "mysql2", "pg", "postgres", "react", "sql.js", "sqlite3"] }, "sha512-s7/5BpLKO+WJRHspvpqTydxFob8i1vo2rEx4pY6TGY7QSMuUfWUuzaY0DIpXCkgHOo37BaFC+SJQb99dDUXT3Q=="], + + "dts-resolver": ["dts-resolver@2.1.3", "", { "peerDependencies": { "oxc-resolver": ">=11.0.0" }, "optionalPeers": ["oxc-resolver"] }, "sha512-bihc7jPC90VrosXNzK0LTE2cuLP6jr0Ro8jk+kMugHReJVLIpHz/xadeq3MhuwyO4TD4OA3L1Q8pBBFRc08Tsw=="], + + "empathic": ["empathic@2.0.0", "", {}, "sha512-i6UzDscO/XfAcNYD75CfICkmfLedpyPDdozrLMmQc5ORaQcdMoc21OnlEylMIqI7U8eniKrPMxxtj8k0vhmJhA=="], + + "end-of-stream": ["end-of-stream@1.4.5", "", { "dependencies": { "once": "^1.4.0" } }, "sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg=="], + + "env-paths": ["env-paths@3.0.0", "", {}, "sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A=="], + + "esbuild": ["esbuild@0.19.12", "", { "optionalDependencies": { "@esbuild/aix-ppc64": "0.19.12", "@esbuild/android-arm": "0.19.12", "@esbuild/android-arm64": "0.19.12", "@esbuild/android-x64": "0.19.12", "@esbuild/darwin-arm64": "0.19.12", "@esbuild/darwin-x64": "0.19.12", "@esbuild/freebsd-arm64": "0.19.12", "@esbuild/freebsd-x64": "0.19.12", "@esbuild/linux-arm": "0.19.12", "@esbuild/linux-arm64": "0.19.12", "@esbuild/linux-ia32": "0.19.12", "@esbuild/linux-loong64": "0.19.12", "@esbuild/linux-mips64el": "0.19.12", "@esbuild/linux-ppc64": "0.19.12", "@esbuild/linux-riscv64": "0.19.12", "@esbuild/linux-s390x": "0.19.12", "@esbuild/linux-x64": "0.19.12", "@esbuild/netbsd-x64": "0.19.12", "@esbuild/openbsd-x64": "0.19.12", "@esbuild/sunos-x64": "0.19.12", "@esbuild/win32-arm64": "0.19.12", "@esbuild/win32-ia32": "0.19.12", "@esbuild/win32-x64": "0.19.12" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg=="], + + "esbuild-register": ["esbuild-register@3.6.0", "", { "dependencies": { "debug": "^4.3.4" }, "peerDependencies": { "esbuild": ">=0.12 <1" } }, "sha512-H2/S7Pm8a9CL1uhp9OvjwrBh5Pvx0H8qVOxNu8Wed9Y7qv56MPtq+GGM8RJpq6glYJn9Wspr8uw7l55uyinNeg=="], + + "estree-walker": ["estree-walker@3.0.3", "", { "dependencies": { "@types/estree": "^1.0.0" } }, "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g=="], + + "expand-template": ["expand-template@2.0.3", "", {}, "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg=="], + + "fast-deep-equal": ["fast-deep-equal@3.1.3", "", {}, "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="], + + "fdir": ["fdir@6.5.0", "", { "peerDependencies": { "picomatch": "^3 || ^4" }, "optionalPeers": ["picomatch"] }, "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg=="], + + "file-uri-to-path": ["file-uri-to-path@1.0.0", "", {}, "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw=="], + + "fs-constants": ["fs-constants@1.0.0", "", {}, "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow=="], + + "gel": ["gel@2.2.0", "", { "dependencies": { "@petamoriken/float16": "^3.8.7", "debug": "^4.3.4", "env-paths": "^3.0.0", "semver": "^7.6.2", "shell-quote": "^1.8.1", "which": "^4.0.0" }, "bin": { "gel": "dist/cli.mjs" } }, "sha512-q0ma7z2swmoamHQusey8ayo8+ilVdzDt4WTxSPzq/yRqvucWRfymRVMvNgmSC0XK7eNjjEZEcplxpgaNojKdmQ=="], + + "get-tsconfig": ["get-tsconfig@4.13.6", "", { "dependencies": { "resolve-pkg-maps": "^1.0.0" } }, "sha512-shZT/QMiSHc/YBLxxOkMtgSid5HFoauqCE3/exfsEcwg1WkeqjG+V40yBbBrsD+jW2HDXcs28xOfcbm2jI8Ddw=="], + + "github-from-package": ["github-from-package@0.0.0", "", {}, "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw=="], + + "hookable": ["hookable@6.0.1", "", {}, "sha512-uKGyY8BuzN/a5gvzvA+3FVWo0+wUjgtfSdnmjtrOVwQCZPHpHDH2WRO3VZSOeluYrHoDCiXFffZXs8Dj1ULWtw=="], + + "ieee754": ["ieee754@1.2.1", "", {}, "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="], + + "import-without-cache": ["import-without-cache@0.2.5", "", {}, "sha512-B6Lc2s6yApwnD2/pMzFh/d5AVjdsDXjgkeJ766FmFuJELIGHNycKRj+l3A39yZPM4CchqNCB4RITEAYB1KUM6A=="], + + "inherits": ["inherits@2.0.4", "", {}, "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="], + + "ini": ["ini@1.3.8", "", {}, "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew=="], + + "isexe": ["isexe@3.1.5", "", {}, "sha512-6B3tLtFqtQS4ekarvLVMZ+X+VlvQekbe4taUkf/rhVO3d/h0M2rfARm/pXLcPEsjjMsFgrFgSrhQIxcSVrBz8w=="], + + "jsesc": ["jsesc@3.1.0", "", { "bin": { "jsesc": "bin/jsesc" } }, "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA=="], + + "lodash": ["lodash@4.17.23", "", {}, "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w=="], + + "lodash.snakecase": ["lodash.snakecase@4.1.1", "", {}, "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw=="], + + "luxon": ["luxon@3.5.0", "", {}, "sha512-rh+Zjr6DNfUYR3bPwJEnuwDdqMbxZW7LOQfUN4B54+Cl+0o5zaU9RJ6bcidfDtC1cWCZXQ+nvX8bf6bAji37QQ=="], + + "magic-bytes.js": ["magic-bytes.js@1.13.0", "", {}, "sha512-afO2mnxW7GDTXMm5/AoN1WuOcdoKhtgXjIvHmobqTD1grNplhGdv3PFOyjCVmrnOZBIT/gD/koDKpYG+0mvHcg=="], + + "mimic-response": ["mimic-response@3.1.0", "", {}, "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="], + + "minimist": ["minimist@1.2.8", "", {}, "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="], + + "mkdirp-classic": ["mkdirp-classic@0.5.3", "", {}, "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="], + + "ms": ["ms@2.1.3", "", {}, "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="], + + "napi-build-utils": ["napi-build-utils@2.0.0", "", {}, "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA=="], + + "node-abi": ["node-abi@3.87.0", "", { "dependencies": { "semver": "^7.3.5" } }, "sha512-+CGM1L1CgmtheLcBuleyYOn7NWPVu0s0EJH2C4puxgEZb9h8QpR9G2dBfZJOAUhi7VQxuBPMd0hiISWcTyiYyQ=="], + + "obug": ["obug@2.1.1", "", {}, "sha512-uTqF9MuPraAQ+IsnPf366RG4cP9RtUi7MLO1N3KEc+wb0a6yKpeL0lmk2IB1jY5KHPAlTc6T/JRdC/YqxHNwkQ=="], + + "once": ["once@1.4.0", "", { "dependencies": { "wrappy": "1" } }, "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="], + + "pathe": ["pathe@2.0.3", "", {}, "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w=="], + + "picomatch": ["picomatch@4.0.3", "", {}, "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q=="], + + "prebuild-install": ["prebuild-install@7.1.3", "", { "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", "github-from-package": "0.0.0", "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^2.0.0", "node-abi": "^3.3.0", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^4.0.0", "tar-fs": "^2.0.0", "tunnel-agent": "^0.6.0" }, "bin": { "prebuild-install": "bin.js" } }, "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug=="], + + "pump": ["pump@3.0.3", "", { "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" } }, "sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA=="], + + "quansync": ["quansync@1.0.0", "", {}, "sha512-5xZacEEufv3HSTPQuchrvV6soaiACMFnq1H8wkVioctoH3TRha9Sz66lOxRwPK/qZj7HPiSveih9yAyh98gvqA=="], + + "rc": ["rc@1.2.8", "", { "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", "minimist": "^1.2.0", "strip-json-comments": "~2.0.1" }, "bin": { "rc": "./cli.js" } }, "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw=="], + + "readable-stream": ["readable-stream@3.6.2", "", { "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", "util-deprecate": "^1.0.1" } }, "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA=="], + + "resolve-pkg-maps": ["resolve-pkg-maps@1.0.0", "", {}, "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw=="], + + "rolldown": ["rolldown@1.0.0-rc.3", "", { "dependencies": { "@oxc-project/types": "=0.112.0", "@rolldown/pluginutils": "1.0.0-rc.3" }, "optionalDependencies": { "@rolldown/binding-android-arm64": "1.0.0-rc.3", "@rolldown/binding-darwin-arm64": "1.0.0-rc.3", "@rolldown/binding-darwin-x64": "1.0.0-rc.3", "@rolldown/binding-freebsd-x64": "1.0.0-rc.3", "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-rc.3", "@rolldown/binding-linux-arm64-gnu": "1.0.0-rc.3", "@rolldown/binding-linux-arm64-musl": "1.0.0-rc.3", "@rolldown/binding-linux-x64-gnu": "1.0.0-rc.3", "@rolldown/binding-linux-x64-musl": "1.0.0-rc.3", "@rolldown/binding-openharmony-arm64": "1.0.0-rc.3", "@rolldown/binding-wasm32-wasi": "1.0.0-rc.3", "@rolldown/binding-win32-arm64-msvc": "1.0.0-rc.3", "@rolldown/binding-win32-x64-msvc": "1.0.0-rc.3" }, "bin": { "rolldown": "bin/cli.mjs" } }, "sha512-Po/YZECDOqVXjIXrtC5h++a5NLvKAQNrd9ggrIG3sbDfGO5BqTUsrI6l8zdniKRp3r5Tp/2JTrXqx4GIguFCMw=="], + + "rolldown-plugin-dts": ["rolldown-plugin-dts@0.22.1", "", { "dependencies": { "@babel/generator": "8.0.0-rc.1", "@babel/helper-validator-identifier": "8.0.0-rc.1", "@babel/parser": "8.0.0-rc.1", "@babel/types": "8.0.0-rc.1", "ast-kit": "^3.0.0-beta.1", "birpc": "^4.0.0", "dts-resolver": "^2.1.3", "get-tsconfig": "^4.13.1", "obug": "^2.1.1" }, "peerDependencies": { "@ts-macro/tsc": "^0.3.6", "@typescript/native-preview": ">=7.0.0-dev.20250601.1", "rolldown": "^1.0.0-rc.3", "typescript": "^5.0.0", "vue-tsc": "~3.2.0" }, "optionalPeers": ["@ts-macro/tsc", "@typescript/native-preview", "typescript", "vue-tsc"] }, "sha512-5E0AiM5RSQhU6cjtkDFWH6laW4IrMu0j1Mo8x04Xo1ALHmaRMs9/7zej7P3RrryVHW/DdZAp85MA7Be55p0iUw=="], + + "safe-buffer": ["safe-buffer@5.2.1", "", {}, "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="], + + "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], + + "shell-quote": ["shell-quote@1.8.3", "", {}, "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw=="], + + "simple-concat": ["simple-concat@1.0.1", "", {}, "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="], + + "simple-get": ["simple-get@4.0.1", "", { "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", "simple-concat": "^1.0.0" } }, "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA=="], + + "source-map": ["source-map@0.6.1", "", {}, "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="], + + "source-map-support": ["source-map-support@0.5.21", "", { "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" } }, "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w=="], + + "string_decoder": ["string_decoder@1.3.0", "", { "dependencies": { "safe-buffer": "~5.2.0" } }, "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA=="], + + "strip-json-comments": ["strip-json-comments@2.0.1", "", {}, "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ=="], + + "tar-fs": ["tar-fs@2.1.4", "", { "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", "pump": "^3.0.0", "tar-stream": "^2.1.4" } }, "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ=="], + + "tar-stream": ["tar-stream@2.2.0", "", { "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", "fs-constants": "^1.0.0", "inherits": "^2.0.3", "readable-stream": "^3.1.1" } }, "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ=="], + + "tinyexec": ["tinyexec@1.0.2", "", {}, "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg=="], + + "tinyglobby": ["tinyglobby@0.2.15", "", { "dependencies": { "fdir": "^6.5.0", "picomatch": "^4.0.3" } }, "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ=="], + + "tree-kill": ["tree-kill@1.2.2", "", { "bin": { "tree-kill": "cli.js" } }, "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A=="], + + "ts-mixer": ["ts-mixer@6.0.4", "", {}, "sha512-ufKpbmrugz5Aou4wcr5Wc1UUFWOLhq+Fm6qa6P0w0K5Qw2yhaUoiWszhCVuNQyNwrlGiscHOmqYoAox1PtvgjA=="], + + "tsdown": ["tsdown@0.20.3", "", { "dependencies": { "ansis": "^4.2.0", "cac": "^6.7.14", "defu": "^6.1.4", "empathic": "^2.0.0", "hookable": "^6.0.1", "import-without-cache": "^0.2.5", "obug": "^2.1.1", "picomatch": "^4.0.3", "rolldown": "1.0.0-rc.3", "rolldown-plugin-dts": "^0.22.1", "semver": "^7.7.3", "tinyexec": "^1.0.2", "tinyglobby": "^0.2.15", "tree-kill": "^1.2.2", "unconfig-core": "^7.4.2", "unrun": "^0.2.27" }, "peerDependencies": { "@arethetypeswrong/core": "^0.18.1", "@vitejs/devtools": "*", "publint": "^0.3.0", "typescript": "^5.0.0", "unplugin-lightningcss": "^0.4.0", "unplugin-unused": "^0.5.0" }, "optionalPeers": ["@arethetypeswrong/core", "@vitejs/devtools", "publint", "typescript", "unplugin-lightningcss", "unplugin-unused"], "bin": { "tsdown": "dist/run.mjs" } }, "sha512-qWOUXSbe4jN8JZEgrkc/uhJpC8VN2QpNu3eZkBWwNuTEjc/Ik1kcc54ycfcQ5QPRHeu9OQXaLfCI3o7pEJgB2w=="], + + "tslib": ["tslib@2.8.1", "", {}, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], + + "tunnel-agent": ["tunnel-agent@0.6.0", "", { "dependencies": { "safe-buffer": "^5.0.1" } }, "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w=="], + + "typescript": ["typescript@5.9.3", "", { "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" } }, "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw=="], + + "unconfig-core": ["unconfig-core@7.5.0", "", { "dependencies": { "@quansync/fs": "^1.0.0", "quansync": "^1.0.0" } }, "sha512-Su3FauozOGP44ZmKdHy2oE6LPjk51M/TRRjHv2HNCWiDvfvCoxC2lno6jevMA91MYAdCdwP05QnWdWpSbncX/w=="], + + "undici": ["undici@6.21.3", "", {}, "sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw=="], + + "undici-types": ["undici-types@7.16.0", "", {}, "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw=="], + + "unrun": ["unrun@0.2.27", "", { "dependencies": { "rolldown": "1.0.0-rc.3" }, "peerDependencies": { "synckit": "^0.11.11" }, "optionalPeers": ["synckit"], "bin": { "unrun": "dist/cli.mjs" } }, "sha512-Mmur1UJpIbfxasLOhPRvox/QS4xBiDii71hMP7smfRthGcwFL2OAmYRgduLANOAU4LUkvVamuP+02U+c90jlrw=="], + + "util-deprecate": ["util-deprecate@1.0.2", "", {}, "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="], + + "which": ["which@4.0.0", "", { "dependencies": { "isexe": "^3.1.1" }, "bin": { "node-which": "bin/which.js" } }, "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg=="], + + "wrappy": ["wrappy@1.0.2", "", {}, "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="], + + "ws": ["ws@8.19.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg=="], + + "zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="], + + "@esbuild-kit/core-utils/esbuild": ["esbuild@0.18.20", "", { "optionalDependencies": { "@esbuild/android-arm": "0.18.20", "@esbuild/android-arm64": "0.18.20", "@esbuild/android-x64": "0.18.20", "@esbuild/darwin-arm64": "0.18.20", "@esbuild/darwin-x64": "0.18.20", "@esbuild/freebsd-arm64": "0.18.20", "@esbuild/freebsd-x64": "0.18.20", "@esbuild/linux-arm": "0.18.20", "@esbuild/linux-arm64": "0.18.20", "@esbuild/linux-ia32": "0.18.20", "@esbuild/linux-loong64": "0.18.20", "@esbuild/linux-mips64el": "0.18.20", "@esbuild/linux-ppc64": "0.18.20", "@esbuild/linux-riscv64": "0.18.20", "@esbuild/linux-s390x": "0.18.20", "@esbuild/linux-x64": "0.18.20", "@esbuild/netbsd-x64": "0.18.20", "@esbuild/openbsd-x64": "0.18.20", "@esbuild/sunos-x64": "0.18.20", "@esbuild/win32-arm64": "0.18.20", "@esbuild/win32-ia32": "0.18.20", "@esbuild/win32-x64": "0.18.20" }, "bin": { "esbuild": "bin/esbuild" } }, "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA=="], + + "discord.js/@discordjs/collection": ["@discordjs/collection@1.5.3", "", {}, "sha512-SVb428OMd3WO1paV3rm6tSjM4wC+Kecaa1EUGX7vc6/fddvw/6lg90z4QtCqm21zvVe92vMMDt9+DkIvjXImQQ=="], + + "discord.js/@sapphire/snowflake": ["@sapphire/snowflake@3.5.3", "", {}, "sha512-jjmJywLAFoWeBi1W7994zZyiNWPIiqRRNAmSERxyg93xRGzNYvGjlZ0gR6x0F4gPRi2+0O6S71kOZYyr3cxaIQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm": ["@esbuild/android-arm@0.18.20", "", { "os": "android", "cpu": "arm" }, "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-arm64": ["@esbuild/android-arm64@0.18.20", "", { "os": "android", "cpu": "arm64" }, "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/android-x64": ["@esbuild/android-x64@0.18.20", "", { "os": "android", "cpu": "x64" }, "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-arm64": ["@esbuild/darwin-arm64@0.18.20", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/darwin-x64": ["@esbuild/darwin-x64@0.18.20", "", { "os": "darwin", "cpu": "x64" }, "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-arm64": ["@esbuild/freebsd-arm64@0.18.20", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/freebsd-x64": ["@esbuild/freebsd-x64@0.18.20", "", { "os": "freebsd", "cpu": "x64" }, "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm": ["@esbuild/linux-arm@0.18.20", "", { "os": "linux", "cpu": "arm" }, "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-arm64": ["@esbuild/linux-arm64@0.18.20", "", { "os": "linux", "cpu": "arm64" }, "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ia32": ["@esbuild/linux-ia32@0.18.20", "", { "os": "linux", "cpu": "ia32" }, "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-loong64": ["@esbuild/linux-loong64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-mips64el": ["@esbuild/linux-mips64el@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-ppc64": ["@esbuild/linux-ppc64@0.18.20", "", { "os": "linux", "cpu": "ppc64" }, "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-riscv64": ["@esbuild/linux-riscv64@0.18.20", "", { "os": "linux", "cpu": "none" }, "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-s390x": ["@esbuild/linux-s390x@0.18.20", "", { "os": "linux", "cpu": "s390x" }, "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/linux-x64": ["@esbuild/linux-x64@0.18.20", "", { "os": "linux", "cpu": "x64" }, "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/netbsd-x64": ["@esbuild/netbsd-x64@0.18.20", "", { "os": "none", "cpu": "x64" }, "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/openbsd-x64": ["@esbuild/openbsd-x64@0.18.20", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/sunos-x64": ["@esbuild/sunos-x64@0.18.20", "", { "os": "sunos", "cpu": "x64" }, "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-arm64": ["@esbuild/win32-arm64@0.18.20", "", { "os": "win32", "cpu": "arm64" }, "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-ia32": ["@esbuild/win32-ia32@0.18.20", "", { "os": "win32", "cpu": "ia32" }, "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g=="], + + "@esbuild-kit/core-utils/esbuild/@esbuild/win32-x64": ["@esbuild/win32-x64@0.18.20", "", { "os": "win32", "cpu": "x64" }, "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ=="], + } +} diff --git a/bun.lockb b/bun.lockb deleted file mode 100755 index 42c72f12508020931fcf2bcf6ae594c614a5c335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50824 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

Yq6B@>9t;oUZ}SQjhv&R5(5aZ5 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 z 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 T-+wj&eT$5~&%uHIZ;AguGpi{( diff --git a/.dockerignore b/core/.dockerignore similarity index 100% rename from .dockerignore rename to core/.dockerignore diff --git a/Dockerfile b/core/Dockerfile similarity index 100% rename from Dockerfile rename to core/Dockerfile diff --git a/LICENSE b/core/LICENSE similarity index 100% rename from LICENSE rename to core/LICENSE diff --git a/README.md b/core/README.md similarity index 100% rename from README.md rename to core/README.md diff --git a/docker-compose.yml b/core/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to core/docker-compose.yml diff --git a/drizzle.config.ts b/core/drizzle.config.ts similarity index 100% rename from drizzle.config.ts rename to core/drizzle.config.ts diff --git a/drizzle/0000_needy_nightshade.sql b/core/drizzle/0000_needy_nightshade.sql similarity index 100% rename from drizzle/0000_needy_nightshade.sql rename to core/drizzle/0000_needy_nightshade.sql diff --git a/drizzle/0001_dusty_wolverine.sql b/core/drizzle/0001_dusty_wolverine.sql similarity index 100% rename from drizzle/0001_dusty_wolverine.sql rename to core/drizzle/0001_dusty_wolverine.sql diff --git a/drizzle/meta/0000_snapshot.json b/core/drizzle/meta/0000_snapshot.json similarity index 100% rename from drizzle/meta/0000_snapshot.json rename to core/drizzle/meta/0000_snapshot.json diff --git a/drizzle/meta/0001_snapshot.json b/core/drizzle/meta/0001_snapshot.json similarity index 100% rename from drizzle/meta/0001_snapshot.json rename to core/drizzle/meta/0001_snapshot.json diff --git a/drizzle/meta/_journal.json b/core/drizzle/meta/_journal.json similarity index 100% rename from drizzle/meta/_journal.json rename to core/drizzle/meta/_journal.json diff --git a/icon/mo_Avocadi_Avatar_Closeup_2.png b/core/icon/mo_Avocadi_Avatar_Closeup_2.png similarity index 100% rename from icon/mo_Avocadi_Avatar_Closeup_2.png rename to core/icon/mo_Avocadi_Avatar_Closeup_2.png diff --git a/core/package.json b/core/package.json new file mode 100644 index 0000000..55e18c3 --- /dev/null +++ b/core/package.json @@ -0,0 +1,41 @@ +{ + "name": "@avocadi/bot-core", + "type": "module", + "scripts": { + "dev": "tsdown --watch", + "test": "bun test", + "build": "tsdown" + }, + "devDependencies": { + "@types/bun": "^1.1.14", + "better-sqlite3": "^11.7.0", + "drizzle-kit": "^0.30.1", + "tsdown": "catalog:" + }, + "peerDependencies": { + "typescript": "^5.7.2" + }, + "dependencies": { + "@discordjs/rest": "^2.4.0", + "cron": "^3.3.1", + "discord.js": "^14.16.3", + "dotenv": "^16.4.7", + "drizzle-orm": "^0.38.3", + "zod": "catalog:" + }, + "trustedDependencies": [ + "better-sqlite3", + "esbuild" + ], + "exports": { + ".": "./dist/index.js", + "./db": "./dist/db/index.js", + "./db/schema": "./dist/db/schema.js", + "./entities/channels/channels.schema": "./dist/entities/channels/channels.schema.js", + "./entities/roles/roles.schema": "./dist/entities/roles/roles.schema.js", + "./lib/client": "./dist/lib/client.js", + "./lib/utils": "./dist/lib/utils.js", + "./lib/utils.test": "./dist/lib/utils.test.js", + "./package.json": "./package.json" + } +} diff --git a/src/actions/activity/activity.components.ts b/core/src/actions/activity/activity.components.ts similarity index 100% rename from src/actions/activity/activity.components.ts rename to core/src/actions/activity/activity.components.ts diff --git a/src/actions/activity/activity.service.ts b/core/src/actions/activity/activity.service.ts similarity index 100% rename from src/actions/activity/activity.service.ts rename to core/src/actions/activity/activity.service.ts diff --git a/src/actions/customMessage/customMessage.components.ts b/core/src/actions/customMessage/customMessage.components.ts similarity index 100% rename from src/actions/customMessage/customMessage.components.ts rename to core/src/actions/customMessage/customMessage.components.ts diff --git a/src/actions/customMessage/customMessage.service.ts b/core/src/actions/customMessage/customMessage.service.ts similarity index 100% rename from src/actions/customMessage/customMessage.service.ts rename to core/src/actions/customMessage/customMessage.service.ts diff --git a/src/actions/debug/debug.service.ts b/core/src/actions/debug/debug.service.ts similarity index 100% rename from src/actions/debug/debug.service.ts rename to core/src/actions/debug/debug.service.ts diff --git a/src/actions/dm/dm.components.ts b/core/src/actions/dm/dm.components.ts similarity index 100% rename from src/actions/dm/dm.components.ts rename to core/src/actions/dm/dm.components.ts diff --git a/src/actions/dm/dm.service.ts b/core/src/actions/dm/dm.service.ts similarity index 100% rename from src/actions/dm/dm.service.ts rename to core/src/actions/dm/dm.service.ts diff --git a/src/actions/drink/drink.service.ts b/core/src/actions/drink/drink.service.ts similarity index 100% rename from src/actions/drink/drink.service.ts rename to core/src/actions/drink/drink.service.ts diff --git a/src/actions/drink/drink.task.ts b/core/src/actions/drink/drink.task.ts similarity index 100% rename from src/actions/drink/drink.task.ts rename to core/src/actions/drink/drink.task.ts diff --git a/src/actions/dynamicVChannel/dynamicVChannel.components.ts b/core/src/actions/dynamicVChannel/dynamicVChannel.components.ts similarity index 100% rename from src/actions/dynamicVChannel/dynamicVChannel.components.ts rename to core/src/actions/dynamicVChannel/dynamicVChannel.components.ts diff --git a/src/actions/dynamicVChannel/dynamicVChannel.service.ts b/core/src/actions/dynamicVChannel/dynamicVChannel.service.ts similarity index 100% rename from src/actions/dynamicVChannel/dynamicVChannel.service.ts rename to core/src/actions/dynamicVChannel/dynamicVChannel.service.ts diff --git a/src/actions/greeting/greeting.components.ts b/core/src/actions/greeting/greeting.components.ts similarity index 100% rename from src/actions/greeting/greeting.components.ts rename to core/src/actions/greeting/greeting.components.ts diff --git a/src/actions/greeting/greeting.service.ts b/core/src/actions/greeting/greeting.service.ts similarity index 100% rename from src/actions/greeting/greeting.service.ts rename to core/src/actions/greeting/greeting.service.ts diff --git a/src/actions/greeting/greeting.task.ts b/core/src/actions/greeting/greeting.task.ts similarity index 100% rename from src/actions/greeting/greeting.task.ts rename to core/src/actions/greeting/greeting.task.ts diff --git a/src/actions/help/help.components.ts b/core/src/actions/help/help.components.ts similarity index 100% rename from src/actions/help/help.components.ts rename to core/src/actions/help/help.components.ts diff --git a/src/actions/help/help.service.ts b/core/src/actions/help/help.service.ts similarity index 100% rename from src/actions/help/help.service.ts rename to core/src/actions/help/help.service.ts diff --git a/src/actions/medication/medication.components.ts b/core/src/actions/medication/medication.components.ts similarity index 100% rename from src/actions/medication/medication.components.ts rename to core/src/actions/medication/medication.components.ts diff --git a/src/actions/medication/medication.service.ts b/core/src/actions/medication/medication.service.ts similarity index 100% rename from src/actions/medication/medication.service.ts rename to core/src/actions/medication/medication.service.ts diff --git a/src/actions/medication/medication.task.ts b/core/src/actions/medication/medication.task.ts similarity index 100% rename from src/actions/medication/medication.task.ts rename to core/src/actions/medication/medication.task.ts diff --git a/src/actions/pomodoro/pomodoro.components.ts b/core/src/actions/pomodoro/pomodoro.components.ts similarity index 100% rename from src/actions/pomodoro/pomodoro.components.ts rename to core/src/actions/pomodoro/pomodoro.components.ts diff --git a/src/actions/pomodoro/pomodoro.controller.ts b/core/src/actions/pomodoro/pomodoro.controller.ts similarity index 100% rename from src/actions/pomodoro/pomodoro.controller.ts rename to core/src/actions/pomodoro/pomodoro.controller.ts diff --git a/src/actions/pomodoro/pomodoro.service.ts b/core/src/actions/pomodoro/pomodoro.service.ts similarity index 100% rename from src/actions/pomodoro/pomodoro.service.ts rename to core/src/actions/pomodoro/pomodoro.service.ts diff --git a/src/actions/reactRole/reactRoles.components.ts b/core/src/actions/reactRole/reactRoles.components.ts similarity index 100% rename from src/actions/reactRole/reactRoles.components.ts rename to core/src/actions/reactRole/reactRoles.components.ts diff --git a/src/actions/reactRole/reactRoles.service.ts b/core/src/actions/reactRole/reactRoles.service.ts similarity index 100% rename from src/actions/reactRole/reactRoles.service.ts rename to core/src/actions/reactRole/reactRoles.service.ts diff --git a/src/actions/support/support.components.ts b/core/src/actions/support/support.components.ts similarity index 100% rename from src/actions/support/support.components.ts rename to core/src/actions/support/support.components.ts diff --git a/src/actions/support/support.service.ts b/core/src/actions/support/support.service.ts similarity index 100% rename from src/actions/support/support.service.ts rename to core/src/actions/support/support.service.ts diff --git a/src/actions/waterMe/waterMe.service.ts b/core/src/actions/waterMe/waterMe.service.ts similarity index 100% rename from src/actions/waterMe/waterMe.service.ts rename to core/src/actions/waterMe/waterMe.service.ts diff --git a/src/actions/waterMe/waterMe.task.ts b/core/src/actions/waterMe/waterMe.task.ts similarity index 100% rename from src/actions/waterMe/waterMe.task.ts rename to core/src/actions/waterMe/waterMe.task.ts diff --git a/src/commands/index.ts b/core/src/commands/index.ts similarity index 100% rename from src/commands/index.ts rename to core/src/commands/index.ts diff --git a/src/components/index.ts b/core/src/components/index.ts similarity index 100% rename from src/components/index.ts rename to core/src/components/index.ts diff --git a/src/config.ts b/core/src/config.ts similarity index 100% rename from src/config.ts rename to core/src/config.ts diff --git a/src/db/index.ts b/core/src/db/index.ts similarity index 100% rename from src/db/index.ts rename to core/src/db/index.ts diff --git a/src/db/schema.ts b/core/src/db/schema.ts similarity index 100% rename from src/db/schema.ts rename to core/src/db/schema.ts diff --git a/src/discord.controller.ts b/core/src/discord.controller.ts similarity index 100% rename from src/discord.controller.ts rename to core/src/discord.controller.ts diff --git a/src/discord.service.ts b/core/src/discord.service.ts similarity index 100% rename from src/discord.service.ts rename to core/src/discord.service.ts diff --git a/core/src/entities/channels/channels.schema.ts b/core/src/entities/channels/channels.schema.ts new file mode 100644 index 0000000..c541f0c --- /dev/null +++ b/core/src/entities/channels/channels.schema.ts @@ -0,0 +1,29 @@ +import z from "zod"; + +export const TextChannelOptions = [ + "bump", + "bot", + "notification", + "testing", + "news", + "rules", + "feedback", + "welcome", + "introduction", + "off-topic", + "help", + "pomodoro", +] as const; + +export const VoiceChannelOptions = [ + "for-two", + "for-three", + "for-four", + "for-group", + "custom", + "pomodoro-25-5", + "pomodoro-50-10", +] as const; + +export const TextChannels = z.enum(TextChannelOptions); +export const VoiceChannels = z.enum(VoiceChannelOptions); diff --git a/core/src/entities/roles/roles.schema.ts b/core/src/entities/roles/roles.schema.ts new file mode 100644 index 0000000..9c34997 --- /dev/null +++ b/core/src/entities/roles/roles.schema.ts @@ -0,0 +1,11 @@ +import z from "zod"; + +export const RoleOptions = [ + "admin", + "mention", + "mod", + "people", + "bot", +] as const; + +export const Roles = z.enum(RoleOptions); diff --git a/src/index.ts b/core/src/index.ts similarity index 100% rename from src/index.ts rename to core/src/index.ts diff --git a/src/lib/client.ts b/core/src/lib/client.ts similarity index 100% rename from src/lib/client.ts rename to core/src/lib/client.ts diff --git a/src/lib/utils.test.ts b/core/src/lib/utils.test.ts similarity index 100% rename from src/lib/utils.test.ts rename to core/src/lib/utils.test.ts diff --git a/src/lib/utils.ts b/core/src/lib/utils.ts similarity index 100% rename from src/lib/utils.ts rename to core/src/lib/utils.ts diff --git a/src/permissions/index.ts b/core/src/permissions/index.ts similarity index 100% rename from src/permissions/index.ts rename to core/src/permissions/index.ts diff --git a/tsconfig.json b/core/tsconfig.json similarity index 100% rename from tsconfig.json rename to core/tsconfig.json diff --git a/core/tsdown.config.ts b/core/tsdown.config.ts new file mode 100644 index 0000000..6d87d2a --- /dev/null +++ b/core/tsdown.config.ts @@ -0,0 +1,15 @@ +import { defineConfig } from "tsdown"; + +export default defineConfig({ + entry: [ + "./src/index.ts", + "./src/entities/**/*.ts", + "./src/lib/**/*.ts", + "./src/api/**/*.ts", + "./src/db/**/*.ts", + ], + format: "esm", + dts: true, + exports: true, + fixedExtension: false, +}); diff --git a/package.json b/package.json index 517ab41..3ef82cd 100644 --- a/package.json +++ b/package.json @@ -1,29 +1,17 @@ { - "name": "avocadi-bot", - "module": "src/index.ts", - "type": "module", - "scripts": { - "dev": "bun --watch src/index.ts", - "test": "bun test" - }, - "devDependencies": { - "@types/bun": "^1.1.14", - "better-sqlite3": "^11.7.0", - "drizzle-kit": "^0.30.1" - }, - "peerDependencies": { - "typescript": "^5.7.2" - }, - "dependencies": { - "@discordjs/rest": "^2.4.0", - "cron": "^3.3.1", - "discord.js": "^14.16.3", - "dotenv": "^16.4.7", - "drizzle-orm": "^0.38.3", - "zod": "^3.24.1" - }, - "trustedDependencies": [ - "better-sqlite3", - "esbuild" - ] -} \ No newline at end of file + "name": "avocadi-bot", + "version": "1.0.0", + "workspaces": { + "packages": [ + "adapters/**", + "core" + ], + "catalog": { + "tsdown": "^0.20.3", + "zod": "^4" + } + }, + "devDependencies": { + "@biomejs/biome": "^2.4.2" + } +} diff --git a/process.env b/process.env deleted file mode 100644 index e69de29..0000000