CI / build + unit (pull_request) Successful in 1m20s
The single-message summary was too small (owner request). The summarizer prompt now asks for exactly 3-5 lines, one item per line, in the format '<short header>: <one or two short sentences>' with a <=20-char header, no intro/outro/numbering. maxTokens stays 2500 (reasoning-token headroom). The reply is parsed into items: drop empty lines and lines without a ':' header separator, cap at 5; fewer than 3 valid lines sends what we got (no failure/retry), zero valid lines sends nothing. Each item goes out as its own mesh message via respond(id, line) - all threaded to the trigger packet id on its channel. Per-item backstop fitOneLine() hard-cuts any line >185 chars at a word boundary near 180 so every item fits one packet; the old whole-reply fitOnePacket() cut is gone. CommandService sends array replies line by line through the same routing as single replies (respond per line, or legacy sendText fallback per line when there is no packet id). LLM failure path unchanged: single 'summary failed' reply.
55 lines
1.6 KiB
JSON
55 lines
1.6 KiB
JSON
{
|
|
"name": "mesh-bot",
|
|
"version": "0.21.0",
|
|
"description": "",
|
|
"author": "",
|
|
"private": true,
|
|
"license": "UNLICENSED",
|
|
"scripts": {
|
|
"build": "nest build",
|
|
"deploy": "nest deploy",
|
|
"format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
|
|
"start": "nest start",
|
|
"start:dev": "nest start --watch",
|
|
"start:debug": "nest start --debug --watch",
|
|
"start:prod": "node dist/main",
|
|
"lint": "oxlint src/ test/",
|
|
"test": "vitest run",
|
|
"test:watch": "vitest",
|
|
"test:cov": "vitest run --coverage",
|
|
"test:debug": "vitest --inspect-brk --no-file-parallelism",
|
|
"test:e2e": "vitest run --config ./vitest.config.e2e.ts"
|
|
},
|
|
"dependencies": {
|
|
"@bufbuild/protobuf": "^2.15.0",
|
|
"@meshtastic/protobufs": "^2.8.0",
|
|
"@modelcontextprotocol/sdk": "^1.30.1",
|
|
"@nestjs/common": "^12.0.1",
|
|
"@nestjs/core": "^12.0.1",
|
|
"@nestjs/platform-express": "^12.0.1",
|
|
"@nestjs/schedule": "^12.0.2",
|
|
"@nestjs/swagger": "^12.0.2",
|
|
"@scalar/nestjs-api-reference": "^1.2.21",
|
|
"fast-xml-parser": "^5.11.1",
|
|
"reflect-metadata": "^0.2.2",
|
|
"rxjs": "^7.8.1"
|
|
},
|
|
"devDependencies": {
|
|
"@nestjs/cli": "^12.0.0",
|
|
"@nestjs/mau": "^0.2.6",
|
|
"@nestjs/schematics": "^12.0.0",
|
|
"@nestjs/testing": "^12.0.1",
|
|
"@types/express": "^5.0.0",
|
|
"@types/node": "^24.0.0",
|
|
"@types/supertest": "^7.0.0",
|
|
"@vitest/coverage-v8": "^4.1.2",
|
|
"oxlint": "^1.58.0",
|
|
"prettier": "^3.4.2",
|
|
"source-map-support": "^0.5.21",
|
|
"supertest": "^7.0.0",
|
|
"typescript": "^6.0.2",
|
|
"vite-tsconfig-paths": "^5.1.4",
|
|
"vitest": "^4.1.2"
|
|
}
|
|
}
|