aethex-forge/package.json
AeThex 7fec93e05c
Some checks are pending
Build / build (push) Waiting to run
Deploy / deploy (push) Waiting to run
Lint & Type Check / lint (push) Waiting to run
Security Scan / dependency-check (push) Waiting to run
Security Scan / semgrep (push) Waiting to run
Test / test (18.x) (push) Waiting to run
Test / test (20.x) (push) Waiting to run
feat: Authentik SSO, nav systems, project pages, and schema fixes
Auth & SSO
- Wire Authentik (auth.aethex.tech) as OIDC PKCE SSO provider
- Server-side only flow with HMAC-signed stateless state token
- Account linking via authentik_sub in user metadata
- AeThex ID connection card in Dashboard connections tab
- Unlink endpoint POST /api/auth/authentik/unlink
- Fix node:https helper to bypass undici DNS bug on Node 18
- Fix resolv.conf to use 1.1.1.1/8.8.8.8 in container

Schema & types
- Regenerate database.types.ts from live Supabase schema (23k lines)
- Fix 511 TypeScript errors caused by stale 582-line types file
- Fix UserProfile import in aethex-database-adapter.ts
- Add notifications migration (title, message, read columns)

Server fixes
- Remove badge_color from achievements seed/upsert (column doesn't exist)
- Rename name→title, add slug field in achievements seed
- Remove email from all user_profiles select queries (column doesn't exist)
- Fix email-based achievement target lookup via auth.admin.listUsers
- Add GET /api/projects/:projectId endpoint
- Fix import.meta.dirname → fileURLToPath for Node 18 compatibility
- Expose VITE_APP_VERSION from package.json at build time

Navigation systems
- DevPlatformNav: reorganize into Learn/Build grouped dropdowns with descriptions
- Migrate all 11 dev-platform pages from main Layout to DevPlatformLayout
- Remove dead isDevMode context nav swap from main Layout
- EthosLayout: purple-accented tab bar (Library, Artists, Licensing, Settings)
  with member-only gating and guest CTA — migrate 4 Ethos pages
- GameForgeLayout: orange-branded sidebar with Studio section and lock icons
  for unauthenticated users — migrate GameForge + GameForgeDashboard
- SysBar: live latency ping, status dot (green/yellow/red), real version

Layout dropdown
- Role-gate Admin (owner/admin/founder only) and Internal Docs (+ staff)
- Add Internal section label with separator
- Fix settings link from /dashboard?tab=profile#settings to /dashboard?tab=settings

Project pages
- Add ProjectDetail page at /projects/:projectId
- Fix ProfilePassport "View mission" link from /projects/new to /projects/:id

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 05:01:10 +00:00

132 lines
4.3 KiB
JSON

{
"name": "fusion-starter",
"private": true,
"type": "module",
"version": "0.1.0",
"description": "AeThex Terminal — desktop sidecar with overlay, watcher, and local sentinel.",
"author": "AeThex",
"main": "electron/main.js",
"pkg": {
"assets": [
"dist/spa/*",
"dist/desktop/*"
],
"scripts": [
"dist/server/**/*.js"
]
},
"scripts": {
"dev": "vite",
"build": "npm run build:api && npm run build:client && npm run build:server",
"build:client": "vite build",
"build:api": "node build-api.js",
"build:server": "vite build --config vite.config.server.ts",
"start": "node dist/server/production.mjs",
"test": "vitest --run",
"format.fix": "prettier --write .",
"typecheck": "tsc",
"desktop:dev": "concurrently -k \"npm:desktop:renderer\" \"npm:desktop:electron\"",
"desktop:renderer": "vite --config vite.desktop.config.ts --host --port 5173",
"desktop:electron": "cross-env VITE_DEV_SERVER_URL=http://localhost:5173 electron .",
"desktop:build": "npm run build:desktop && electron-builder -c electron-builder.yml",
"build:desktop": "vite build --config vite.desktop.config.ts"
},
"dependencies": {
"@builder.io/react": "^8.2.8",
"@discord/embedded-app-sdk": "^2.4.0",
"@google/genai": "^1.31.0",
"@supabase/supabase-js": "^2.53.0",
"@vercel/analytics": "^1.5.0",
"adm-zip": "^0.5.16",
"chokidar": "^3.6.0",
"dotenv": "^17.2.0",
"ethers": "^6.13.0",
"express": "^4.18.2",
"nodemailer": "^7.0.10",
"png-to-ico": "^3.0.1",
"sharp": "^0.34.5",
"stripe": "^15.12.0",
"wouter": "^3.9.0",
"zod": "^3.23.8"
},
"devDependencies": {
"@hookform/resolvers": "^3.9.0",
"@radix-ui/react-accordion": "^1.2.0",
"@radix-ui/react-alert-dialog": "^1.1.1",
"@radix-ui/react-aspect-ratio": "^1.1.0",
"@radix-ui/react-avatar": "^1.1.0",
"@radix-ui/react-checkbox": "^1.1.1",
"@radix-ui/react-collapsible": "^1.1.0",
"@radix-ui/react-context-menu": "^2.2.1",
"@radix-ui/react-dialog": "^1.1.2",
"@radix-ui/react-dropdown-menu": "^2.1.1",
"@radix-ui/react-hover-card": "^1.1.1",
"@radix-ui/react-label": "^2.1.0",
"@radix-ui/react-menubar": "^1.1.1",
"@radix-ui/react-navigation-menu": "^1.2.0",
"@radix-ui/react-popover": "^1.1.1",
"@radix-ui/react-progress": "^1.1.0",
"@radix-ui/react-radio-group": "^1.2.0",
"@radix-ui/react-scroll-area": "^1.1.0",
"@radix-ui/react-select": "^2.1.1",
"@radix-ui/react-separator": "^1.1.0",
"@radix-ui/react-slider": "^1.2.0",
"@radix-ui/react-slot": "^1.1.0",
"@radix-ui/react-switch": "^1.1.0",
"@radix-ui/react-tabs": "^1.1.0",
"@radix-ui/react-toast": "^1.2.1",
"@radix-ui/react-toggle": "^1.1.0",
"@radix-ui/react-toggle-group": "^1.1.0",
"@radix-ui/react-tooltip": "^1.1.4",
"@react-three/drei": "^10.7.7",
"@react-three/fiber": "^8.18.0",
"@swc/core": "^1.11.24",
"@tailwindcss/typography": "^0.5.15",
"@tanstack/react-query": "^5.56.2",
"@types/cors": "^2.8.17",
"@types/express": "^4.17.21",
"@types/node": "^22.5.5",
"@types/nodemailer": "^7.0.3",
"@types/react": "^18.3.3",
"@types/react-dom": "^18.3.0",
"@types/three": "^0.176.0",
"@vercel/node": "^3.2.15",
"@vitejs/plugin-react-swc": "^3.5.0",
"autoprefixer": "^10.4.21",
"class-variance-authority": "^0.7.1",
"clsx": "^2.1.1",
"cmdk": "^1.0.0",
"concurrently": "^9.1.2",
"cors": "^2.8.5",
"cross-env": "^7.0.3",
"date-fns": "^3.6.0",
"electron": "^32.2.0",
"electron-builder": "^25.1.8",
"embla-carousel-react": "^8.3.0",
"framer-motion": "^12.23.25",
"globals": "^15.9.0",
"input-otp": "^1.2.4",
"lucide-react": "^0.462.0",
"next-themes": "^0.3.0",
"postcss": "^8.5.6",
"prettier": "^3.5.3",
"react": "^18.3.1",
"react-day-picker": "^8.10.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.53.0",
"react-resizable-panels": "^2.1.3",
"react-router-dom": "^6.26.2",
"recharts": "^2.12.7",
"serverless-http": "^3.2.0",
"sonner": "^1.5.0",
"tailwind-merge": "^2.5.2",
"tailwindcss": "^3.4.11",
"tailwindcss-animate": "^1.0.7",
"three": "^0.176.0",
"tsx": "^4.7.0",
"typescript": "^5.5.3",
"vaul": "^0.9.3",
"vite": "^6.2.2",
"vitest": "^3.1.4"
}
}