Merge pull request #53 from josedario87/feat/connect-chat-to-router
Feat/connect chat to router
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 \
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -5,4 +5,5 @@
|
|||||||
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
|
# See the documentation for all the connection string options: https://pris.ly/d/connection-strings
|
||||||
|
|
||||||
DATABASE_URL=postgresql://planilla:planilla@localhost:5434/planilla_db?schema=public
|
DATABASE_URL=postgresql://planilla:planilla@localhost:5434/planilla_db?schema=public
|
||||||
|
CONVERSATION_LAYER_ROUTER_URL='http://your-router-url:port'
|
||||||
|
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
DATABASE_URL: "postgresql://planilla:secret@db:5432/planilla_db?schema=public"
|
DATABASE_URL: "postgresql://planilla:secret@db:5432/planilla_db?schema=public"
|
||||||
|
CONVERSATION_LAYER_ROUTER_URL: 'http://your-router-url:port'
|
||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
ports:
|
ports:
|
||||||
@@ -34,6 +35,7 @@ services:
|
|||||||
environment:
|
environment:
|
||||||
VITE_API_EVENTS_URL: https://planilla.interno.com/events
|
VITE_API_EVENTS_URL: https://planilla.interno.com/events
|
||||||
VITE_API_DB_URL: https://planilla.interno.com
|
VITE_API_DB_URL: https://planilla.interno.com
|
||||||
|
VITE_CONVERSATION_LAYER_ROUTER_URL: 'http://your-router-url:port'
|
||||||
ports:
|
ports:
|
||||||
- "3008:80"
|
- "3008:80"
|
||||||
networks: [planilla, principal]
|
networks: [planilla, principal]
|
||||||
|
|||||||
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
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
echo "window.RUNTIME_CONFIG = {" > /usr/share/nginx/html/config.js
|
echo "window.RUNTIME_CONFIG = {" > /usr/share/nginx/html/config.js
|
||||||
echo " VITE_API_EVENTS_URL: '${VITE_API_EVENTS_URL}'," >> /usr/share/nginx/html/config.js
|
echo " VITE_API_EVENTS_URL: '${VITE_API_EVENTS_URL}'," >> /usr/share/nginx/html/config.js
|
||||||
echo " VITE_API_DB_URL: '${VITE_API_DB_URL}'" >> /usr/share/nginx/html/config.js
|
echo " VITE_API_DB_URL: '${VITE_API_DB_URL}'," >> /usr/share/nginx/html/config.js
|
||||||
|
echo " VITE_CONVERSATION_LAYER_ROUTER_URL: '${VITE_CONVERSATION_LAYER_ROUTER_URL}'," >> /usr/share/nginx/html/config.js
|
||||||
echo "};" >> /usr/share/nginx/html/config.js
|
echo "};" >> /usr/share/nginx/html/config.js
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ function send () {
|
|||||||
if (!t) return
|
if (!t) return
|
||||||
|
|
||||||
if (t.startsWith('/')) chat.run(t.slice(1))
|
if (t.startsWith('/')) chat.run(t.slice(1))
|
||||||
else chat.add({ type: 'text', owner: 'yo', text: t })
|
else chat.sendMessage(t)
|
||||||
|
|
||||||
msg.value = ''
|
msg.value = ''
|
||||||
scrollBottom()
|
scrollBottom()
|
||||||
@@ -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,12 +58,12 @@ 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==='yo' ? '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 === 'yo' ? '' : ''"
|
:class="m.owner === 'user' ? '' : ''"
|
||||||
:style="{
|
:style="{
|
||||||
backgroundColor: m.owner === 'yo' ? 'var(--chat-own-message-color)' : 'var(--chat-agent-message-color)',
|
backgroundColor: m.owner === 'user' ? 'var(--chat-own-message-color)' : 'var(--chat-agent-message-color)',
|
||||||
color: 'var(--chat-font-color)',
|
color: 'var(--chat-font-color)',
|
||||||
fontFamily: 'var(--chat-font-family)',
|
fontFamily: 'var(--chat-font-family)',
|
||||||
fontSize: 'var(--chat-font-size)'
|
fontSize: 'var(--chat-font-size)'
|
||||||
|
|||||||
@@ -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';
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
|
|
||||||
|
import axios from 'axios';
|
||||||
|
|
||||||
import { defineStore } from 'pinia'
|
import { defineStore } from 'pinia'
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -16,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,5 +39,92 @@ export const useChat = defineStore('chat', {
|
|||||||
this.add({ type: 'text', owner: 'bot', text: `❓ No reconozco /${cmd}` })
|
this.add({ type: 'text', owner: 'bot', text: `❓ No reconozco /${cmd}` })
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
async sendMessage(text) {
|
||||||
|
const routerUrl =
|
||||||
|
import.meta.env.VITE_CONVERSATION_LAYER_ROUTER_URL ||
|
||||||
|
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 = {
|
||||||
|
chatId: 'planilla-UI',
|
||||||
|
id: msgId,
|
||||||
|
from: 'planilla-UI',
|
||||||
|
to: 'Nucleo',
|
||||||
|
ts,
|
||||||
|
type: 'chat',
|
||||||
|
text,
|
||||||
|
mediaUrl: null,
|
||||||
|
mentions: null,
|
||||||
|
meta: {
|
||||||
|
ack: 1,
|
||||||
|
hasReaction: false,
|
||||||
|
isQuoted: false,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
// Agregar solo para mostrar en UI mientras llega la respuesta
|
||||||
|
this.items.push({
|
||||||
|
id: msgId,
|
||||||
|
type: 'chat',
|
||||||
|
owner: 'user',
|
||||||
|
text,
|
||||||
|
ts,
|
||||||
|
});
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await axios.post(routerUrl, { data: messagePayload });
|
||||||
|
const conversation = response.data;
|
||||||
|
|
||||||
|
if (conversation && Array.isArray(conversation.messages)) {
|
||||||
|
const newItems = [];
|
||||||
|
|
||||||
|
conversation.messages.forEach(msg => {
|
||||||
|
// Evitar re-agregar el mensaje optimista
|
||||||
|
newItems.push({
|
||||||
|
id: msg.id,
|
||||||
|
type: msg.type || 'chat',
|
||||||
|
owner: msg.from === 'planilla-UI' ? 'user' : 'bot',
|
||||||
|
text: msg.text,
|
||||||
|
ts: msg.ts,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// 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 {
|
||||||
|
console.error('Invalid conversation response format:', conversation);
|
||||||
|
this.items.push({
|
||||||
|
id: `error-${Date.now()}`,
|
||||||
|
type: 'error',
|
||||||
|
owner: 'system',
|
||||||
|
text: 'Error: respuesta inválida del servidor.',
|
||||||
|
ts: Math.floor(Date.now() / 1000),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Error sending message:', error);
|
||||||
|
this.items.push({
|
||||||
|
id: `error-send-${Date.now()}`,
|
||||||
|
type: 'error',
|
||||||
|
owner: 'system',
|
||||||
|
text: `Error al enviar: ${error.message}`,
|
||||||
|
ts: Math.floor(Date.now() / 1000),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
Reference in New Issue
Block a user