iatoolkit 0.63.0__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 +7 -3
- 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 +5 -3
- iatoolkit/views/forgot_password_view.py +9 -5
- iatoolkit/views/home_view.py +2 -4
- iatoolkit/views/login_view.py +14 -8
- iatoolkit/views/signup_view.py +9 -5
- iatoolkit/views/verify_user_view.py +0 -1
- {iatoolkit-0.63.0.dist-info → iatoolkit-0.63.2.dist-info}/METADATA +1 -1
- {iatoolkit-0.63.0.dist-info → iatoolkit-0.63.2.dist-info}/RECORD +15 -14
- {iatoolkit-0.63.0.dist-info → iatoolkit-0.63.2.dist-info}/WHEEL +0 -0
- {iatoolkit-0.63.0.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
|
-
{{ branding.name }}
|
|
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,6 +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,
|
|
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,10 @@ 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
|
|
43
|
+
branding_data = self.branding_service.get_company_branding(company)
|
|
39
44
|
|
|
40
45
|
try:
|
|
41
46
|
email = request.form.get('email')
|
|
@@ -48,7 +53,6 @@ class ForgotPasswordView(MethodView):
|
|
|
48
53
|
|
|
49
54
|
response = self.profile_service.forgot_password(email=email, reset_url=reset_url)
|
|
50
55
|
if "error" in response:
|
|
51
|
-
branding_data = self.branding_service.get_company_branding(company)
|
|
52
56
|
return render_template(
|
|
53
57
|
'forgot_password.html',
|
|
54
58
|
company=company,
|
|
@@ -64,7 +68,7 @@ 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,
|
|
73
|
+
message=f"Ha ocurrido un error inesperado: {str(e)}"), 500
|
|
70
74
|
|
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,8 +61,7 @@ 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
|
-
message="Ocurrió un error al procesar la plantilla personalizada de la página de inicio
|
|
66
|
+
message=f"Ocurrió un error al procesar la plantilla personalizada de la página de inicio: {str(e)}"
|
|
69
67
|
), 500
|
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,
|
|
@@ -60,8 +62,10 @@ class LoginView(BaseLoginView):
|
|
|
60
62
|
try:
|
|
61
63
|
return self._handle_login_path(company, user_identifier, target_url)
|
|
62
64
|
except Exception as e:
|
|
63
|
-
return render_template("error.html",
|
|
64
|
-
|
|
65
|
+
return render_template("error.html",
|
|
66
|
+
company_short_name=company_short_name,
|
|
67
|
+
branding=branding_data,
|
|
68
|
+
message=f"Error processing login path: {str(e)}"), 500
|
|
65
69
|
|
|
66
70
|
|
|
67
71
|
class FinalizeContextView(MethodView):
|
|
@@ -106,7 +110,10 @@ class FinalizeContextView(MethodView):
|
|
|
106
110
|
|
|
107
111
|
company = self.profile_service.get_company_by_short_name(company_short_name)
|
|
108
112
|
if not company:
|
|
109
|
-
return render_template('error.html',
|
|
113
|
+
return render_template('error.html',
|
|
114
|
+
company_short_name=company_short_name,
|
|
115
|
+
message="Empresa no encontrada"), 404
|
|
116
|
+
branding_data = self.branding_service.get_company_branding(company)
|
|
110
117
|
|
|
111
118
|
try:
|
|
112
119
|
# 2. Finalize the context rebuild (the heavy task).
|
|
@@ -117,7 +124,6 @@ class FinalizeContextView(MethodView):
|
|
|
117
124
|
|
|
118
125
|
# 3. render the chat page.
|
|
119
126
|
prompts = self.prompt_service.get_user_prompts(company_short_name)
|
|
120
|
-
branding_data = self.branding_service.get_company_branding(company)
|
|
121
127
|
onboarding_cards = self.onboarding_service.get_onboarding_cards(company)
|
|
122
128
|
|
|
123
129
|
return render_template(
|
|
@@ -132,7 +138,7 @@ class FinalizeContextView(MethodView):
|
|
|
132
138
|
|
|
133
139
|
except Exception as e:
|
|
134
140
|
return render_template("error.html",
|
|
135
|
-
company=company,
|
|
136
141
|
company_short_name=company_short_name,
|
|
142
|
+
branding=branding_data,
|
|
137
143
|
message=f"An unexpected error occurred during context loading: {str(e)}"), 500
|
|
138
144
|
|
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,
|
|
91
|
-
|
|
94
|
+
branding=branding_data,
|
|
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
|