Build & Deploy (Nix) / build-and-deploy (proxy) (push) Successful in 4m21s
Build & Deploy (Nix) / build-and-deploy (backend) (push) Successful in 4m22s
Build & Deploy (Nix) / build-and-deploy (discord-gateway) (push) Successful in 11m31s
pnpm 11 rebuild hanya jalanin script package yang di-approve via pnpm-workspace.yaml (allowBuilds) DAN abort di kegagalan pertama. Yaml harus tracked (flake source cuma ikut file git). Tapi pnpm rebuild tetap gagal karena: (1) node-crc MSRV cargo:: error — dead dep, dihapus dari deps+patch; (2) sharp install script gagal di sandbox — binary-nya prebuilt @img, script cuma validasi — dikeluarkan dari approval list; (3) node-datachannel prebuild CLI TypeError + cmake-js butuh cwd benar. Fix: loop eksplisit di buildPhase gateway yang jalankan install script tiap native dep (opus/node-datachannel/zeromq) dengan cwd package dir, + cmake (dontUseCmakeConfigure biar stdenv nggak auto-configure), + opensslDevEnv = symlinkJoin pkgsStatic.openssl.out (libcrypto.a — CMakeLists set OPENSSL_USE_STATIC_LIBS=TRUE; pkgs.openssl default output = bin tanpa lib) + openssl.dev (headers), + git (libdatachannel FetchContent clone dari GitHub). Verifikasi: result store punya opus.node (compile source), node_datachannel.node (compile source), node-av prebuilt, zeromq prebuilt; runtime smoke test: PeerConnection instantiate+close OK, OpusEncoder encode OK, dank074 Streamer/prepareStream/playStream load OK.
63 lines
1.6 KiB
JSON
63 lines
1.6 KiB
JSON
{
|
|
"name": "@bete/discord-gateway",
|
|
"version": "1.0.0",
|
|
"description": "Discord Gateway service - handles message capture, voice recording, and AI moderation",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"pnpm": {
|
|
"onlyBuiltDependencies": [
|
|
"@discordjs/opus",
|
|
"@lng2004/node-datachannel",
|
|
"esbuild",
|
|
"node-av",
|
|
"sharp",
|
|
"zeromq"
|
|
]
|
|
},
|
|
"scripts": {
|
|
"dev": "tsx watch src/index.ts",
|
|
"start": "node dist/index.js",
|
|
"build": "tsc",
|
|
"typecheck": "tsc --noEmit",
|
|
"lint": "biome check --diagnostic-level=error .",
|
|
"format": "biome format --write .",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@dank074/discord-video-stream": "6.0.0",
|
|
"@discordjs/opus": "^0.10.0",
|
|
"@discordjs/voice": "^0.19.2",
|
|
"@snazzah/davey": "^0.1.11",
|
|
"axios": "^1.16.1",
|
|
"discord.js-selfbot-v13": "^3.7.1",
|
|
"dotenv": "^17.4.2",
|
|
"drizzle-orm": "^0.45.2",
|
|
"imghash": "^1.1.4",
|
|
"ioredis": "^5.11.0",
|
|
"libsodium-wrappers": "^0.8.4",
|
|
"lru-cache": "^11.5.1",
|
|
"openai": "^6.38.0",
|
|
"opusscript": "^0.0.8",
|
|
"p-limit": "^7.3.0",
|
|
"p-retry": "^8.0.0",
|
|
"pg": "^8.21.0",
|
|
"pino": "^9.6.0",
|
|
"piscina": "^5.1.4",
|
|
"prism-media": "2.0.0-alpha.0",
|
|
"sharp": "^0.34.5",
|
|
"tiktoken": "^1.0.22",
|
|
"ws": "^8.20.1",
|
|
"zod": "^4.4.3"
|
|
},
|
|
"devDependencies": {
|
|
"@biomejs/biome": "latest",
|
|
"@types/node": "^25.9.0",
|
|
"@types/pg": "^8.20.0",
|
|
"@types/ws": "^8.18.1",
|
|
"drizzle-kit": "^0.31.10",
|
|
"tsx": "^4.22.2",
|
|
"typescript": "^5.9.3",
|
|
"vitest": "latest"
|
|
}
|
|
}
|