iatoolkit 0.63.1__py3-none-any.whl → 0.63.2__py3-none-any.whl
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/iatoolkit.py +1 -1
- iatoolkit/templates/_company_header.html +6 -2
- iatoolkit/templates/_login_widget.html +42 -0
- iatoolkit/templates/change_password.html +9 -11
- iatoolkit/templates/error.html +9 -13
- iatoolkit/views/change_password_view.py +3 -2
- iatoolkit/views/forgot_password_view.py +6 -3
- iatoolkit/views/home_view.py +1 -3
- iatoolkit/views/login_view.py +9 -6
- iatoolkit/views/signup_view.py +8 -4
- iatoolkit/views/verify_user_view.py +0 -1
- {iatoolkit-0.63.1.dist-info → iatoolkit-0.63.2.dist-info}/METADATA +1 -1
- {iatoolkit-0.63.1.dist-info → iatoolkit-0.63.2.dist-info}/RECORD +15 -14
- {iatoolkit-0.63.1.dist-info → iatoolkit-0.63.2.dist-info}/WHEEL +0 -0
- {iatoolkit-0.63.1.dist-info → iatoolkit-0.63.2.dist-info}/top_level.txt +0 -0
iatoolkit/iatoolkit.py
CHANGED
|
@@ -19,7 +19,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix
|
|
|
19
19
|
from injector import Binder, Injector, singleton
|
|
20
20
|
from importlib.metadata import version as _pkg_version, PackageNotFoundError
|
|
21
21
|
|
|
22
|
-
IATOOLKIT_VERSION = "0.63.
|
|
22
|
+
IATOOLKIT_VERSION = "0.63.2"
|
|
23
23
|
|
|
24
24
|
# global variable for the unique instance of IAToolkit
|
|
25
25
|
_iatoolkit_instance: Optional['IAToolkit'] = None
|
|
@@ -1,16 +1,20 @@
|
|
|
1
1
|
{# El div principal ahora es un contenedor y tiene los estilos y clases de alineación #}
|
|
2
2
|
<div class="custom-company-header container d-flex justify-content-between align-items-center">
|
|
3
3
|
|
|
4
|
+
{% if company_short_name and branding %}
|
|
4
5
|
<a href="{{ url_for('home', company_short_name=company_short_name) }}"
|
|
5
6
|
class="brand-name"
|
|
6
7
|
style="{{ branding.primary_text_style }}">
|
|
7
8
|
{{ branding.name }} IA
|
|
8
9
|
</a>
|
|
9
|
-
|
|
10
|
+
{% else %}
|
|
11
|
+
<span class="brand-name">
|
|
12
|
+
IAToolkit
|
|
13
|
+
</span>
|
|
14
|
+
{% endif %}
|
|
10
15
|
|
|
11
16
|
{# Texto "Powered by" con enlace a iatoolkit.com #}
|
|
12
17
|
<span class="powered-by">
|
|
13
18
|
Powered by <a href="{{ url_for('index') }}" rel="noopener noreferrer" class="iatoolkit-link">IAToolkit</a>
|
|
14
19
|
</span>
|
|
15
|
-
|
|
16
20
|
</div>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<div class="branded-form-container">
|
|
2
|
+
<h4 class="branded-form-title">Iniciar Sesión</h4>
|
|
3
|
+
|
|
4
|
+
<!-- 1. Encabezado de Marketing -->
|
|
5
|
+
<div class="text-center mb-4">
|
|
6
|
+
<p class="text-muted widget-intro-text">
|
|
7
|
+
Ingresa tus credenciales para acceder a la plataforma de {{ branding.name }}.
|
|
8
|
+
</p>
|
|
9
|
+
</div>
|
|
10
|
+
|
|
11
|
+
<!-- 2. Formulario de Inicio de Sesión -->
|
|
12
|
+
<form id="login-form"
|
|
13
|
+
action="{{ url_for('login', company_short_name=company_short_name) }}"
|
|
14
|
+
method="post">
|
|
15
|
+
<div class="mb-3">
|
|
16
|
+
<label for="email" class="form-label d-block">Correo Electrónico</label>
|
|
17
|
+
<input type="email" id="email" name="email" class="form-control"
|
|
18
|
+
required value="{{ form_data.email if form_data is defined else '' }}">
|
|
19
|
+
</div>
|
|
20
|
+
<div class="mb-3">
|
|
21
|
+
<label for="password" class="form-label d-block">Contraseña</label>
|
|
22
|
+
<input type="password" id="password" name="password"
|
|
23
|
+
class="form-control" required>
|
|
24
|
+
</div>
|
|
25
|
+
<button type="submit" class="btn btn-branded-primary w-100 fw-bold py-2">
|
|
26
|
+
Iniciar Sesión
|
|
27
|
+
</button>
|
|
28
|
+
</form>
|
|
29
|
+
|
|
30
|
+
<!-- 3. Nueva Sección de Registro más Atractiva -->
|
|
31
|
+
<div class="mt-4 pt-3 text-center" style="border-top: 1px solid #e0e0e0;">
|
|
32
|
+
<span class="text-muted small">¿Eres nuevo aquí?</span>
|
|
33
|
+
<a href="{{ url_for('signup', company_short_name=company_short_name) }}" id="signup-link" class="fw-bold ms-1 text-decoration-none" style="color: var(--brand-primary-color);">Crea una cuenta gratis</a>
|
|
34
|
+
</div>
|
|
35
|
+
|
|
36
|
+
<!-- 4. Enlace de Recuperación de Contraseña (más sutil) -->
|
|
37
|
+
<div class="text-center mt-2">
|
|
38
|
+
<a href="{{ url_for('forgot_password', company_short_name=company_short_name) }}" class="text-decoration-none text-muted" style="font-size: 0.8rem;">
|
|
39
|
+
¿Olvidaste tu contraseña?
|
|
40
|
+
</a>
|
|
41
|
+
</div>
|
|
42
|
+
</div>
|
|
@@ -2,31 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
{% block title %}Cambiar Contraseña - {{ company.name }}{% endblock %}
|
|
4
4
|
|
|
5
|
-
{% block
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
{% block styles %}
|
|
6
|
+
{# Carga las variables de CSS personalizadas de la empresa #}
|
|
7
|
+
<style>
|
|
8
|
+
{{ branding.css_variables | safe }}
|
|
9
|
+
</style>
|
|
10
|
+
{% endblock %}
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
{% block content %}
|
|
13
|
+
{% include '_company_header.html' %}
|
|
14
14
|
|
|
15
|
-
<!--
|
|
15
|
+
<!-- Sección contenedora para centrar el contenido -->
|
|
16
16
|
<section class="hero-section">
|
|
17
17
|
<div class="container">
|
|
18
18
|
<div class="row justify-content-center">
|
|
19
19
|
<div class="col-lg-6 col-md-8">
|
|
20
20
|
<div class="branded-form-container">
|
|
21
21
|
<h4 class="branded-form-title">Crear Nueva Contraseña</h4>
|
|
22
|
-
|
|
23
22
|
<p class="text-muted text-center mb-4">
|
|
24
23
|
Estás cambiando la contraseña para <strong>{{ email }}</strong>.
|
|
25
24
|
</p>
|
|
26
25
|
|
|
27
26
|
<form action="{{ url_for('change_password', company_short_name=company_short_name, token=token) }}" method="post">
|
|
28
27
|
|
|
29
|
-
<!-- CAMPO RESTAURADO: Código Temporal -->
|
|
30
28
|
<div class="mb-3">
|
|
31
29
|
<label for="temp_code" class="form-label text-secondary">Código Temporal</label>
|
|
32
30
|
<input type="text" id="temp_code" name="temp_code" class="form-control"
|
iatoolkit/templates/error.html
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
{% extends "base.html" %}
|
|
2
2
|
|
|
3
|
-
{% block title %}Error
|
|
3
|
+
{% block title %}Error {% endblock %}
|
|
4
4
|
|
|
5
5
|
{% block styles %}
|
|
6
|
-
|
|
6
|
+
{# Carga las variables de CSS personalizadas de la empresa #}
|
|
7
|
+
{% if branding %}
|
|
7
8
|
<style>
|
|
8
9
|
{{ branding.css_variables | safe }}
|
|
9
10
|
</style>
|
|
10
|
-
|
|
11
|
+
{% endif %}
|
|
11
12
|
{# Enlace a los iconos de Bootstrap para el icono de error #}
|
|
12
13
|
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
|
|
13
14
|
{% endblock %}
|
|
14
15
|
|
|
15
16
|
{% block content %}
|
|
16
|
-
|
|
17
|
-
{# 1. Incluimos el encabezado reutilizable de la empresa #}
|
|
18
17
|
{% include '_company_header.html' %}
|
|
19
18
|
|
|
20
|
-
{#
|
|
19
|
+
{# Contenedor principal para el mensaje de error #}
|
|
21
20
|
<div class="container mt-5">
|
|
22
21
|
<div class="row justify-content-center">
|
|
23
22
|
<div class="col-md-8 col-lg-6">
|
|
@@ -29,22 +28,19 @@
|
|
|
29
28
|
{# Icono de error grande y visible #}
|
|
30
29
|
<i class="bi bi-exclamation-triangle-fill text-danger" style="font-size: 4rem;"></i>
|
|
31
30
|
|
|
32
|
-
<
|
|
31
|
+
<h4 class="card-title mt-4">Ha Ocurrido un Error</h4>
|
|
33
32
|
|
|
34
33
|
{# El mensaje de error dinámico que se pasa desde la vista #}
|
|
35
34
|
<p class="text-muted mt-3 mb-4">
|
|
36
35
|
{{ message | default('Lo sentimos, algo salió mal. Por favor, inténtalo de nuevo más tarde.') }}
|
|
37
36
|
</p>
|
|
38
37
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
Volver al Inicio
|
|
38
|
+
<a href="javascript:history.back()"
|
|
39
|
+
class="btn btn-branded-primary px-4">
|
|
40
|
+
Volver
|
|
43
41
|
</a>
|
|
44
|
-
|
|
45
42
|
</div>
|
|
46
43
|
</div>
|
|
47
|
-
|
|
48
44
|
</div>
|
|
49
45
|
</div>
|
|
50
46
|
</div>
|
|
@@ -50,7 +50,9 @@ class ChangePasswordView(MethodView):
|
|
|
50
50
|
# get company info
|
|
51
51
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
52
52
|
if not company:
|
|
53
|
-
return render_template('error.html',
|
|
53
|
+
return render_template('error.html',
|
|
54
|
+
company_short_name=company_short_name,
|
|
55
|
+
message=f"Empresa no encontrada: {company_short_name}"), 404
|
|
54
56
|
|
|
55
57
|
branding_data = self.branding_service.get_company_branding(company)
|
|
56
58
|
try:
|
|
@@ -95,7 +97,6 @@ class ChangePasswordView(MethodView):
|
|
|
95
97
|
|
|
96
98
|
except Exception as e:
|
|
97
99
|
return render_template("error.html",
|
|
98
|
-
company=company,
|
|
99
100
|
company_short_name=company_short_name,
|
|
100
101
|
branding=branding_data,
|
|
101
102
|
message=f"Ha ocurrido un error inesperado: {str(e)}"), 500
|
|
@@ -23,7 +23,9 @@ class ForgotPasswordView(MethodView):
|
|
|
23
23
|
# get company info
|
|
24
24
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
25
25
|
if not company:
|
|
26
|
-
return render_template('error.html',
|
|
26
|
+
return render_template('error.html',
|
|
27
|
+
company_short_name=company_short_name,
|
|
28
|
+
message="Empresa no encontrada"), 404
|
|
27
29
|
|
|
28
30
|
branding_data = self.branding_service.get_company_branding(company)
|
|
29
31
|
return render_template('forgot_password.html',
|
|
@@ -35,7 +37,9 @@ class ForgotPasswordView(MethodView):
|
|
|
35
37
|
def post(self, company_short_name: str):
|
|
36
38
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
37
39
|
if not company:
|
|
38
|
-
return render_template('error.html',
|
|
40
|
+
return render_template('error.html',
|
|
41
|
+
company_short_name=company_short_name,
|
|
42
|
+
message="Empresa no encontrada"), 404
|
|
39
43
|
branding_data = self.branding_service.get_company_branding(company)
|
|
40
44
|
|
|
41
45
|
try:
|
|
@@ -64,7 +68,6 @@ class ForgotPasswordView(MethodView):
|
|
|
64
68
|
|
|
65
69
|
except Exception as e:
|
|
66
70
|
return render_template("error.html",
|
|
67
|
-
company=company,
|
|
68
71
|
company_short_name=company_short_name,
|
|
69
72
|
branding=branding_data,
|
|
70
73
|
message=f"Ha ocurrido un error inesperado: {str(e)}"), 500
|
iatoolkit/views/home_view.py
CHANGED
|
@@ -25,7 +25,7 @@ class HomeView(MethodView):
|
|
|
25
25
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
26
26
|
|
|
27
27
|
if not company:
|
|
28
|
-
|
|
28
|
+
return render_template('error.html', message="Empresa no encontrada"), 404
|
|
29
29
|
|
|
30
30
|
branding_data = self.branding_service.get_company_branding(company)
|
|
31
31
|
alert_message = session.pop('alert_message', None)
|
|
@@ -39,7 +39,6 @@ class HomeView(MethodView):
|
|
|
39
39
|
if not os.path.exists(company_template_path):
|
|
40
40
|
return render_template(
|
|
41
41
|
"error.html",
|
|
42
|
-
company=company,
|
|
43
42
|
company_short_name=company_short_name,
|
|
44
43
|
branding=branding_data,
|
|
45
44
|
message=f"La plantilla de la página de inicio para la empresa '{company_short_name}' no está configurada."
|
|
@@ -62,7 +61,6 @@ class HomeView(MethodView):
|
|
|
62
61
|
except Exception as e:
|
|
63
62
|
return render_template(
|
|
64
63
|
"error.html",
|
|
65
|
-
company=company,
|
|
66
64
|
company_short_name=company_short_name,
|
|
67
65
|
branding=branding_data,
|
|
68
66
|
message=f"Ocurrió un error al procesar la plantilla personalizada de la página de inicio: {str(e)}"
|
iatoolkit/views/login_view.py
CHANGED
|
@@ -25,8 +25,11 @@ class LoginView(BaseLoginView):
|
|
|
25
25
|
def post(self, company_short_name: str):
|
|
26
26
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
27
27
|
if not company:
|
|
28
|
-
return render_template('error.html',
|
|
28
|
+
return render_template('error.html',
|
|
29
|
+
company_short_name=company_short_name,
|
|
30
|
+
message="Empresa no encontrada"), 404
|
|
29
31
|
|
|
32
|
+
branding_data = self.branding_service.get_company_branding(company)
|
|
30
33
|
email = request.form.get('email')
|
|
31
34
|
password = request.form.get('password')
|
|
32
35
|
|
|
@@ -38,10 +41,9 @@ class LoginView(BaseLoginView):
|
|
|
38
41
|
)
|
|
39
42
|
|
|
40
43
|
if not auth_response['success']:
|
|
41
|
-
branding_data = self.branding_service.get_company_branding(company)
|
|
42
44
|
|
|
43
45
|
return render_template(
|
|
44
|
-
'
|
|
46
|
+
'home.html',
|
|
45
47
|
company_short_name=company_short_name,
|
|
46
48
|
company=company,
|
|
47
49
|
branding=branding_data,
|
|
@@ -61,8 +63,8 @@ class LoginView(BaseLoginView):
|
|
|
61
63
|
return self._handle_login_path(company, user_identifier, target_url)
|
|
62
64
|
except Exception as e:
|
|
63
65
|
return render_template("error.html",
|
|
64
|
-
company=company,
|
|
65
66
|
company_short_name=company_short_name,
|
|
67
|
+
branding=branding_data,
|
|
66
68
|
message=f"Error processing login path: {str(e)}"), 500
|
|
67
69
|
|
|
68
70
|
|
|
@@ -108,7 +110,9 @@ class FinalizeContextView(MethodView):
|
|
|
108
110
|
|
|
109
111
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
110
112
|
if not company:
|
|
111
|
-
return render_template('error.html',
|
|
113
|
+
return render_template('error.html',
|
|
114
|
+
company_short_name=company_short_name,
|
|
115
|
+
message="Empresa no encontrada"), 404
|
|
112
116
|
branding_data = self.branding_service.get_company_branding(company)
|
|
113
117
|
|
|
114
118
|
try:
|
|
@@ -134,7 +138,6 @@ class FinalizeContextView(MethodView):
|
|
|
134
138
|
|
|
135
139
|
except Exception as e:
|
|
136
140
|
return render_template("error.html",
|
|
137
|
-
company=company,
|
|
138
141
|
company_short_name=company_short_name,
|
|
139
142
|
branding=branding_data,
|
|
140
143
|
message=f"An unexpected error occurred during context loading: {str(e)}"), 500
|
iatoolkit/views/signup_view.py
CHANGED
|
@@ -25,7 +25,9 @@ class SignupView(MethodView):
|
|
|
25
25
|
# get company info
|
|
26
26
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
27
27
|
if not company:
|
|
28
|
-
return render_template('error.html',
|
|
28
|
+
return render_template('error.html',
|
|
29
|
+
company_short_name=company_short_name,
|
|
30
|
+
message="Empresa no encontrada"), 404
|
|
29
31
|
|
|
30
32
|
# Obtener los datos de branding
|
|
31
33
|
branding_data = self.branding_service.get_company_branding(company)
|
|
@@ -39,8 +41,11 @@ class SignupView(MethodView):
|
|
|
39
41
|
# get company info
|
|
40
42
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
41
43
|
if not company:
|
|
42
|
-
return render_template('error.html',
|
|
44
|
+
return render_template('error.html',
|
|
45
|
+
company_short_name=company_short_name,
|
|
46
|
+
message="Empresa no encontrada"), 404
|
|
43
47
|
|
|
48
|
+
branding_data = self.branding_service.get_company_branding(company)
|
|
44
49
|
try:
|
|
45
50
|
first_name = request.form.get('first_name')
|
|
46
51
|
last_name = request.form.get('last_name')
|
|
@@ -62,7 +67,6 @@ class SignupView(MethodView):
|
|
|
62
67
|
verification_url=verification_url)
|
|
63
68
|
|
|
64
69
|
if "error" in response:
|
|
65
|
-
branding_data = self.branding_service.get_company_branding(company)
|
|
66
70
|
return render_template(
|
|
67
71
|
'signup.html',
|
|
68
72
|
company=company,
|
|
@@ -86,7 +90,7 @@ class SignupView(MethodView):
|
|
|
86
90
|
|
|
87
91
|
except Exception as e:
|
|
88
92
|
return render_template("error.html",
|
|
89
|
-
company=company,
|
|
90
93
|
company_short_name=company_short_name,
|
|
94
|
+
branding=branding_data,
|
|
91
95
|
message=f"Ha ocurrido un error inesperado: {str(e)}"), 500
|
|
92
96
|
|
|
@@ -2,7 +2,7 @@ iatoolkit/__init__.py,sha256=4PWjMJjktixtrxF6BY405qyA50Sv967kEP2x-oil6qk,1120
|
|
|
2
2
|
iatoolkit/base_company.py,sha256=vU4ki-wB3PWIn3_Bvehfh0TfBH_XNC614tRBKNmEd84,4718
|
|
3
3
|
iatoolkit/cli_commands.py,sha256=G5L9xQXZ0lVFXQWBaE_KEZHyfuiT6PL1nTQRoSdnBzc,2302
|
|
4
4
|
iatoolkit/company_registry.py,sha256=tduqt3oV8iDX_IB1eA7KIgvIxE4edTcy-3qZIXh3Lzw,2549
|
|
5
|
-
iatoolkit/iatoolkit.py,sha256=
|
|
5
|
+
iatoolkit/iatoolkit.py,sha256=jIk1DzvWGJIubl4BF9wrRqvNiUfcoEeLdqRazggkyhQ,17616
|
|
6
6
|
iatoolkit/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
7
|
iatoolkit/common/exceptions.py,sha256=EXx40n5htp7UiOM6P1xfJ9U6NMcADqm62dlFaKz7ICU,1154
|
|
8
8
|
iatoolkit/common/routes.py,sha256=XwhbXupwnYqZ2F4Ec28o9W0LmUUHzpc0QDLQttl4Dwc,5843
|
|
@@ -72,13 +72,14 @@ iatoolkit/static/styles/onboarding.css,sha256=Bo0hd8ngVy404_a-gtNFi-hzljhIAnpE-1
|
|
|
72
72
|
iatoolkit/system_prompts/format_styles.prompt,sha256=MSMe1qvR3cF_0IbFshn8R0z6Wx6VCHQq1p37rpu5wwk,3576
|
|
73
73
|
iatoolkit/system_prompts/query_main.prompt,sha256=D2Wjf0uunQIQsQiJVrY-BTQz6PemM5En6ftmw_c5t4E,2808
|
|
74
74
|
iatoolkit/system_prompts/sql_rules.prompt,sha256=y4nURVnb9AyFwt-lrbMNBHHtZlhk6kC9grYoOhRnrJo,59174
|
|
75
|
-
iatoolkit/templates/_company_header.html,sha256=
|
|
75
|
+
iatoolkit/templates/_company_header.html,sha256=wrwDftsSVu1uMPchsweAPLupsPkmLIPQBQ0xpIIyxjA,747
|
|
76
|
+
iatoolkit/templates/_login_widget.html,sha256=D-vxqugDjHRRDhHsYj7LEQwcuk934yknEZujsY2tgI4,1898
|
|
76
77
|
iatoolkit/templates/about.html,sha256=ciC08grUVz5qLzdzDDqDX31xirg5PrJIRYabWpV9oA8,294
|
|
77
78
|
iatoolkit/templates/base.html,sha256=y6YnYM1w2YXOuU0HcC9oE-o7UjFEBgusJqDxHEWazHI,2361
|
|
78
|
-
iatoolkit/templates/change_password.html,sha256=
|
|
79
|
+
iatoolkit/templates/change_password.html,sha256=VObsXwjEzMkKkzIv-M2voDazPZkW_07Ye_RovTx62bw,3284
|
|
79
80
|
iatoolkit/templates/chat.html,sha256=6i01YQUSfWeehJ8FV1u3DDM6salIbrf3G52eDKIS6TM,12343
|
|
80
81
|
iatoolkit/templates/chat_modals.html,sha256=NwwgPoOmVbjy4aO2eHsy1TUMXRiOfTOC5Jx_F2ehhcs,6947
|
|
81
|
-
iatoolkit/templates/error.html,sha256=
|
|
82
|
+
iatoolkit/templates/error.html,sha256=tmN4tLx_WfgfFizvMWZJFd6_qeBTAiEnQB_Kz_AP38Q,1655
|
|
82
83
|
iatoolkit/templates/forgot_password.html,sha256=iJ4qgC8NMpalmO2g6sxUrPznSAy6aN0bi10EB1WldGE,2165
|
|
83
84
|
iatoolkit/templates/header.html,sha256=179agI7rnYwP_rvJNXIiVde5E8Ec5649_XKq6eew2Hk,1263
|
|
84
85
|
iatoolkit/templates/index.html,sha256=DZZ9WK0jQ9bCbCDkukNt_jWYII7ISxQtNxn4vHQNwz8,7808
|
|
@@ -88,25 +89,25 @@ iatoolkit/templates/signup.html,sha256=ZX1Ufj-W5efOqiBG_7SIxUZcKonffsdRaWdEQYTFu
|
|
|
88
89
|
iatoolkit/templates/test.html,sha256=rwNtxC83tbCl5COZFXYvmRBxxmgFJtPNuVBd_nq9KWY,133
|
|
89
90
|
iatoolkit/views/__init__.py,sha256=5JqK9sZ6jBuK83zDQokUhxQ0wuJJJ9DXB8pYCLkX7X4,102
|
|
90
91
|
iatoolkit/views/base_login_view.py,sha256=qoMMrAezCJvzjcfNzIbd2vwHhksALIQfNK8f_9E8m0o,3241
|
|
91
|
-
iatoolkit/views/change_password_view.py,sha256=
|
|
92
|
+
iatoolkit/views/change_password_view.py,sha256=NIUxvOz6rs2PpFvAjd-_UE9m4XQCrcxJicgxSXu7434,4582
|
|
92
93
|
iatoolkit/views/external_login_view.py,sha256=d4gUQbxFsThGbbAUdtFn7AMgPJjeb7_8KFFoH3vspVA,2853
|
|
93
94
|
iatoolkit/views/file_store_api_view.py,sha256=UvtZWOG-rLQMLfs8igOIYoQ-tkkEg5baMjqCJdKxaRQ,2300
|
|
94
|
-
iatoolkit/views/forgot_password_view.py,sha256=
|
|
95
|
+
iatoolkit/views/forgot_password_view.py,sha256=46AQ9bNXUESkFUYYcb_oIP1FukE5WyN2-MTwNgcqCu0,3349
|
|
95
96
|
iatoolkit/views/history_api_view.py,sha256=0YChbss0ae05KHzni2p3d4bGS2_yKAbjALk1OBeQk50,1867
|
|
96
|
-
iatoolkit/views/home_view.py,sha256=
|
|
97
|
+
iatoolkit/views/home_view.py,sha256=poAUAmaXNbf-bcuxmQg7XZ1yQQAbvlyCE2YkzwDS5wg,2733
|
|
97
98
|
iatoolkit/views/index_view.py,sha256=OsykSlXLB-TpFAPkDlsMna6bi3Ie5PXL303Hsg3WwUM,329
|
|
98
99
|
iatoolkit/views/init_context_api_view.py,sha256=YTjpT4xdtm1knUhelDj-VbV4EK6o_qGAgwwDhFmIOlg,2716
|
|
99
100
|
iatoolkit/views/llmquery_api_view.py,sha256=v_KxR6w-TrCVR2fMFHZCz3_v4o42CXb1Yvd-R1hSJHg,1662
|
|
100
101
|
iatoolkit/views/login_simulation_view.py,sha256=0Qt-puRnltI2HZxlfdyJmOf26-hQp3xjknGV_jkwV7E,3484
|
|
101
|
-
iatoolkit/views/login_view.py,sha256=
|
|
102
|
+
iatoolkit/views/login_view.py,sha256=XP_OkkpWEzPfY6LpPDGeZtsnNBMbliopi6k67tOwSD4,5843
|
|
102
103
|
iatoolkit/views/logout_api_view.py,sha256=wpiWLNkgypOOy7L75_tCJLv1gvcITgmd_hK2ipb9024,1505
|
|
103
104
|
iatoolkit/views/prompt_api_view.py,sha256=S_4-qAD5knh8Esae1AczEYGdXy_AuU7LMOmnUPej4jQ,1294
|
|
104
|
-
iatoolkit/views/signup_view.py,sha256=
|
|
105
|
+
iatoolkit/views/signup_view.py,sha256=EWvkptFQ9g_DZZepo3lJ0-R2fgrVMq5ocxw0GFfxr9k,4112
|
|
105
106
|
iatoolkit/views/tasks_api_view.py,sha256=wGnuwuuL83ByQ1Yre6ytRVztA0OGQjGrwMjB1_G830U,2630
|
|
106
107
|
iatoolkit/views/tasks_review_api_view.py,sha256=wsCpzqyRyUdCXWAhyGlBe3eNZZ6A1DQG7TblN_GZNfM,1894
|
|
107
108
|
iatoolkit/views/user_feedback_api_view.py,sha256=-Ngex8SPf0mPvPNqwE_GUcRErLpOL49yJ43o5Y4Qhqo,1992
|
|
108
|
-
iatoolkit/views/verify_user_view.py,sha256=
|
|
109
|
-
iatoolkit-0.63.
|
|
110
|
-
iatoolkit-0.63.
|
|
111
|
-
iatoolkit-0.63.
|
|
112
|
-
iatoolkit-0.63.
|
|
109
|
+
iatoolkit/views/verify_user_view.py,sha256=iFEVc-hFh5qOBy3T93ckM6-V2_mcomk-M4TVFl2D3Pw,2690
|
|
110
|
+
iatoolkit-0.63.2.dist-info/METADATA,sha256=m5miNUQzTWgZRnL4ZLYnRLXofX_NWRSklJJYqASh57o,9301
|
|
111
|
+
iatoolkit-0.63.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
112
|
+
iatoolkit-0.63.2.dist-info/top_level.txt,sha256=V_w4QvDx0b1RXiy8zTCrD1Bp7AZkFe3_O0-9fMiwogg,10
|
|
113
|
+
iatoolkit-0.63.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|