zerochat 7.3.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zerochat-7.3.0/LICENSE +34 -0
- zerochat-7.3.0/MANIFEST.in +15 -0
- zerochat-7.3.0/PKG-INFO +70 -0
- zerochat-7.3.0/README.md +48 -0
- zerochat-7.3.0/css/base.css +199 -0
- zerochat-7.3.0/css/components/composer.css +1258 -0
- zerochat-7.3.0/css/components/debug.css +777 -0
- zerochat-7.3.0/css/components/header.css +97 -0
- zerochat-7.3.0/css/components/icons.css +39 -0
- zerochat-7.3.0/css/components/markdown.css +685 -0
- zerochat-7.3.0/css/components/messages.css +473 -0
- zerochat-7.3.0/css/components/modals.css +1319 -0
- zerochat-7.3.0/css/components/sidebar.css +622 -0
- zerochat-7.3.0/css/components/tools.css +1223 -0
- zerochat-7.3.0/css/layout.css +171 -0
- zerochat-7.3.0/css/print.css +120 -0
- zerochat-7.3.0/css/styles.css +18 -0
- zerochat-7.3.0/css/theme-overrides.css +555 -0
- zerochat-7.3.0/css/tokens.css +165 -0
- zerochat-7.3.0/help/architecture.html +247 -0
- zerochat-7.3.0/help/composer.html +134 -0
- zerochat-7.3.0/help/conversations.html +105 -0
- zerochat-7.3.0/help/debug.html +108 -0
- zerochat-7.3.0/help/en/architecture.html +247 -0
- zerochat-7.3.0/help/en/composer.html +134 -0
- zerochat-7.3.0/help/en/conversations.html +104 -0
- zerochat-7.3.0/help/en/debug.html +105 -0
- zerochat-7.3.0/help/en/gemini-free.html +39 -0
- zerochat-7.3.0/help/en/index.html +191 -0
- zerochat-7.3.0/help/en/learning.html +71 -0
- zerochat-7.3.0/help/en/mcp.html +143 -0
- zerochat-7.3.0/help/en/openrouter-free.html +39 -0
- zerochat-7.3.0/help/en/profiles.html +173 -0
- zerochat-7.3.0/help/en/rag.html +130 -0
- zerochat-7.3.0/help/en/reasoning-telemetry.html +108 -0
- zerochat-7.3.0/help/en/tools-agent.html +133 -0
- zerochat-7.3.0/help/en/webllm.html +355 -0
- zerochat-7.3.0/help/gemini-free.html +39 -0
- zerochat-7.3.0/help/help.css +604 -0
- zerochat-7.3.0/help/help.js +51 -0
- zerochat-7.3.0/help/index.html +194 -0
- zerochat-7.3.0/help/learning.html +71 -0
- zerochat-7.3.0/help/mcp.html +143 -0
- zerochat-7.3.0/help/openrouter-free.html +39 -0
- zerochat-7.3.0/help/profiles.html +174 -0
- zerochat-7.3.0/help/rag.html +130 -0
- zerochat-7.3.0/help/reasoning-telemetry.html +111 -0
- zerochat-7.3.0/help/tools-agent.html +133 -0
- zerochat-7.3.0/help/webllm.html +359 -0
- zerochat-7.3.0/js/agent-core.js +1553 -0
- zerochat-7.3.0/js/api.js +844 -0
- zerochat-7.3.0/js/app.js +2558 -0
- zerochat-7.3.0/js/attachments.js +220 -0
- zerochat-7.3.0/js/charts.js +338 -0
- zerochat-7.3.0/js/chat-engine.js +566 -0
- zerochat-7.3.0/js/config-store.js +207 -0
- zerochat-7.3.0/js/context-manager.js +584 -0
- zerochat-7.3.0/js/conversation-service.js +484 -0
- zerochat-7.3.0/js/cookies.js +688 -0
- zerochat-7.3.0/js/data-reset-service.js +136 -0
- zerochat-7.3.0/js/debug.js +508 -0
- zerochat-7.3.0/js/defaults.js +16 -0
- zerochat-7.3.0/js/export.js +179 -0
- zerochat-7.3.0/js/file-parser.js +2088 -0
- zerochat-7.3.0/js/generation-controller.js +417 -0
- zerochat-7.3.0/js/i18n.js +1483 -0
- zerochat-7.3.0/js/icons.js +156 -0
- zerochat-7.3.0/js/ingestionEngine.js +436 -0
- zerochat-7.3.0/js/markdown.js +588 -0
- zerochat-7.3.0/js/mcp.js +1271 -0
- zerochat-7.3.0/js/message-turns.js +62 -0
- zerochat-7.3.0/js/profile-backup.js +118 -0
- zerochat-7.3.0/js/profile-export-bundle.js +481 -0
- zerochat-7.3.0/js/profile-repository.js +213 -0
- zerochat-7.3.0/js/providers-webllm.js +486 -0
- zerochat-7.3.0/js/providers.js +1560 -0
- zerochat-7.3.0/js/rag-index.js +295 -0
- zerochat-7.3.0/js/rag-service.js +530 -0
- zerochat-7.3.0/js/rag-ui.js +997 -0
- zerochat-7.3.0/js/ragStorage.js +676 -0
- zerochat-7.3.0/js/sandbox.js +449 -0
- zerochat-7.3.0/js/state.js +704 -0
- zerochat-7.3.0/js/storage-db.js +144 -0
- zerochat-7.3.0/js/tool-cards.js +330 -0
- zerochat-7.3.0/js/tool-security.js +653 -0
- zerochat-7.3.0/js/tools/README.md +50 -0
- zerochat-7.3.0/js/tools/builtin/agent-checkpoint.tool.js +212 -0
- zerochat-7.3.0/js/tools/builtin/download-pdf.tool.js +111 -0
- zerochat-7.3.0/js/tools/builtin/execute-javascript.tool.js +219 -0
- zerochat-7.3.0/js/tools/builtin/fetch-web-page.tool.js +112 -0
- zerochat-7.3.0/js/tools/builtin/list-documents.tool.js +117 -0
- zerochat-7.3.0/js/tools/builtin/read-knowledge-chunk.tool.js +129 -0
- zerochat-7.3.0/js/tools/builtin/read-knowledge-image.tool.js +95 -0
- zerochat-7.3.0/js/tools/builtin/render-chart.tool.js +90 -0
- zerochat-7.3.0/js/tools/builtin/search-knowledge-base.tool.js +124 -0
- zerochat-7.3.0/js/tools/builtin/search-web.tool.js +125 -0
- zerochat-7.3.0/js/tools/tool-manifest.js +53 -0
- zerochat-7.3.0/js/tools/tool-runtime.js +77 -0
- zerochat-7.3.0/js/ui-composer.js +319 -0
- zerochat-7.3.0/js/ui-conversation.js +655 -0
- zerochat-7.3.0/js/ui-dialogs.js +132 -0
- zerochat-7.3.0/js/ui-generation-status.js +119 -0
- zerochat-7.3.0/js/ui-inspector.js +804 -0
- zerochat-7.3.0/js/ui-mcp.js +604 -0
- zerochat-7.3.0/js/ui-profiles.js +824 -0
- zerochat-7.3.0/js/ui-reasoning.js +146 -0
- zerochat-7.3.0/js/ui-settings.js +825 -0
- zerochat-7.3.0/js/ui-shell.js +215 -0
- zerochat-7.3.0/js/ui-sidebar.js +429 -0
- zerochat-7.3.0/js/ui-telemetry.js +404 -0
- zerochat-7.3.0/js/ui-transfer.js +262 -0
- zerochat-7.3.0/js/utils.js +216 -0
- zerochat-7.3.0/js/vendor/orama.browser.js +11 -0
- zerochat-7.3.0/js/web-browser.js +569 -0
- zerochat-7.3.0/js/web-search.js +519 -0
- zerochat-7.3.0/manifest.webmanifest +20 -0
- zerochat-7.3.0/pyproject.toml +35 -0
- zerochat-7.3.0/services/dummy_mcp/dummy_mcp_server.py +47 -0
- zerochat-7.3.0/services/dummy_mcp/service.json +22 -0
- zerochat-7.3.0/services/lsp/installer.json +9 -0
- zerochat-7.3.0/services/lsp/service.json +22 -0
- zerochat-7.3.0/services/memory/installer.json +9 -0
- zerochat-7.3.0/services/memory/service.json +24 -0
- zerochat-7.3.0/services/playwright/installer.json +10 -0
- zerochat-7.3.0/services/playwright/service.json +39 -0
- zerochat-7.3.0/setup.cfg +4 -0
- zerochat-7.3.0/setup.py +42 -0
- zerochat-7.3.0/sw.js +164 -0
- zerochat-7.3.0/zerochat.egg-info/PKG-INFO +70 -0
- zerochat-7.3.0/zerochat.egg-info/SOURCES.txt +134 -0
- zerochat-7.3.0/zerochat.egg-info/dependency_links.txt +1 -0
- zerochat-7.3.0/zerochat.egg-info/entry_points.txt +2 -0
- zerochat-7.3.0/zerochat.egg-info/top_level.txt +2 -0
- zerochat-7.3.0/zerochat.html +671 -0
- zerochat-7.3.0/zerochat.py +2004 -0
- zerochat-7.3.0/zerochat_runtime/__init__.py +1 -0
zerochat-7.3.0/LICENSE
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 ZeroChat Contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
### Third-Party Software / Componentes de Terceros
|
|
26
|
+
|
|
27
|
+
ZeroChat integra y hace uso de Orama para búsqueda de texto completo e indexación RAG local en el navegador:
|
|
28
|
+
|
|
29
|
+
- **Orama** (`@orama/orama`): https://github.com/oramasearch/orama
|
|
30
|
+
Copyright (c) 2023 OramaSearch Inc.
|
|
31
|
+
Distribuido bajo licencia Apache, Versión 2.0 (Apache License 2.0).
|
|
32
|
+
Una copia de la licencia se encuentra disponible en `licenses/ORAMA-LICENSE.md`
|
|
33
|
+
y en http://www.apache.org/licenses/LICENSE-2.0.
|
|
34
|
+
Para más detalles sobre componentes de terceros, consulta `THIRD_PARTY_NOTICES.md`.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
include LICENSE
|
|
2
|
+
include README.md
|
|
3
|
+
include zerochat.html
|
|
4
|
+
include manifest.webmanifest
|
|
5
|
+
include sw.js
|
|
6
|
+
recursive-include js *
|
|
7
|
+
recursive-include css *
|
|
8
|
+
recursive-include help *
|
|
9
|
+
recursive-include services *.json *.py
|
|
10
|
+
prune services/*/node_modules
|
|
11
|
+
prune services/*/.playwright-mcp
|
|
12
|
+
exclude services/*/.installed.json
|
|
13
|
+
exclude services/*/package.json
|
|
14
|
+
exclude services/*/package-lock.json
|
|
15
|
+
exclude services/*/*.jsonl
|
zerochat-7.3.0/PKG-INFO
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: zerochat
|
|
3
|
+
Version: 7.3.0
|
|
4
|
+
Summary: Private local web client for AI models, tools and MCP services
|
|
5
|
+
Author: Alberto Balday
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Homepage, https://albalday.github.io/zerochat/
|
|
8
|
+
Project-URL: Repository, https://github.com/albalday/zerochat
|
|
9
|
+
Project-URL: Issues, https://github.com/albalday/zerochat/issues
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Environment :: Web Environment
|
|
12
|
+
Classifier: Operating System :: OS Independent
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Programming Language :: Python :: 3 :: Only
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Requires-Python: >=3.10
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
License-File: LICENSE
|
|
21
|
+
Dynamic: license-file
|
|
22
|
+
|
|
23
|
+
# ZeroChat
|
|
24
|
+
|
|
25
|
+
ZeroChat es un cliente web universal para interactuar con modelos de inteligencia artificial y agentes de forma privada, rápida y sin intermediarios.
|
|
26
|
+
|
|
27
|
+
Funciona de forma estática en el navegador (servido por GitHub Pages o directamente desde local en un único archivo HTML), almacenando tus conversaciones, configuraciones y datos de forma segura en tu propio dispositivo (IndexedDB).
|
|
28
|
+
|
|
29
|
+
## Características principales
|
|
30
|
+
|
|
31
|
+
- **Multi-proveedor y modelos locales**: compatible con APIs estándar (OpenAI, Anthropic Claude, Google Gemini, OpenRouter) y motores locales (Ollama, LM Studio, vLLM, WebLLM con WebGPU directo en el navegador).
|
|
32
|
+
- **Herramientas y MCP (Model Context Protocol)**: soporte para agentes, herramientas de búsqueda/cálculo y servidores MCP locales coordinados mediante `zerochat.py`.
|
|
33
|
+
- **Conocimiento local (RAG)**: carga de documentos y recuperación contextual procesada íntegramente en el navegador.
|
|
34
|
+
- **Privacidad absoluta**: tus claves API y datos viajan directamente de tu navegador al proveedor seleccionado, sin servidores puente de terceros.
|
|
35
|
+
- **Sin necesidad de empaquetado**: distribuible de forma universal y ligera.
|
|
36
|
+
|
|
37
|
+
## Inicio rápido
|
|
38
|
+
|
|
39
|
+
- **Uso web directo**: abre [zerochat.html en GitHub Pages](https://albalday.github.io/zerochat/zerochat.html).
|
|
40
|
+
- **Servidor local con herramientas MCP**:
|
|
41
|
+
```bash
|
|
42
|
+
python3 zerochat.py
|
|
43
|
+
```
|
|
44
|
+
Inicia el asistente local, crea su entorno virtual de forma desatendida y abre la interfaz web en tu navegador.
|
|
45
|
+
- **Instalación con PyPI**:
|
|
46
|
+
```bash
|
|
47
|
+
pipx install zerochat
|
|
48
|
+
zerochat
|
|
49
|
+
```
|
|
50
|
+
La distribución incluye una copia local de la interfaz. Las versiones `major.minor` indican compatibilidad del backend; los parches corresponden a la interfaz web.
|
|
51
|
+
|
|
52
|
+
Las publicaciones se realizan desde el repositorio oficial mediante GitHub Actions y PyPI Trusted Publishing.
|
|
53
|
+
|
|
54
|
+
## Documentación y Ayuda
|
|
55
|
+
|
|
56
|
+
Para consultar guías paso a paso, configuración de modelos, perfiles y agentes:
|
|
57
|
+
|
|
58
|
+
- 📖 **[Centro de Ayuda de ZeroChat (Español)](https://albalday.github.io/zerochat/help/index.html)**
|
|
59
|
+
- 📖 **[ZeroChat Documentation & Help (English)](https://albalday.github.io/zerochat/help/en/index.html)**
|
|
60
|
+
|
|
61
|
+
## Desarrollo
|
|
62
|
+
|
|
63
|
+
Para ejecutar las pruebas del proyecto:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npm install
|
|
67
|
+
npm test
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
Consulta [`AGENTS.md`](./AGENTS.md) para conocer las normas de desarrollo y arquitectura, y [`tests/README.md`](./tests/README.md) para la suite de pruebas.
|
zerochat-7.3.0/README.md
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# ZeroChat
|
|
2
|
+
|
|
3
|
+
ZeroChat es un cliente web universal para interactuar con modelos de inteligencia artificial y agentes de forma privada, rápida y sin intermediarios.
|
|
4
|
+
|
|
5
|
+
Funciona de forma estática en el navegador (servido por GitHub Pages o directamente desde local en un único archivo HTML), almacenando tus conversaciones, configuraciones y datos de forma segura en tu propio dispositivo (IndexedDB).
|
|
6
|
+
|
|
7
|
+
## Características principales
|
|
8
|
+
|
|
9
|
+
- **Multi-proveedor y modelos locales**: compatible con APIs estándar (OpenAI, Anthropic Claude, Google Gemini, OpenRouter) y motores locales (Ollama, LM Studio, vLLM, WebLLM con WebGPU directo en el navegador).
|
|
10
|
+
- **Herramientas y MCP (Model Context Protocol)**: soporte para agentes, herramientas de búsqueda/cálculo y servidores MCP locales coordinados mediante `zerochat.py`.
|
|
11
|
+
- **Conocimiento local (RAG)**: carga de documentos y recuperación contextual procesada íntegramente en el navegador.
|
|
12
|
+
- **Privacidad absoluta**: tus claves API y datos viajan directamente de tu navegador al proveedor seleccionado, sin servidores puente de terceros.
|
|
13
|
+
- **Sin necesidad de empaquetado**: distribuible de forma universal y ligera.
|
|
14
|
+
|
|
15
|
+
## Inicio rápido
|
|
16
|
+
|
|
17
|
+
- **Uso web directo**: abre [zerochat.html en GitHub Pages](https://albalday.github.io/zerochat/zerochat.html).
|
|
18
|
+
- **Servidor local con herramientas MCP**:
|
|
19
|
+
```bash
|
|
20
|
+
python3 zerochat.py
|
|
21
|
+
```
|
|
22
|
+
Inicia el asistente local, crea su entorno virtual de forma desatendida y abre la interfaz web en tu navegador.
|
|
23
|
+
- **Instalación con PyPI**:
|
|
24
|
+
```bash
|
|
25
|
+
pipx install zerochat
|
|
26
|
+
zerochat
|
|
27
|
+
```
|
|
28
|
+
La distribución incluye una copia local de la interfaz. Las versiones `major.minor` indican compatibilidad del backend; los parches corresponden a la interfaz web.
|
|
29
|
+
|
|
30
|
+
Las publicaciones se realizan desde el repositorio oficial mediante GitHub Actions y PyPI Trusted Publishing.
|
|
31
|
+
|
|
32
|
+
## Documentación y Ayuda
|
|
33
|
+
|
|
34
|
+
Para consultar guías paso a paso, configuración de modelos, perfiles y agentes:
|
|
35
|
+
|
|
36
|
+
- 📖 **[Centro de Ayuda de ZeroChat (Español)](https://albalday.github.io/zerochat/help/index.html)**
|
|
37
|
+
- 📖 **[ZeroChat Documentation & Help (English)](https://albalday.github.io/zerochat/help/en/index.html)**
|
|
38
|
+
|
|
39
|
+
## Desarrollo
|
|
40
|
+
|
|
41
|
+
Para ejecutar las pruebas del proyecto:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
npm install
|
|
45
|
+
npm test
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
Consulta [`AGENTS.md`](./AGENTS.md) para conocer las normas de desarrollo y arquitectura, y [`tests/README.md`](./tests/README.md) para la suite de pruebas.
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/* ==========================================================================
|
|
2
|
+
ZeroChat Base Styles - Reseteo, Normalización, Animaciones y Accesibilidad
|
|
3
|
+
========================================================================== */
|
|
4
|
+
* {
|
|
5
|
+
box-sizing: border-box;
|
|
6
|
+
margin: 0;
|
|
7
|
+
padding: 0;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
img {
|
|
11
|
+
max-width: 100%;
|
|
12
|
+
height: auto;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
html, body {
|
|
16
|
+
height: 100%;
|
|
17
|
+
height: 100dvh;
|
|
18
|
+
height: var(--app-height, 100dvh);
|
|
19
|
+
min-height: -webkit-fill-available;
|
|
20
|
+
font-family: var(--font-sans);
|
|
21
|
+
background-color: var(--bg-app);
|
|
22
|
+
color: var(--text-main);
|
|
23
|
+
line-height: 1.5;
|
|
24
|
+
-webkit-font-smoothing: antialiased;
|
|
25
|
+
-moz-osx-font-smoothing: grayscale;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
body {
|
|
29
|
+
display: flex;
|
|
30
|
+
flex-direction: row;
|
|
31
|
+
height: 100%;
|
|
32
|
+
height: 100dvh;
|
|
33
|
+
height: var(--app-height, 100dvh);
|
|
34
|
+
width: 100%;
|
|
35
|
+
width: 100vw;
|
|
36
|
+
overflow: hidden;
|
|
37
|
+
position: relative;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* ==========================================================================
|
|
41
|
+
Accesibilidad de Foco (WCAG 2.1 AA)
|
|
42
|
+
========================================================================== */
|
|
43
|
+
:focus-visible {
|
|
44
|
+
outline: 2px solid var(--primary);
|
|
45
|
+
outline-offset: 2px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
button:focus-visible,
|
|
49
|
+
a:focus-visible,
|
|
50
|
+
summary:focus-visible {
|
|
51
|
+
outline: 2px solid var(--primary);
|
|
52
|
+
outline-offset: 2px;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
input:focus,
|
|
56
|
+
input:focus-visible,
|
|
57
|
+
textarea:focus,
|
|
58
|
+
textarea:focus-visible,
|
|
59
|
+
select:focus,
|
|
60
|
+
select:focus-visible {
|
|
61
|
+
outline: none;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.chat-textarea,
|
|
65
|
+
.chat-textarea:focus,
|
|
66
|
+
.chat-textarea:focus-visible {
|
|
67
|
+
outline: none !important;
|
|
68
|
+
box-shadow: none !important;
|
|
69
|
+
border: none !important;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/* ==========================================================================
|
|
73
|
+
Barras de Desplazamiento (Scrollbars) Sutiles
|
|
74
|
+
========================================================================== */
|
|
75
|
+
::-webkit-scrollbar {
|
|
76
|
+
width: 6px;
|
|
77
|
+
height: 6px;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
::-webkit-scrollbar-track {
|
|
81
|
+
background: transparent;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
::-webkit-scrollbar-thumb {
|
|
85
|
+
background: var(--scrollbar-thumb);
|
|
86
|
+
border-radius: var(--radius-full);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
::-webkit-scrollbar-thumb:hover {
|
|
90
|
+
background: var(--scrollbar-thumb-hover);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* ==========================================================================
|
|
94
|
+
Animaciones del Sistema
|
|
95
|
+
========================================================================== */
|
|
96
|
+
@keyframes spin {
|
|
97
|
+
from { transform: rotate(0deg); }
|
|
98
|
+
to { transform: rotate(360deg); }
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
/* slideUpFadeIn: solo se aplica a mensajes nuevos via .is-new-message (nunca al historial) */
|
|
102
|
+
@keyframes slideUpFadeIn {
|
|
103
|
+
from { opacity: 0; translate: 0 6px; }
|
|
104
|
+
to { opacity: 1; translate: 0 0; }
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/* typingBounce: para el indicador de escritura del asistente */
|
|
108
|
+
@keyframes typingBounce {
|
|
109
|
+
0%, 80%, 100% { transform: scale(1); opacity: 0.4; }
|
|
110
|
+
40% { transform: scale(1.3); opacity: 1; }
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
/* pulseStop: mantener para btn-stop-stream */
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
/* La interfaz responde inmediatamente: no se aplican animaciones ni transiciones. */
|
|
117
|
+
*,
|
|
118
|
+
*::before,
|
|
119
|
+
*::after {
|
|
120
|
+
animation: none !important;
|
|
121
|
+
transition: none !important;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* ==========================================================================
|
|
125
|
+
Utilidades de Accesibilidad (WCAG 2.1 AA)
|
|
126
|
+
========================================================================== */
|
|
127
|
+
.sr-only {
|
|
128
|
+
position: absolute;
|
|
129
|
+
width: 1px;
|
|
130
|
+
height: 1px;
|
|
131
|
+
padding: 0;
|
|
132
|
+
margin: -1px;
|
|
133
|
+
overflow: hidden;
|
|
134
|
+
clip: rect(0, 0, 0, 0);
|
|
135
|
+
white-space: nowrap;
|
|
136
|
+
border-width: 0;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/* ==========================================================================
|
|
140
|
+
Fundación UI y Consolidación de Clases Base
|
|
141
|
+
========================================================================== */
|
|
142
|
+
.btn-primary,
|
|
143
|
+
.btn-secondary,
|
|
144
|
+
.btn-close,
|
|
145
|
+
.btn-attach,
|
|
146
|
+
.btn-send,
|
|
147
|
+
.btn-stop-stream,
|
|
148
|
+
.btn-reasoning,
|
|
149
|
+
.btn-query-server,
|
|
150
|
+
.btn-profile-action,
|
|
151
|
+
.btn-mcp-action,
|
|
152
|
+
.btn-debug-action,
|
|
153
|
+
.btn-danger-outline,
|
|
154
|
+
.modal-btn-action,
|
|
155
|
+
.modal-btn-close,
|
|
156
|
+
.export-card-btn {
|
|
157
|
+
font-family: inherit;
|
|
158
|
+
cursor: pointer;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
.btn-primary,
|
|
162
|
+
.btn-secondary,
|
|
163
|
+
.btn-close,
|
|
164
|
+
.btn-query-server,
|
|
165
|
+
.btn-profile-action,
|
|
166
|
+
.btn-mcp-action,
|
|
167
|
+
.btn-danger-outline {
|
|
168
|
+
display: inline-flex;
|
|
169
|
+
align-items: center;
|
|
170
|
+
justify-content: center;
|
|
171
|
+
border-radius: var(--radius-md);
|
|
172
|
+
font-weight: 500;
|
|
173
|
+
transition: all 0.15s ease;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
.chat-chart-card,
|
|
177
|
+
.inspector-intro-card,
|
|
178
|
+
.setting-toggle-card,
|
|
179
|
+
.connection-active-card,
|
|
180
|
+
.rag-branch-details-card,
|
|
181
|
+
.rag-active-tip-card,
|
|
182
|
+
.mcp-status-card,
|
|
183
|
+
.mcp-config-card,
|
|
184
|
+
.mcp-instructions-card,
|
|
185
|
+
.mcp-tool-card {
|
|
186
|
+
background-color: var(--bg-surface);
|
|
187
|
+
border: 1px solid var(--border-color);
|
|
188
|
+
border-radius: var(--radius-md);
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
.chat-chart-card,
|
|
192
|
+
.inspector-intro-card,
|
|
193
|
+
.mcp-status-card,
|
|
194
|
+
.mcp-config-card,
|
|
195
|
+
.mcp-instructions-card {
|
|
196
|
+
border-radius: var(--radius-lg);
|
|
197
|
+
padding: 1rem;
|
|
198
|
+
box-shadow: var(--shadow-sm);
|
|
199
|
+
}
|