Nueva sección "Workspace" (Organizaciones + Usuarios) que orquesta el Hub reenviando el token del usuario autenticado. Sin secretos en el CRM ni bypass: la autorización la impone el Hub (hub_admin para tenants; hub_admin o admin del tenant para invitaciones). - Organizaciones: listar (GET /api/v1/hub/tenants) y crear (POST /api/v1/hub/tenants → tenant + realm Keycloak). - Usuarios: invitación de un solo uso (POST /api/v1/hub/invites) con enlace copiable si el correo no llega. - Se descarta /auth/provision-user (PROVISION_SECRET, machine-to-machine) en favor del flujo de invitación con token de admin. - Helpers puros (slug, validación, extracción de errores del Hub) con tests unitarios; estado "requiere permisos" ante 403 y fallback a slug manual para admin de tenant. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
sv
Everything you need to build a Svelte project, powered by sv.
Creating a project
If you're seeing this, you've probably already done this step. Congrats!
# create a new project in the current directory
npx sv create
# create a new project in my-app
npx sv create my-app
# compile paraglide
cd frontend && sudo rm -rf src/lib/paraglide && pnpm paraglide-js compile --project ./project.inlang --outdir ./src/lib/paraglide
Developing
Once you've created a project and installed dependencies with npm install (or pnpm install or yarn), start a development server:
npm run dev
# or start the server and open the app in a new browser tab
npm run dev -- --open
Building
To create a production version of your app:
npm run build
You can preview the production build with npm run preview.
To deploy your app, you may need to install an adapter for your target environment.