iatoolkit 0.3.9__py3-none-any.whl → 0.107.4__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.

Files changed (150) hide show
  1. iatoolkit/__init__.py +27 -35
  2. iatoolkit/base_company.py +3 -35
  3. iatoolkit/cli_commands.py +18 -47
  4. iatoolkit/common/__init__.py +0 -0
  5. iatoolkit/common/exceptions.py +48 -0
  6. iatoolkit/common/interfaces/__init__.py +0 -0
  7. iatoolkit/common/interfaces/asset_storage.py +34 -0
  8. iatoolkit/common/interfaces/database_provider.py +39 -0
  9. iatoolkit/common/model_registry.py +159 -0
  10. iatoolkit/common/routes.py +138 -0
  11. iatoolkit/common/session_manager.py +26 -0
  12. iatoolkit/common/util.py +353 -0
  13. iatoolkit/company_registry.py +66 -29
  14. iatoolkit/core.py +514 -0
  15. iatoolkit/infra/__init__.py +5 -0
  16. iatoolkit/infra/brevo_mail_app.py +123 -0
  17. iatoolkit/infra/call_service.py +140 -0
  18. iatoolkit/infra/connectors/__init__.py +5 -0
  19. iatoolkit/infra/connectors/file_connector.py +17 -0
  20. iatoolkit/infra/connectors/file_connector_factory.py +57 -0
  21. iatoolkit/infra/connectors/google_cloud_storage_connector.py +53 -0
  22. iatoolkit/infra/connectors/google_drive_connector.py +68 -0
  23. iatoolkit/infra/connectors/local_file_connector.py +46 -0
  24. iatoolkit/infra/connectors/s3_connector.py +33 -0
  25. iatoolkit/infra/google_chat_app.py +57 -0
  26. iatoolkit/infra/llm_providers/__init__.py +0 -0
  27. iatoolkit/infra/llm_providers/deepseek_adapter.py +278 -0
  28. iatoolkit/infra/llm_providers/gemini_adapter.py +350 -0
  29. iatoolkit/infra/llm_providers/openai_adapter.py +124 -0
  30. iatoolkit/infra/llm_proxy.py +268 -0
  31. iatoolkit/infra/llm_response.py +45 -0
  32. iatoolkit/infra/redis_session_manager.py +122 -0
  33. iatoolkit/locales/en.yaml +222 -0
  34. iatoolkit/locales/es.yaml +225 -0
  35. iatoolkit/repositories/__init__.py +5 -0
  36. iatoolkit/repositories/database_manager.py +187 -0
  37. iatoolkit/repositories/document_repo.py +33 -0
  38. iatoolkit/repositories/filesystem_asset_repository.py +36 -0
  39. iatoolkit/repositories/llm_query_repo.py +105 -0
  40. iatoolkit/repositories/models.py +279 -0
  41. iatoolkit/repositories/profile_repo.py +171 -0
  42. iatoolkit/repositories/vs_repo.py +150 -0
  43. iatoolkit/services/__init__.py +5 -0
  44. iatoolkit/services/auth_service.py +193 -0
  45. {services → iatoolkit/services}/benchmark_service.py +7 -7
  46. iatoolkit/services/branding_service.py +153 -0
  47. iatoolkit/services/company_context_service.py +214 -0
  48. iatoolkit/services/configuration_service.py +375 -0
  49. iatoolkit/services/dispatcher_service.py +134 -0
  50. {services → iatoolkit/services}/document_service.py +20 -8
  51. iatoolkit/services/embedding_service.py +148 -0
  52. iatoolkit/services/excel_service.py +156 -0
  53. {services → iatoolkit/services}/file_processor_service.py +36 -21
  54. iatoolkit/services/history_manager_service.py +208 -0
  55. iatoolkit/services/i18n_service.py +104 -0
  56. iatoolkit/services/jwt_service.py +80 -0
  57. iatoolkit/services/language_service.py +89 -0
  58. iatoolkit/services/license_service.py +82 -0
  59. iatoolkit/services/llm_client_service.py +438 -0
  60. iatoolkit/services/load_documents_service.py +174 -0
  61. iatoolkit/services/mail_service.py +213 -0
  62. {services → iatoolkit/services}/profile_service.py +200 -101
  63. iatoolkit/services/prompt_service.py +303 -0
  64. iatoolkit/services/query_service.py +467 -0
  65. iatoolkit/services/search_service.py +55 -0
  66. iatoolkit/services/sql_service.py +169 -0
  67. iatoolkit/services/tool_service.py +246 -0
  68. iatoolkit/services/user_feedback_service.py +117 -0
  69. iatoolkit/services/user_session_context_service.py +213 -0
  70. iatoolkit/static/images/fernando.jpeg +0 -0
  71. iatoolkit/static/images/iatoolkit_core.png +0 -0
  72. iatoolkit/static/images/iatoolkit_logo.png +0 -0
  73. iatoolkit/static/js/chat_feedback_button.js +80 -0
  74. iatoolkit/static/js/chat_filepond.js +85 -0
  75. iatoolkit/static/js/chat_help_content.js +124 -0
  76. iatoolkit/static/js/chat_history_button.js +110 -0
  77. iatoolkit/static/js/chat_logout_button.js +36 -0
  78. iatoolkit/static/js/chat_main.js +401 -0
  79. iatoolkit/static/js/chat_model_selector.js +227 -0
  80. iatoolkit/static/js/chat_onboarding_button.js +103 -0
  81. iatoolkit/static/js/chat_prompt_manager.js +94 -0
  82. iatoolkit/static/js/chat_reload_button.js +38 -0
  83. iatoolkit/static/styles/chat_iatoolkit.css +559 -0
  84. iatoolkit/static/styles/chat_modal.css +133 -0
  85. iatoolkit/static/styles/chat_public.css +135 -0
  86. iatoolkit/static/styles/documents.css +598 -0
  87. iatoolkit/static/styles/landing_page.css +398 -0
  88. iatoolkit/static/styles/llm_output.css +148 -0
  89. iatoolkit/static/styles/onboarding.css +176 -0
  90. iatoolkit/system_prompts/__init__.py +0 -0
  91. iatoolkit/system_prompts/query_main.prompt +30 -23
  92. iatoolkit/system_prompts/sql_rules.prompt +47 -12
  93. iatoolkit/templates/_company_header.html +45 -0
  94. iatoolkit/templates/_login_widget.html +42 -0
  95. iatoolkit/templates/base.html +78 -0
  96. iatoolkit/templates/change_password.html +66 -0
  97. iatoolkit/templates/chat.html +337 -0
  98. iatoolkit/templates/chat_modals.html +185 -0
  99. iatoolkit/templates/error.html +51 -0
  100. iatoolkit/templates/forgot_password.html +51 -0
  101. iatoolkit/templates/onboarding_shell.html +106 -0
  102. iatoolkit/templates/signup.html +79 -0
  103. iatoolkit/views/__init__.py +5 -0
  104. iatoolkit/views/base_login_view.py +96 -0
  105. iatoolkit/views/change_password_view.py +116 -0
  106. iatoolkit/views/chat_view.py +76 -0
  107. iatoolkit/views/embedding_api_view.py +65 -0
  108. iatoolkit/views/forgot_password_view.py +75 -0
  109. iatoolkit/views/help_content_api_view.py +54 -0
  110. iatoolkit/views/history_api_view.py +56 -0
  111. iatoolkit/views/home_view.py +63 -0
  112. iatoolkit/views/init_context_api_view.py +74 -0
  113. iatoolkit/views/llmquery_api_view.py +59 -0
  114. iatoolkit/views/load_company_configuration_api_view.py +49 -0
  115. iatoolkit/views/load_document_api_view.py +65 -0
  116. iatoolkit/views/login_view.py +170 -0
  117. iatoolkit/views/logout_api_view.py +57 -0
  118. iatoolkit/views/profile_api_view.py +46 -0
  119. iatoolkit/views/prompt_api_view.py +37 -0
  120. iatoolkit/views/root_redirect_view.py +22 -0
  121. iatoolkit/views/signup_view.py +100 -0
  122. iatoolkit/views/static_page_view.py +27 -0
  123. iatoolkit/views/user_feedback_api_view.py +60 -0
  124. iatoolkit/views/users_api_view.py +33 -0
  125. iatoolkit/views/verify_user_view.py +60 -0
  126. iatoolkit-0.107.4.dist-info/METADATA +268 -0
  127. iatoolkit-0.107.4.dist-info/RECORD +132 -0
  128. iatoolkit-0.107.4.dist-info/licenses/LICENSE +21 -0
  129. iatoolkit-0.107.4.dist-info/licenses/LICENSE_COMMUNITY.md +15 -0
  130. {iatoolkit-0.3.9.dist-info → iatoolkit-0.107.4.dist-info}/top_level.txt +0 -1
  131. iatoolkit/iatoolkit.py +0 -413
  132. iatoolkit/system_prompts/arquitectura.prompt +0 -32
  133. iatoolkit-0.3.9.dist-info/METADATA +0 -252
  134. iatoolkit-0.3.9.dist-info/RECORD +0 -32
  135. services/__init__.py +0 -5
  136. services/api_service.py +0 -75
  137. services/dispatcher_service.py +0 -351
  138. services/excel_service.py +0 -98
  139. services/history_service.py +0 -45
  140. services/jwt_service.py +0 -91
  141. services/load_documents_service.py +0 -212
  142. services/mail_service.py +0 -62
  143. services/prompt_manager_service.py +0 -172
  144. services/query_service.py +0 -334
  145. services/search_service.py +0 -32
  146. services/sql_service.py +0 -42
  147. services/tasks_service.py +0 -188
  148. services/user_feedback_service.py +0 -67
  149. services/user_session_context_service.py +0 -85
  150. {iatoolkit-0.3.9.dist-info → iatoolkit-0.107.4.dist-info}/WHEEL +0 -0
@@ -1,252 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: iatoolkit
3
- Version: 0.3.9
4
- Summary: IAToolkit
5
- Author: Fernando Libedinsky
6
- License-Expression: MIT
7
- Requires-Python: >=3.11
8
- Description-Content-Type: text/markdown
9
- Requires-Dist: aiohappyeyeballs==2.4.4
10
- Requires-Dist: aiohttp==3.11.9
11
- Requires-Dist: aiosignal==1.3.1
12
- Requires-Dist: annotated-types==0.7.0
13
- Requires-Dist: anyio==4.6.2.post1
14
- Requires-Dist: asgiref==3.8.1
15
- Requires-Dist: async-timeout==4.0.3
16
- Requires-Dist: attrs==24.3.0
17
- Requires-Dist: backoff==2.2.1
18
- Requires-Dist: bcrypt==4.2.1
19
- Requires-Dist: beautifulsoup4==4.12.3
20
- Requires-Dist: blinker==1.9.0
21
- Requires-Dist: boto3==1.36.22
22
- Requires-Dist: botocore==1.36.22
23
- Requires-Dist: build==1.2.2.post1
24
- Requires-Dist: cachelib==0.13.0
25
- Requires-Dist: cachetools==5.5.0
26
- Requires-Dist: certifi==2024.12.14
27
- Requires-Dist: cffi==1.17.1
28
- Requires-Dist: charset-normalizer==3.4.0
29
- Requires-Dist: click==8.1.8
30
- Requires-Dist: coloredlogs==15.0.1
31
- Requires-Dist: contourpy==1.3.3
32
- Requires-Dist: coverage==7.6.10
33
- Requires-Dist: cryptography==44.0.3
34
- Requires-Dist: cycler==0.12.1
35
- Requires-Dist: dataclasses-json==0.6.7
36
- Requires-Dist: Deprecated==1.2.15
37
- Requires-Dist: distro==1.9.0
38
- Requires-Dist: durationpy==0.9
39
- Requires-Dist: ecs-logging==2.2.0
40
- Requires-Dist: elastic-apm==6.23.0
41
- Requires-Dist: et_xmlfile==2.0.0
42
- Requires-Dist: exceptiongroup==1.2.2
43
- Requires-Dist: fastapi==0.115.6
44
- Requires-Dist: filelock==3.16.1
45
- Requires-Dist: Flask==3.1.0
46
- Requires-Dist: Flask-Bcrypt==1.0.1
47
- Requires-Dist: flask-cors==6.0.0
48
- Requires-Dist: Flask-Injector==0.15.0
49
- Requires-Dist: Flask-Session==0.8.0
50
- Requires-Dist: flatbuffers==24.3.25
51
- Requires-Dist: fonttools==4.59.2
52
- Requires-Dist: frozenlist==1.5.0
53
- Requires-Dist: fsspec==2024.10.0
54
- Requires-Dist: google-ai-generativelanguage==0.6.15
55
- Requires-Dist: google-api-core==2.24.1
56
- Requires-Dist: google-api-python-client==2.161.0
57
- Requires-Dist: google-auth==2.37.0
58
- Requires-Dist: google-auth-httplib2==0.2.0
59
- Requires-Dist: google-auth-oauthlib==1.2.1
60
- Requires-Dist: google-cloud-core==2.4.1
61
- Requires-Dist: google-cloud-storage==3.0.0
62
- Requires-Dist: google-crc32c==1.6.0
63
- Requires-Dist: google-generativeai==0.8.5
64
- Requires-Dist: google-resumable-media==2.7.2
65
- Requires-Dist: googleapis-common-protos==1.66.0
66
- Requires-Dist: grpcio==1.74.0
67
- Requires-Dist: grpcio-status==1.71.2
68
- Requires-Dist: gunicorn==23.0.0
69
- Requires-Dist: h11==0.14.0
70
- Requires-Dist: httpcore==1.0.7
71
- Requires-Dist: httplib2==0.22.0
72
- Requires-Dist: httptools==0.6.4
73
- Requires-Dist: httpx==0.28.0
74
- Requires-Dist: httpx-sse==0.4.0
75
- Requires-Dist: huggingface-hub==0.31.4
76
- Requires-Dist: humanfriendly==10.0
77
- Requires-Dist: idna==3.10
78
- Requires-Dist: importlib_metadata==8.5.0
79
- Requires-Dist: importlib_resources==6.4.5
80
- Requires-Dist: iniconfig==2.0.0
81
- Requires-Dist: injector==0.22.0
82
- Requires-Dist: itsdangerous==2.2.0
83
- Requires-Dist: Jinja2==3.1.5
84
- Requires-Dist: jiter==0.8.0
85
- Requires-Dist: jmespath==1.0.1
86
- Requires-Dist: joblib==1.4.2
87
- Requires-Dist: jsonpatch==1.33
88
- Requires-Dist: jsonpointer==3.0.0
89
- Requires-Dist: kiwisolver==1.4.9
90
- Requires-Dist: kubernetes==31.0.0
91
- Requires-Dist: langchain==0.3.19
92
- Requires-Dist: langchain-core==0.3.35
93
- Requires-Dist: langchain-text-splitters==0.3.6
94
- Requires-Dist: langsmith==0.3.8
95
- Requires-Dist: lxml==5.3.0
96
- Requires-Dist: markdown-it-py==3.0.0
97
- Requires-Dist: markdown2==2.5.3
98
- Requires-Dist: MarkupSafe==3.0.2
99
- Requires-Dist: marshmallow==3.23.1
100
- Requires-Dist: matplotlib==3.10.6
101
- Requires-Dist: mdurl==0.1.2
102
- Requires-Dist: mmh3==5.0.1
103
- Requires-Dist: monotonic==1.6
104
- Requires-Dist: mpmath==1.3.0
105
- Requires-Dist: msgspec==0.19.0
106
- Requires-Dist: multidict==6.1.0
107
- Requires-Dist: mypy-extensions==1.0.0
108
- Requires-Dist: narwhals==2.3.0
109
- Requires-Dist: networkx==3.4.2
110
- Requires-Dist: numpy==2.2.3
111
- Requires-Dist: oauth2client==4.1.3
112
- Requires-Dist: oauthlib==3.2.2
113
- Requires-Dist: onnxruntime==1.19.2
114
- Requires-Dist: openai==1.79.0
115
- Requires-Dist: openpyxl==3.1.5
116
- Requires-Dist: opentelemetry-api==1.28.2
117
- Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.28.2
118
- Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.28.2
119
- Requires-Dist: opentelemetry-instrumentation==0.49b2
120
- Requires-Dist: opentelemetry-instrumentation-asgi==0.49b2
121
- Requires-Dist: opentelemetry-instrumentation-fastapi==0.49b2
122
- Requires-Dist: opentelemetry-proto==1.28.2
123
- Requires-Dist: opentelemetry-sdk==1.28.2
124
- Requires-Dist: opentelemetry-semantic-conventions==0.49b2
125
- Requires-Dist: opentelemetry-util-http==0.49b2
126
- Requires-Dist: orjson==3.10.12
127
- Requires-Dist: overrides==7.7.0
128
- Requires-Dist: packaging==24.2
129
- Requires-Dist: pandas==2.3.1
130
- Requires-Dist: pgvector==0.3.6
131
- Requires-Dist: pillow==11.0.0
132
- Requires-Dist: plotly==6.3.0
133
- Requires-Dist: pluggy==1.5.0
134
- Requires-Dist: posthog==3.7.4
135
- Requires-Dist: propcache==0.2.1
136
- Requires-Dist: proto-plus==1.26.0
137
- Requires-Dist: protobuf==5.29.1
138
- Requires-Dist: psutil==7.0.0
139
- Requires-Dist: psycopg2-binary==2.9.10
140
- Requires-Dist: pyarrow==21.0.0
141
- Requires-Dist: pyasn1==0.6.1
142
- Requires-Dist: pyasn1_modules==0.4.1
143
- Requires-Dist: pycparser==2.22
144
- Requires-Dist: pydantic==2.10.2
145
- Requires-Dist: pydantic-settings==2.6.1
146
- Requires-Dist: pydantic_core==2.27.1
147
- Requires-Dist: PyDrive==1.3.1
148
- Requires-Dist: Pygments==2.18.0
149
- Requires-Dist: PyJWT==2.10.1
150
- Requires-Dist: PyMuPDF==1.25.0
151
- Requires-Dist: pyparsing==3.2.1
152
- Requires-Dist: pypdf==5.1.0
153
- Requires-Dist: PyPika==0.48.9
154
- Requires-Dist: pyproject_hooks==1.2.0
155
- Requires-Dist: pytesseract==0.3.13
156
- Requires-Dist: pytest==8.3.4
157
- Requires-Dist: pytest-cov==5.0.0
158
- Requires-Dist: pytest-mock==3.14.0
159
- Requires-Dist: python-dateutil==2.9.0.post0
160
- Requires-Dist: python-docx==1.1.2
161
- Requires-Dist: python-dotenv==1.0.1
162
- Requires-Dist: pytz==2025.2
163
- Requires-Dist: PyYAML==6.0.2
164
- Requires-Dist: redis==5.2.1
165
- Requires-Dist: regex==2024.11.6
166
- Requires-Dist: requests==2.32.3
167
- Requires-Dist: requests-oauthlib==2.0.0
168
- Requires-Dist: requests-toolbelt==1.0.0
169
- Requires-Dist: rich==13.9.4
170
- Requires-Dist: rsa==4.9
171
- Requires-Dist: s3transfer==0.11.2
172
- Requires-Dist: safetensors==0.5.2
173
- Requires-Dist: scikit-learn==1.7.1
174
- Requires-Dist: scipy==1.15.1
175
- Requires-Dist: seaborn==0.13.2
176
- Requires-Dist: setuptools==75.8.0
177
- Requires-Dist: shellingham==1.5.4
178
- Requires-Dist: sib-api-v3-sdk==7.6.0
179
- Requires-Dist: six==1.17.0
180
- Requires-Dist: sniffio==1.3.1
181
- Requires-Dist: soupsieve==2.6
182
- Requires-Dist: SQLAlchemy==2.0.36
183
- Requires-Dist: starlette==0.41.3
184
- Requires-Dist: sympy==1.13.1
185
- Requires-Dist: tenacity==9.0.0
186
- Requires-Dist: threadpoolctl==3.5.0
187
- Requires-Dist: tiktoken==0.8.0
188
- Requires-Dist: tokenizers==0.21.0
189
- Requires-Dist: tomli==2.2.1
190
- Requires-Dist: tqdm==4.67.1
191
- Requires-Dist: typer==0.15.1
192
- Requires-Dist: typing-inspect==0.9.0
193
- Requires-Dist: typing_extensions==4.12.2
194
- Requires-Dist: tzdata==2025.2
195
- Requires-Dist: uritemplate==4.1.1
196
- Requires-Dist: urllib3==2.3.0
197
- Requires-Dist: uvicorn==0.32.1
198
- Requires-Dist: uvloop==0.21.0
199
- Requires-Dist: watchfiles==1.0.0
200
- Requires-Dist: websocket-client==1.8.0
201
- Requires-Dist: websockets==14.1
202
- Requires-Dist: Werkzeug==3.1.3
203
- Requires-Dist: whitenoise==6.8.2
204
- Requires-Dist: wikipedia==1.4.0
205
- Requires-Dist: wrapt==1.17.0
206
- Requires-Dist: yarl==1.18.3
207
- Requires-Dist: zipp==3.21.0
208
- Requires-Dist: zstandard==0.23.0
209
-
210
- # iatoolkit
211
-
212
- IAToolkit is a comprehensive, open-source framework designed for building enterprise-grade
213
- AI chatbots and conversational applications.
214
- Built on Flask with dependency injection, it provides a robust foundation for scalable AI solutions.
215
-
216
- ## 🚀 Key Features
217
- - **Universal LLM Integration**: OpenAI GPT, Google Gemini
218
- - **Template System**: Jinja2-powered prompt templates with variables
219
- - **Context Management**: Maintain conversation context across sessions
220
-
221
- ### 🔒 **Enterprise Security**
222
- - **JWT Authentication**: Secure token-based authentication
223
- - **Session Management**: Redis-backed secure sessions
224
- - **CORS Configuration**: Flexible cross-origin resource sharing
225
-
226
- ### 🛠 **Function Calling & Tools**
227
- - **Native Function Calls**: Direct integration with LLM function calling
228
- - **Custom Tools**: Build and register custom tools for your chatbot
229
- - **SQL Query Generation**: Natural language to SQL conversion
230
- - **API Integrations**: Connect to external services and APIs
231
-
232
- ### 🗄 **Database & Storage**
233
- - **Multi-Database Support**: PostgreSQL, MySQL, SQLite via SQLAlchemy
234
- - **Vector Store Integration**: Semantic search and retrieval
235
- - **Document Processing**: PDF, Word, Excel, and text file handling
236
-
237
- ### 📊 **Analytics & Monitoring**
238
- - **Query Logging**: Track all LLM interactions
239
- - **Performance Metrics**: Response times, token usage, costs
240
- - **Benchmarking**: Compare model performance
241
- - **Task Management**: Async task processing with status tracking
242
-
243
- ### 🔧 **Developer Experience**
244
- - **Dependency Injection**: Clean, testable architecture
245
- - **CLI Tools**: Command-line interface for common tasks
246
- - **Hot Reloading**: Development-friendly configuration
247
- - **Comprehensive Logging**: Debug and monitor easily
248
-
249
- ## License
250
- MIT License
251
-
252
-
@@ -1,32 +0,0 @@
1
- iatoolkit/__init__.py,sha256=dKjc0IsztMClwbalF5hbtz418TRtu0xE2pdb8J3iQQw,1512
2
- iatoolkit/base_company.py,sha256=FlB-HFYH8FoTl4nbtsYgfKjkdZtizJbKwXqaosxmRqc,2009
3
- iatoolkit/cli_commands.py,sha256=oWd5kwDYd0W1Lcpuk3N2cEnusPAVefaCrYveMQ1zDvY,3223
4
- iatoolkit/company_registry.py,sha256=cRaez-VBo1icnUNKmkQqo_Xlr8UKWFoYEMZ70XP6Jgk,2702
5
- iatoolkit/iatoolkit.py,sha256=OwlGujwtNLBYtfZuCpcX_yzrgB8BVo9Jfh72owM8FFc,15651
6
- iatoolkit/system_prompts/arquitectura.prompt,sha256=2W-7NWy6P6y1Gh5_-zD1iK-BWq1Siu8TuvGCouP67bQ,1267
7
- iatoolkit/system_prompts/format_styles.prompt,sha256=MSMe1qvR3cF_0IbFshn8R0z6Wx6VCHQq1p37rpu5wwk,3576
8
- iatoolkit/system_prompts/query_main.prompt,sha256=Eu5VOQzUygJ45Ct1WKYGbi0JMltgI6FQIZWlGmN1bdk,3214
9
- iatoolkit/system_prompts/sql_rules.prompt,sha256=y4nURVnb9AyFwt-lrbMNBHHtZlhk6kC9grYoOhRnrJo,59174
10
- services/__init__.py,sha256=fSvSfIcPW1dHwTBY1hQ5dBEhaoorzk_GzR4G46gD8tY,173
11
- services/api_service.py,sha256=InIKTc64BWcp4U4tYKHz28x4ErPxIfvR9x3ZlxJZlXs,2911
12
- services/benchmark_service.py,sha256=g9JVrmAqIe_iI0D1DwdQ6DJ2_FJRCTndarESNSVfhbw,5907
13
- services/dispatcher_service.py,sha256=vZbz-XCP0Aa-oE4nh5ZKeUKWlJ78VPSRYkpzMHlVFM0,14952
14
- services/document_service.py,sha256=sm5QtbrKs2dF9hpLuSLMB-IMWYNBD7yWHv3rd80aD0o,5960
15
- services/excel_service.py,sha256=wE9Udbyb96kGRSnZZ6KM2mbE484rKjTEhta9GKKpy-8,3630
16
- services/file_processor_service.py,sha256=82UArWtwpr94CAMkkoRP0_nPtoqItymdKSIABS0Xkxw,2943
17
- services/history_service.py,sha256=6fGSSWxy60nxtkwp_fodwDHoVKhpIUbHnzAzUSiNi-Y,1657
18
- services/jwt_service.py,sha256=dC45Sn6FyzdzRiQJnzgkjN3Hy21V1imRxB0hTyWRvlA,3979
19
- services/load_documents_service.py,sha256=_-OTUih8Zk0m4dHqAhkE7kAwU2mbz_QoMrOKnrq7ZWs,8821
20
- services/mail_service.py,sha256=ystFit1LuYUC4ekYYebyiy1rqYQmxeL6K8h58MxEkOY,2233
21
- services/profile_service.py,sha256=vZV0cregZQiPKYcNLaD7xjez2y6-3Mq97cDndC8NL8w,17922
22
- services/prompt_manager_service.py,sha256=g499zeWZODqoDvqQZX6eHWmsWj7oLWkEhge7UV_y8IE,7679
23
- services/query_service.py,sha256=zpaDzjzh2HqAG1F2Ap8WHBpfAMVtzZ_6v1JGVEguwvs,15687
24
- services/search_service.py,sha256=oJD6WRXCJBD7WUVHWWKxexRkhR8nQSrFtcPV3pFO2KQ,1153
25
- services/sql_service.py,sha256=H7CIPpXTcxLXLojD2fBFr_mIAD0PW1vEJhKHLfJi4Hk,1418
26
- services/tasks_service.py,sha256=hHJDlcsSOPtEleD6_Vv3pocfxWNmthIhmZSdnoWFpEM,6861
27
- services/user_feedback_service.py,sha256=YtCndRBekDEWYEbac431Ksn2gMO5iBrI3WqKK0xtShE,2513
28
- services/user_session_context_service.py,sha256=5qn7fqpuiU8KgMpU4M5-iRUsETumz1raBw-EeZLuE1A,3868
29
- iatoolkit-0.3.9.dist-info/METADATA,sha256=wLPKZh6G6AXabwamba8ywnayHiCCwHYiNWVfqH7JK9I,8801
30
- iatoolkit-0.3.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
31
- iatoolkit-0.3.9.dist-info/top_level.txt,sha256=dqlBbmgo9okD9d_WMR9uYzdup7Rxgj26yFF85jRGeu4,19
32
- iatoolkit-0.3.9.dist-info/RECORD,,
services/__init__.py DELETED
@@ -1,5 +0,0 @@
1
- # Copyright (c) 2024 Fernando Libedinsky
2
- # Producto: IAToolkit
3
- # Todos los derechos reservados.
4
- # En trámite de registro en el Registro de Propiedad Intelectual de Chile.
5
-
services/api_service.py DELETED
@@ -1,75 +0,0 @@
1
- # Copyright (c) 2024 Fernando Libedinsky
2
- # Producto: IAToolkit
3
- # Todos los derechos reservados.
4
- # En trámite de registro en el Registro de Propiedad Intelectual de Chile.
5
-
6
- from infra.call_service import CallServiceClient
7
- from injector import inject
8
- from common.exceptions import IAToolkitException
9
- import json
10
- from typing import Optional, Dict, Any, Union
11
-
12
- class ApiService:
13
- @inject
14
- def __init__(self, call_service: CallServiceClient):
15
- self.call_service = call_service
16
-
17
- def call_api(
18
- self,
19
- endpoint: str,
20
- method: str,
21
- headers: Optional[Dict[str, str]] = None,
22
- params: Optional[Dict[str, Union[str, int, float, bool]]] = None,
23
- body: Optional[Dict[str, Any]] = None,
24
- files: Optional[Dict[str, Any]] = None,
25
- timeout: Union[int, float, tuple] = 10
26
- ) -> str:
27
- """
28
- Ejecuta una llamada HTTP genérica.
29
-
30
- - endpoint: URL completa
31
- - method: GET | POST | PUT | DELETE (case-insensitive)
32
- - headers: dict opcional de cabeceras
33
- - params: dict opcional de query string
34
- - body: dict opcional para JSON (POST/PUT/DELETE)
35
- - files: dict opcional para multipart/form-data (prioriza POST files)
36
- - timeout: segundos (int/float) o tuple (connect, read)
37
- """
38
- m = (method or "").strip().lower()
39
-
40
- if m == "get":
41
- response, status_code = self.call_service.get(
42
- endpoint, params=params, headers=headers, timeout=timeout
43
- )
44
- elif m == "post":
45
- # Si vienen files → multipart; si no → JSON
46
- if files:
47
- response, status_code = self.call_service.post_files(
48
- endpoint, data=files, params=params, headers=headers, timeout=timeout
49
- )
50
- else:
51
- response, status_code = self.call_service.post(
52
- endpoint=endpoint, json_dict=body, params=params, headers=headers, timeout=timeout
53
- )
54
- elif m == "put":
55
- response, status_code = self.call_service.put(
56
- endpoint, json_dict=body, params=params, headers=headers, timeout=timeout
57
- )
58
- elif m == "delete":
59
- response, status_code = self.call_service.delete(
60
- endpoint, json_dict=body, params=params, headers=headers, timeout=timeout
61
- )
62
- else:
63
- raise IAToolkitException(
64
- IAToolkitException.ErrorType.INVALID_PARAMETER,
65
- f"API error: método '{method}' no soportado"
66
- )
67
-
68
- if status_code < 200 or status_code >= 300:
69
- raise IAToolkitException(
70
- IAToolkitException.ErrorType.CALL_ERROR,
71
- f"API {endpoint} error: {status_code}"
72
- )
73
-
74
- # Normalizamos a string JSON (para que el LLM lo consuma consistente)
75
- return json.dumps(response)