# Axynia frontend

## Arquitectura

- `resources/views/layouts`: layout principal.
- `resources/views/partials`: navegación compartida.
- `resources/views/agents`: pantallas y parciales de Agentes.
- `resources/js/modules`: comportamiento por módulo.
- `resources/js/services`: acceso exclusivo a datos.
- `resources/js/ui`: comportamiento global.

`AgentService` contiene datos simulados. Para conectar una API REST se
reemplazan internamente `list`, `get`, `tools` y `save` por `fetch`, sin
modificar las pantallas.

El módulo Super Admin sí usa endpoints Laravel reales. Administra la tabla
`users` de la conexión predeterminada, compatible con Sanctum. Las credenciales
del propietario de la plataforma permanecen aisladas en `ADMIN_USER` y
`ADMIN_PASS`.

El acceso normal autentica por email único y contraseña mediante el guard de
sesión compatible con Sanctum. Después del login se guardan en sesión
`instance_id` e `idCliente`; este último se mantiene como cadena numérica para
preservar valores `BIGINT`.

`instances` es una tabla de pertenencia mínima: relaciona `user_id` con
`idCliente` y conserva el estado comercial del cliente. Cambiar ese estado
afecta el acceso de todos los usuarios que comparten el mismo `idCliente`.

La aplicación utiliza dos shells Blade independientes:

- `layouts/app.blade.php` para clientes: Dashboard, Agentes y módulos de IA.
- `layouts/super-admin.blade.php` para el propietario: usuarios, clientes,
  configuración general y operaciones globales de plataforma.

## API de configuración IA

`AXYNIA_API_BASE` define la API REST utilizada por Providers, Modelos LLM y
Agentes. El valor predeterminado es:

```text
https://api.smart-admin.biz/api/axynia/v1
```

Los servicios se encuentran separados por recurso y comparten
`services/axynia-api.js`, que centraliza headers UTF-8, parseo JSON, manejo de
red y la validación obligatoria de `err === "+OK"`. Los selectores de cliente
usan los `idCliente` vinculados localmente en `instances`.

Las futuras áreas —Modelos, Tools, Workflows, Memoria, Proveedores y Métricas—
deben seguir la misma separación. Los proveedores como OpenAI o vLLM se
normalizan en el backend y no se convierten en dependencias del frontend.

## Servidor

El proyecto se encuentra en `/var/www/html/axynia`. La instalación de
dependencias, compilación y validación deben ejecutarse directamente en Debian.
