T-HUB/apps/web/package.json
glass beadian 4a7e78b28d Collectives P1: participation landing (ES/EN), group tree, room provisioning APIs
- 030: groups.parent_id tree + kind discriminator + group_rooms mapping
- /collectives module: create/tree/join APIs, MatrixProvisioner (open room
  public+federated, closed room E2EE-at-creation, onboarding room), NullProvisioner
  fail-soft when ARCHIVE_PROVISIONER_* unset
- web root becomes the public participation manual (ES-first + EN toggle,
  three paths: join by invite, start collective, solo account)
- participation manual content in core
2026-10-12 13:53:40 +00:00

35 lines
1 KiB
JSON

{
"name": "@tactical-media-broadcast-hub/web",
"private": true,
"version": "0.1.0",
"scripts": {
"dev": "next dev",
"build": "next build",
"lint": "eslint src",
"typecheck": "tsc --noEmit",
"test:manual": "node --require ./scripts/control-room-register.cjs --test src/lib/participation-manual.test.ts"
},
"dependencies": {
"@tactical-media-broadcast-hub/connector-sdk": "workspace:^",
"@tactical-media-broadcast-hub/core": "workspace:^",
"@tailwindcss/postcss": "^4.3.3",
"@tanstack/react-virtual": "^3.14.13",
"@tiptap/extension-character-count": "^3.31.4",
"@tiptap/extension-placeholder": "^3.31.4",
"@tiptap/react": "^3.31.4",
"@tiptap/starter-kit": "^3.31.4",
"cmdk": "^1.1.1",
"next": "^14.2.5",
"postcss": "^8.5.29",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"tailwindcss": "^4.3.3"
},
"devDependencies": {
"@types/node": "^22.5.0",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"playwright": "^1.63.0",
"typescript": "^5.5.4"
}
}