Files
adam-acs/package.json
T
Kevin L'HereecandContinue aad93911e4 feat: TR-069 CWMP state machine hardening + exchange viewer improvements
- TR-069 CWMP state machine hardening (14 phases): shared event utility,
  multi-event routing, GPN circuit breaker, IdleState GPN guard, expanded
  GPN fault codes, CriticalReadsState, ConfigEval GPN guard, task queue
  race condition fix, explicit error handling, terminal states
  (OperationalState/PartialOperationalState), consolidated reclassify,
  crash pattern detection, removed enqueueImmediate, state flow wiring
- Fix SOAP Fault not processed by state machine (soap-env:Fault detection)
- Fix GPN circuit breaker not persisting after session drops
- Fix CriticalReadsState GPV response parsing (xsi:type normalization)
- Fix CriticalReadsState not processing GPV response values
- Skip SPV when device is already compliant (ProvisioningCode check)
- Add Device.DeviceInfo.ModelName to critical reads GPV
- Fix TypeError on DeviceDetail parameters view (null guards)
- Log empty 204 responses in exchange trace UI
- TR-181 catalog: type corrections and new entries (+6640 lines)
- SequenceViewer: replace session-nav buttons with compact dropdown select
- SequenceViewer: fix CPE/ACS lifeline headers wrapping to 2 lines
- Add 20 unit tests for state machine fixes (SOAP Fault, GPN circuit
  breaker, CriticalReads, stale session, ConfigEval/ComplianceUpdate skips)

Generated with [Continue](https://continue.dev)

Co-Authored-By: Continue <noreply@continue.dev>
2026-06-08 12:49:00 +00:00

106 lines
3.6 KiB
JSON

{
"name": "adam-acs",
"version": "0.0.0",
"private": true,
"type": "module",
"license": "MIT",
"exports": {
"./data": "./.adonisjs/client/data.d.ts",
"./registry": "./.adonisjs/client/registry/index.ts"
},
"scripts": {
"start": "node bin/server.js",
"build": "node ace build",
"dev": "node ace serve --hmr",
"test": "node ace test",
"lint": "eslint .",
"format": "prettier --write .",
"typecheck": "tsc --noEmit",
"docker:build": "docker compose -f docker-compose.yml -f docker-compose.simulator.yml build",
"docker:up": "docker compose -f docker-compose.yml -f docker-compose.simulator.yml up -d",
"docker:down": "docker compose -f docker-compose.yml -f docker-compose.simulator.yml down",
"docker:logs": "docker compose -f docker-compose.yml -f docker-compose.simulator.yml logs -f app",
"docker:test": "docker compose -f docker-compose.yml up -d mongodb && sleep 2 && NODE_ENV=test MONGODB_URI=mongodb://adam:adam@localhost:27017/adam-acs?authSource=admin npx vitest run ; STATUS=$? ; docker compose -f docker-compose.yml stop mongodb ; exit $STATUS",
"docker:build-and-test": "npm run docker:build && npm run docker:test"
},
"imports": {
"#controllers/*": "./app/controllers/*.js",
"#exceptions/*": "./app/exceptions/*.js",
"#models/*": "./app/models/*.js",
"#mails/*": "./app/mails/*.js",
"#services/*": "./app/services/*.js",
"#listeners/*": "./app/listeners/*.js",
"#events/*": "./app/events/*.js",
"#generated/*": "./.adonisjs/server/*.js",
"#middleware/*": "./app/middleware/*.js",
"#transformers/*": "./app/transformers/*.js",
"#validators/*": "./app/validators/*.js",
"#providers/*": "./providers/*.js",
"#policies/*": "./app/policies/*.js",
"#abilities/*": "./app/abilities/*.js",
"#database/*": "./database/*.js",
"#tests/*": "./tests/*.js",
"#start/*": "./start/*.js",
"#config/*": "./config/*.js"
},
"devDependencies": {
"@adonisjs/assembler": "^8.4.0",
"@adonisjs/eslint-config": "^3.1.0",
"@adonisjs/prettier-config": "^1.5.0",
"@adonisjs/tsconfig": "^2.0.0",
"@japa/assert": "^4.2.0",
"@japa/plugin-adonisjs": "^5.2.0",
"@japa/runner": "^5.3.0",
"@poppinss/ts-exec": "^1.4.4",
"@types/node": "~25.9.1",
"@types/xml2js": "^0.4.14",
"@vitejs/plugin-vue": "^6.0.7",
"@vitest/coverage-v8": "^4.1.8",
"eslint": "^10.4.0",
"fast-check": "^4.8.0",
"hot-hook": "^1.0.0",
"pino-pretty": "^13.1.3",
"prettier": "^3.8.3",
"sass": "^1.100.0",
"typescript": "~6.0.3",
"vitest": "^4.1.7",
"youch": "^4.1.1"
},
"dependencies": {
"@adonisjs/auth": "^10.1.0",
"@adonisjs/core": "^7.3.3",
"@adonisjs/cors": "^3.0.0",
"@adonisjs/inertia": "^4.2.0",
"@adonisjs/lucid": "^22.4.2",
"@adonisjs/session": "^8.1.0",
"@adonisjs/shield": "^9.0.0",
"@adonisjs/static": "^2.0.1",
"@adonisjs/vite": "^5.1.1",
"@inertiajs/vue3": "^2.3.8",
"@japa/api-client": "^3.2.1",
"@opentelemetry/api": "^1.9.1",
"@opentelemetry/auto-instrumentations-node": "^0.76.0",
"@opentelemetry/sdk-node": "^0.218.0",
"@popperjs/core": "^2.11.8",
"@tuyau/core": "^1.2.2",
"@vinejs/vine": "^4.4.0",
"boosted": "^5.3.8",
"edge.js": "^6.4.0",
"fast-xml-parser": "^5.8.0",
"mongodb": "^7.2.0",
"reflect-metadata": "^0.2.2",
"vanilla-jsoneditor": "^3.12.0",
"vue": "^3.5.35",
"vue-i18n": "^11.4.4",
"xml-formatter": "^3.7.0",
"xml2js": "^0.6.2"
},
"hotHook": {
"boundaries": [
"./app/controllers/**/*.ts",
"./app/middleware/*.ts"
]
},
"prettier": "@adonisjs/prettier-config"
}