- use sqlx migrate!() instead of broken split(';') — triggers now work
- seq via AUTOINCREMENT — no race conditions, monotonic ordering
- replace ?since= with ?after_seq= — cursor-based, no timestamp format issues
- replace all unwrap() with typed errors (404, 409, 400, 500)
- reply_to same-channel enforced in route handler
- add biome for frontend linting
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
176 lines
5.1 KiB
JSON
176 lines
5.1 KiB
JSON
{
|
|
"name": "apes",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"devDependencies": {
|
|
"@biomejs/biome": "^2.4.9"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/biome": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/biome/-/biome-2.4.9.tgz",
|
|
"integrity": "sha512-wvZW92FrwitTcacvCBT8xdAbfbxWfDLwjYMmU3djjqQTh7Ni4ZdiWIT/x5VcZ+RQuxiKzIOzi5D+dcyJDFZMsA==",
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"bin": {
|
|
"biome": "bin/biome"
|
|
},
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
},
|
|
"funding": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/biome"
|
|
},
|
|
"optionalDependencies": {
|
|
"@biomejs/cli-darwin-arm64": "2.4.9",
|
|
"@biomejs/cli-darwin-x64": "2.4.9",
|
|
"@biomejs/cli-linux-arm64": "2.4.9",
|
|
"@biomejs/cli-linux-arm64-musl": "2.4.9",
|
|
"@biomejs/cli-linux-x64": "2.4.9",
|
|
"@biomejs/cli-linux-x64-musl": "2.4.9",
|
|
"@biomejs/cli-win32-arm64": "2.4.9",
|
|
"@biomejs/cli-win32-x64": "2.4.9"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-darwin-arm64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-arm64/-/cli-darwin-arm64-2.4.9.tgz",
|
|
"integrity": "sha512-d5G8Gf2RpH5pYwiHLPA+UpG3G9TLQu4WM+VK6sfL7K68AmhcEQ9r+nkj/DvR/GYhYox6twsHUtmWWWIKfcfQQA==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-darwin-x64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-darwin-x64/-/cli-darwin-x64-2.4.9.tgz",
|
|
"integrity": "sha512-LNCLNgqDMG7BLdc3a8aY/dwKPK7+R8/JXJoXjCvZh2gx8KseqBdFDKbhrr7HCWF8SzNhbTaALhTBoh/I6rf9lA==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-arm64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64/-/cli-linux-arm64-2.4.9.tgz",
|
|
"integrity": "sha512-4adnkAUi6K4C/emPRgYznMOcLlUqZdXWM6aIui4VP4LraE764g6Q4YguygnAUoxKjKIXIWPteKMgRbN0wsgwcg==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-arm64-musl": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.4.9.tgz",
|
|
"integrity": "sha512-8RCww5xnPn2wpK4L/QDGDOW0dq80uVWfppPxHIUg6mOs9B6gRmqPp32h1Ls3T8GnW8Wo5A8u7vpTwz4fExN+sw==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-x64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64/-/cli-linux-x64-2.4.9.tgz",
|
|
"integrity": "sha512-L10na7POF0Ks/cgLFNF1ZvIe+X4onLkTi5oP9hY+Rh60Q+7fWzKDDCeGyiHUFf1nGIa9dQOOUPGe2MyYg8nMSQ==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-linux-x64-musl": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-linux-x64-musl/-/cli-linux-x64-musl-2.4.9.tgz",
|
|
"integrity": "sha512-5TD+WS9v5vzXKzjetF0hgoaNFHMcpQeBUwKKVi3JbG1e9UCrFuUK3Gt185fyTzvRdwYkJJEMqglRPjmesmVv4A==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"linux"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-win32-arm64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-arm64/-/cli-win32-arm64-2.4.9.tgz",
|
|
"integrity": "sha512-aDZr0RBC3sMGJOU10BvG7eZIlWLK/i51HRIfScE2lVhfts2dQTreowLiJJd+UYg/tHKxS470IbzpuKmd0MiD6g==",
|
|
"cpu": [
|
|
"arm64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
},
|
|
"node_modules/@biomejs/cli-win32-x64": {
|
|
"version": "2.4.9",
|
|
"resolved": "https://registry.npmjs.org/@biomejs/cli-win32-x64/-/cli-win32-x64-2.4.9.tgz",
|
|
"integrity": "sha512-NS4g/2G9SoQ4ktKtz31pvyc/rmgzlcIDCGU/zWbmHJAqx6gcRj2gj5Q/guXhoWTzCUaQZDIqiCQXHS7BcGYc0w==",
|
|
"cpu": [
|
|
"x64"
|
|
],
|
|
"dev": true,
|
|
"license": "MIT OR Apache-2.0",
|
|
"optional": true,
|
|
"os": [
|
|
"win32"
|
|
],
|
|
"engines": {
|
|
"node": ">=14.21.3"
|
|
}
|
|
}
|
|
}
|
|
}
|