BetterFrame/server/package.json
Mitchell R 3be1a9a624 feat: entities (unified content pool) + ONVIF discovery flow
Entities:
- New entities table — id, name, type (camera|html|web), camera_id,
  html_content, web_url
- Auto-create entity per camera on createCamera
- Layout cells reference entity_id (replaces inline content_type/
  camera_id/html_content/web_url)
- Bundle resolves entities back to legacy cell fields for kiosk compat
  (Rust kiosk unchanged)
- Full CRUD: /admin/entities, /admin/entities/new, /admin/entities/:id
- Cell editor: single entity dropdown with type badges

ONVIF discovery:
- /admin/cameras/discover — host/port/user/pass form
- Server queries ONVIF device, lists profiles with name/resolution/
  encoding/framerate
- "Add" creates camera + main stream from chosen profile
- shared/onvif.ts: minimal SOAP+UsernameToken+PasswordDigest client
  (no external dep)
- Camera new form simplified to RTSP-only with discover link
2026-05-10 23:18:44 +02:00

42 lines
1.1 KiB
JSON

{
"name": "@betterframe/server",
"version": "0.1.0",
"private": true,
"description": "BetterFrame backend — BSB v9 service plugins.",
"license": "AGPL-3.0-only OR Commercial",
"type": "module",
"files": [
"lib/**/*",
"README.md",
"bsb-plugin.json",
"bsb-tests.json"
],
"scripts": {
"build": "cross-env NODE_OPTIONS=\"--import tsx\" bsb-plugin-cli build",
"clean": "bsb-plugin-cli clean",
"start": "bsb-plugin-cli start",
"dev": "cross-env NODE_OPTIONS=\"--import tsx\" bsb-plugin-cli dev",
"test": "bsb-plugin-cli test",
"schemas:export": "node --enable-source-maps lib/scripts/export-schemas.js"
},
"bsb": {},
"dependencies": {
"@anyvali/js": "^0.2.0",
"@bsb/base": "^9.1.11",
"@types/ws": "^8.18.1",
"argon2": "^0.44.0",
"h3": "^2.0.1-rc.22",
"jsx-htmx": "^2.0.2",
"onvif": "^0.8.1",
"otpauth": "^9.5.1",
"ws": "^8.20.0"
},
"devDependencies": {
"@types/node": "^25.0.0",
"tsx": "^4.21.0",
"typescript": "^6.0.3"
},
"peerDependencies": {
"@bsb/base": "^9.1.11"
}
}