iatoolkit 0.59.0__tar.gz → 0.59.1__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.
Potentially problematic release.
This version of iatoolkit might be problematic. Click here for more details.
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/PKG-INFO +1 -1
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/pyproject.toml +1 -1
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/iatoolkit.py +2 -3
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/auth_service.py +1 -1
- iatoolkit-0.59.1/src/iatoolkit/static/js/chat_context_reload.js +54 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/init_context_api_view.py +0 -2
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit.egg-info/PKG-INFO +1 -1
- iatoolkit-0.59.0/src/iatoolkit/static/js/chat_context_reload.js +0 -61
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/readme.md +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/requirements.txt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/setup.cfg +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/base_company.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/cli_commands.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/common/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/common/exceptions.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/common/routes.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/common/session_manager.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/common/util.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/company_registry.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/call_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/file_connector.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/file_connector_factory.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/google_cloud_storage_connector.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/google_drive_connector.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/local_file_connector.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/s3_connector.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/gemini_adapter.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/google_chat_app.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/llm_client.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/llm_proxy.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/llm_response.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/mail_app.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/openai_adapter.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/redis_session_manager.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/database_manager.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/document_repo.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/llm_query_repo.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/models.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/profile_repo.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/tasks_repo.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/repositories/vs_repo.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/benchmark_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/branding_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/dispatcher_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/document_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/excel_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/file_processor_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/history_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/jwt_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/load_documents_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/mail_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/onboarding_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/profile_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/prompt_manager_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/query_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/search_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/sql_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/tasks_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/user_feedback_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/user_session_context_service.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/images/fernando.jpeg +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/js/chat_feedback.js +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/js/chat_filepond.js +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/js/chat_history.js +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/js/chat_main.js +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/js/chat_onboarding.js +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/chat_iatoolkit.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/chat_info.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/chat_modal.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/landing_page.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/llm_output.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/static/styles/onboarding.css +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/system_prompts/format_styles.prompt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/system_prompts/query_main.prompt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/system_prompts/sql_rules.prompt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/_branding_styles.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/_login_widget.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/_navbar.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/about.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/base.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/change_password.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/chat.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/chat_modals.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/error.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/forgot_password.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/header.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/index.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/login_simulation.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/onboarding_shell.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/signup.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/templates/test.html +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/__init__.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/base_login_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/change_password_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/chat_token_request_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/external_login_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/file_store_api_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/forgot_password_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/history_api_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/index_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/llmquery_api_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/login_simulation_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/login_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/prompt_api_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/signup_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/tasks_review_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/tasks_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/user_feedback_api_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/views/verify_user_view.py +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit.egg-info/SOURCES.txt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit.egg-info/dependency_links.txt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit.egg-info/requires.txt +0 -0
- {iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit.egg-info/top_level.txt +0 -0
|
@@ -19,7 +19,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix
|
|
|
19
19
|
from injector import Binder, singleton, Injector
|
|
20
20
|
from importlib.metadata import version as _pkg_version, PackageNotFoundError
|
|
21
21
|
|
|
22
|
-
IATOOLKIT_VERSION = "0.59.
|
|
22
|
+
IATOOLKIT_VERSION = "0.59.1"
|
|
23
23
|
|
|
24
24
|
# global variable for the unique instance of IAToolkit
|
|
25
25
|
_iatoolkit_instance: Optional['IAToolkit'] = None
|
|
@@ -117,7 +117,7 @@ class IAToolkit:
|
|
|
117
117
|
log_level = getattr(logging, log_level_name, logging.INFO)
|
|
118
118
|
|
|
119
119
|
logging.basicConfig(
|
|
120
|
-
level=
|
|
120
|
+
level=log_level,
|
|
121
121
|
format="%(asctime)s - IATOOLKIT - %(name)s - %(levelname)s - %(message)s",
|
|
122
122
|
handlers=[logging.StreamHandler()],
|
|
123
123
|
force=True
|
|
@@ -230,7 +230,6 @@ class IAToolkit:
|
|
|
230
230
|
default_origins = [
|
|
231
231
|
"http://localhost:5001",
|
|
232
232
|
"http://127.0.0.1:5001",
|
|
233
|
-
"https://portal-interno.maxxa.cl",
|
|
234
233
|
os.getenv('IATOOLKIT_BASE_URL')
|
|
235
234
|
]
|
|
236
235
|
|
|
@@ -140,7 +140,7 @@ class AuthService:
|
|
|
140
140
|
}
|
|
141
141
|
|
|
142
142
|
# --- Failure: No valid credentials found ---
|
|
143
|
-
logging.info(f"Authentication required. No session cookie or API Key provided.")
|
|
143
|
+
logging.info(f"Authentication required. No session cookie or API Key provided. session: {str(session_info)}")
|
|
144
144
|
return {"success": False, "error_message": "Authentication required. No session cookie or API Key provided.",
|
|
145
145
|
"status_code": 402}
|
|
146
146
|
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
document.addEventListener('DOMContentLoaded', function() {
|
|
2
|
+
const reloadButton = document.getElementById('force-reload-button');
|
|
3
|
+
if (!reloadButton) return;
|
|
4
|
+
|
|
5
|
+
const originalIconClass = 'bi bi-arrow-clockwise';
|
|
6
|
+
const spinnerIconClass = 'spinner-border spinner-border-sm';
|
|
7
|
+
|
|
8
|
+
// Configuración de Toastr para que aparezca abajo a la derecha
|
|
9
|
+
toastr.options = { "positionClass": "toast-bottom-right", "preventDuplicates": true };
|
|
10
|
+
|
|
11
|
+
reloadButton.addEventListener('click', async function(event) {
|
|
12
|
+
event.preventDefault();
|
|
13
|
+
|
|
14
|
+
if (reloadButton.disabled) return; // Prevenir doble clic
|
|
15
|
+
|
|
16
|
+
// 1. Deshabilitar y mostrar spinner
|
|
17
|
+
reloadButton.disabled = true;
|
|
18
|
+
const icon = reloadButton.querySelector('i');
|
|
19
|
+
icon.className = spinnerIconClass;
|
|
20
|
+
toastr.info('Iniciando recarga de contexto en segundo plano...');
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
// 2. Definir los parámetros para callToolkit
|
|
24
|
+
const apiPath = '/api/init-context';
|
|
25
|
+
const payload = { 'user_identifier': window.user_identifier };
|
|
26
|
+
|
|
27
|
+
// 3. Hacer la llamada usando callToolkit
|
|
28
|
+
const data = await callToolkit(apiPath, payload, 'POST');
|
|
29
|
+
|
|
30
|
+
// 4. Procesar la respuesta
|
|
31
|
+
// callToolkit devuelve null si hubo un error que ya mostró en el chat.
|
|
32
|
+
if (data) {
|
|
33
|
+
if (data.status === 'OK') {
|
|
34
|
+
toastr.success(data.message || 'Contexto recargado exitosamente.');
|
|
35
|
+
} else {
|
|
36
|
+
// El servidor respondió 200 OK pero con un mensaje de error en el cuerpo
|
|
37
|
+
toastr.error(data.error_message || 'Ocurrió un error desconocido durante la recarga.');
|
|
38
|
+
}
|
|
39
|
+
} else {
|
|
40
|
+
// Si data es null, callToolkit ya manejó el error (mostrando un mensaje en el chat).
|
|
41
|
+
// Añadimos un toast para notificar al usuario que algo falló.
|
|
42
|
+
toastr.error('Falló la recarga del contexto. Revisa el chat para más detalles.');
|
|
43
|
+
}
|
|
44
|
+
} catch (error) {
|
|
45
|
+
// Este bloque se ejecutará para errores no controlados por callToolkit (como AbortError)
|
|
46
|
+
console.error('Error durante la recarga del contexto:', error);
|
|
47
|
+
toastr.error(error.message || 'Error de red al intentar recargar.');
|
|
48
|
+
} finally {
|
|
49
|
+
// 5. Restaurar el botón en cualquier caso
|
|
50
|
+
reloadButton.disabled = false;
|
|
51
|
+
icon.className = originalIconClass;
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
});
|
|
@@ -53,8 +53,6 @@ class InitContextApiView(MethodView):
|
|
|
53
53
|
user_identifier=user_identifier
|
|
54
54
|
)
|
|
55
55
|
|
|
56
|
-
# logging.info(f"Context for {company_short_name}/{user_identifier} rebuilt successfully.")
|
|
57
|
-
|
|
58
56
|
# 3. Respond with JSON, as this is an API endpoint.
|
|
59
57
|
return jsonify({'status': 'OK', 'message': 'El context se ha recargado con éxito.'}), 200
|
|
60
58
|
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
document.addEventListener('DOMContentLoaded', function() {
|
|
2
|
-
const reloadButton = document.getElementById('force-reload-button');
|
|
3
|
-
if (!reloadButton) return;
|
|
4
|
-
|
|
5
|
-
const originalIconClass = 'bi bi-arrow-clockwise';
|
|
6
|
-
const spinnerIconClass = 'spinner-border spinner-border-sm';
|
|
7
|
-
|
|
8
|
-
// Configuración de Toastr para que aparezca abajo a la derecha
|
|
9
|
-
toastr.options = { "positionClass": "toast-bottom-right", "preventDuplicates": true };
|
|
10
|
-
|
|
11
|
-
reloadButton.addEventListener('click', function(event) {
|
|
12
|
-
event.preventDefault();
|
|
13
|
-
|
|
14
|
-
if (reloadButton.disabled) return; // Prevenir doble clic
|
|
15
|
-
|
|
16
|
-
// 1. Deshabilitar y mostrar spinner
|
|
17
|
-
reloadButton.disabled = true;
|
|
18
|
-
const icon = reloadButton.querySelector('i');
|
|
19
|
-
icon.className = spinnerIconClass;
|
|
20
|
-
toastr.info('Iniciando recarga de contexto en segundo plano...');
|
|
21
|
-
|
|
22
|
-
// 2. Construir la URL dinámicamente
|
|
23
|
-
const company = window.companyShortName;
|
|
24
|
-
const reloadUrl = `${window.iatoolkit_base_url}/${company}/api/init-context`;
|
|
25
|
-
console.log('URL de recarga:', reloadUrl);
|
|
26
|
-
|
|
27
|
-
// 3. Hacer la llamada AJAX con POST
|
|
28
|
-
fetch(reloadUrl, {
|
|
29
|
-
method: 'POST',
|
|
30
|
-
headers: {
|
|
31
|
-
'Content-Type': 'application/json'
|
|
32
|
-
},
|
|
33
|
-
// Envía un cuerpo vacío o los datos necesarios
|
|
34
|
-
body: JSON.stringify({'user_identifier': window.user_identifier})
|
|
35
|
-
})
|
|
36
|
-
.then(response => {
|
|
37
|
-
if (!response.ok) {
|
|
38
|
-
return response.json().then(err => {
|
|
39
|
-
throw new Error(err.error_message || `Error del servidor: ${response.status}`);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
return response.json();
|
|
43
|
-
})
|
|
44
|
-
.then(data => {
|
|
45
|
-
if (data.status === 'OK') {
|
|
46
|
-
toastr.success(data.message || 'Contexto recargado exitosamente.');
|
|
47
|
-
} else {
|
|
48
|
-
toastr.error(data.error_message || 'Ocurrió un error desconocido.');
|
|
49
|
-
}
|
|
50
|
-
})
|
|
51
|
-
.catch(error => {
|
|
52
|
-
console.error('Error durante la recarga del contexto:', error);
|
|
53
|
-
toastr.error(error.message || 'Error de red al intentar recargar.');
|
|
54
|
-
})
|
|
55
|
-
.finally(() => {
|
|
56
|
-
// 4. Restaurar el botón
|
|
57
|
-
reloadButton.disabled = false;
|
|
58
|
-
icon.className = originalIconClass;
|
|
59
|
-
});
|
|
60
|
-
});
|
|
61
|
-
});
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/file_connector_factory.py
RENAMED
|
File without changes
|
|
File without changes
|
{iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/google_drive_connector.py
RENAMED
|
File without changes
|
{iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/infra/connectors/local_file_connector.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{iatoolkit-0.59.0 → iatoolkit-0.59.1}/src/iatoolkit/services/user_session_context_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|