depurada la conexion
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -25,8 +25,7 @@ coverage/
|
|||||||
.DS_Store
|
.DS_Store
|
||||||
|
|
||||||
# Editor directories and files
|
# Editor directories and files
|
||||||
.vscode/*
|
|
||||||
!.vscode/extensions.json
|
|
||||||
.idea/
|
.idea/
|
||||||
*.suo
|
*.suo
|
||||||
*.ntvs*
|
*.ntvs*
|
||||||
|
|||||||
5
.vscode/settings.json
vendored
Normal file
5
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"task.allowAutomaticTasks": "on",
|
||||||
|
"task.autoDetect": "on",
|
||||||
|
"task.quickOpen.showAll": true
|
||||||
|
}
|
||||||
60
.vscode/tasks.json
vendored
Normal file
60
.vscode/tasks.json
vendored
Normal file
@@ -0,0 +1,60 @@
|
|||||||
|
{
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "planilla-api",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make api",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"panel": "dedicated",
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "planilla-mcp",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make mcp",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"panel": "dedicated",
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "planilla-ui",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make UI",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"panel": "dedicated",
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "planilla-agent",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "make agent",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"panel": "dedicated",
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "planilla-dev",
|
||||||
|
"dependsOn": [
|
||||||
|
"planilla-api",
|
||||||
|
"planilla-mcp",
|
||||||
|
"planilla-ui",
|
||||||
|
"planilla-agent"
|
||||||
|
],
|
||||||
|
"dependsOrder": "parallel",
|
||||||
|
"problemMatcher": [],
|
||||||
|
"presentation": {
|
||||||
|
"reveal": "always"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
16
Makefile
16
Makefile
@@ -57,3 +57,19 @@ api:
|
|||||||
# If no name is provided, it defaults to "new_migration".
|
# If no name is provided, it defaults to "new_migration".
|
||||||
prisma-migrate-dev:
|
prisma-migrate-dev:
|
||||||
cd api && npx prisma migrate deploy
|
cd api && npx prisma migrate deploy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# --- Git helper para cambiar de rama por nombre directo ---
|
||||||
|
|
||||||
|
.PHONY: git-branch
|
||||||
|
|
||||||
|
git-branch:
|
||||||
|
@if not "$(BRANCH)"=="" ( \
|
||||||
|
git fetch github && \
|
||||||
|
git checkout $(BRANCH) \
|
||||||
|
) else ( \
|
||||||
|
echo USO: make git-branch BRANCH=nombre/rama && exit /b 1 \
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
103
estructura.txt
103
estructura.txt
@@ -1,6 +1,5 @@
|
|||||||
C:\no guardar\nucleo V3\planilla\agent
|
C:\no guardar\nucleo V3\planilla\agent
|
||||||
C:\no guardar\nucleo V3\planilla\api
|
C:\no guardar\nucleo V3\planilla\api
|
||||||
C:\no guardar\nucleo V3\planilla\core
|
|
||||||
C:\no guardar\nucleo V3\planilla\dev
|
C:\no guardar\nucleo V3\planilla\dev
|
||||||
C:\no guardar\nucleo V3\planilla\mcp
|
C:\no guardar\nucleo V3\planilla\mcp
|
||||||
C:\no guardar\nucleo V3\planilla\ui
|
C:\no guardar\nucleo V3\planilla\ui
|
||||||
@@ -10,30 +9,28 @@ C:\no guardar\nucleo V3\planilla\docker-compose.yml
|
|||||||
C:\no guardar\nucleo V3\planilla\estructura.txt
|
C:\no guardar\nucleo V3\planilla\estructura.txt
|
||||||
C:\no guardar\nucleo V3\planilla\Makefile
|
C:\no guardar\nucleo V3\planilla\Makefile
|
||||||
C:\no guardar\nucleo V3\planilla\README.md
|
C:\no guardar\nucleo V3\planilla\README.md
|
||||||
C:\no guardar\nucleo V3\planilla\agent\example webhooksEvents
|
C:\no guardar\nucleo V3\planilla\agent\src
|
||||||
C:\no guardar\nucleo V3\planilla\agent\processMessage
|
C:\no guardar\nucleo V3\planilla\agent\.dockerignore
|
||||||
C:\no guardar\nucleo V3\planilla\agent\respuestas
|
C:\no guardar\nucleo V3\planilla\agent\.env
|
||||||
C:\no guardar\nucleo V3\planilla\agent\utils
|
|
||||||
C:\no guardar\nucleo V3\planilla\agent\config.js
|
|
||||||
C:\no guardar\nucleo V3\planilla\agent\Dockerfile
|
C:\no guardar\nucleo V3\planilla\agent\Dockerfile
|
||||||
C:\no guardar\nucleo V3\planilla\agent\gemini.js
|
C:\no guardar\nucleo V3\planilla\agent\package-lock.json
|
||||||
C:\no guardar\nucleo V3\planilla\agent\handlers.js
|
|
||||||
C:\no guardar\nucleo V3\planilla\agent\index.js
|
|
||||||
C:\no guardar\nucleo V3\planilla\agent\logger.js
|
|
||||||
C:\no guardar\nucleo V3\planilla\agent\package.json
|
C:\no guardar\nucleo V3\planilla\agent\package.json
|
||||||
C:\no guardar\nucleo V3\planilla\agent\routes.js
|
C:\no guardar\nucleo V3\planilla\agent\tsconfig.json
|
||||||
C:\no guardar\nucleo V3\planilla\agent\whatsapp.js
|
C:\no guardar\nucleo V3\planilla\agent\src\cognition
|
||||||
C:\no guardar\nucleo V3\planilla\agent\example webhooksEvents\exampleOnAnyMessage.txt
|
C:\no guardar\nucleo V3\planilla\agent\src\llm
|
||||||
C:\no guardar\nucleo V3\planilla\agent\processMessage\processVideoMessage.js
|
C:\no guardar\nucleo V3\planilla\agent\src\index.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\respuestas\respuestaBrave.js
|
C:\no guardar\nucleo V3\planilla\agent\src\systemPrompt copy.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\respuestas\respuestaMCP.js
|
C:\no guardar\nucleo V3\planilla\agent\src\systemPrompt.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\respuestas\respuestaNormal.js
|
C:\no guardar\nucleo V3\planilla\agent\src\types.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\utils\decryptMediaContent.js
|
C:\no guardar\nucleo V3\planilla\agent\src\cognition\executeTools.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\utils\processMessage.js
|
C:\no guardar\nucleo V3\planilla\agent\src\cognition\generatePlan.ts
|
||||||
C:\no guardar\nucleo V3\planilla\agent\utils\saveMedia.js
|
C:\no guardar\nucleo V3\planilla\agent\src\cognition\index.ts
|
||||||
|
C:\no guardar\nucleo V3\planilla\agent\src\cognition\normalResponse.ts
|
||||||
|
C:\no guardar\nucleo V3\planilla\agent\src\llm\gemini.ts
|
||||||
C:\no guardar\nucleo V3\planilla\api\dev
|
C:\no guardar\nucleo V3\planilla\api\dev
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma
|
C:\no guardar\nucleo V3\planilla\api\prisma
|
||||||
C:\no guardar\nucleo V3\planilla\api\routes
|
C:\no guardar\nucleo V3\planilla\api\routes
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\sse
|
||||||
C:\no guardar\nucleo V3\planilla\api\.env
|
C:\no guardar\nucleo V3\planilla\api\.env
|
||||||
C:\no guardar\nucleo V3\planilla\api\.env.example
|
C:\no guardar\nucleo V3\planilla\api\.env.example
|
||||||
C:\no guardar\nucleo V3\planilla\api\Dockerfile
|
C:\no guardar\nucleo V3\planilla\api\Dockerfile
|
||||||
@@ -58,6 +55,7 @@ C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\index.d.ts
|
|||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\index.js
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\index.js
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\package.json
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\package.json
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\query_engine-windows.dll.node
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\query_engine-windows.dll.node
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\query_engine-windows.dll.node.tmp26660
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\schema.prisma
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\schema.prisma
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\wasm.d.ts
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\wasm.d.ts
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\wasm.js
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\wasm.js
|
||||||
@@ -70,31 +68,62 @@ C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\runtime\library.js
|
|||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\runtime\react-native.js
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\runtime\react-native.js
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\runtime\wasm.js
|
C:\no guardar\nucleo V3\planilla\api\prisma\generated\client\runtime\wasm.js
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250515020056_init
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250515020056_init
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250530222717_init
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250609211800_notify_others_sse
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\migration_lock.toml
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\migration_lock.toml
|
||||||
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250515020056_init\migration.sql
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250515020056_init\migration.sql
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250530222717_init\migration.sql
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\prisma\migrations\20250609211800_notify_others_sse\migration.sql
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\asistencias
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\empleados
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\planillas
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\tareas
|
||||||
C:\no guardar\nucleo V3\planilla\api\routes\clientesRandom.js
|
C:\no guardar\nucleo V3\planilla\api\routes\clientesRandom.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\asistencias\asistencias.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\empleados\empleados.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\planillas\planillas.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\routes\tareas\tareas.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\api\sse\index.js
|
||||||
C:\no guardar\nucleo V3\planilla\dev\scripts
|
C:\no guardar\nucleo V3\planilla\dev\scripts
|
||||||
C:\no guardar\nucleo V3\planilla\dev\scripts\estructura.ps1
|
C:\no guardar\nucleo V3\planilla\dev\scripts\estructura.ps1
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\lib
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\modules
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\createServer.js
|
||||||
C:\no guardar\nucleo V3\planilla\mcp\Dockerfile
|
C:\no guardar\nucleo V3\planilla\mcp\Dockerfile
|
||||||
C:\no guardar\nucleo V3\planilla\mcp\index.js
|
C:\no guardar\nucleo V3\planilla\mcp\index.js
|
||||||
C:\no guardar\nucleo V3\planilla\mcp\package-lock.json
|
C:\no guardar\nucleo V3\planilla\mcp\package-lock.json
|
||||||
C:\no guardar\nucleo V3\planilla\mcp\package.json
|
C:\no guardar\nucleo V3\planilla\mcp\package.json
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\README.md
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\lib\api.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\modules\asistencias.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\modules\empleados.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\modules\planillas.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\mcp\modules\tareas.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\public
|
C:\no guardar\nucleo V3\planilla\ui\public
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src
|
C:\no guardar\nucleo V3\planilla\ui\src
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\.env
|
||||||
C:\no guardar\nucleo V3\planilla\ui\Dockerfile
|
C:\no guardar\nucleo V3\planilla\ui\Dockerfile
|
||||||
C:\no guardar\nucleo V3\planilla\ui\index.html
|
C:\no guardar\nucleo V3\planilla\ui\index.html
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\nginx.conf
|
||||||
C:\no guardar\nucleo V3\planilla\ui\package-lock.json
|
C:\no guardar\nucleo V3\planilla\ui\package-lock.json
|
||||||
C:\no guardar\nucleo V3\planilla\ui\package.json
|
C:\no guardar\nucleo V3\planilla\ui\package.json
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\postcss.config.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\README.md
|
C:\no guardar\nucleo V3\planilla\ui\README.md
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\README.ms
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\runtime-env.sh
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\tailwind.config.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\vite.config.js
|
C:\no guardar\nucleo V3\planilla\ui\vite.config.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\public\vite.svg
|
C:\no guardar\nucleo V3\planilla\ui\public\vite.svg
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\assets
|
C:\no guardar\nucleo V3\planilla\ui\src\assets
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components
|
C:\no guardar\nucleo V3\planilla\ui\src\components
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\constants
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\layouts
|
C:\no guardar\nucleo V3\planilla\ui\src\layouts
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\router
|
C:\no guardar\nucleo V3\planilla\ui\src\router
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores
|
C:\no guardar\nucleo V3\planilla\ui\src\stores
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\tests
|
C:\no guardar\nucleo V3\planilla\ui\src\tests
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\utils
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views
|
C:\no guardar\nucleo V3\planilla\ui\src\views
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\apiClient.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\App.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\App.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\main.js
|
C:\no guardar\nucleo V3\planilla\ui\src\main.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\style.css
|
C:\no guardar\nucleo V3\planilla\ui\src\style.css
|
||||||
@@ -103,40 +132,67 @@ C:\no guardar\nucleo V3\planilla\ui\src\components\asistencias
|
|||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\chat
|
C:\no guardar\nucleo V3\planilla\ui\src\components\chat
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados
|
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas
|
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\realtime
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas
|
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\ui
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\HelloWorld.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\HelloWorld.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\asistencias\cardAsistencia.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\asistencias\cardAsistencia.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\asistencias\tablaAsistencias.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\asistencias\tablaAsistencias.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\chat\CanvasChat.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\chat\CanvasChat.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\chat\FloatingChat.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados\cardEmpleado.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados\cardEmpleado.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados\tablaEmpleados.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\empleados\tablaEmpleados.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas\cardPlanilla.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas\cardPlanilla.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas\tablaPlanillas.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\planillas\tablaPlanillas.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\realtime\RealtimeEventCard.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas\cardTarea.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas\cardTarea.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas\tablaTareas.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\tareas\tablaTareas.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\navBar.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\NavBar.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\sideDrawer.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\NucleoDataCard.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\NucleoTable.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\README.md
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\SideDrawer.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\SnackbarContainer.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\components\ui\TopBar.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\constants\moduleInfo.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\router\index.js
|
C:\no guardar\nucleo V3\planilla\ui\src\router\index.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\__tests__
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores\useAsistencias.js
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useAsistencias.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores\useChat.js
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useChat.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores\useEmpleados.js
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useEmpleados.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores\usePlanillas.js
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\usePlanillas.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useRealtime.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useSnackbar.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\stores\useTareas.js
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useTareas.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\useUi.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\stores\__tests__\useUi.spec.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\utils\formatters.js
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias
|
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados
|
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas
|
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas
|
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\ChatView.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\__tests__
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\HomeView.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\NotFound.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\RealtimeFeedView.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\SettingsView.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\SettingsView.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\__tests__
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\AsistenciaForm.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\AsistenciaForm.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\AsistenciasIndex.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\AsistenciasIndex.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\asistencias\__tests__\AsistenciasIndex.spec.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\__tests__
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\EmpleadoForm.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\EmpleadoForm.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\EmpleadosIndex.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\EmpleadosIndex.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\empleados\__tests__\EmpleadosIndex.spec.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\__tests__
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\PlanillaForm.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\PlanillaForm.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\PlanillasIndex.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\PlanillasIndex.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\planillas\__tests__\PlanillasIndex.spec.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\__tests__
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\TareaForm.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\TareaForm.vue
|
||||||
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\TareasIndex.vue
|
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\TareasIndex.vue
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\tareas\__tests__\TareasIndex.spec.js
|
||||||
|
C:\no guardar\nucleo V3\planilla\ui\src\views\__tests__\SettingsView.spec.js
|
||||||
C:\no guardar\nucleo V3\planilla\worker\cron
|
C:\no guardar\nucleo V3\planilla\worker\cron
|
||||||
C:\no guardar\nucleo V3\planilla\worker\prisma
|
C:\no guardar\nucleo V3\planilla\worker\prisma
|
||||||
C:\no guardar\nucleo V3\planilla\worker\.env
|
C:\no guardar\nucleo V3\planilla\worker\.env
|
||||||
@@ -144,6 +200,7 @@ C:\no guardar\nucleo V3\planilla\worker\cron-worker.js
|
|||||||
C:\no guardar\nucleo V3\planilla\worker\Dockerfile
|
C:\no guardar\nucleo V3\planilla\worker\Dockerfile
|
||||||
C:\no guardar\nucleo V3\planilla\worker\package-lock.json
|
C:\no guardar\nucleo V3\planilla\worker\package-lock.json
|
||||||
C:\no guardar\nucleo V3\planilla\worker\package.json
|
C:\no guardar\nucleo V3\planilla\worker\package.json
|
||||||
|
C:\no guardar\nucleo V3\planilla\worker\sync-empleados.js
|
||||||
C:\no guardar\nucleo V3\planilla\worker\cron\15min
|
C:\no guardar\nucleo V3\planilla\worker\cron\15min
|
||||||
C:\no guardar\nucleo V3\planilla\worker\cron\15min\hello.sh
|
C:\no guardar\nucleo V3\planilla\worker\cron\15min\hello.sh
|
||||||
C:\no guardar\nucleo V3\planilla\worker\prisma\schema.prisma
|
C:\no guardar\nucleo V3\planilla\worker\prisma\schema.prisma
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ function handleKey (e) {
|
|||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
if (!chat.items.length) {
|
if (!chat.items.length) {
|
||||||
chat.add({ type: 'text', owner: 'bot', text: '¡Hola! Probá /empleados, /tareas, etc.' })
|
chat.add({ type: 'chat', owner: 'bot', text: '¡Hola! Probá /empleados, /tareas, etc.' })
|
||||||
}
|
}
|
||||||
scrollBottom()
|
scrollBottom()
|
||||||
})
|
})
|
||||||
@@ -58,7 +58,7 @@ watch(() => chat.items.length, scrollBottom)
|
|||||||
<div ref="list" class="flex-1 min-h-0 overflow-auto p-6 space-y-4 custom-scroll">
|
<div ref="list" class="flex-1 min-h-0 overflow-auto p-6 space-y-4 custom-scroll">
|
||||||
<template v-for="(m,i) in chat.items" :key="i">
|
<template v-for="(m,i) in chat.items" :key="i">
|
||||||
<!-- mensaje de texto -->
|
<!-- mensaje de texto -->
|
||||||
<div :class="m.owner==='user' ? 'flex justify-end' : 'flex justify-start'" v-if="m.type==='text'">
|
<div :class="m.owner==='user' ? 'flex justify-end' : 'flex justify-start'" v-if="m.type==='chat'">
|
||||||
<div
|
<div
|
||||||
class="max-w-lg rounded-lg px-4 py-2 shadow break-words"
|
class="max-w-lg rounded-lg px-4 py-2 shadow break-words"
|
||||||
:class="m.owner === 'user' ? '' : ''"
|
:class="m.owner === 'user' ? '' : ''"
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import './style.css' // Tailwind o tus estilos globales
|
|||||||
|
|
||||||
console.log(`VITE_API_EVENTS_URL: ${import.meta.env.VITE_API_EVENTS_URL || window?.RUNTIME_CONFIG?.VITE_API_EVENTS_URL || 'no definida'}`);
|
console.log(`VITE_API_EVENTS_URL: ${import.meta.env.VITE_API_EVENTS_URL || window?.RUNTIME_CONFIG?.VITE_API_EVENTS_URL || 'no definida'}`);
|
||||||
console.log(`VITE_API_DB_URL: ${import.meta.env.VITE_API_DB_URL || window?.RUNTIME_CONFIG?.VITE_API_DB_URL || 'no definida'}`);
|
console.log(`VITE_API_DB_URL: ${import.meta.env.VITE_API_DB_URL || window?.RUNTIME_CONFIG?.VITE_API_DB_URL || 'no definida'}`);
|
||||||
|
console.log(`VITE_CONVERSATION_LAYER_ROUTER_URL: ${import.meta.env.VITE_CONVERSATION_LAYER_ROUTER_URL || window?.RUNTIME_CONFIG?.VITE_CONVERSATION_LAYER_ROUTER_URL || 'no definida'}`);
|
||||||
|
|
||||||
const apiBaseURL =
|
const apiBaseURL =
|
||||||
import.meta.env.VITE_API_DB_URL || window?.RUNTIME_CONFIG?.VITE_API_DB_URL || 'no definida';
|
import.meta.env.VITE_API_DB_URL || window?.RUNTIME_CONFIG?.VITE_API_DB_URL || 'no definida';
|
||||||
|
|||||||
@@ -15,6 +15,8 @@ export const useChat = defineStore('chat', {
|
|||||||
|
|
||||||
actions: {
|
actions: {
|
||||||
add (item) {
|
add (item) {
|
||||||
|
console.log('agregado');
|
||||||
|
|
||||||
this.items.push(item)
|
this.items.push(item)
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -38,86 +40,91 @@ export const useChat = defineStore('chat', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
async sendMessage (text) {
|
async sendMessage(text) {
|
||||||
const routerUrl = window.RUNTIME_CONFIG?.VITE_CONVERSATION_LAYER_ROUTER_URL || 'http://localhost:8080/fallback-router'; // Fallback or error
|
const routerUrl =
|
||||||
if (!window.RUNTIME_CONFIG?.VITE_CONVERSATION_LAYER_ROUTER_URL) {
|
import.meta.env.VITE_CONVERSATION_LAYER_ROUTER_URL ||
|
||||||
console.error('VITE_CONVERSATION_LAYER_ROUTER_URL is not defined in window.RUNTIME_CONFIG. Using fallback or please check your configuration.');
|
window?.RUNTIME_CONFIG?.VITE_CONVERSATION_LAYER_ROUTER_URL ||
|
||||||
}
|
'http://localhost:8080/fallback-router';
|
||||||
|
|
||||||
|
const msgId = `planilla-UI-${Date.now()}`;
|
||||||
|
const ts = Math.floor(Date.now() / 1000);
|
||||||
|
|
||||||
const messagePayload = {
|
const messagePayload = {
|
||||||
id: `planilla-UI-${Date.now()}`, // Simple unique ID for now
|
chatId: 'planilla-UI',
|
||||||
|
id: msgId,
|
||||||
from: 'planilla-UI',
|
from: 'planilla-UI',
|
||||||
to: 'Nucleo',
|
to: 'Nucleo',
|
||||||
ts: Math.floor(Date.now() / 1000), // Timestamp in seconds
|
ts,
|
||||||
type: 'chat',
|
type: 'chat',
|
||||||
text: text, // User's message text
|
text,
|
||||||
mediaUrl: null, // Assuming no media for now
|
mediaUrl: null,
|
||||||
mentions: null, // Assuming no mentions for now
|
mentions: null,
|
||||||
meta: {
|
meta: {
|
||||||
ack: 1, // Or 0 if acknowledgement is handled by the router
|
ack: 1,
|
||||||
hasReaction: false,
|
hasReaction: false,
|
||||||
isQuoted: false,
|
isQuoted: false,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
// Optimistically add message to chat
|
// Agregar solo para mostrar en UI mientras llega la respuesta
|
||||||
this.add({
|
this.items.push({
|
||||||
id: messagePayload.id, // Use the same ID
|
id: msgId,
|
||||||
type: 'chat',
|
type: 'chat',
|
||||||
owner: 'user', // Or a more specific identifier if available
|
owner: 'user',
|
||||||
text: text,
|
text,
|
||||||
ts: messagePayload.ts
|
ts,
|
||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const response = await axios.post(routerUrl, messagePayload);
|
const response = await axios.post(routerUrl, { data: messagePayload });
|
||||||
console.log('Message sent, raw response:', response.data); // Log raw response
|
|
||||||
|
|
||||||
const conversation = response.data;
|
const conversation = response.data;
|
||||||
|
|
||||||
if (conversation && Array.isArray(conversation.messages)) {
|
if (conversation && Array.isArray(conversation.messages)) {
|
||||||
conversation.messages.forEach(msg => {
|
const newItems = [];
|
||||||
let owner = 'bot'; // Default to bot
|
|
||||||
if (msg.from === 'planilla-UI') {
|
|
||||||
owner = 'user';
|
|
||||||
// NOTE: This might add a duplicate if the optimistic message's ID
|
|
||||||
// is different from the ID assigned by the router for the echoed message.
|
|
||||||
// The current instructions are to render all messages from the router.
|
|
||||||
// Refinement for deduplication can be done later if needed.
|
|
||||||
} else if (msg.from === 'Nucleo') {
|
|
||||||
owner = 'bot';
|
|
||||||
}
|
|
||||||
// else, it could be from another participant
|
|
||||||
|
|
||||||
this.add({
|
conversation.messages.forEach(msg => {
|
||||||
|
// Evitar re-agregar el mensaje optimista
|
||||||
|
newItems.push({
|
||||||
id: msg.id,
|
id: msg.id,
|
||||||
type: msg.type || 'chat', // Default to 'chat' if type is not present
|
type: msg.type || 'chat',
|
||||||
owner: owner,
|
owner: msg.from === 'planilla-UI' ? 'user' : 'bot',
|
||||||
text: msg.text,
|
text: msg.text,
|
||||||
ts: msg.ts,
|
ts: msg.ts,
|
||||||
// mediaUrl: msg.mediaUrl, // Uncomment if mediaUrl is expected
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Agregamos de nuevo el mensaje del usuario al principio, ya que fue omitido
|
||||||
|
// newItems.unshift({
|
||||||
|
// id: msgId,
|
||||||
|
// type: 'chat',
|
||||||
|
// owner: 'user',
|
||||||
|
// text,
|
||||||
|
// ts,
|
||||||
|
// });
|
||||||
|
|
||||||
|
this.items = newItems;
|
||||||
} else {
|
} else {
|
||||||
console.error('Invalid conversation response format:', conversation);
|
console.error('Invalid conversation response format:', conversation);
|
||||||
this.add({
|
this.items.push({
|
||||||
id: `error-${Date.now()}`,
|
id: `error-${Date.now()}`,
|
||||||
type: 'error',
|
type: 'error',
|
||||||
owner: 'system',
|
owner: 'system',
|
||||||
text: 'Error processing server response. Invalid format.',
|
text: 'Error: respuesta inválida del servidor.',
|
||||||
ts: Math.floor(Date.now() / 1000)
|
ts: Math.floor(Date.now() / 1000),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('Error sending message:', error);
|
console.error('Error sending message:', error);
|
||||||
this.add({
|
this.items.push({
|
||||||
id: `error-send-${Date.now()}`,
|
id: `error-send-${Date.now()}`,
|
||||||
type: 'error',
|
type: 'error',
|
||||||
owner: 'system',
|
owner: 'system',
|
||||||
text: `Error sending message: ${error.message}`,
|
text: `Error al enviar: ${error.message}`,
|
||||||
ts: Math.floor(Date.now() / 1000)
|
ts: Math.floor(Date.now() / 1000),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user