mirror of
https://github.com/gadgethd/ukmesh.git
synced 2026-10-22 14:01:27 +00:00
- Keeps every production behaviour from the deployed tree: public feed, owner packet sharing (including the Oct-12 publish/claim timeout fix), regions, privacy rematerialisation, RAM/durable ingest, owner last-hop prewarm. - Takes main's additive work since the fork: ingest repair series, 1-byte path evidence, gitleaks ignore, dependabot pins, publicStatus, workloadPolicy and health diagnostics. - Resolves 26 conflicts; per-file decisions recorded in the campaign DECISIONS.md and merge-proposal notes. - Restores the two migrations missing from the deployed tree byte-exact (052_node_identity_packets_raw_columns, 055_message_tags) and defers main's unapplied 057 status-column migration to docs/deferred-migrations. - Fresh-database bootstrap verified: base schema plus 60 migrations apply in order; a second run reports no pending migrations.
58 lines
2.7 KiB
JSON
58 lines
2.7 KiB
JSON
{
|
|
"name": "meshcore-analytics-backend",
|
|
"version": "1.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"scripts": {
|
|
"build": "tsc",
|
|
"dev": "tsx watch src/index.ts",
|
|
"spam:recompute": "node dist/tools/recomputeSpamSuspects.js",
|
|
"spam:messages": "node dist/tools/recomputeSpamMessages.js",
|
|
"regions:rebuild": "node dist/tools/rebuildRegionParticipation.js",
|
|
"db:migrate": "node dist/tools/migrate.js",
|
|
"stats:backfill-rollups": "node dist/tools/backfillStatsRollups.js",
|
|
"stats:backfill-multibyte": "node dist/tools/backfillMultibytePathFacts.js",
|
|
"stats:seed-chart-snapshot": "node dist/tools/seedStatsChartSnapshot.js",
|
|
"db:lifecycle": "node dist/tools/dataLifecycle.js",
|
|
"owner-auth:inventory": "node dist/tools/inventoryOwnerAuthorization.js",
|
|
"owner-auth:revoke": "node dist/tools/revokeOwnerSessions.js",
|
|
"owner-packet-share:encrypt-secret": "node dist/tools/encryptPacketShareSecret.js",
|
|
"owner-packet-share:prepare-scotmesh": "node dist/tools/prepareScotmesh.js",
|
|
"owner-packet-share:provision-scotmesh": "node dist/tools/provisionScotmesh.js",
|
|
"analysis:cleanup-orphans": "node dist/tools/cleanupOrphanedAnalysisRuns.js",
|
|
"bench:decode": "tsx src/tools/benchmarkPacketDecode.ts",
|
|
"path:accuracy": "tsx src/tools/pathAccuracy.ts",
|
|
"load:realtime": "tsx src/tools/loadRealtime.ts",
|
|
"test": "node --import tsx --test $(find src -name '*.test.ts' ! -name '*.integration.test.ts' -print) && bash ../scripts/test-alert-receiver.sh",
|
|
"test:analysis-integration": "node --import tsx --test src/analysis/runState.integration.test.ts",
|
|
"test:ingest-integration": "timeout 300s node --import tsx --test src/db/packetBatch.integration.test.ts src/db/recentRead.integration.test.ts && timeout 90s node --import tsx --test src/ram/ram.integration.test.ts && timeout 60s node --import tsx --test src/ws/publicAuthorization.integration.test.ts",
|
|
"test:ram-operational": "timeout 300s node ../scripts/test-ram-redis-acl.mjs",
|
|
"typecheck": "tsc --noEmit",
|
|
"contract:generate": "tsx src/tools/generateOpenApi.ts",
|
|
"contract:check": "tsx src/tools/generateOpenApi.ts --check",
|
|
"start": "node dist/index.js"
|
|
},
|
|
"dependencies": {
|
|
"@michaelhart/meshcore-decoder": "^0.3.0",
|
|
"compression": "^1.8.2",
|
|
"cors": "^2.8.5",
|
|
"express": "^5.2.1",
|
|
"express-rate-limit": "^8.7.0",
|
|
"ioredis": "^6.0.0",
|
|
"mqtt": "^5.16.0",
|
|
"pg": "^8.23.0",
|
|
"prom-client": "^15.1.3",
|
|
"ws": "^8.22.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/compression": "^1.7.5",
|
|
"@types/cors": "^2.8.17",
|
|
"@types/express": "^5.0.6",
|
|
"@types/node": "^26.6.3",
|
|
"@types/pg": "^8.23.1",
|
|
"@types/ws": "^8.5.12",
|
|
"tsx": "^4.23.15",
|
|
"typescript": "^7.0.2"
|
|
}
|
|
}
|